|
| 1 | +# Docker Registry Helm Chart |
| 2 | + |
| 3 | +This directory contains a Kubernetes chart to deploy a private Docker Registry. |
| 4 | + |
| 5 | +## Prerequisites Details |
| 6 | + |
| 7 | +* PV support on underlying infrastructure (if persistence is required) |
| 8 | + |
| 9 | +## Chart Details |
| 10 | + |
| 11 | +This chart will do the following: |
| 12 | + |
| 13 | +* Implement a Docker registry deployment |
| 14 | + |
| 15 | +## Installing the Chart |
| 16 | + |
| 17 | +To install the chart, use the following: |
| 18 | + |
| 19 | +```console |
| 20 | +$ helm install stable/docker-registry |
| 21 | +``` |
| 22 | + |
| 23 | +## Configuration |
| 24 | + |
| 25 | +The following table lists the configurable parameters of the docker-registry chart and |
| 26 | +their default values. |
| 27 | + |
| 28 | +| Parameter | Description | Default | |
| 29 | +|:----------------------------|:-------------------------------------------------------------------------------------------|:----------------| |
| 30 | +| `image.pullPolicy` | Container pull policy | `IfNotPresent` | |
| 31 | +| `image.repository` | Container image to use | `registry` | |
| 32 | +| `image.tag` | Container image tag to deploy | `2.7.1` | |
| 33 | +| `imagePullSecrets` | Specify image pull secrets | `nil` (does not add image pull secrets to deployed pods) | |
| 34 | +| `persistence.accessMode` | Access mode to use for PVC | `ReadWriteOnce` | |
| 35 | +| `persistence.enabled` | Whether to use a PVC for the Docker storage | `false` | |
| 36 | +| `persistence.deleteEnabled` | Enable the deletion of image blobs and manifests by digest | `nil` | |
| 37 | +| `persistence.size` | Amount of space to claim for PVC | `10Gi` | |
| 38 | +| `persistence.storageClass` | Storage Class to use for PVC | `-` | |
| 39 | +| `persistence.existingClaim` | Name of an existing PVC to use for config | `nil` | |
| 40 | +| `service.port` | TCP port on which the service is exposed | `5000` | |
| 41 | +| `service.type` | service type | `ClusterIP` | |
| 42 | +| `service.clusterIP` | if `service.type` is `ClusterIP` and this is non-empty, sets the cluster IP of the service | `nil` | |
| 43 | +| `service.nodePort` | if `service.type` is `NodePort` and this is non-empty, sets the node port of the service | `nil` | |
| 44 | +| `replicaCount` | k8s replicas | `1` | |
| 45 | +| `updateStrategy` | update strategy for deployment | `{}` | |
| 46 | +| `podAnnotations` | Annotations for pod | `{}` | |
| 47 | +| `podLabels` | Labels for pod | `{}` | |
| 48 | +| `resources.limits.cpu` | Container requested CPU | `nil` | |
| 49 | +| `resources.limits.memory` | Container requested memory | `nil` | |
| 50 | +| `priorityClassName ` | priorityClassName | `""` | |
| 51 | +| `storage` | Storage system to use | `filesystem` | |
| 52 | +| `tlsSecretName` | Name of secret for TLS certs | `nil` | |
| 53 | +| `secrets.htpasswd` | Htpasswd authentication | `nil` | |
| 54 | +| `secrets.s3.accessKey` | Access Key for S3 configuration | `nil` | |
| 55 | +| `secrets.s3.secretKey` | Secret Key for S3 configuration | `nil` | |
| 56 | +| `secrets.swift.username` | Username for Swift configuration | `nil` | |
| 57 | +| `secrets.swift.password` | Password for Swift configuration | `nil` | |
| 58 | +| `haSharedSecret` | Shared secret for Registry | `nil` | |
| 59 | +| `configData` | Configuration hash for docker | `nil` | |
| 60 | +| `s3.region` | S3 region | `nil` | |
| 61 | +| `s3.regionEndpoint` | S3 region endpoint | `nil` | |
| 62 | +| `s3.bucket` | S3 bucket name | `nil` | |
| 63 | +| `s3.encrypt` | Store images in encrypted format | `nil` | |
| 64 | +| `s3.secure` | Use HTTPS | `nil` | |
| 65 | +| `swift.authurl` | Swift authurl | `nil` | |
| 66 | +| `swift.container` | Swift container | `nil` | |
| 67 | +| `nodeSelector` | node labels for pod assignment | `{}` | |
| 68 | +| `tolerations` | pod tolerations | `[]` | |
| 69 | +| `ingress.enabled` | If true, Ingress will be created | `false` | |
| 70 | +| `ingress.annotations` | Ingress annotations | `{}` | |
| 71 | +| `ingress.labels` | Ingress labels | `{}` | |
| 72 | +| `ingress.path` | Ingress service path | `/` | |
| 73 | +| `ingress.hosts` | Ingress hostnames | `[]` | |
| 74 | +| `ingress.tls` | Ingress TLS configuration (YAML) | `[]` | |
| 75 | + |
| 76 | +Specify each parameter using the `--set key=value[,key=value]` argument to |
| 77 | +`helm install`. |
| 78 | + |
| 79 | +To generate htpasswd file, run this docker command: |
| 80 | +`docker run --entrypoint htpasswd registry:2 -Bbn user password > ./htpasswd`. |
0 commit comments