@@ -33,6 +44,80 @@ type CiliumNetworkPolicy struct {
// Spec is the desired Cilium specific rule specification.
Spec api.Rule `json:"spec"`
+
+ // Status is the status of the Cilium policy rule
+ Status CiliumNetworkPolicyStatus `json:"status"`
+}
+
+// CiliumNetworkPolicyStatus is the status of a Cilium policy rule
+type CiliumNetworkPolicyStatus struct {
+ // Nodes is the Cilium policy status for each node
+ Nodes map[string]CiliumNetworkPolicyNodeStatus
+
+ // Failing is the number of nodes failing to install this policy
+ Failing int
+}
+
+// CiliumNetworkPolicyNodeStatus is the status of a Cilium policy rule for a
+// specific node
+type CiliumNetworkPolicyNodeStatus struct {
+ // OK is true when the policy has been installed successfully
+ OK bool
+
+ // Message describes the error condition if OK is false
+ Message string
+}
A possible status field could look like this: