From 820a9e81e47cee169c0f20caca1b74c36a8b7710 Mon Sep 17 00:00:00 2001 From: Gor <37933026+pogossian@users.noreply.github.com> Date: Tue, 15 Feb 2022 15:44:37 +0400 Subject: [PATCH] Releases 1.2.0 (#60) New Features: - Added Softgate CRD - Added Switch CRD - Added Controller CRD - Added Link CRD Improvements: - Changed default Calico ASN range Bug Fixes: - Throw an error when the port used by BGP is not found --- deploy/charts/netris-operator/Chart.yaml | 4 +- .../crds/k8s.netris.ai_controllermeta.yaml | 78 +++++++ .../crds/k8s.netris.ai_controllers.yaml | 83 +++++++ .../crds/k8s.netris.ai_linkmeta.yaml | 78 +++++++ .../crds/k8s.netris.ai_links.yaml | 82 +++++++ .../crds/k8s.netris.ai_softgatemeta.yaml | 82 +++++++ .../crds/k8s.netris.ai_softgates.yaml | 94 ++++++++ .../crds/k8s.netris.ai_switches.yaml | 125 +++++++++++ .../crds/k8s.netris.ai_switchmeta.yaml | 103 +++++++++ .../netris-operator/templates/rbac.yaml | 208 ++++++++++++++++++ 10 files changed, 935 insertions(+), 2 deletions(-) create mode 100644 deploy/charts/netris-operator/crds/k8s.netris.ai_controllermeta.yaml create mode 100644 deploy/charts/netris-operator/crds/k8s.netris.ai_controllers.yaml create mode 100644 deploy/charts/netris-operator/crds/k8s.netris.ai_linkmeta.yaml create mode 100644 deploy/charts/netris-operator/crds/k8s.netris.ai_links.yaml create mode 100644 deploy/charts/netris-operator/crds/k8s.netris.ai_softgatemeta.yaml create mode 100644 deploy/charts/netris-operator/crds/k8s.netris.ai_softgates.yaml create mode 100644 deploy/charts/netris-operator/crds/k8s.netris.ai_switches.yaml create mode 100644 deploy/charts/netris-operator/crds/k8s.netris.ai_switchmeta.yaml diff --git a/deploy/charts/netris-operator/Chart.yaml b/deploy/charts/netris-operator/Chart.yaml index 3e8e3eb..e2dfb37 100644 --- a/deploy/charts/netris-operator/Chart.yaml +++ b/deploy/charts/netris-operator/Chart.yaml @@ -15,12 +15,12 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. # Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 0.5.0 +version: 0.6.0 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to # follow Semantic Versioning. They should reflect the version the application is using. -appVersion: v1.1.0 +appVersion: v1.2.0 home: https://github.com/netrisai/netris-operator icon: https://www.netris.ai/wp-content/uploads/2021/01/logo-300.png # [todo] Change url to permalink keywords: diff --git a/deploy/charts/netris-operator/crds/k8s.netris.ai_controllermeta.yaml b/deploy/charts/netris-operator/crds/k8s.netris.ai_controllermeta.yaml new file mode 100644 index 0000000..2aa88a7 --- /dev/null +++ b/deploy/charts/netris-operator/crds/k8s.netris.ai_controllermeta.yaml @@ -0,0 +1,78 @@ + +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.1 + creationTimestamp: null + name: controllermeta.k8s.netris.ai +spec: + group: k8s.netris.ai + names: + kind: ControllerMeta + listKind: ControllerMetaList + plural: controllermeta + singular: controllermeta + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: ControllerMeta is the Schema for the controllermeta API + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: ControllerMetaSpec defines the desired state of ControllerMeta + properties: + controllerGeneration: + format: int64 + type: integer + controllerName: + type: string + description: + type: string + id: + type: integer + imported: + type: boolean + mainIp: + type: string + reclaimPolicy: + type: boolean + site: + type: integer + tenant: + type: integer + required: + - controllerGeneration + - controllerName + - id + - imported + - reclaimPolicy + type: object + status: + description: ControllerMetaStatus defines the observed state of ControllerMeta + type: object + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/deploy/charts/netris-operator/crds/k8s.netris.ai_controllers.yaml b/deploy/charts/netris-operator/crds/k8s.netris.ai_controllers.yaml new file mode 100644 index 0000000..a5b876d --- /dev/null +++ b/deploy/charts/netris-operator/crds/k8s.netris.ai_controllers.yaml @@ -0,0 +1,83 @@ + +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.1 + creationTimestamp: null + name: controllers.k8s.netris.ai +spec: + group: k8s.netris.ai + names: + kind: Controller + listKind: ControllerList + plural: controllers + singular: controller + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .spec.tenant + name: Tenant + type: string + - jsonPath: .spec.site + name: Site + type: string + - jsonPath: .spec.mainIp + name: Main IP + type: string + - jsonPath: .status.status + name: Status + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: Controller is the Schema for the controllers API + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: ControllerSpec defines the desired state of Controller + properties: + description: + type: string + mainIp: + pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ + type: string + site: + type: string + tenant: + type: string + type: object + status: + description: ControllerStatus defines the observed state of Controller + properties: + message: + type: string + status: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/deploy/charts/netris-operator/crds/k8s.netris.ai_linkmeta.yaml b/deploy/charts/netris-operator/crds/k8s.netris.ai_linkmeta.yaml new file mode 100644 index 0000000..e687511 --- /dev/null +++ b/deploy/charts/netris-operator/crds/k8s.netris.ai_linkmeta.yaml @@ -0,0 +1,78 @@ + +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.1 + creationTimestamp: null + name: linkmeta.k8s.netris.ai +spec: + group: k8s.netris.ai + names: + kind: LinkMeta + listKind: LinkMetaList + plural: linkmeta + singular: linkmeta + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: LinkMeta is the Schema for the linkmeta API + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: LinkMetaSpec defines the desired state of LinkMeta + properties: + id: + type: string + imported: + description: 'INSERT ADDITIONAL SPEC FIELDS - desired state of cluster + Important: Run "make" to regenerate code after modifying this file' + type: boolean + linkGeneration: + format: int64 + type: integer + linkName: + type: string + local: + type: integer + reclaimPolicy: + type: boolean + remote: + type: integer + required: + - id + - imported + - linkGeneration + - linkName + - local + - reclaimPolicy + - remote + type: object + status: + description: LinkMetaStatus defines the observed state of LinkMeta + type: object + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/deploy/charts/netris-operator/crds/k8s.netris.ai_links.yaml b/deploy/charts/netris-operator/crds/k8s.netris.ai_links.yaml new file mode 100644 index 0000000..b73baba --- /dev/null +++ b/deploy/charts/netris-operator/crds/k8s.netris.ai_links.yaml @@ -0,0 +1,82 @@ + +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.1 + creationTimestamp: null + name: links.k8s.netris.ai +spec: + group: k8s.netris.ai + names: + kind: Link + listKind: LinkList + plural: links + singular: link + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.ports + name: Ports + type: string + - jsonPath: .status.status + name: Status + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: Link is the Schema for the links API + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: LinkSpec defines the desired state of Link + properties: + ports: + items: + description: LinkSpecPort . + type: string + maxItems: 2 + minItems: 2 + type: array + required: + - ports + type: object + status: + description: LinkStatus defines the observed state of Link + properties: + message: + type: string + ports: + type: string + status: + description: 'INSERT ADDITIONAL STATUS FIELD - define observed state + of cluster Important: Run "make" to regenerate code after modifying + this file' + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/deploy/charts/netris-operator/crds/k8s.netris.ai_softgatemeta.yaml b/deploy/charts/netris-operator/crds/k8s.netris.ai_softgatemeta.yaml new file mode 100644 index 0000000..e5c2589 --- /dev/null +++ b/deploy/charts/netris-operator/crds/k8s.netris.ai_softgatemeta.yaml @@ -0,0 +1,82 @@ + +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.1 + creationTimestamp: null + name: softgatemeta.k8s.netris.ai +spec: + group: k8s.netris.ai + names: + kind: SoftgateMeta + listKind: SoftgateMetaList + plural: softgatemeta + singular: softgatemeta + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: SoftgateMeta is the Schema for the softgatemeta API + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: SoftgateMetaSpec defines the desired state of SoftgateMeta + properties: + description: + type: string + id: + type: integer + imported: + type: boolean + mainIp: + type: string + mgmtIp: + type: string + profileid: + type: integer + reclaimPolicy: + type: boolean + siteid: + type: integer + softgateGeneration: + format: int64 + type: integer + softgateName: + type: string + tenantid: + type: integer + required: + - id + - imported + - reclaimPolicy + - softgateGeneration + - softgateName + type: object + status: + description: SoftgateMetaStatus defines the observed state of SoftgateMeta + type: object + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/deploy/charts/netris-operator/crds/k8s.netris.ai_softgates.yaml b/deploy/charts/netris-operator/crds/k8s.netris.ai_softgates.yaml new file mode 100644 index 0000000..a395402 --- /dev/null +++ b/deploy/charts/netris-operator/crds/k8s.netris.ai_softgates.yaml @@ -0,0 +1,94 @@ + +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.1 + creationTimestamp: null + name: softgates.k8s.netris.ai +spec: + group: k8s.netris.ai + names: + kind: Softgate + listKind: SoftgateList + plural: softgates + singular: softgate + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .spec.tenant + name: Tenant + type: string + - jsonPath: .spec.site + name: Site + type: string + - jsonPath: .spec.profile + name: Profile + type: string + - jsonPath: .spec.mainIp + name: Main IP + type: string + - jsonPath: .spec.mgmtIp + name: Management IP + type: string + - jsonPath: .status.status + name: Status + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: Softgate is the Schema for the softgates API + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: SoftgateSpec defines the desired state of Softgate + properties: + description: + type: string + mainIp: + pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ + type: string + mgmtIp: + pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ + type: string + profile: + type: string + site: + type: string + tenant: + type: string + type: object + status: + description: SoftgateStatus defines the observed state of Softgate + properties: + message: + type: string + status: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/deploy/charts/netris-operator/crds/k8s.netris.ai_switches.yaml b/deploy/charts/netris-operator/crds/k8s.netris.ai_switches.yaml new file mode 100644 index 0000000..e71115b --- /dev/null +++ b/deploy/charts/netris-operator/crds/k8s.netris.ai_switches.yaml @@ -0,0 +1,125 @@ + +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.1 + creationTimestamp: null + name: switches.k8s.netris.ai +spec: + group: k8s.netris.ai + names: + kind: Switch + listKind: SwitchList + plural: switches + singular: switch + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .spec.tenant + name: Tenant + type: string + - jsonPath: .spec.nos + name: NOS + type: string + - jsonPath: .spec.site + name: Site + type: string + - jsonPath: .spec.asn + name: ASN + type: string + - jsonPath: .spec.profile + name: Profile + type: string + - jsonPath: .spec.mainIp + name: Main IP + type: string + - jsonPath: .spec.mgmtIp + name: Management IP + type: string + - jsonPath: .spec.portsCount + name: Ports Count + type: string + - jsonPath: .spec.macAddress + name: MAC + type: string + - jsonPath: .status.status + name: Status + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: Switch is the Schema for the switches API + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: SwitchSpec defines the desired state of Switch + properties: + asn: + type: integer + description: + type: string + macAddress: + pattern: ^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$ + type: string + mainIp: + pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ + type: string + mgmtIp: + pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ + type: string + nos: + enum: + - cumulus_linux + - ubuntu_switch_dev + - sonic + type: string + portsCount: + enum: + - 16 + - 32 + - 48 + - 54 + - 56 + type: integer + profile: + type: string + site: + type: string + tenant: + type: string + type: object + status: + description: SwitchStatus defines the observed state of Switch + properties: + message: + type: string + status: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/deploy/charts/netris-operator/crds/k8s.netris.ai_switchmeta.yaml b/deploy/charts/netris-operator/crds/k8s.netris.ai_switchmeta.yaml new file mode 100644 index 0000000..4563e01 --- /dev/null +++ b/deploy/charts/netris-operator/crds/k8s.netris.ai_switchmeta.yaml @@ -0,0 +1,103 @@ + +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.1 + creationTimestamp: null + name: switchmeta.k8s.netris.ai +spec: + group: k8s.netris.ai + names: + kind: SwitchMeta + listKind: SwitchMetaList + plural: switchmeta + singular: switchmeta + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: SwitchMeta is the Schema for the switchmeta API + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: SwitchMetaSpec defines the desired state of SwitchMeta + properties: + asn: + type: integer + description: + type: string + id: + type: integer + imported: + description: 'INSERT ADDITIONAL SPEC FIELDS - desired state of cluster + Important: Run "make" to regenerate code after modifying this file' + type: boolean + macAddress: + type: string + mainIp: + type: string + mgmtIp: + type: string + nos: + properties: + id: + type: integer + name: + type: string + tag: + type: string + required: + - id + - name + - tag + type: object + portsCount: + type: integer + profile: + type: integer + reclaimPolicy: + type: boolean + site: + type: integer + switchGeneration: + format: int64 + type: integer + switchName: + type: string + tenant: + type: integer + required: + - id + - imported + - reclaimPolicy + - switchGeneration + - switchName + type: object + status: + description: SwitchMetaStatus defines the observed state of SwitchMeta + type: object + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/deploy/charts/netris-operator/templates/rbac.yaml b/deploy/charts/netris-operator/templates/rbac.yaml index 35ff950..9c9908d 100644 --- a/deploy/charts/netris-operator/templates/rbac.yaml +++ b/deploy/charts/netris-operator/templates/rbac.yaml @@ -180,6 +180,58 @@ rules: - get - patch - update + - apiGroups: + - k8s.netris.ai + resources: + - controllermeta + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - k8s.netris.ai + resources: + - controllermeta/finalizers + verbs: + - update + - apiGroups: + - k8s.netris.ai + resources: + - controllermeta/status + verbs: + - get + - patch + - update + - apiGroups: + - k8s.netris.ai + resources: + - controllers + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - k8s.netris.ai + resources: + - controllers/finalizers + verbs: + - update + - apiGroups: + - k8s.netris.ai + resources: + - controllers/status + verbs: + - get + - patch + - update - apiGroups: - k8s.netris.ai resources: @@ -232,6 +284,58 @@ rules: - get - patch - update + - apiGroups: + - k8s.netris.ai + resources: + - linkmeta + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - k8s.netris.ai + resources: + - linkmeta/finalizers + verbs: + - update + - apiGroups: + - k8s.netris.ai + resources: + - linkmeta/status + verbs: + - get + - patch + - update + - apiGroups: + - k8s.netris.ai + resources: + - links + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - k8s.netris.ai + resources: + - links/finalizers + verbs: + - update + - apiGroups: + - k8s.netris.ai + resources: + - links/status + verbs: + - get + - patch + - update - apiGroups: - k8s.netris.ai resources: @@ -284,6 +388,58 @@ rules: - get - patch - update + - apiGroups: + - k8s.netris.ai + resources: + - softgatemeta + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - k8s.netris.ai + resources: + - softgatemeta/finalizers + verbs: + - update + - apiGroups: + - k8s.netris.ai + resources: + - softgatemeta/status + verbs: + - get + - patch + - update + - apiGroups: + - k8s.netris.ai + resources: + - softgates + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - k8s.netris.ai + resources: + - softgates/finalizers + verbs: + - update + - apiGroups: + - k8s.netris.ai + resources: + - softgates/status + verbs: + - get + - patch + - update - apiGroups: - k8s.netris.ai resources: @@ -336,6 +492,58 @@ rules: - get - patch - update + - apiGroups: + - k8s.netris.ai + resources: + - switches + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - k8s.netris.ai + resources: + - switches/finalizers + verbs: + - update + - apiGroups: + - k8s.netris.ai + resources: + - switches/status + verbs: + - get + - patch + - update + - apiGroups: + - k8s.netris.ai + resources: + - switchmeta + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - k8s.netris.ai + resources: + - switchmeta/finalizers + verbs: + - update + - apiGroups: + - k8s.netris.ai + resources: + - switchmeta/status + verbs: + - get + - patch + - update - apiGroups: - k8s.netris.ai resources: