From 0622686f35acae4aa9c44f1a14f06ee3de3d0f91 Mon Sep 17 00:00:00 2001 From: ricoberger <mail@ricoberger.de> Date: Wed, 23 Sep 2020 21:55:56 +0200 Subject: [PATCH] Prepare the 3.0.0 release of kubenav --- README.md | 105 ++--------------------------------------------- helm/Chart.yaml | 4 +- helm/values.yaml | 2 +- 3 files changed, 7 insertions(+), 104 deletions(-) diff --git a/README.md b/README.md index 5744cff..7c0f4ce 100644 --- a/README.md +++ b/README.md @@ -2,107 +2,10 @@ kubenav is not only available for desktop and mobile, it can also be deployed to your Kubernetes cluster. The following page shows how kubenav can be deployed using [Kustomize](https://kustomize.io) or [Helm](https://helm.sh). -## Kustomize +More information for the usage of the web version of kubenav can be found in the [documentation](https://docs.kubenav.io) at [https://docs.kubenav.io/web/getting-started/](https://docs.kubenav.io/web/getting-started/). -You can deploy kubenav into your Kubernetes cluster via [Kustomize](https://kustomize.io): +## Contributing -```sh -kubectl apply --kustomize github.com/kubenav/deploy/kustomize -``` +Each contribution to kubenav is welcome. If you make changes to the Helm chart you have to bump the `version` in the [`helm/Chart.yaml`](https://github.com/kubenav/deploy/blob/master/helm/Chart.yaml) file. Then a new version of the Helm chart is automatically published when your PR is merged into the master branch. -To access kubenav run the following: - -```sh -kubectl port-forward --namespace kubenav svc/kubenav 14122 -``` - -### Configure Access to Multiple Clusters - -> **Attention:** When kubenav runs inside a Kubernetes cluster with the `--kubeconfig` flag and the Prometheus plugin enabled (`--plugin.prometheus.enabled`) it will only use the Prometheus instance, which is running in the same cluster. - -The deployment shown in this repository deploys kubenav with the `--incluster` flag. This means kubenav has only access to the cluster were it is deployed in. To deploy kubenav with access to multiple cluster you have to mount a Kubeconfig file into the kubenav container and add the `--kubeconfig` flag. - -The following example shows the changes you have to made to the `deployment.yaml` file to access multiple clusters from the same kubenav instance: - -```yaml -spec: - template: - spec: - containers: - - name: kubenav - args: - - --kubeconfig=/kubenav/kubeconfig/kubeconfig - volumeMounts: - - name: kubeconfig - mountPath: '/kubenav/kubeconfig' - readOnly: true - volumes: - - name: kubeconfig - secret: - secretName: kubeconfig -``` - -The above example mounts a secret named `kubeconfig` into the kubenav pod and makes use of the Kubeconfig via the `--kubeconfig` flag. The secret must look as follows: - -```yaml ---- -apiVersion: v1 -kind: Secret -metadata: - name: kubeconfig -data: - kubeconfig: <REPLACE WITH YOUR BASE64 ENCODED KUBECONFIG> -type: Opaque -``` - -The value for the `data.kubeconfig` key can be created with `cat ~/.kube/config | base64`. - -## Helm - -You can deploy kubenav into your Kubernetes cluster via [Helm](https://helm.sh): - -```sh -helm repo add kubenav https://kubenav.github.io/helm-repository -helm repo update - -kubectl create namespace kubenav -helm upgrade --install --namespace kubenav kubenav kubenav/kubenav -``` - -### Values - -| Value | Description | Default | -| ----- | ----------- | ------- | -| `replicaCount` | Number of replicas which should be created. | `1` | -| `image.repository` | The repository of the Docker image. | `kubenav/kubenav` | -| `image.tag` | The tag of the Docker image which should be used. | `d74a11da` | -| `image.pullPolicy` | The pull policy for the Docker image, | `IfNotPresent` | -| `imagePullSecrets` | Secrets which can be used to pull the Docker image. | `[]` | -| `nameOverride` | Expand the name of the chart. | `""` | -| `fullnameOverride` | Override the name of the app. | `""` | -| `deployment.mode` | Set the mode how kubenav should be deployed. This must be `incluster` or `kubeconfig`. | `incluster` | -| `deployment.kubeconfig` | When the `kubeconfig` mode is used. This must be a base64 encoded Kubeconfig file. | `""` | -| `plugins.prometheus.enabled` | Enables the Prometheus plugin. | `false` | -| `plugins.prometheus.address` | The address of Prometheus. | `""` | -| `rbac.create` | Create the cluster role and cluster role binding. | `true` | -| `rbac.name` | The name of the cluster role and cluster role binding, which should be created/used by kubenav. | `kubenav` | -| `rbac.name` | The permissions which kubenav should have. This must be `admin` or `viewer`. | `admin` | -| `serviceAccount.create` | Create the service account. | `true` | -| `serviceAccount.annotations` | Additional annotations for the service account. | `true` | -| `serviceAccount.name` | The name of the service account, which should be created/used by kubenav. | `kubenav` | -| `podSecurityContext` | Security context for the kubenav pod. | `{}` | -| `securityContext` | Security context for the kubenav container. | `{}` | -| `service.type` | Type of the service which is created. | `ClusterIP` | -| `service.port` | Port of the service which is created. | `80` | -| `ingress.enabled` | Create an ingress. | `false` | -| `ingress.annotations` | Additional annotations for the ingress. | `{}` | -| `ingress.hosts` | Hosts for the ingress. | `[]` | -| `ingress.tls` | TLS configuration for the ingress. | `[]` | -| `resources` | Set resources for the operator. | `{}` | -| `nodeSelector` | Set a node selector. | `{}` | -| `tolerations` | Set tolerations. | `[]` | -| `affinity` | Set affinity. | `{}` | - -## Contribution - -Each contribution to kubenav is welcome. If you make changes to the Helm chart you have to bump the `version` in the `helm/Chart.yaml` file. Then a new version of the Helm chart is automatically published when your PR is merged into the master branch. +When you add a new value to the [`helm/values.yaml`](https://github.com/kubenav/deploy/blob/master/helm/values.yaml) file, please also adjust the [documentation](https://docs.kubenav.io/web/helm/). diff --git a/helm/Chart.yaml b/helm/Chart.yaml index 9bac414..238506a 100644 --- a/helm/Chart.yaml +++ b/helm/Chart.yaml @@ -2,5 +2,5 @@ apiVersion: v2 name: kubenav description: kubenav is the navigator for your Kubernetes clusters right in your pocket. type: application -version: 0.1.2 -appVersion: 2.2.0 +version: 1.0.0 +appVersion: 3.0.0 diff --git a/helm/values.yaml b/helm/values.yaml index a5828c9..b293eaa 100644 --- a/helm/values.yaml +++ b/helm/values.yaml @@ -4,7 +4,7 @@ replicaCount: 1 image: repository: kubenav/kubenav - tag: d74a11da + tag: 3.0.0 pullPolicy: IfNotPresent imagePullSecrets: [] -- GitLab