{"id":18497852,"url":"https://github.com/containers/nri-plugins-operator","last_synced_at":"2026-03-04T07:02:31.231Z","repository":{"id":210037808,"uuid":"714105730","full_name":"containers/nri-plugins-operator","owner":"containers","description":null,"archived":false,"fork":false,"pushed_at":"2023-12-13T13:47:13.000Z","size":37,"stargazers_count":3,"open_issues_count":2,"forks_count":1,"subscribers_count":10,"default_branch":"main","last_synced_at":"2025-08-26T08:43:48.195Z","etag":null,"topics":["containerd","cri-o","helm","kubernetes","nri","nri-plugins"],"latest_commit_sha":null,"homepage":"","language":"Makefile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/containers.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-11-03T23:48:18.000Z","updated_at":"2025-06-20T07:57:21.000Z","dependencies_parsed_at":"2023-11-30T13:29:14.307Z","dependency_job_id":"dc941c04-d4cb-4eb4-a50c-020ec709b69f","html_url":"https://github.com/containers/nri-plugins-operator","commit_stats":null,"previous_names":["containers/nri-plugins-operator"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/containers/nri-plugins-operator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/containers%2Fnri-plugins-operator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/containers%2Fnri-plugins-operator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/containers%2Fnri-plugins-operator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/containers%2Fnri-plugins-operator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/containers","download_url":"https://codeload.github.com/containers/nri-plugins-operator/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/containers%2Fnri-plugins-operator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30075425,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-04T05:31:57.858Z","status":"ssl_error","status_checked_at":"2026-03-04T05:31:38.462Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["containerd","cri-o","helm","kubernetes","nri","nri-plugins"],"created_at":"2024-11-06T13:36:17.512Z","updated_at":"2026-03-04T07:02:31.195Z","avatar_url":"https://github.com/containers.png","language":"Makefile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# nri-plugins-operator\n\nThe nri-plugins-operator is an Ansible-based operator created with operator-sdk to manage the life cycle of the\nnri-plugins. The operator deploys community maintained [nri-plugins](https://github.com/containers/nri-plugins) in\nKubernetes cluster. When operator is installed, it doesn't do anything apart from watching for custom resources called\nNriPluginDeployment. When NriPluginDeployment object is created, reconciliation loops kicks off and installs the\nnri-plugin specified in the NriPluginDeployment. \n\n## nriPluginDeployment object\n\n```YAML\napiVersion: config.nri/v1alpha1\nkind: NriPluginDeployment\nmetadata:\n  name: nriplugindeployment-sample\n  namespace: kube-system\nspec:\n  pluginName: topology-aware\n  pluginVersion: \"v0.2.3\"\n  state: present\n  values:\n    nri:\n      patchRuntimeConfig: true\n    tolerations:\n      - key: \"node-role.kubernetes.io/control-plane\"\n        operator: \"Exists\"\n        effect: \"NoSchedule\"\n    affinity:\n      nodeAffinity:\n        requiredDuringSchedulingIgnoredDuringExecution:\n          nodeSelectorTerms:\n            - matchExpressions:\n                - key: topology.kubernetes.io/disk\n                  operator: In\n                  values:\n                    - ssd\n```\n\n- `metadata.namespace`: the same namespace is used to install the nri-plugin Helm chart.\n- `spec.pluginName`: This field specifies the desired plugin to be installed, with currently accepted values including \n  topology-aware, balloons, memtierd, memory-qos, or sgx-epc.  The list of allowed nri-plugins is expected to grow as\n  new plugins are introduced. The field is immutable and to deploy a different plugin you need to re-create the object\n  or create a new one with different name and namespace.\n- `spec.pluginVersion`: specifies the version of the plugin. If not indicated, it defaults to the latest version. The\n  plugin version is mutable, and updating it will uninstall the current version before installing the updated one.\n- `spec.state`: Determines whether to install (`present`) or uninstall (`absent`) the plugin.\n- `spec.values`: Allows users to provide custom values for manipulating Helm chart values. This field is immutable, \n  requiring users to recreate the object to pass new values.\n- `spec.status`: Tracks the basic state of the resource and includes basic messages in case the operator encounters \n  issues while reconciling the object.\n\n## Operator installation\n\nBuild the operator image and push it to some registry\n```shell\nmake docker-build docker-push IMG=\"my-registry.com/nri-plugins-operator:unstable\"\n```\n\nDeploy the operator in your cluster\n```shell\nmake deploy\n```\n\nUninstall the operator\n```shell\nmake undeploy\n```\n\n# License\nLicensed under [Apache 2.0](https://github.com/containers/nri-plugins-operator/blob/main/LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcontainers%2Fnri-plugins-operator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcontainers%2Fnri-plugins-operator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcontainers%2Fnri-plugins-operator/lists"}