hnc

module
v0.0.0-...-44dad58 Latest Latest
Warning

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

Go to latest
Published: Dec 20, 2021 License: Apache-2.0

README

The Hierarchical Namespace Controller (HNC)

[UPDATE MAY 2021] HNC has moved to its own repo: https://github.com/kubernetes-sigs/hierarchical-namespaces. This version of HNC is no longer being maintained; please visit the new repo for all future development.

$ kubectl hns create my-service -n my-team
$ kubectl hns tree my-team
my-team
└── my-service

Hierarchical namespaces make it easier to share your cluster by making namespaces more powerful. For example, you can create additional namespaces under your team's namespace, even if you don't have cluster-level permission to create namespaces, and easily apply policies like RBAC and Network Policies across all namespaces in your team (e.g. a set of related microservices).

Learn more in the HNC User Guide or get started with the instructions below!

Credits:

  • Lead developer: @adrianludwin (aludwin@google.com)
  • Current contributors: @yiqigao217, @rjbez17, @GinnyJI
  • Other contributors include @sophieliu15, @lafh, @shivi28, @danielSbastos and @entro-pi - thanks all!

Using HNC

Getting started and learning more

The latest version of HNC available from this repo is v0.8.0. [UPDATED MAY 2021] Newer versions may be available at the new repo.

To install HNC on your cluster, and the kubectl-hns plugin on your workstation, follow the instructions on that page.

HNC is also supported by the following vendors:

Once HNC is installed, you can try out the HNC quickstart to get an idea of what HNC can do. Or, feel free to dive right into the user guide instead.

Roadmap and issues

Please file issues - the more the merrier! Bugs will be investigated ASAP, while feature requests will be prioritized and assigned to a milestone or backlog.

HNC is not yet GA, so please be cautious about using it on clusters with config objects you can't afford to lose (e.g. that aren't stored in a Git repository).

All HNC issues are assigned to an HNC milestone. So far, the following milestones are defined or planned:

Contributing to HNC

HNC has moved to its own repo: https://github.com/kubernetes-sigs/hierarchical-namespaces. This version of HNC is no longer being maintained as of May 2021; please visit the new repo for all future development.

Directories

Path Synopsis
api
v1alpha2
Package v1 contains API Schema definitions for the hnc v1 API group +kubebuilder:object:generate=true +groupName=hnc.x-k8s.io
Package v1 contains API Schema definitions for the hnc v1 API group +kubebuilder:object:generate=true +groupName=hnc.x-k8s.io
cmd
+build tools This is used to ensure that controller-gen is included in the /vendor directory.
+build tools This is used to ensure that controller-gen is included in the /vendor directory.
internal
forest
Package forest defines the Forest type.
Package forest defines the Forest type.
kubectl
Package kubectl implements the HNC kubectl plugin
Package kubectl implements the HNC kubectl plugin
pkg/selectors
Package selectors contains exceptions related utilities, including check the validity of selector, treeSelector, and noneSelector, and parsing these three selectors.
Package selectors contains exceptions related utilities, including check the validity of selector, treeSelector, and noneSelector, and parsing these three selectors.
pkg

Jump to

Keyboard shortcuts

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