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

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

This release covers two major features and a few minor cleanups left over from v0.2. It's intended to represent 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.

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.

The major features 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.

Installation instructions:

# Set the desired release:
HNC_VERSION=v0.3.0-rc1

# 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.