github kubernetes-retired/multi-tenancy hnc-v0.3.0
HNC v0.3.0

latest releases: hnc-v0.8.0, hnc-v0.8.0-rc1, hnc-v0.7.1-test1...
pre-release4 years ago

This release is the "MVP" of HNC - that is, the minimum number of features required to be usable in a real usecase. It's still not suitable for prod workloads, but it should be usable in a dev cluster. See the user guide for instructions of how to use it.

The major features since v0.2 are:

  • A new self-service namespace UX that includes dedicated objects (and permissions) for self-service namespace creation, as well as cascading deletion of all namespaces created through this method (with appropriate safety controls). Design: http://bit.ly/hnc-self-serve-ux. Tracking bug: #457
  • Type configuration. Only propagate RBAC objects by default, but allow other builtin types (e.g. Secrets) or CRDs to be propagated as well. Design: http://bit.ly/hnc-type-configuration. Tracking bug: #411

Many other issues have also been fixed, especially regarding the reliability of conditions displayed on namespaces to alert users to errors. See https://github.com/kubernetes-sigs/multi-tenancy/milestone/10 for more details.

Please note that the API in v0.3 is not backwards-compatible with the API in v0.2. In particular, the .spec.requiredChild field of the HierarchyConfiguration has been removed and replaced by the HierarchicalNamespace objects, as described below. We will try to avoid breaking changes to the API in v0.4 but are not yet committing to do so.

Installation instructions:

# Set the desired release:
HNC_VERSION=v0.3.0

# Install prerequisites on your cluster
kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v0.11.0/cert-manager.yaml
# WAIT for the cert-manager deployments to all become healthy. This can take a
# minute or two.

# Install HNC on your cluster. If this fails due to the cert-manager webhook not
# being ready yet, wait for the webhook to become ready, then re-run it. Usually the cert-manager webhook takes five minutes to be ready.
kubectl apply -f https://github.com/kubernetes-sigs/multi-tenancy/releases/download/hnc-${HNC_VERSION}/hnc-manager.yaml

# Download kubectl plugin (Linux only) - will move to Krew soon
PLUGIN_DIR=<directory where you keep your plugins - just has to be on your PATH>
curl -L https://github.com/kubernetes-sigs/multi-tenancy/releases/download/hnc-${HNC_VERSION}/kubectl-hns -o ${PLUGIN_DIR}/kubectl-hns
chmod +x ${PLUGIN_DIR}/kubectl-hns

Don't miss a new multi-tenancy release

NewReleases is sending notifications on new releases.