Skip to content
This repository has been archived by the owner on Jun 26, 2023. It is now read-only.

HNC v0.3.0 RC1

Pre-release
Pre-release
Compare
Choose a tag to compare
@adrianludwin adrianludwin released this 09 Apr 19:17
· 1350 commits to master since this release
bc0ba5f

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