• Stars
    star
    281
  • Rank 147,023 (Top 3 %)
  • Language Mustache
  • License
    Apache License 2.0
  • Created about 4 years ago
  • Updated 7 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Helm chart for a Docker registry. Successor to stable/docker-registry chart.

Docker Registry Helm Chart

This directory contains a Kubernetes chart to deploy a private Docker Registry.

Prerequisites Details

  • PV support on underlying infrastructure (if persistence is required)

Chart Details

This chart will do the following:

  • Implement a Docker registry deployment

Installing the Chart

First, add the repo:

$ helm repo add twuni https://helm.twun.io

To install the chart, use the following:

$ helm install twuni/docker-registry

Configuration

The following table lists the configurable parameters of the docker-registry chart and their default values.

Parameter Description Default
image.pullPolicy Container pull policy IfNotPresent
image.repository Container image to use registry
image.tag Container image tag to deploy 2.7.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
persistence.deleteEnabled Enable the deletion of image blobs and manifests by digest nil
persistence.size Amount of space to claim for PVC 10Gi
persistence.storageClass Storage Class to use for PVC -
persistence.existingClaim Name of an existing PVC to use for config nil
serviceAccount.create Create ServiceAccount false
serviceAccount.name ServiceAccount name nil
serviceAccount.annotations Annotations to add to the ServiceAccount {}
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
service.nodePort if service.type is NodePort and this is non-empty, sets the node port of the service nil
service.loadBalancerIP if service.type is LoadBalancer and this is non-empty, sets the loadBalancerIP of the service nil
service.loadBalancerSourceRanges if service.type is LoadBalancer and this is non-empty, sets the loadBalancerSourceRanges of the service nil
service.sessionAffinity service session affinity nil
service.sessionAffinityConfig service session affinity config nil
replicaCount k8s replicas 1
updateStrategy update strategy for deployment {}
podAnnotations Annotations for pod {}
podLabels Labels for pod {}
podDisruptionBudget Pod disruption budget {}
resources.limits.cpu Container requested CPU nil
resources.limits.memory Container requested memory nil
autoscaling.enabled Enable autoscaling using HorizontalPodAutoscaler false
autoscaling.minReplicas Minimal number of replicas 1
autoscaling.maxReplicas Maximal number of replicas 2
autoscaling.targetCPUUtilizationPercentage Target average utilization of CPU on Pods 60
autoscaling.targetMemoryUtilizationPercentage (Kubernetes ≥1.23) Target average utilization of Memory on Pods 60
autoscaling.behavior (Kubernetes ≥1.23) Configurable scaling behavior {}
priorityClassName priorityClassName ""
storage Storage system to use filesystem
tlsSecretName Name of secret for TLS certs nil
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.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
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
swift.authurl Swift authurl nil
swift.container Swift container nil
proxy.enabled If true, registry will function as a proxy/mirror false
proxy.remoteurl Remote registry URL to proxy requests to https://registry-1.docker.io
proxy.username Remote registry login username nil
proxy.password Remote registry login password nil
proxy.secretRef The ref for an external secret containing the proxyUsername and proxyPassword keys ""
namespace specify a namespace to install the chart to - defaults to .Release.Namespace {{ .Release.Namespace }}
nodeSelector node labels for pod assignment {}
affinity affinity settings {}
tolerations pod tolerations []
ingress.enabled If true, Ingress will be created false
ingress.annotations Ingress annotations {}
ingress.labels Ingress labels {}
ingress.path Ingress service path /
ingress.hosts Ingress hostnames []
ingress.tls Ingress TLS configuration (YAML) []
ingress.className Ingress controller class name nginx
metrics.enabled Enable metrics on Service false
metrics.port TCP port on which the service metrics is exposed 5001
metrics.serviceMonitor.annotations Prometheus Operator ServiceMonitor annotations {}
metrics.serviceMonitor.enable If true, Prometheus Operator ServiceMonitor will be created false
metrics.serviceMonitor.labels Prometheus Operator ServiceMonitor labels {}
metrics.prometheusRule.annotations Prometheus Operator PrometheusRule annotations {}
metrics.prometheusRule.enable If true, Prometheus Operator prometheusRule will be created false
metrics.prometheusRule.labels Prometheus Operator prometheusRule labels {}
metrics.prometheusRule.rules PrometheusRule defining alerting rules for a Prometheus instance {}
extraVolumeMounts Additional volumeMounts to the registry container []
extraVolumes Additional volumes to the pod []
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 * * *

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.

More Repositories

1

asdf-yarn

asdf plugin for Yarn.
Shell
132
star
2

emojify

Converts emoji colon syntax in an input string to raw emojis. No dependencies.
JavaScript
9
star
3

android-c2dm-example

A reference implementation for developers thinking about integrating C2DM or GCM push notifications into their Android applications.
Java
8
star
4

mfa

Multi Factor Authentication (MFA) for Node.js apps (TOTP HMAC-SHA1 compatible with Google Authenticator)
JavaScript
5
star
5

router-preact

A tiny router for Preact apps. It connects your app with the address bar. That's it.
JavaScript
4
star
6

vsj

VSJ is JSON Schema validation.
JavaScript
3
star
7

common-android

Common components for Android applications.
Java
3
star
8

adam

Adam is a reimplementation of the Atom text editor.
JavaScript
2
star
9

c2dm-web

A barebones, GCM-compatible C2DM registration and messaging server.
Java
2
star
10

common-crypto

This library contains a lightweight API for cryptographic functions, particularly with respect to public key cryptography.
Java
2
star
11

pak-cli

A common toolchain for building npm packages written as ES modules.
Shell
2
star
12

obsidian4java

A Java wrapper for the Obsidian Portal API. Obsidian Portal is a service that allows people to create campaign websites for Dungeons & Dragons and other tabletop RPGs.
Java
2
star
13

common-view

An API for wiring UI views into a Java application.
Java
1
star
14

common-net

This library provides a foundation for network services.
Java
1
star
15

treasury-server

Operate your own currency with this standalone HTTP server that implements the Digital Cash API.
Java
1
star
16

android-cashinhand

This Android application lets you receive and make payments with digital cash.
Java
1
star
17

common-persistence-android

This library implements the common-persistence API using Android's native persistence API.
Java
1
star
18

oauth4java

Another Java OAuth library.
Java
1
star
19

swiper-no-swiping

This tool allows the Google Now swipe gesture on Android devices (like the Nexus 5) to be disabled.
Java
1
star
20

echo-server

This reference implementation of Digital Cash is backed by text.
Java
1
star
21

common-crypto-rsa

This library supports RSA cryptographic functions such as encrypting, decrypting, and signing messages.
Java
1
star
22

ui

A lightweight modern UI library for Preact apps
JavaScript
1
star
23

common-net-http

A lightweight Java HTTP library and web server.
Java
1
star
24

jenkins-nodejs-example

Example Node.js application with Jenkinsfile.
JavaScript
1
star
25

jarm

Jarm is JSON-API Relational Mapping -- an ORM layer for Node.js apps.
JavaScript
1
star
26

common-persistence-jdbc

This persistence layer uses JDBC for its underlying database operations.
Java
1
star
27

mtls4j

A convenient way to create an mTLS-ready SSLContext for your HTTP clients and whatnot.
Java
1
star
28

atlassian-markdown

This is a fork of https://bitbucket.org/bbaker/atlassian-markdown.
JavaScript
1
star
29

money-common

Interfaces and base implementations common to the Digital Cash API.
Java
1
star
30

tiled-reader

An Android-compatible reader and data model for the TMX map format. Works with maps created with the Tiled map editor (mapeditor.org).
Java
1
star
31

asdf-k9s

k9s plugin for the asdf universal version manager
Shell
1
star
32

exchange

This web application acts as an exchange from funds issued by a Treasury into other forms of value.
Java
1
star
33

stylish-preact

Tiny CSS library for styling Preact components. Designed for browser-native ES modules.
JavaScript
1
star
34

pinki

Pinki helps developers ship software with authenticity.
Go
1
star