apiVersion: operators.coreos.com/v1alpha1 kind: ClusterServiceVersion metadata: annotations: alm-examples: |- [ { "apiVersion": "nmstate.io/v1", "kind": "NMState", "metadata": { "name": "nmstate" }, "spec": {} } ] capabilities: Basic Install categories: OpenShift Optional certified: "false" containerImage: registry.redhat.io/openshift4/kubernetes-nmstate-rhel9-operator@sha256:4a7b1d0616659315824d4b04d8b3d0ba8c940d405803b7f89bacd0174b1e0d7f createdAt: "2022-02-21 08:46:16" description: | Kubernetes NMState is a declaritive means of configuring NetworkManager. features.operators.openshift.io/disconnected: "true" features.operators.openshift.io/fips-compliant: "true" features.operators.openshift.io/proxy-aware: "false" features.operators.openshift.io/tls-profiles: "false" features.operators.openshift.io/token-auth-aws: "false" features.operators.openshift.io/token-auth-azure: "false" features.operators.openshift.io/token-auth-gcp: "false" olm.operatorGroup: openshift-nmstate-tn6k8 olm.operatorNamespace: openshift-nmstate olm.skipRange: '>=4.3.0 <4.18.0' olm.targetNamespaces: openshift-nmstate operatorframework.io/properties: '{"properties":[{"type":"olm.gvk","value":{"group":"nmstate.io","kind":"NMState","version":"v1"}},{"type":"olm.gvk","value":{"group":"nmstate.io","kind":"NMState","version":"v1beta1"}},{"type":"olm.package","value":{"packageName":"kubernetes-nmstate-operator","version":"4.18.0-202509241752"}}]}' operatorframework.io/suggested-namespace: openshift-nmstate operators.openshift.io/infrastructure-features: '["disconnected"]' operators.openshift.io/valid-subscription: '["OpenShift Kubernetes Engine", "OpenShift Container Platform", "OpenShift Platform Plus"]' operators.operatorframework.io/builder: operator-sdk-v1.22.2 operators.operatorframework.io/project_layout: go.kubebuilder.io/v3 repository: https://github.com/openshift/kubernetes-nmstate support: Red Hat, Inc. creationTimestamp: "2025-10-11T10:48:04Z" finalizers: - operators.coreos.com/csv-cleanup generation: 1 labels: olm.managed: "true" operatorframework.io/arch.amd64: supported operatorframework.io/arch.arm64: supported operatorframework.io/arch.ppc64le: supported operatorframework.io/arch.s390x: supported operators.coreos.com/kubernetes-nmstate-operator.openshift-nmstate: "" name: kubernetes-nmstate-operator.4.18.0-202509241752 namespace: openshift-nmstate resourceVersion: "27558" uid: 58eddb14-5e9a-4a35-b72b-975f0bbb82c2 spec: apiservicedefinitions: {} cleanup: enabled: false customresourcedefinitions: owned: - description: Represents an NMState deployment. displayName: NMState kind: NMState name: nmstates.nmstate.io version: v1 description: A Kubernetes Operator to install Kubernetes NMState displayName: Kubernetes NMState Operator icon: - base64data: PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNzkuNDcgMTMzLjg4Ij48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6IzFkNTZkODt9LmNscy0ye2ZpbGw6IzcwYWRlZjt9PC9zdHlsZT48L2RlZnM+PGcgaWQ9IkxheWVyXzIiIGRhdGEtbmFtZT0iTGF5ZXIgMiI+PGcgaWQ9IkxheWVyXzEtMiIgZGF0YS1uYW1lPSJMYXllciAxIj48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0xNy41MSwxMTMuNjhhNi41LDYuNSwwLDAsMC00LjMtMS4zMywxMS43LDExLjcsMCwwLDAtMy42MS41MUExMy42NywxMy42NywwLDAsMCw2LjksMTE0djE5YTUuMTgsNS4xOCwwLDAsMS0uNzYuMjMsNC40MSw0LjQxLDAsMCwxLTEuMTIuMTNxLTIuMTksMC0yLjE5LTEuODNWMTE0LjI0YTMuMjMsMy4yMywwLDAsMSwuNDMtMS43Niw0LjU5LDQuNTksMCwwLDEsMS41LTEuMzUsMTUuMTgsMTUuMTgsMCwwLDEsMy41MS0xLjQ3LDE3LjExLDE3LjExLDAsMCwxLDQuOTQtLjY3LDExLjU2LDExLjU2LDAsMCwxLDcuMywyLjA5cTIuNjcsMi4wOCwyLjY3LDYuNTZ2MTUuNDJhNSw1LDAsMCwxLS43OS4yMyw0LjQsNC40LDAsMCwxLTEuMDkuMTNxLTIuMTksMC0yLjE5LTEuODNWMTE3Ljg1QTUuMDksNS4wOSwwLDAsMCwxNy41MSwxMTMuNjhaIi8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNNTkuMjEsMTEzLjUyYTUuODMsNS44MywwLDAsMC0zLjgyLTEuMTcsOC41Nyw4LjU3LDAsMCwwLTUuOSwyLjM0LDcuNzMsNy43MywwLDAsMSwuMywyLjE5djE2LjE4YTUuMiw1LjIsMCwwLDEtLjc4LjIzLDQuNDgsNC40OCwwLDAsMS0xLjEuMTNxLTIuMTksMC0yLjE5LTEuODN2LTE0LjRhNC40OCw0LjQ4LDAsMCwwLTEuNDItMy42Nyw1LjkyLDUuOTIsMCwwLDAtMy44Ny0xLjE3LDkuMjYsOS4yNiwwLDAsMC0zLjA4LjUxQTExLjUxLDExLjUxLDAsMCwwLDM0Ljg5LDExNHYxOWE1LjM5LDUuMzksMCwwLDEtLjc3LjIzLDQuMzYsNC4zNiwwLDAsMS0xLjEyLjEzYy0xLjQ2LDAtMi4xOC0uNjEtMi4xOC0xLjgzVjExNC4yNGEzLjE1LDMuMTUsMCwwLDEsLjQzLTEuNzEsNSw1LDAsMCwxLDEuNS0xLjRBMTUuNzUsMTUuNzUsMCwwLDEsNDAuNDgsMTA5YTEyLjQzLDEyLjQzLDAsMCwxLDQuNDMuNzQsNi43Miw2LjcyLDAsMCwxLDMsMiwxMS4yOCwxMS4yOCwwLDAsMSwzLjMxLTJBMTIuMjksMTIuMjksMCwwLDEsNTUuNywxMDlhMTAuMjMsMTAuMjMsMCwwLDEsNi41NiwycTIuNDUsMiwyLjQ0LDZ2MTYuMDhhNSw1LDAsMCwxLS43OS4yMyw0LjQsNC40LDAsMCwxLTEuMDkuMTNxLTIuMTksMC0yLjE5LTEuODN2LTE0LjRBNC40OCw0LjQ4LDAsMCwwLDU5LjIxLDExMy41MloiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik04OC45MiwxMjYuOTFBNiw2LDAsMCwxLDg2LjUzLDEzMnEtMi4zOSwxLjg0LTYuOTIsMS44NGExOCwxOCwwLDAsMS0zLjU2LS4zMywxMi41OCwxMi41OCwwLDAsMS0yLjc3LS44Nyw1LjU1LDUuNTUsMCwwLDEtMS43OC0xLjIyLDIsMiwwLDAsMS0uNjQtMS40LDIuMjUsMi4yNSwwLDAsMSwuMzMtMS4xNywyLjg4LDIuODgsMCwwLDEsMS0xLDE2LjMxLDE2LjMxLDAsMCwwLDMuMjEsMS44MSwxMC4zNywxMC4zNywwLDAsMCw0LjE3Ljc5cTUuMywwLDUuMjktMy41NmMwLTEuOTQtMS4xNy0zLjE5LTMuNTEtMy43N0w3Ny4xMiwxMjJhOS4xMyw5LjEzLDAsMCwxLTQuNTMtMi4zNyw1LjY1LDUuNjUsMCwwLDEtMS40Mi00LDYuMTksNi4xOSwwLDAsMSwuNTMtMi41NEE1Ljc1LDUuNzUsMCwwLDEsNzMuMzUsMTExYTguMzEsOC4zMSwwLDAsMSwyLjc4LTEuNDVBMTIuNTYsMTIuNTYsMCwwLDEsODAsMTA5LDEzLjQsMTMuNCwwLDAsMSw4NS43NywxMTBjMS40Ni42OSwyLjE5LDEuNSwyLjE5LDIuNDFhMi4wNiwyLjA2LDAsMCwxLTEuMjIsMS45NCwxNS43NywxNS43NywwLDAsMC0yLjYtMS4zMiwxMCwxMCwwLDAsMC00LS43Miw2LjY3LDYuNjcsMCwwLDAtMy42NC44NywyLjczLDIuNzMsMCwwLDAtMS4zNCwyLjQ0LDIuNzcsMi43NywwLDAsMCwuNzYsMiw0LjkxLDQuOTEsMCwwLDAsMi41NCwxLjIzbDMuNTEuODZhMTEuMDgsMTEuMDgsMCwwLDEsNS4xOSwyLjU3QTYuMTUsNi4xNSwwLDAsMSw4OC45MiwxMjYuOTFaIi8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTAzLjEyLDEzMy44M2E5LjczLDkuNzMsMCwwLDEtNS43Ny0xLjU4cS0yLjIyLTEuNTgtMi4yMi01LjI0VjEwMi44NGE1LDUsMCwwLDEsLjc5LS4yMyw0LjY5LDQuNjksMCwwLDEsMS4xNC0uMTNjMS40MywwLDIuMTQuNjEsMi4xNCwxLjgzdjUuODVoOC4zNWE0LjI3LDQuMjcsMCwwLDEsLjMuNjksMi44NSwyLjg1LDAsMCwxLC4xNS45NGMwLDEuMTYtLjUsMS43My0xLjUyLDEuNzNIOTkuMnYxMy4yM2EzLjMyLDMuMzIsMCwwLDAsMS4xNSwyLjg4LDUuMzgsNS4zOCwwLDAsMCwzLjIzLjg0LDYuODgsNi44OCwwLDAsMCwxLjkzLS4zMSw3LjkzLDcuOTMsMCwwLDAsMS43OC0uNzEsMy4yNiwzLjI2LDAsMCwxLC41Ni43NiwyLjE3LDIuMTcsMCwwLDEsLjI2LDEuMDcsMi4wOCwyLjA4LDAsMCwxLTEuMzMsMS44M0E3LjcxLDcuNzEsMCwwLDEsMTAzLjEyLDEzMy44M1oiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0xMjIuNjYsMTA5YTExLjMsMTEuMywwLDAsMSw3LDJxMi41OSwyLDIuNiw2LjI2VjEyOS4zYTIuODIsMi44MiwwLDAsMS0uNDQsMS43LDQuMzcsNC4zNywwLDAsMS0xLjI5LDEuMSwxMy4zMSwxMy4zMSwwLDAsMS0zLjIzLDEuMjQsMTcuOSwxNy45LDAsMCwxLTQuNjEuNTRxLTQuNzgsMC03LjQtMS44OWE2LjI3LDYuMjcsMCwwLDEtMi42Mi01LjQ0LDYsNiwwLDAsMSwyLjE4LTUuMDYsMTEuODEsMTEuODEsMCwwLDEsNi4xNi0yLjExbDcuMjMtLjcydi0xLjQyYTQuMzgsNC4zOCwwLDAsMC0xLjUzLTMuNzIsNi42MSw2LjYxLDAsMCwwLTQuMTItMS4xNywxMy4xMiwxMy4xMiwwLDAsMC00LC42MSwyMi4xMSwyMi4xMSwwLDAsMC0zLjM2LDEuMzgsNC44Niw0Ljg2LDAsMCwxLS43NC0uODIsMS42NywxLjY3LDAsMCwxLS4zMy0xLDEuODIsMS44MiwwLDAsMSwuMzYtMS4xNywzLjMsMy4zLDAsMCwxLDEuMTItLjg3LDEyLjQsMTIuNCwwLDAsMSwzLjE1LTEuMDlBMTguMTIsMTguMTIsMCwwLDEsMTIyLjY2LDEwOVptMCwyMS41M2ExMi41OCwxMi41OCwwLDAsMCwzLjU0LS40Myw4LjQ4LDguNDgsMCwwLDAsMi0uODR2LTcuMzhsLTYuMzEuNjZhNy44OSw3Ljg5LDAsMCwwLTMuOTIsMS4yLDMuMjEsMy4yMSwwLDAsMC0xLjI3LDIuNzcsMy40NCwzLjQ0LDAsMCwwLDEuNDcsM0E3Ljg2LDcuODYsMCwwLDAsMTIyLjcxLDEzMC41MloiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0xNDcuNzQsMTMzLjgzYTkuNzUsOS43NSwwLDAsMS01Ljc3LTEuNThjLTEuNDgtMS4wNS0yLjIxLTIuOC0yLjIxLTUuMjRWMTAyLjg0YTQuODYsNC44NiwwLDAsMSwuNzgtLjIzLDQuNzEsNC43MSwwLDAsMSwxLjE1LS4xM2MxLjQyLDAsMi4xNC42MSwyLjE0LDEuODN2NS44NWg4LjM0YTQuMiw0LjIsMCwwLDEsLjMxLjY5LDIuODUsMi44NSwwLDAsMSwuMTUuOTRjMCwxLjE2LS41MSwxLjczLTEuNTMsMS43M2gtNy4yN3YxMy4yM2EzLjM1LDMuMzUsMCwwLDAsMS4xNCwyLjg4LDUuNCw1LjQsMCwwLDAsMy4yMy44NCw3LDcsMCwwLDAsMS45NC0uMzEsOC4xMyw4LjEzLDAsMCwwLDEuNzgtLjcxLDMuNTcsMy41NywwLDAsMSwuNTYuNzYsMi4xNywyLjE3LDAsMCwxLC4yNSwxLjA3LDIuMDgsMi4wOCwwLDAsMS0xLjMyLDEuODNBNy43Niw3Ljc2LDAsMCwxLDE0Ny43NCwxMzMuODNaIi8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTYwLjc3LDEyMy44cTEuMzgsNi42Nyw4Ljc1LDYuNjdhMTAuMTUsMTAuMTUsMCwwLDAsMy44Ny0uNzEsMTEuNzEsMTEuNzEsMCwwLDAsMi43NS0xLjUzLDIuMTYsMi4xNiwwLDAsMSwxLjIyLDEuOTMsMiwyLDAsMCwxLS42NCwxLjM4LDUuNjksNS42OSwwLDAsMS0xLjczLDEuMTcsMTEuNDksMTEuNDksMCwwLDEtMi41NC44MSwxNS40NSwxNS40NSwwLDAsMS0zLjEzLjMxcS01LjkxLDAtOS4zNC0zLjIxdC0zLjQzLTkuMzZhMTQuNzksMTQuNzksMCwwLDEsLjg0LTUuMTcsMTEuMDcsMTEuMDcsMCwwLDEsMi4zNC0zLjg0LDEwLDEwLDAsMCwxLDMuNTktMi40MiwxMiwxMiwwLDAsMSw0LjUyLS44NCwxMS40MSwxMS40MSwwLDAsMSw0LjIzLjc3LDkuNjgsOS42OCwwLDAsMSwzLjMzLDIuMTYsMTAuMTcsMTAuMTcsMCwwLDEsMi4xOSwzLjMxLDExLDExLDAsMCwxLC43OSw0LjIsMi4xMywyLjEzLDAsMCwxLS41MSwxLjYsMi4zNywyLjM3LDAsMCwxLTEuNDMuNThabTctMTEuNWE2Ljc3LDYuNzcsMCwwLDAtNS4xNCwyLjE2LDkuMDYsOS4wNiwwLDAsMC0yLjEzLDYuMTlsMTQtMS45NGE3LjQ1LDcuNDUsMCwwLDAtMi00LjZBNi4yMSw2LjIxLDAsMCwwLDE2Ny43OSwxMTIuM1oiLz48cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Ik02Ni45MiwxMy4xM3Y5LjM5YzEuMjctLjA5LDIuNTQtLjE2LDMuODMtLjJWMTEuMzloLS4zM2E4My4yOSw4My4yOSwwLDAsMSwzMy4yNC03LjU0VjI3LjEyYzEuMy40NCwyLjU3LjkxLDMuODMsMS40VjMuODVBODMsODMsMCwwLDEsMTQxLjk0LDEyVjU1Ljc3aDMuODNWMTRjMTYuOCw5LjQyLDI4LjIsMjQuNTksMjkuNjgsNDEuODloMy44NEMxNzYuODMsMjQuNzMsMTQ0LjcxLDAsMTA1LjU4LDBjLTI2LDAtNDguODQsMTAuODktNjIsMjcuMzEsMi4yNy0uNzksNC42LTEuNDksNy0yLjExQTY3LjI4LDY3LjI4LDAsMCwxLDY2LjkyLDEzLjEzWiIvPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTE0NC42OSw1OS42MWE1My44NCw1My44NCwwLDAsMSw2Ljc5LDIyLjY5bDI4LTIyLjZaIi8+PHBhdGggY2xhc3M9ImNscy0yIiBkPSJNMTQ3LjgxLDg0LjMzYTUwLjM5LDUwLjM5LDAsMCwwLTcuNTQtMjQuNzNjLTctMTEuNTktMTguNTgtMjEuMDgtMzIuNzgtMjctMS4yNS0uNTItMi41My0xLTMuODMtMS40OEE4OC42LDg4LjYsMCwwLDAsNzMuOSwyNi4wOWMtMS4wNSwwLTIuMTEsMC0zLjE1LjA2LTEuMjksMC0yLjU2LjExLTMuODMuMjFhODcuNTgsODcuNTgsMCwwLDAtMjEuMDgsNC4yMWMtMi4xNS43Mi00LjI0LDEuNTEtNi4yOSwyLjM4QzE2LjU4LDQyLjc1LjY3LDYyLjA1LDAsODQuMzN2MS4yNWMwLDEuMjIuNywxLjgzLDIuMDksMS44M2E0LDQsMCwwLDAsMS4wNy0uMTMsNC41OCw0LjU4LDAsMCwwLC43My0uMjNWODQuMzNoMGMwLS40NywwLS45My4wNi0xLjQuMDktMS40My4yNS0yLjg0LjQ3LTQuMjRhNDUuNzQsNDUuNzQsMCwwLDEsMS42NS02Ljg0QzYuNSw3MC41MSw3LDY5LjIsNy41NCw2Ny45Yy4zNy0uODcuNzctMS43MiwxLjE4LTIuNTdhNTIuNzksNTIuNzksMCwwLDEsMi44MS00Ljk1LDU1LjYxLDU1LjYxLDAsMCwxLDUuMjctNi45MWMuMzItLjM2LjY2LS43MiwxLTEuMDgsMS0xLjA4LDIuMDctMi4xMiwzLjE3LTMuMTRzMi4yNS0yLDMuNDQtMi45NHEyLjM3LTEuOTEsNS0zLjYxYy44Ny0uNTcsMS43NS0xLjEzLDIuNjUtMS42Ni40NS0uMjcuOS0uNTQsMS4zNi0uOGwxLjg2LTF2NDUuMWgwdjEuMjVjMCwxLjIyLjY5LDEuODMsMi4wOSwxLjgzYTQsNCwwLDAsMCwxLjA3LS4xMyw1LjM5LDUuMzksMCwwLDAsLjczLS4yM1Y4NC4zM2gwbDAtMjVWMzcuNDloLS4zM2wxLjgtLjgyYy41My0uMjMsMS4wOC0uNDQsMS42Mi0uNjZzLjkzLS4zOSwxLjQtLjU3cTIuMy0uODgsNC42OC0xLjY0YTg0LjY2LDg0LjY2LDAsMCwxLDE4LjY4LTMuNTljMS4yNy0uMSwyLjU0LS4xNywzLjgzLS4yMmwxLjI0LDBWNTkuNDJsLS4wNiwyNC45MWgwdjEuMjVjMCwxLjIyLjcsMS44MywyLjA5LDEuODNhNCw0LDAsMCwwLDEuMDctLjEzLDUsNSwwLDAsMCwuNzMtLjIzVjg0LjMzaDBWMjkuOTRBODUuMDUsODUuMDUsMCwwLDEsOTkuNTYsMzMuOGMxLjM5LjQ0LDIuNzYuOTIsNC4xLDEuNDMuMi4wNy4zOS4xMy41OC4yMSwxLC4zOSwyLC44LDMsMS4yM2wuMjMuMTFjLjkxLjQsMS44Mi44MSwyLjcxLDEuMjRsLjA3LDBWODQuMzNoMHYxLjI1YS4yMi4yMiwwLDAsMCwwLC4wOHYuMTRoMGMuMDgsMS4wNy43NywxLjYxLDIuMDcsMS42MWE0LDQsMCwwLDAsMS4wNy0uMTMsNSw1LDAsMCwwLC43My0uMjNWODQuMzNoMGwtLjA2LTI0LjhWNDAuMDZsLjMzLjE4LDEuMzcuOGMuODkuNTMsMS43OCwxLjA5LDIuNjQsMS42NnEyLjU5LDEuNzEsNSwzLjYxYzEuMTkuOTQsMi4zMywxLjkzLDMuNDQsMi45NFMxMjksNTEuMzEsMTMwLDUyLjM5bDEsMS4wOGE1NS4wNiw1NS4wNiwwLDAsMSw0Ljc0LDYuMTJsLjUyLjc5YTUwLjY0LDUwLjY0LDAsMCwxLDIuODEsNC45NWMuNDIuODUuODEsMS43LDEuMTgsMi41Ny41NSwxLjMsMS4wNSwyLjYxLDEuNDgsMy45NWE0NS43MSw0NS43MSwwLDAsMSwxLjY0LDYuODQsNDIuNjIsNDIuNjIsMCwwLDEsLjQ4LDQuMjRjMCwuNjEsMCwxLjIzLjA2LDEuODV2LjhjMCwxLjIyLjcsMS44MywyLjA5LDEuODNhNCw0LDAsMCwwLDEuMDctLjEzLDQuNTgsNC41OCwwLDAsMCwuNzMtLjIzVjg0LjMzWiIvPjwvZz48L2c+PC9zdmc+ mediatype: image/svg+xml install: spec: clusterPermissions: - rules: - apiGroups: - "" resources: - configmaps - endpoints - events - persistentvolumeclaims - pods - secrets - services verbs: - '*' - apiGroups: - "" resources: - configmaps - namespaces - serviceaccounts verbs: - '*' - apiGroups: - "" resources: - nodes verbs: - get - list - apiGroups: - admissionregistration.k8s.io resources: - mutatingwebhookconfigurations verbs: - '*' - apiGroups: - apiextensions.k8s.io resources: - '*' verbs: - '*' - apiGroups: - apps resources: - daemonsets - deployments - replicasets - statefulsets verbs: - '*' - apiGroups: - console.openshift.io resources: - consoleplugins verbs: - '*' - apiGroups: - monitoring.coreos.com resources: - servicemonitors verbs: - create - get - list - update - watch - apiGroups: - nmstate.io resources: - '*' verbs: - '*' - apiGroups: - operator.openshift.io resources: - consoles verbs: - get - list - update - watch - apiGroups: - rbac.authorization.k8s.io resources: - clusterrolebindings - clusterroles - rolebindings - roles verbs: - '*' - apiGroups: - security.openshift.io resourceNames: - privileged resources: - securitycontextconstraints verbs: - use serviceAccountName: nmstate-operator deployments: - label: app: kubernetes-nmstate-operator name: nmstate-operator spec: replicas: 1 selector: matchLabels: name: kubernetes-nmstate-operator strategy: {} template: metadata: creationTimestamp: null labels: app: kubernetes-nmstate-operator name: kubernetes-nmstate-operator spec: affinity: nodeAffinity: preferredDuringSchedulingIgnoredDuringExecution: - preference: matchExpressions: - key: node-role.kubernetes.io/control-plane operator: Exists weight: 10 - preference: matchExpressions: - key: node-role.kubernetes.io/master operator: Exists weight: 1 containers: - args: - --zap-time-encoding=iso8601 command: - manager env: - name: WATCH_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.annotations['olm.targetNamespaces'] - name: OPERATOR_NAME value: kubernetes-nmstate-operator - name: ENABLE_PROFILER value: "False" - name: PROFILER_PORT value: "6060" - name: RUN_OPERATOR - name: HANDLER_IMAGE value: registry.redhat.io/openshift4/ose-kubernetes-nmstate-handler-rhel9@sha256:71241e7c8aa7f5e68444557713066cc5e3975159fe44c6da8adef05831396412 - name: PLUGIN_IMAGE value: registry.redhat.io/openshift4/nmstate-console-plugin-rhel9@sha256:98eacebec0d128e18d9109d3eadb5a1470ec990f11ad3e717a6638a8675d6e66 - name: HANDLER_IMAGE_PULL_POLICY value: Always - name: HANDLER_NAMESPACE value: openshift-nmstate - name: MONITORING_NAMESPACE value: openshift-monitoring - name: KUBE_RBAC_PROXY_IMAGE value: registry.redhat.io/openshift4/ose-kube-rbac-proxy-rhel9@sha256:784c4667a867abdbec6d31a4bbde52676a0f37f8e448eaae37568a46fcdeace7 image: registry.redhat.io/openshift4/kubernetes-nmstate-rhel9-operator@sha256:4a7b1d0616659315824d4b04d8b3d0ba8c940d405803b7f89bacd0174b1e0d7f imagePullPolicy: Always name: nmstate-operator resources: requests: cpu: 60m memory: 30Mi securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL priorityClassName: system-cluster-critical securityContext: runAsNonRoot: true seccompProfile: type: RuntimeDefault serviceAccountName: nmstate-operator tolerations: - effect: NoSchedule key: node-role.kubernetes.io/control-plane operator: Exists - effect: NoSchedule key: node-role.kubernetes.io/master operator: Exists permissions: - rules: - apiGroups: - apps resources: - daemonsets - deployments - replicasets - statefulsets verbs: - '*' - apiGroups: - policy resources: - poddisruptionbudgets verbs: - '*' serviceAccountName: nmstate-operator strategy: deployment installModes: - supported: true type: OwnNamespace - supported: true type: SingleNamespace - supported: false type: MultiNamespace - supported: false type: AllNamespaces keywords: - nmstate - networking - NetworkManager labels: olm-owner-enterprise-app: kubernetes-nmstate-operator olm-status-descriptors: kubernetes-nmstate-operator.4.18.0-202509241752 links: - name: Kubernetes Nmstate Operator url: https://github.com/nmstate/kubernetes-nmstate maintainers: - email: support@redhat.com name: Red Hat maturity: GA provider: name: Red Hat, Inc. relatedImages: - image: registry.redhat.io/openshift4/kubernetes-nmstate-rhel9-operator@sha256:4a7b1d0616659315824d4b04d8b3d0ba8c940d405803b7f89bacd0174b1e0d7f name: kubernetes-nmstate-rhel9-operator - image: registry.redhat.io/openshift4/ose-kubernetes-nmstate-handler-rhel9@sha256:71241e7c8aa7f5e68444557713066cc5e3975159fe44c6da8adef05831396412 name: ose-kubernetes-nmstate-handler-rhel9 - image: registry.redhat.io/openshift4/nmstate-console-plugin-rhel9@sha256:98eacebec0d128e18d9109d3eadb5a1470ec990f11ad3e717a6638a8675d6e66 name: nmstate-console-plugin-rhel9 - image: registry.redhat.io/openshift4/ose-kube-rbac-proxy-rhel9@sha256:784c4667a867abdbec6d31a4bbde52676a0f37f8e448eaae37568a46fcdeace7 name: ose-kube-rbac-proxy-rhel9 selector: matchLabels: name: kubernetes-nmstate-operator version: 4.18.0-202509241752 status: cleanup: {} conditions: - lastTransitionTime: "2025-10-11T10:48:05Z" lastUpdateTime: "2025-10-11T10:48:05Z" message: requirements not yet checked phase: Pending reason: RequirementsUnknown - lastTransitionTime: "2025-10-11T10:48:05Z" lastUpdateTime: "2025-10-11T10:48:05Z" message: one or more requirements couldn't be found phase: Pending reason: RequirementsNotMet - lastTransitionTime: "2025-10-11T10:48:07Z" lastUpdateTime: "2025-10-11T10:48:07Z" message: all requirements found, attempting install phase: InstallReady reason: AllRequirementsMet - lastTransitionTime: "2025-10-11T10:48:09Z" lastUpdateTime: "2025-10-11T10:48:09Z" message: waiting for install components to report healthy phase: Installing reason: InstallSucceeded - lastTransitionTime: "2025-10-11T10:48:09Z" lastUpdateTime: "2025-10-11T10:48:10Z" message: 'installing: waiting for deployment nmstate-operator to become ready: deployment "nmstate-operator" not available: Deployment does not have minimum availability.' phase: Installing reason: InstallWaiting - lastTransitionTime: "2025-10-11T10:48:12Z" lastUpdateTime: "2025-10-11T10:48:12Z" message: install strategy completed with no errors phase: Succeeded reason: InstallSucceeded lastTransitionTime: "2025-10-11T10:48:12Z" lastUpdateTime: "2025-10-11T10:48:12Z" message: install strategy completed with no errors phase: Succeeded reason: InstallSucceeded requirementStatus: - group: apiextensions.k8s.io kind: CustomResourceDefinition message: CRD is present and Established condition is true name: nmstates.nmstate.io status: Present uuid: 64d32afa-6c6d-4bbe-9f90-79dea7d83389 version: v1 - dependents: - group: rbac.authorization.k8s.io kind: PolicyRule message: cluster rule:{"verbs":["*"],"apiGroups":[""],"resources":["configmaps","endpoints","events","persistentvolumeclaims","pods","secrets","services"]} status: Satisfied version: v1 - group: rbac.authorization.k8s.io kind: PolicyRule message: cluster rule:{"verbs":["*"],"apiGroups":[""],"resources":["configmaps","namespaces","serviceaccounts"]} status: Satisfied version: v1 - group: rbac.authorization.k8s.io kind: PolicyRule message: cluster rule:{"verbs":["get","list"],"apiGroups":[""],"resources":["nodes"]} status: Satisfied version: v1 - group: rbac.authorization.k8s.io kind: PolicyRule message: cluster rule:{"verbs":["*"],"apiGroups":["admissionregistration.k8s.io"],"resources":["mutatingwebhookconfigurations"]} status: Satisfied version: v1 - group: rbac.authorization.k8s.io kind: PolicyRule message: cluster rule:{"verbs":["*"],"apiGroups":["apiextensions.k8s.io"],"resources":["*"]} status: Satisfied version: v1 - group: rbac.authorization.k8s.io kind: PolicyRule message: cluster rule:{"verbs":["*"],"apiGroups":["apps"],"resources":["daemonsets","deployments","replicasets","statefulsets"]} status: Satisfied version: v1 - group: rbac.authorization.k8s.io kind: PolicyRule message: cluster rule:{"verbs":["*"],"apiGroups":["console.openshift.io"],"resources":["consoleplugins"]} status: Satisfied version: v1 - group: rbac.authorization.k8s.io kind: PolicyRule message: cluster rule:{"verbs":["create","get","list","update","watch"],"apiGroups":["monitoring.coreos.com"],"resources":["servicemonitors"]} status: Satisfied version: v1 - group: rbac.authorization.k8s.io kind: PolicyRule message: cluster rule:{"verbs":["*"],"apiGroups":["nmstate.io"],"resources":["*"]} status: Satisfied version: v1 - group: rbac.authorization.k8s.io kind: PolicyRule message: cluster rule:{"verbs":["get","list","update","watch"],"apiGroups":["operator.openshift.io"],"resources":["consoles"]} status: Satisfied version: v1 - group: rbac.authorization.k8s.io kind: PolicyRule message: cluster rule:{"verbs":["*"],"apiGroups":["rbac.authorization.k8s.io"],"resources":["clusterrolebindings","clusterroles","rolebindings","roles"]} status: Satisfied version: v1 - group: rbac.authorization.k8s.io kind: PolicyRule message: cluster rule:{"verbs":["use"],"apiGroups":["security.openshift.io"],"resources":["securitycontextconstraints"],"resourceNames":["privileged"]} status: Satisfied version: v1 group: "" kind: ServiceAccount message: "" name: nmstate-operator status: Present version: v1