Skip to content

Added documentation about pulling images from private registry's #176

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
111 changes: 92 additions & 19 deletions charts/console/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -401,25 +401,44 @@ console, we recommend you to look at our
### Kubernetes configuration


- [Install with an enterprise license](#install-with-an-enterprise-license)
- [Install with a basic SSO configuration](#install-with-a-basic-sso-configuration)
- [Install with a Kafka cluster](#install-with-a-kafka-cluster)
- [Install with a Confluent Cloud cluster](#install-with-a-confluent-cloud-cluster)
- [Install without Conduktor monitoring](#install-without-conduktor-monitoring)
- [Provide the license as a Kubernetes Secret](#provide-the-license-as-a-kubernetes-secret)
- [Provide credentials configuration as a Kubernetes Secret](#provide-credentials-configuration-as-a-kubernetes-secret)
- [Provide monitoring configuration as a Kubernetes Secret](#provide-monitoring-configuration-as-a-kubernetes-secret)
- [Store platform data into a Persistent Volume](#store-platform-data-into-a-persistent-volume)
- [Install with a PodAffinity](#install-with-a-podaffinity)
- [Provide console configuration as a Kubernetes ConfigMap](#provide-console-configuration-as-a-kubernetes-configmap)
- [Provide additional credentials as a Kubernetes Secret](#provide-additional-credentials-as-a-kubernetes-secret)
- [Install with a toleration](#install-with-a-toleration)
- [Install with Self-Signed TLS certificate](#install-with-self-signed-tls-certificate)
- [Install with a custom TLS certificate on the platform Pod](#install-with-a-custom-tls-certificate-on-the-platform-pod)
- [Install with a custom service account](#install-with-a-custom-service-account)
- [Install with a AWS EKS IAM Role](#install-with-a-aws-eks-iam-role)
- [Install with Console technical monitoring](#install-with-console-technical-monitoring)
- [Install with custom certificates or keytab](#install-with-custom-certificates-or-keytab)
- [Conduktor Console](#conduktor-console)
- [TL;DR](#tldr)
- [Introduction](#introduction)
- [Prerequisites](#prerequisites)
- [Parameters](#parameters)
- [Global parameters](#global-parameters)
- [Common parameters](#common-parameters)
- [Platform product Parameters](#platform-product-parameters)
- [Platform Monitoring product Parameters](#platform-monitoring-product-parameters)
- [Platform Deployment Parameters](#platform-deployment-parameters)
- [Platform Metrics activation](#platform-metrics-activation)
- [Traffic Exposure Parameters](#traffic-exposure-parameters)
- [Other Parameters](#other-parameters)
- [Platform Cortex Parameters](#platform-cortex-parameters)
- [Snippets](#snippets)
- [Console configuration](#console-configuration)
- [Kubernetes configuration](#kubernetes-configuration)
- [Install with an enterprise license](#install-with-an-enterprise-license)
- [Install with a basic SSO configuration](#install-with-a-basic-sso-configuration)
- [Install with a Kafka cluster](#install-with-a-kafka-cluster)
- [Install with a Confluent Cloud cluster](#install-with-a-confluent-cloud-cluster)
- [Install without Conduktor monitoring](#install-without-conduktor-monitoring)
- [Provide the license as a Kubernetes Secret](#provide-the-license-as-a-kubernetes-secret)
- [Provide credentials configuration as a Kubernetes Secret](#provide-credentials-configuration-as-a-kubernetes-secret)
- [Provide monitoring configuration as a Kubernetes Secret](#provide-monitoring-configuration-as-a-kubernetes-secret)
- [Pulling from private registry using `global.imagePullSecrets`](#pulling-from-private-registry-using-globalimagepullsecrets)
- [Store platform data into a Persistent Volume](#store-platform-data-into-a-persistent-volume)
- [Install with a PodAffinity](#install-with-a-podaffinity)
- [Provide console configuration as a Kubernetes ConfigMap](#provide-console-configuration-as-a-kubernetes-configmap)
- [Provide additional credentials as a Kubernetes Secret](#provide-additional-credentials-as-a-kubernetes-secret)
- [Install with a toleration](#install-with-a-toleration)
- [Install with Self-Signed TLS certificate](#install-with-self-signed-tls-certificate)
- [Install with a custom TLS certificate on the platform Pod](#install-with-a-custom-tls-certificate-on-the-platform-pod)
- [Install with a custom service account](#install-with-a-custom-service-account)
- [Install with a AWS EKS IAM Role](#install-with-a-aws-eks-iam-role)
- [Install with Console technical monitoring](#install-with-console-technical-monitoring)
- [Install with custom certificates or keytab](#install-with-custom-certificates-or-keytab)
- [Troubleshooting](#troubleshooting)

### Install with an enterprise license

Expand Down Expand Up @@ -655,6 +674,60 @@ data:
CDK_MONITORING_STORAGE_S3_SECRETACCESSKEY: <your_s3_secret_access_key>
```


### Pulling from private registry using `global.imagePullSecrets`

To use the parameter `global.imagePullSecrets` you need to create a secret with the name you want to use in the parameter. To find out more [see offical documentation](https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/).

We need to ensure this secret is of type `docker-registry` and contains the following keys:
```bash
kubectl create secret docker-registry <SECRET_NAME> \
--docker-server=<DOCKER_REGISTRY_SERVER> \
--docker-username=<DOCKER_USERNAME> \
--docker-password=<DOCKER_PASSWORD> \
--docker-email=<DOCKER_EMAIL>
```

Then in your `values.yaml` file, you can set the `global.imagePullSecrets` parameter to the name of the secret you created, you will also need to modify the `global.imageRegistry` parameters to use the same registry as the secret you created.

This example blelow shows an example of how to set the `global.imagePullSecrets` parameter and the `global.imageRegistry` parameters to use a private harbor registry:
```yaml
global:
imageRegistry: harbor.local.example
imagePullSecrets:
- harbor-secret

platform:
image:
repository: conduktor/conduktor-console
tag: nightly

platformCortex:
image:
repository: conduktor/conduktor-console-cortex
tag: nightly
```

You can also specify the `global.imagePullSecrets` and `global.imageRegistry` parameters in the `platform` and `platformCortex` sections if you want to use different secrets and registry's for each of them.

```yaml
platform:
image:
registry: harbor.local.example
repository: conduktor/conduktor-console
tag: nightly
pullSecrets:
- platform-secret

platformCortex:
image:
registry: harbor.local.example
repository: conduktor/conduktor-console-cortex
tag: nightly
pullSecrets:
- platform-cortex-secret
```

### Store platform data into a Persistent Volume

```yaml
Expand Down
29 changes: 29 additions & 0 deletions charts/gateway/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -315,6 +315,35 @@ gateway:
secretKey: "<256bits long string>" # if empty, a random key will be generated
```


#### Pulling from private registry using `global.imagePullSecrets`

To use the parameter `global.imagePullSecrets` you need to create a secret with the name you want to use in the parameter. To find out more [see offical documentation](https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/).

We need to ensure this secret is of type `docker-registry` and contains the following keys:
```bash
kubectl create secret docker-registry <SECRET_NAME> \
--docker-server=<DOCKER_REGISTRY_SERVER> \
--docker-username=<DOCKER_USERNAME> \
--docker-password=<DOCKER_PASSWORD> \
--docker-email=<DOCKER_EMAIL>
```

Then in your `values.yaml` file, you can set the `global.imagePullSecrets` parameter to the name of the secret you created, you will also need to modify the `gateway.image` parameters to use the same registry as the secret you created.

This example blelow shows an example of how to set the `global.imagePullSecrets` parameter and the `gateway.image` parameters to use a private harbor registry:
```yaml
global:
imagePullSecrets:
- name: harbor-secret

gateway:
image:
registry: harbor.local.example
repository: conduktor/conduktor-gateway
tag: nightly
```

### Ingress configuration examples

#### Nginx Ingress without TLS
Expand Down