85 Commits
v2.2.2 ... main

Author SHA1 Message Date
canterberry
803018a09d Merge pull request #182 from twuni/readme-install-via-gh-pages
Update README with repo migration notice
2025-11-03 20:19:48 +00:00
canterberry
8d4e020c42 Add repo migration and deprecation notice to README
This is a follow-up to the previous commit updating the repo URL.

In this commit, I have added a notice to the README intended for those experiencing chart install/update issues which will result from the eventual decommissioning of the old repo.

The goal of the notice is to provide an easy and convenient migration path to using the GitHub Pages repo currently in use as the primary distribution channel for this chart.
2025-09-10 05:28:03 +00:00
canterberry
43ed2639ed Update repo URL in README
GitHub Pages has been the primary distribution channel for this chart since March 2024. However, the repo URL in the README has not been updated accordingly.

I would like to decommission the https://helm.twun.io/ repo, but would prefer not to do so without sufficient notice to the community to update their repo URLs.

Updating the README is one necessary step toward this.
2025-09-10 05:15:59 +00:00
Joshua Sizer
ab431e8015 Merge pull request #178 from weisjohn/main
🏁 v3.0.0 Release
2025-07-29 13:15:22 -04:00
John Weis
8662c4fefb 🏁 v3.0.0 Release 2025-07-29 12:32:38 -04:00
Joshua Sizer
0f196d6227 Merge pull request #171 from TheAceMan/main
Add the ability to skip verifying the TLS cert for s3 storage
2025-06-28 01:06:15 -04:00
Joshua Sizer
4e6b389b56 Merge pull request #174 from twuni/dependabot/github_actions/marocchino/sticky-pull-request-comment-2.9.3
Bump marocchino/sticky-pull-request-comment from 2.9.2 to 2.9.3
2025-06-28 01:04:30 -04:00
dependabot[bot]
8ff170786c Bump marocchino/sticky-pull-request-comment from 2.9.2 to 2.9.3
Bumps [marocchino/sticky-pull-request-comment](https://github.com/marocchino/sticky-pull-request-comment) from 2.9.2 to 2.9.3.
- [Release notes](https://github.com/marocchino/sticky-pull-request-comment/releases)
- [Commits](67d0dec7b0...d2ad0de260)

---
updated-dependencies:
- dependency-name: marocchino/sticky-pull-request-comment
  dependency-version: 2.9.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-23 02:59:41 +00:00
Kevin Boisits
55527bf77c Fix spacing 2025-06-08 22:33:50 -05:00
Kevin Boisits
d344f36b94 Change name to match the config variable 2025-06-08 22:32:26 -05:00
Joshua Sizer
60cac04569 Merge pull request #168 from Clovel/feature/config-path
[Fixes #135] Updated chart to accept configPath to fix distribution's 3.0.0 breaking change
2025-06-08 11:09:14 -04:00
Kevin Boisits
8b8e96444e Add the ability to skip verifying the TLS cert for s3 storage
Allow using self signed cert on S3 storage used
2025-06-06 21:00:14 -05:00
Joshua Sizer
458381c746 Merge pull request #169 from TheAceMan/main
Add the ability to force path style for s3 storage
2025-06-06 21:29:35 -04:00
Kevin Boisits
ec1706762e Add the ability to force path style for s3 storage 2025-06-03 18:24:15 -05:00
Clovis Durand
e3a6eb45bf Updated chart to accept configPath to fix distribution's 3.0.0 breaking change
Signed-off-by: Clovis Durand <cd.clovel19@gmail.com>
2025-06-03 12:30:19 +02:00
Joshua Sizer
791c161883 Merge pull request #165 from joshsizer/release-2.3.0
🏁 v2.3.0 Release
2025-04-17 09:56:44 -04:00
Joshua Sizer
127e415edb Merge pull request #166 from Mercbot7/update-readme-for-cronjob-updates
Update README.md for garbageCollect
2025-04-16 13:08:23 -04:00
Mercbot7
14fc7bb5a2 Update README.md for garbageCollect
Update README.md for garbageCollect Annotations and Labels keys.
2025-04-16 12:06:32 -04:00
Josh Sizer
53e594b53d 🏁 v2.3.0 Release 2025-04-15 21:50:52 -04:00
Joshua Sizer
113ddd1d4f Merge pull request #164 from Mercbot7/update-garbagecollect-cronjob
Update garbageCollect cronjob
2025-04-15 15:31:58 -04:00
Mercbot7
9bba24a3d2 reorder merge for proper preference 2025-04-15 09:09:43 -04:00
Joshua Sizer
64d7c6800c Merge pull request #155 from twuni/dependabot/github_actions/helm/chart-releaser-action-1.7.0
Bump helm/chart-releaser-action from 1.6.0 to 1.7.0
2025-04-14 16:38:55 -04:00
Mercbot7
d6224c847b refactor logic for lapels and annotations and fix resources 2025-04-14 15:02:51 -04:00
Joshua Sizer
f4811a4ab7 Merge pull request #162 from twuni/dependabot/github_actions/marocchino/sticky-pull-request-comment-2.9.2
Bump marocchino/sticky-pull-request-comment from 2.2.0 to 2.9.2
2025-04-14 13:14:09 -04:00
Mercbot7
88ccbc1313 Update values.yaml to match cronjob updates and minor spacing fixes 2025-04-14 09:23:32 -04:00
Mercbot7
e73d9e85c4 Update gargagecollect cronjob
This adds podLabels and podAnnotations to the cronjob job pod and defaults them to the root podLabels and podAnnotations.
2025-04-14 09:20:19 -04:00
dependabot[bot]
5af937bbce Bump marocchino/sticky-pull-request-comment from 2.2.0 to 2.9.2
Bumps [marocchino/sticky-pull-request-comment](https://github.com/marocchino/sticky-pull-request-comment) from 2.2.0 to 2.9.2.
- [Release notes](https://github.com/marocchino/sticky-pull-request-comment/releases)
- [Commits](39c5b5dc77...67d0dec7b0)

---
updated-dependencies:
- dependency-name: marocchino/sticky-pull-request-comment
  dependency-version: 2.9.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-10 02:47:40 +00:00
dependabot[bot]
065f6c5c44 Bump helm/chart-releaser-action from 1.6.0 to 1.7.0
Bumps [helm/chart-releaser-action](https://github.com/helm/chart-releaser-action) from 1.6.0 to 1.7.0.
- [Release notes](https://github.com/helm/chart-releaser-action/releases)
- [Commits](https://github.com/helm/chart-releaser-action/compare/v1.6.0...v1.7.0)

---
updated-dependencies:
- dependency-name: helm/chart-releaser-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-21 02:32:57 +00:00
Devin Canterberry
541f368966 Merge pull request #136 from ilmax/main
[TINY] Fix copy command in README
2024-06-27 13:50:59 -07:00
Massimiliano Donini
177a997ef0 Fix copy command 2024-06-22 10:08:59 +02:00
Vyas
99e99ec5b2 Merge pull request #131 from laverya/laverya-add-service-labels
add the ability to specify labels for the registry service
2024-06-03 13:18:13 -05:00
Andrew Lavery
680310df11 add the ability to specify labels for the registry service
Signed-off-by: Andrew Lavery <laverya@umich.edu>
2024-06-04 01:53:34 +08:00
Vyas
5dccc4e861 Merge pull request #127 from vyas-n/feat/add-dependabot-config
feat: add dependabot config
2024-05-20 15:00:03 -05:00
Vyas Nellutla
8fc13f8d0d feat: add dependabot config
Signed-off-by: Vyas Nellutla <me@vyas-n.com>
2024-05-20 14:58:54 -05:00
Devin Canterberry
7efaaa8f06 Merge pull request #130 from wkbrd/wkbrd-htpasswd
Update README.md
2024-05-15 10:20:43 -07:00
wkbrd
807a2bafc6 Update README.md
This container does not have htpasswd in it.
2024-05-14 11:19:22 -04:00
Devin Canterberry
013c0af45a Merge pull request #129 from wkbrd/wkbrd-security-patch
Wkbrd security patch
2024-05-13 09:44:29 -07:00
wkbrd
384e09cc0d Update deployment.yaml 2024-05-09 16:06:06 -04:00
wkbrd
132d51ea92 Update cronjob.yaml 2024-05-09 16:05:22 -04:00
wkbrd
14b36a8308 Update values.yaml 2024-05-09 16:03:52 -04:00
wkbrd
4efb76f313 Update cronjob.yaml 2024-05-09 16:03:22 -04:00
wkbrd
2a9672ee74 Update cronjob.yaml 2024-05-09 16:02:57 -04:00
wkbrd
1ad8a41438 Update README.md 2024-05-09 16:02:08 -04:00
wkbrd
bc7d137032 Update README.md
Add license
2024-05-09 08:18:07 -04:00
wkbrd
26bdb34cf7 Update README.md 2024-05-09 08:17:05 -04:00
wkbrd
3f325fedb9 Update values.yaml 2024-05-09 08:16:01 -04:00
wkbrd
b7a3239c0c Update README.md
Annotations copied from https://github.com/bitnami/charts/blob/main/bitnami/keycloak/README.md?plain=1

## License

Copyright &copy; 2024 Broadcom. The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

<http://www.apache.org/licenses/LICENSE-2.0>

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
2024-05-09 08:12:43 -04:00
wkbrd
62fa09c198 Update README.md 2024-05-09 08:11:21 -04:00
wkbrd
93ea655866 Update cronjob.yaml 2024-05-09 08:08:15 -04:00
wkbrd
da580b62f1 Update deployment.yaml 2024-05-09 08:06:15 -04:00
wkbrd
d7e5281b18 Update values.yaml 2024-05-09 08:04:44 -04:00
Vyas
cb49066186 Merge pull request #124 from baznikin/main
Allow to specify resources block for garbage-collector
2024-04-27 11:36:30 -05:00
Andrey Baznikin
d1cce3992a Allow to specify resources block for garbage-collector 2024-04-26 15:25:54 +04:00
Vyas
95cab6cfd3 Merge pull request #98 from 0xDEC0DE/issue/97
docs: Document that `s3.regionEndpoint` requires a transport scheme
2024-04-25 13:08:38 -05:00
Nicolas Simonds
33d78906dd Document that s3.regionEndpoint requires a transport scheme
The `regionEndpoint` value does not work at all without one, so
provide a nice hint that it is required in the vendor-provided
materials.

Fixes Issue: #97
2024-04-25 09:43:05 -07:00
Vyas
d6bc315183 Merge pull request #125 from lenzenmi/update-names
update names
2024-04-22 16:29:54 -05:00
Mike Lenzen
1446b0545b update names 2024-04-20 08:00:32 -06:00
Joshua Sizer
4a8beacf89 Merge pull request #121 from joshsizer/add-helm-release-actions
chore: add helm release action
2024-03-29 20:37:52 -04:00
Josh Sizer
b81a30d3fd chore: use workflow_dispatch 2024-03-27 10:24:01 -04:00
Josh Sizer
5c0100d932 chore: use actions/checkout@v4 2024-03-25 22:05:06 -04:00
Josh Sizer
8694346264 chore: add chart release workflow 2024-03-24 17:25:08 -04:00
Devin Canterberry
1d81ad83c5 Merge pull request #122 from twuni/ci/setup-basic-ci
ci: setup GitHub Actions CI
2024-03-18 18:37:19 -07:00
Vyas Nellutla
ced33bf997 fix: shrink timeout 2024-03-17 21:19:58 -05:00
Vyas Nellutla
48599cd1aa refactor: remove circleci 2024-03-17 21:19:33 -05:00
Vyas Nellutla
c92609d905 fix: remove tilt install 2024-03-17 21:17:35 -05:00
Vyas Nellutla
85f7a82394 ci: setup integration test 2024-03-17 21:17:20 -05:00
Vyas Nellutla
299396cab0 ci: setup basic ci 2024-03-17 21:09:27 -05:00
Joshua Sizer
524a0a9375 Merge pull request #120 from joshsizer/release-v2.2.3
🏁 v2.2.3 Release
2024-03-17 22:06:13 -04:00
Josh Sizer
91124414a5 🏁 v2.2.3 Release 2024-03-16 19:08:18 -04:00
Joshua Sizer
808510d274 Merge pull request #106 from ChevronTango/main
Adding Deployment Annotations
2024-03-15 17:13:04 -04:00
Edward Brough
c7d3bc3b42 adding deployment annotations
Signed-off-by: Edward Brough <edward.brough@gmail.com>
2024-03-15 17:25:42 +00:00
Joshua Sizer
baae5c6986 Merge pull request #117 from laverya/patch-1
Update README.md to use correct default version
2024-03-12 21:15:51 -04:00
Andrew Lavery
a03420f765 Update README.md to use correct default version 2024-03-12 11:19:31 -04:00
Vyas
7d16b3c57b Merge pull request #114 from ddelange/patch-3
Fix backwards compatibility for k8s 1.24
2024-03-08 09:49:40 -06:00
ddelange
c112edabe5 Revert version 2024-03-08 06:45:07 +01:00
ddelange
456d4f0308 Remove .github/workflows/healm_publish.yaml 2024-03-06 07:20:19 +01:00
Vyas
419a289a0e Merge pull request #102 from erikfuego/security-context-missing-fields
Add missing fields for Security context  and secrets
2024-03-05 13:59:41 -06:00
erikfuego
ed0a778281 Add missing fields for Security context and secrets 2024-03-04 12:36:40 -05:00
ddelange
9193ce0ae8 Bump chart version
This reverts commit 345f178c44ab853fb603dab5bba6c58eae3e954b.
2024-01-04 10:49:33 +01:00
ddelange
ebc2372fb4 Merge branch 'helm-publish' of https://github.com/ddelange/docker-registry.helm into patch-3
* 'helm-publish' of https://github.com/ddelange/docker-registry.helm:
  Publish helm chart as release asset
  Fix backwards compatibility for k8s 1.24
2024-01-04 10:20:52 +01:00
ddelange
38acafc680 Fix backwards compatibility for k8s 1.24 2024-01-04 10:20:25 +01:00
ddelange
a1b77cb212 Publish helm chart as release asset 2024-01-04 10:09:33 +01:00
ddelange
05d75cad63 Fix backwards compatibility for k8s 1.24 2024-01-04 10:01:08 +01:00
Devin Canterberry
d74c33abd9 Merge pull request #88 from syseleven/deprecation-1.25
Migrate PodDisruptionBudget policy/v1beta1 to policy/v1
2023-02-24 08:05:02 -08:00
Stefan Andres
fc2ab7e7ac Migrate PodDisruptionBudget policy/v1beta1 to policy/v1
In k8s 1.25 policy/v1beta1 is no longer served, migrate to policy/v1.

https://kubernetes.io/docs/reference/using-api/deprecation-guide/#v1-25
2022-12-13 15:58:54 +01:00
14 changed files with 218 additions and 51 deletions

View File

@@ -1,15 +0,0 @@
version: 2.1
jobs:
lint:
docker:
- image: twuni/helm:3.4.1
steps:
- checkout
- run:
command: helm lint --strict
name: lint
workflows:
version: 2
default:
jobs:
- lint

8
.github/dependabot.yaml vendored Normal file
View File

@@ -0,0 +1,8 @@
---
# Dependabot Config Ref: https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
version: 2
updates:
- package-ecosystem: github-actions
directory: /
schedule:
interval: daily

41
.github/workflows/ci.yaml vendored Normal file
View File

@@ -0,0 +1,41 @@
---
# GitHub Actions Workflows Ref: https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions
name: CI
"on":
push:
branches:
- main
pull_request:
branches:
- "**"
workflow_dispatch:
concurrency:
group: ${{ github.event_name }}-${{ github.ref }}-${{ github.workflow }}
cancel-in-progress: true
permissions: read-all
jobs:
helm-lint:
name: Helm Lint
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v4.1.4
- run: |
helm lint --strict
integration-test:
name: Integration Test
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v4.1.4
- uses: AbsaOSS/k3d-action@v2.4.0
name: Create K3D Cluster with Container Registry
with:
cluster-name: local-ci-k3d-cluster
args: >-
--agents 1
--registry-create local-ci-k3d-registry
- name: Test
run: |
helm install docker-registry . --wait --wait-for-jobs
kubectl get all,pvc

35
.github/workflows/helm_release.yaml vendored Normal file
View File

@@ -0,0 +1,35 @@
name: Release Charts
on:
workflow_dispatch:
jobs:
release:
permissions:
contents: write
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Configure Git
run: |
git config user.name "$GITHUB_ACTOR"
git config user.email "$GITHUB_ACTOR@users.noreply.github.com"
- name: Install chart-releaser
uses: helm/chart-releaser-action@v1.7.0
with:
install_only: true
- name: Run chart-releaser
env:
CR_TOKEN: "${{ secrets.CR_TOKEN }}"
run: |
owner=$(cut -d '/' -f 1 <<< "$GITHUB_REPOSITORY")
repo=$(cut -d '/' -f 2 <<< "$GITHUB_REPOSITORY")
cr package
cr upload --owner="$owner" --git-repo "$repo" --token="$CR_TOKEN" --release-name-template="v{{ .Version }}" --packages-with-index --push --skip-existing --generate-release-notes --commit main
cr index --owner="$owner" --git-repo "$repo" --token="$CR_TOKEN" --release-name-template="v{{ .Version }}" --packages-with-index --push --index-path="."

View File

@@ -44,7 +44,7 @@ jobs:
echo 'HELM_DIFF<<EOF' >> $GITHUB_ENV
echo "$(diff -ur before after)" >> $GITHUB_ENV
echo 'EOF' >> $GITHUB_ENV
- uses: marocchino/sticky-pull-request-comment@39c5b5dc7717447d0cba270cd115037d32d28443
- uses: marocchino/sticky-pull-request-comment@d2ad0de260ae8b0235ce059e63f2949ba9e05943
with:
message: |
Running a `helm template` smoketest on commit ${{ github.ref }} results in the following diff against `${{ github.base_ref }}`:

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
.cr-release-packages

View File

@@ -1,8 +1,8 @@
apiVersion: v1
description: A Helm chart for Docker Registry
name: docker-registry
version: 2.2.2
appVersion: 2.8.1
version: 3.0.0
appVersion: 3.0.0
home: https://hub.docker.com/_/registry/
icon: https://helm.twun.io/docker-registry.png
maintainers:

View File

@@ -12,18 +12,33 @@ This chart will do the following:
* Implement a Docker registry deployment
## ⚠️ Repo Migration and Deprecation Notice
The following change only affects attempts to install or update the chart via the https://helm.twun.io repo.
The https://helm.twun.io repo has been migrated to https://twuni.github.io/docker-registry.helm.
To update your configuration, remove and re-add the repo with the new URL:
```console
helm repo remove twuni
helm repo add twuni https://twuni.github.io/docker-registry.helm
```
The deprecated repo URL, https://helm.twun.io, may become unavailable as early as **October 16, 2025**.
## Installing the Chart
First, add the repo:
```console
$ helm repo add twuni https://helm.twun.io
helm repo add twuni https://twuni.github.io/docker-registry.helm
```
To install the chart, use the following:
```console
$ helm install twuni/docker-registry
helm install twuni/docker-registry
```
## Configuration
@@ -35,7 +50,7 @@ their default values.
|:----------------------------|:-------------------------------------------------------------------------------------------|:----------------|
| `image.pullPolicy` | Container pull policy | `IfNotPresent` |
| `image.repository` | Container image to use | `registry` |
| `image.tag` | Container image tag to deploy | `2.7.1` |
| `image.tag` | Container image tag to deploy | `2.8.1` |
| `imagePullSecrets` | Specify image pull secrets | `nil` (does not add image pull secrets to deployed pods) |
| `persistence.accessMode` | Access mode to use for PVC | `ReadWriteOnce` |
| `persistence.enabled` | Whether to use a PVC for the Docker storage | `false` |
@@ -46,6 +61,7 @@ their default values.
| `serviceAccount.create` | Create ServiceAccount | `false` |
| `serviceAccount.name` | ServiceAccount name | `nil` |
| `serviceAccount.annotations` | Annotations to add to the ServiceAccount | `{}` |
| `deployment.annotations` | Annotations to add to the Deployment | `{}` |
| `service.port` | TCP port on which the service is exposed | `5000` |
| `service.type` | service type | `ClusterIP` |
| `service.clusterIP` | if `service.type` is `ClusterIP` and this is non-empty, sets the cluster IP of the service | `nil` |
@@ -56,8 +72,8 @@ their default values.
| `service.sessionAffinityConfig` | service session affinity config | `nil` |
| `replicaCount` | k8s replicas | `1` |
| `updateStrategy` | update strategy for deployment | `{}` |
| `podAnnotations` | Annotations for pod | `{}` |
| `podLabels` | Labels for pod | `{}` |
| `podAnnotations` | Annotations for deployment pod, and `garbageCollect` pod unless set explicitly there. See `garbageCollect` | `{}` |
| `podLabels` | Labels for deployment pod, and `garbageCollect` pod unless set explicitly there. See `garbageCollect` | `{}` |
| `podDisruptionBudget` | Pod disruption budget | `{}` |
| `resources.limits.cpu` | Container requested CPU | `nil` |
| `resources.limits.memory` | Container requested memory | `nil` |
@@ -73,17 +89,20 @@ their default values.
| `secrets.htpasswd` | Htpasswd authentication | `nil` |
| `secrets.s3.accessKey` | Access Key for S3 configuration | `nil` |
| `secrets.s3.secretKey` | Secret Key for S3 configuration | `nil` |
| `secrets.s3.secretRef` | The ref for an external secret containing the accessKey and secretKey keys | `""` |
| `secrets.s3.secretRef` | The ref for an external secret containing the s3AccessKey and s3SecretKey keys | `""` |
| `secrets.swift.username` | Username for Swift configuration | `nil` |
| `secrets.swift.password` | Password for Swift configuration | `nil` |
| `secrets.haSharedSecret` | Shared secret for Registry | `nil` |
| `configData` | Configuration hash for docker | `nil` |
| `configPath` | Configuration mount point in docker, `/etc/docker/registry` for registry version 2, `/etc/distribution` for version 3 | `/etc/docker/registry` |
| `s3.region` | S3 region | `nil` |
| `s3.regionEndpoint` | S3 region endpoint | `nil` |
| `s3.bucket` | S3 bucket name | `nil` |
| `s3.rootdirectory` | S3 prefix that is applied to allow you to segment data | `nil` |
| `s3.encrypt` | Store images in encrypted format | `nil` |
| `s3.secure` | Use HTTPS | `nil` |
| `s3.forcepathstyle` | Use path-style addressing, needed for some s3 compatible storage (minio) | `nil` |
| `s3.skipverify` | Allows connection to s3 storage using TLS with untrusted/self-signed certificate | `nil` |
| `swift.authurl` | Swift authurl | `nil` |
| `swift.container` | Swift container | `nil` |
| `proxy.enabled` | If true, registry will function as a proxy/mirror | `false` |
@@ -116,11 +135,14 @@ their default values.
| `extraEnvVars` | Additional environment variables to the pod | `[]` |
| `initContainers` | Init containers to be created in the pod | `[]` |
| `garbageCollect.enabled` | If true, will deploy garbage-collector cronjob | `false` |
| `garbageCollect.deleteUntagged` | If true, garbage-collector will delete manifests that are not currently referenced via tag | `true` | |
| `garbageCollect.schedule` | CronTab schedule, please use standard crontab format | `0 1 * * *` | |
| `garbageCollect.deleteUntagged` | If true, garbage-collector will delete manifests that are not currently referenced via tag | `true` |
| `garbageCollect.schedule` | CronTab schedule, please use standard crontab format | `0 1 * * *` |
| `garbageCollect.podAnnotations` | CronJob pod Annotations. If left empty and chart `podAnnotations` are set, will use those. If both are set, these take precedence for the `garbageCollect` pods. | `{}` |
| `garbageCollect.podLabels` | CronJob pod Annotations. If left empty and chart `podLabels` are set, will use those. If both are set, these take precedence for the `garbageCollect` pods. | `{}` |
| `garbageCollect.resources` | garbage-collector requested resources | `{}` |
Specify each parameter using the `--set key=value[,key=value]` argument to
`helm install`.
To generate htpasswd file, run this docker command:
`docker run --entrypoint htpasswd registry:2 -Bbn user password > ./htpasswd`.
`docker run --entrypoint htpasswd httpd:2 -Bbn user password > ./htpasswd`.

View File

@@ -103,6 +103,16 @@ We truncate at 63 chars because some Kubernetes name fields are limited to this
value: {{ .Values.s3.secure | quote }}
{{- end -}}
{{- if .Values.s3.forcepathstyle }}
- name: REGISTRY_STORAGE_S3_FORCEPATHSTYLE
value: {{ .Values.s3.forcepathstyle | quote }}
{{- end -}}
{{- if .Values.s3.skipverify }}
- name: REGISTRY_STORAGE_S3_SKIPVERIFY
value: {{ .Values.s3.skipverify | quote }}
{{- end -}}
{{- else if eq .Values.storage "swift" }}
- name: REGISTRY_STORAGE_SWIFT_AUTHURL
value: {{ required ".Values.swift.authurl is required" .Values.swift.authurl }}
@@ -148,7 +158,7 @@ We truncate at 63 chars because some Kubernetes name fields are limited to this
{{- define "docker-registry.volumeMounts" -}}
- name: "{{ template "docker-registry.fullname" . }}-config"
mountPath: "/etc/docker/registry"
mountPath: {{ .Values.configPath }}
{{- if .Values.secrets.htpasswd }}
- name: auth

View File

@@ -17,16 +17,26 @@ spec:
app: {{ template "docker-registry.name" . }}
release: {{ .Release.Name }}
{{- with .Values.podLabels }}
{{ toYaml . | nindent 8 }}
{{- toYaml . | nindent 8 }}
{{- end }}
annotations:
checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
checksum/secret: {{ include (print $.Template.BasePath "/secret.yaml") . | sha256sum }}
{{- if .Values.podAnnotations }}
{{ toYaml .Values.podAnnotations | nindent 8 }}
{{- toYaml .Values.podAnnotations | nindent 8 }}
{{- end }}
spec:
template:
metadata:
labels:
release: {{ .Release.Name }}
{{- if or .Values.podLabels .Values.garbageCollect.podLabels }}
{{- toYaml (merge (.Values.garbageCollect.podLabels | default (dict)) (.Values.podLabels | default (dict))) | nindent 12 }}
{{- end }}
{{- if or .Values.podAnnotations .Values.garbageCollect.podAnnotations }}
annotations:
{{- toYaml (merge (.Values.garbageCollect.podAnnotations | default (dict)) (.Values.podAnnotations | default (dict))) | nindent 12 }}
{{- end}}
spec:
{{- if or (eq .Values.serviceAccount.create true) (ne .Values.serviceAccount.name "") }}
serviceAccountName: {{ .Values.serviceAccount.name | default (include "docker-registry.fullname" .) }}
@@ -38,9 +48,7 @@ spec:
priorityClassName: "{{ .Values.priorityClassName }}"
{{- end }}
{{- if .Values.securityContext.enabled }}
securityContext:
fsGroup: {{ .Values.securityContext.fsGroup }}
runAsUser: {{ .Values.securityContext.runAsUser }}
securityContext: {{ omit .Values.securityContext "enabled" | toYaml | nindent 12 }}
{{- end }}
containers:
- name: {{ .Chart.Name }}
@@ -50,8 +58,15 @@ spec:
- /bin/registry
- garbage-collect
- --delete-untagged={{ .Values.garbageCollect.deleteUntagged }}
- /etc/docker/registry/config.yml
- {{ .Values.configPath }}/config.yml
{{- if .Values.garbageCollect.resources }}
resources:
{{- toYaml .Values.garbageCollect.resources | nindent 16 }}
{{- end }}
env: {{ include "docker-registry.envs" . | nindent 16 }}
{{- if .Values.containerSecurityContext.enabled }}
securityContext: {{ omit .Values.containerSecurityContext "enabled" | toYaml | nindent 16 }}
{{- end }}
volumeMounts: {{ include "docker-registry.volumeMounts" . | nindent 16 }}
restartPolicy: OnFailure
{{- if .Values.nodeSelector }}

View File

@@ -8,6 +8,10 @@ metadata:
chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
{{- if .Values.deployment.annotations }}
annotations:
{{ toYaml .Values.deployment.annotations | indent 4 }}
{{- end }}
spec:
selector:
matchLabels:
@@ -43,9 +47,7 @@ spec:
priorityClassName: "{{ .Values.priorityClassName }}"
{{- end }}
{{- if .Values.securityContext.enabled }}
securityContext:
fsGroup: {{ .Values.securityContext.fsGroup }}
runAsUser: {{ .Values.securityContext.runAsUser }}
securityContext: {{ omit .Values.securityContext "enabled" | toYaml | nindent 8 }}
{{- end }}
{{- with .Values.initContainers }}
initContainers:
@@ -58,7 +60,7 @@ spec:
command:
- /bin/registry
- serve
- /etc/docker/registry/config.yml
- {{ .Values.configPath }}/config.yml
ports:
- containerPort: 5000
{{- if .Values.metrics.enabled }}
@@ -82,6 +84,9 @@ spec:
port: 5000
resources: {{ toYaml .Values.resources | nindent 12 }}
env: {{ include "docker-registry.envs" . | nindent 12 }}
{{- if .Values.containerSecurityContext.enabled }}
securityContext: {{ omit .Values.containerSecurityContext "enabled" | toYaml | nindent 12 }}
{{- end }}
volumeMounts: {{ include "docker-registry.volumeMounts" . | nindent 12 }}
{{- if .Values.nodeSelector }}
nodeSelector: {{ toYaml .Values.nodeSelector | nindent 8 }}

View File

@@ -1,5 +1,9 @@
{{- if .Values.podDisruptionBudget -}}
{{- if .Capabilities.APIVersions.Has "policy/v1" -}}
apiVersion: policy/v1
{{- else}}
apiVersion: policy/v1beta1
{{- end }}
kind: PodDisruptionBudget
metadata:
name: {{ template "docker-registry.fullname" . }}

View File

@@ -8,6 +8,9 @@ metadata:
chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
{{- if .Values.service.labels }}
{{ toYaml .Values.service.labels | indent 4 }}
{{- end }}
{{- if .Values.service.annotations }}
annotations:
{{ toYaml .Values.service.annotations | indent 4 }}

View File

@@ -19,10 +19,12 @@ serviceAccount:
image:
repository: registry
tag: 2.8.1
tag: 3.0.0
pullPolicy: IfNotPresent
# imagePullSecrets:
# - name: docker
deployment: {}
# annotations:
service:
name: registry
type: ClusterIP
@@ -35,6 +37,8 @@ service:
# loadBalancerSourceRanges:
annotations: {}
# foo.io/bar: "true"
labels: {}
# foo.io/baz: "false"
ingress:
enabled: false
className: nginx
@@ -57,11 +61,11 @@ resources: {}
# resources, such as Minikube. If you do want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
# limits:
# cpu: 100m
# memory: 128Mi
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 100m
# memory: 128Mi
# cpu: 100m
# memory: 128Mi
persistence:
accessMode: 'ReadWriteOnce'
enabled: false
@@ -94,17 +98,19 @@ secrets:
# Options for s3 storage type:
# s3:
# region: us-east-1
# regionEndpoint: s3.us-east-1.amazonaws.com
# bucket: my-bucket
# rootdirectory: /object/prefix
# encrypt: false
# secure: true
# region: us-east-1
# regionEndpoint: https://s3.us-east-1.amazonaws.com
# bucket: my-bucket
# rootdirectory: /object/prefix
# encrypt: false
# secure: true
# forcepathstyle: true
# skipverify: true
# Options for swift storage type:
# swift:
# authurl: http://swift.example.com/
# container: my-container
# authurl: http://swift.example.com/
# container: my-container
# https://docs.docker.com/registry/recipes/mirror/
proxy:
@@ -129,6 +135,7 @@ metrics:
labels: {}
rules: {}
configPath: /etc/distribution
configData:
version: 0.1
log:
@@ -152,8 +159,26 @@ configData:
interval: 10s
threshold: 3
containerSecurityContext:
enabled: true
seLinuxOptions: {}
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
privileged: false
readOnlyRootFilesystem: true
runAsUser: 1000
runAsGroup: 1000
runAsNonRoot: true
seccompProfile:
type: RuntimeDefault
securityContext:
enabled: true
fsGroupChangePolicy: Always
sysctls: []
supplementalGroups: []
runAsUser: 1000
fsGroup: 1000
@@ -224,3 +249,16 @@ garbageCollect:
enabled: false
deleteUntagged: true
schedule: "0 1 * * *"
podAnnotations: {}
podLabels: {}
resources: {}
# We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little
# resources, such as Minikube. If you do want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
# limits:
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 100m
# memory: 128Mi