blob: 926940a41fdafe927b48b5229b56c9468f75f991 [file] [log] [blame]
Giorgi Lekveishvili4ec4c022024-08-17 15:09:24 +04001# Default values for zot.
2# This is a YAML-formatted file.
3# Declare variables to be passed into your templates.
4replicaCount: 1
5image:
6 repository: ghcr.io/project-zot/zot-linux-amd64
7 pullPolicy: IfNotPresent
8 # Overrides the image tag whose default is the chart appVersion.
9 tag: "v2.0.3"
10serviceAccount:
11 # Specifies whether a service account should be created
12 create: true
13 # Annotations to add to the service account
14 annotations: {}
15 # The name of the service account to use.
16 # If not set and create is true, a name is generated using the fullname template
17 name: ""
18service:
19 type: NodePort
20 port: 5000
21 nodePort: null # Set to a specific port if type is NodePort
22 # Annotations to add to the service
23 annotations: {}
24 # Set to a static IP if a static IP is desired, only works when
25 # type: ClusterIP
26 clusterIP: null
27# Enabling this will publicly expose your zot server
28# Only enable this if you have security enabled on your cluster
29ingress:
30 enabled: false
31 annotations: {}
32 # kubernetes.io/ingress.class: nginx
33 # kubernetes.io/tls-acme: "true"
34 # If using nginx, disable body limits and increase read and write timeouts
35 # nginx.ingress.kubernetes.io/proxy-body-size: "0"
36 # nginx.ingress.kubernetes.io/proxy-read-timeout: "600"
37 # nginx.ingress.kubernetes.io/proxy-send-timeout: "600"
38 className: "nginx"
39 pathtype: ImplementationSpecific
40 hosts:
41 - host: chart-example.local
42 paths:
43 - path: /
44 tls: []
45 # - secretName: chart-example-tls
46 # hosts:
47 # - chart-example.local
48# By default, Kubernetes HTTP probes use HTTP 'scheme'. So if TLS is enabled
49# in configuration, to prevent failures, the scheme must be set to 'HTTPS'.
50httpGet:
51 scheme: HTTP
52# By default, Kubernetes considers a Pod healthy if the liveness probe returns
53# successfully. However, sometimes applications need additional startup time on
54# their first initialization. By defining a startupProbe, we can allow the
55# application to take extra time for initialization without compromising fast
56# response to deadlocks.
57startupProbe:
58 initialDelaySeconds: 5
59 periodSeconds: 10
60 failureThreshold: 3
61# If mountConfig is true the configMap named $CHART_RELEASE-config is mounted
62# on the pod's '/etc/zot' directory
63mountConfig: false
64# If mountConfig is true the chart creates the '$CHART_RELEASE-config', if it
65# does not exist the user is in charge of managing it (as this file includes a
66# sample file you have to add it empty to handle it externally) ... note that
67# the service does not reload the configFiles once mounted, so you need to
68# delete the pods to create new ones to use the new values.
69configFiles:
70 config.json: |-
71 {
72 "storage": { "rootDirectory": "/var/lib/registry" },
73 "http": { "address": "0.0.0.0", "port": "5000" },
74 "log": { "level": "debug" }
75 }
76# Alternatively, the configuration can include authentication and acessControl
77# data and we can use mountSecret option for the passwords.
78#
79# config.json: |-
80# {
81# "storage": { "rootDirectory": "/var/lib/registry" },
82# "http": {
83# "address": "0.0.0.0",
84# "port": "5000",
85# "auth": { "htpasswd": { "path": "/secret/htpasswd" } },
86# "accessControl": {
87# "repositories": {
88# "**": {
89# "policies": [{
90# "users": ["user"],
91# "actions": ["read"]
92# }],
93# "defaultPolicy": []
94# }
95# },
96# "adminPolicy": {
97# "users": ["admin"],
98# "actions": ["read", "create", "update", "delete"]
99# }
100# }
101# },
102# "log": { "level": "debug" }
103# }
104
105# externalSecrets allows to mount external (meaning not managed by this chart)
106# Kubernetes secrets within the Zot container.
107# The secret is identified by its name (property "secretName") and should be
108# present in the same namespace. The property "mountPath" specifies the path
109# within the container filesystem where the secret is mounted.
110#
111# Below is an example:
112#
113# externalSecrets:
114# - secretName: "secret1"
115# mountPath: "/secrets/s1"
116# - secretName: "secret2"
117# mountPath: "/secrets/s2"
118externalSecrets: []
119# If mountSecret is true, the Secret named $CHART_RELEASE-secret is mounted on
120# the pod's '/secret' directory (it is used to keep files with passwords, like
121# a `htpasswd` file)
122mountSecret: false
123# If secretFiles does not exist the user is in charge of managing it, again, if
124# you want to manage it the value has to be added empty to avoid using this one
125secretFiles:
126 # Example htpasswd with 'admin:admin' & 'user:user' user:pass pairs
127 htpasswd: |-
128 admin:$2y$05$vmiurPmJvHylk78HHFWuruFFVePlit9rZWGA/FbZfTEmNRneGJtha
129 user:$2y$05$L86zqQDfH5y445dcMlwu6uHv.oXFgT6AiJCwpv3ehr7idc0rI3S2G
130# Authentication string for Kubernetes probes, which is needed when `htpasswd`
131# authentication is enabled, but the anonymous access policy is not.
132# It contains a `user:password` string encoded in base64. The example value is
133# from running `echo -n "foo:var" | base64`
134# authHeader: "Zm9vOmJhcg=="
135
136# If persistence is 'true' the service uses a persistentVolumeClaim to mount a
137# volume for zot on '/var/lib/registry'; by default the pvc used is named
138# '$CHART_RELEASE-pvc', but the name can be changed below
139persistence: false
140# PVC data, only used if persistence is 'true'
141pvc:
142 # Make the chart create the PVC, this option is used with storageClasses that
143 # can create volumes dynamically, if that is not the case is better to do it
144 # manually and set create to false
145 create: false
146 # Name of the PVC to use or create if persistence is enabled, if not set the
147 # value '$CHART_RELEASE-pvc' is used
148 name: null
149 # Volume access mode, if using more than one replica we need
150 accessMode: "ReadWriteOnce"
151 # Size of the volume requested
152 storage: 8Gi
153 # Name of the storage class to use if it is different than the default one
154 storageClassName: null
155# List of environment variables to set on the container
156env:
157# - name: "TEST"
158# value: "ME"
159# - name: SECRET_NAME
160# valueFrom:
161# secretKeyRef:
162# name: mysecret
163# key: username
164
165# Extra Volume Mounts
166extraVolumeMounts: []
167# - name: data
168# mountPath: /var/lib/registry
169
170# Extra Volumes
171extraVolumes: []
172# - name: data
173# emptyDir: {}
174
175# Deployment strategy type
176strategy:
177 type: RollingUpdate
178# rollingUpdate:
179# maxUnavailable: 25%
180
181podAnnotations: {}