Help us shape the future of Go! Take the 2026 Go Developer Survey

kai-resource-management

module
v0.18.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 18, 2026 License: Apache-2.0

README

KAI Resource Management

License Coverage

KAI Resource Management is an open source, Kubernetes-native resource management layer for KAI Scheduler. It is designed to add organizational and infrastructure abstractions such as projects, departments, node pools, queues, and workload placement.

Project status

The KAI Resource Management Helm chart source is available under deployments/kai-resource-management-chart. There is not yet a published release, so cluster administrators must currently package the chart from source and supply compatible controller images.

Scope

KAI Resource Management is intended to provide:

  • Project and department resource hierarchies.
  • Node-pool management and scheduler partition configuration.
  • Queue and workload-placement integration with KAI Scheduler.
  • A Helm-based installation and upgrade experience for cluster administrators.

Repository layout

Path Purpose
deployments/ Deployment assets, including the kai-resource-management-chart Helm chart.
cmd/ Executable entry points, one subdirectory per binary.
pkg/ Shared Go packages used by repository binaries and integrations.
docs/ User, administrator, reference, and developer documentation.
hack/ Development, generation, and repository-maintenance scripts.
test/e2e/ End-to-end suites and the framework that runs them against a cluster.
.agents/ Repository-owned agent skills and other shared agent assets.

The repository intentionally uses one root go.mod and one root Makefile.

Documentation

New to KAI Resource Management? Read the overview, then install it and run a workload through it with the quickstart.

I want to Read
Understand what this is Overview
Install it and try it Quickstart
Understand the objects I create Concepts
Do one specific thing How-to guides
Look up a field, label or condition Reference
Configure the Helm chart Chart documentation
Build and test the repository Building from source

The full documentation index lists everything, including maintainer material.

Examples and sample manifests belong alongside the documentation that explains them. This repository does not use a separate top-level examples directory.

Contributing

Contributions are welcome. Read CONTRIBUTING.md before opening a pull request. By participating, contributors agree to follow the Code of Conduct.

Security vulnerabilities must be reported privately as described in SECURITY.md.

Directories

Path Synopsis
cmd
helm-hooks command
krm-operator command
deployments
kai-resource-management-chart/crds
Package crds carries the chart's CRD manifests into the helm-hooks binary.
Package crds carries the chart's CRD manifests into the helm-hooks binary.
pkg
nodepool-controller/scheme
Package scheme builds the runtime scheme for nodepool-controller.
Package scheme builds the runtime scheme for nodepool-controller.
operator/config
Package config defaults a KRMConfig before the operator acts on it.
Package config defaults a KRMConfig before the operator acts on it.
operator/dependencies
Package dependencies reports on what a KRM installation needs from components it does not install.
Package dependencies reports on what a KRM installation needs from components it does not install.
operator/operands/nodepool-controller
Package nodepoolcontroller installs the nodepool-controller service.
Package nodepoolcontroller installs the nodepool-controller service.
operator/operands/pod-group-assigner
Package podgroupassigner installs the pod-group-assigner service.
Package podgroupassigner installs the pod-group-assigner service.
operator/operands/project-controller
Package projectcontroller installs the project-controller service.
Package projectcontroller installs the project-controller service.
pod-group-assigner/scheme
Package scheme builds the runtime scheme for pod-group-assigner.
Package scheme builds the runtime scheme for pod-group-assigner.
pod-group-assigner/testbuilders
Package testbuilders provides object constructors shared by the pod-group-assigner fake-client-based test suites.
Package testbuilders provides object constructors shared by the pod-group-assigner fake-client-based test suites.
project-controller/test
Package test holds project-controller test fixtures.
Package test holds project-controller test fixtures.
test
e2e/modules/constant
Package constant holds the values shared by every e2e suite: the labels that mark a resource as owned by the tests, and the polling budgets.
Package constant holds the values shared by every e2e suite: the labels that mark a resource as owned by the tests, and the polling budgets.
e2e/modules/context
Package context connects the e2e suites to a cluster and guards that cluster before any spec mutates it.
Package context connects the e2e suites to a cluster and guards that cluster before any spec mutates it.
e2e/modules/nodes
Package nodes moves cluster nodes in and out of the node pools a suite owns.
Package nodes moves cluster nodes in and out of the node pools a suite owns.
e2e/modules/resources
Package resources builds the objects the e2e suites create.
Package resources builds the objects the e2e suites create.
e2e/modules/utils
Package utils holds small helpers shared by the e2e suites.
Package utils holds small helpers shared by the e2e suites.
e2e/modules/wait
Package wait polls the cluster until a controller has converged.
Package wait polls the cluster until a controller has converged.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL