onedev-server/server-product/helm/values.yaml

289 lines
11 KiB
YAML

# Global values
global:
# global.nameOverride -- Override the name of the app.
nameOverride: ""
# global.fullnameOverride -- Override the fully qualified app name.
fullnameOverride: ""
# global.commonLabels -- To apply labels to all resources.
commonLabels: {}
# dept_name: platform
onedev:
# onedev.replicas -- Number of OneDev servers to run. With an enterprise license, you will be able to distribute
# different projects to different servers for horizontal scaling, as well as replicate project repositories and
# artifacts for high availability. Note that setting this param to 2 or more is only meaningful if you are
# connecting to external database; otherwise they simply run as independent OneDev instances
replicas: 1
# onedev.updateStrategy -- Valid options: `RollingUpdate`, `OnDelete`
updateStrategy:
type: RollingUpdate
trustCerts:
# onedev.trustCerts.secretName -- Name of an existing secret containing trusted certificates. You may create the
# secret with "kubectl create secret generic onedev-trustcerts -n onedev --from-file=/path/to/trust-certs",
# where /path/to/trust-certs is a local directory contains all certificates to be trusted. Certificate should be
# of base64 encoded PEM format beginning with "-----BEGIN CERTIFICATE-----" and ending with "-----END CERTIFICATE-----"
secretName: "onedev-trustcerts"
jvm:
maxMemoryPercent: "50"
# Specify OneDev Server initial settings to avoid manual setup
initSettings:
# onedev.initSettings.user -- Administrator username. Leave empty to prompt
user: ""
# onedev.initSettings.password -- Administrator Password. Leave empty to prompt
password: ""
# onedev.initSettings.email -- Administrator Email address. Leave empty to prompt
email: ""
# onedev.initSettings.serverUrl -- Server url. Leave empty to prompt. Will be ignored if ingress.host is specified
serverUrl: ""
# onedev.initSettings.sshRootUrl -- Root url to clone repository via SSH. Leave empty to derive from server url
sshRootUrl: ""
# External database configuration
database:
# database.external -- Set to **true** when using external database
external: false
# database.type-- Required: Set type of external database. Possible values `mysql`, `mariadb`, `postgresql`, `mssql`
# [external databases](https://docs.onedev.io/installation-guide/run-as-docker-container#use-external-database)
type: "mysql"
# database.host -- IP address or hostname of database
host: "onedev-mysql.onedev.svc.cluster.local"
# database.port -- Port Number
port: "3306"
# database.name -- Name of the database
name: "onedev"
# database.user -- User with access to database
user: "root"
# database.password -- Database password
password: "changeit"
# database.maximumPoolSize -- Database maximum pool size
maximumPoolSize: "25"
image:
# image.name -- Specify the image name to use (relative to `image.repository`).
name: 1dev/server
# image.tag -- Specify the image tag to use. Leave empty to use same version as chart
tag: ""
# image.repository -- Specify the image repository to use.
repository: docker.io
# image.pullPolicy -- Specify the
# [pullPolicy](https://kubernetes.io/docs/concepts/containers/images/#image-pull-policy).
pullPolicy: IfNotPresent
# image.pullSecrets -- Specify the
# [imagePullSecrets](https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod).
pullSecrets: []
# - name: <REGISTRY_SECRET>
serviceAccount:
# serviceAccount.create -- If **true**, create a ServiceAccount.
create: true
# serviceAccount.name -- Specify a pre-existing ServiceAccount to use if `serviceAccount.create` is **false**.
name: onedev
# serviceAccount.annotations -- Annotations to add to the ServiceAccount, if `serviceAccount.create` is **true**.
annotations: {}
# podAnnotations -- Set annotations on Pods.
podAnnotations: {}
# podLabels -- Set labels on Pods.
podLabels: {}
# podPriorityClassName -- Set the
# [priorityClassName](https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/#priorityclass).
podPriorityClassName: ""
# podHostNetwork -- Enable the hostNetwork option on Pods.
podHostNetwork: false
# podSecurityContext -- Allows you to overwrite the default
# [PodSecurityContext](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/).
podSecurityContext: {}
# securityContext -- Specify securityContext for Containers.
securityContext: {}
# command -- Override default image command.
command: []
# args -- Override default image arguments.
args: []
# env -- Define additional environment variables.
env: []
# - name: <ENV_VAR_NAME>
# value: <ENV_VAR_VALUE>
# - name: <ENV_VAR_NAME>
# valueFrom:
# secretKeyRef:
# name: <SECRET_NAME>
# key: <KEY_NAME>
# envFrom -- Define environment variables from ConfigMap or Secret data.
envFrom: []
# - configMapRef:
# name: <CONFIGMAP_NAME>
# - secretRef:
# name: <SECRET_NAME>
# resources -- Specify resource requests and limits.
resources: {}
# requests:
# cpu: 200m
# memory: 256Mi
# limits:
# cpu: 200m
# memory: 256Mi
# lifecycle -- Specify lifecycle hooks for Containers.
lifecycle: {}
# preStop:
# exec:
# command:
# - /bin/sleep
# - "10"
# terminationGracePeriodSeconds -- Override terminationGracePeriodSeconds.
terminationGracePeriodSeconds: 60
# nodeSelector -- Configure
# [nodeSelector](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector).
nodeSelector: {}
# tolerations -- Configure
# [taints and tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/).
tolerations: []
# affinity -- Configure
# [affinity and anti-affinity](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity).
affinity: {}
# topologySpreadConstraints -- Configure
# [topology spread constraints](https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/).
topologySpreadConstraints: []
service:
# service.type -- Specify the type for the Service. ClusterIP, LoadBalancer
type: "ClusterIP"
# service.annotations -- Specify annotations for the Service.
annotations: {}
# service.topologyKeys -- (array) Specify the
# [topologyKeys](https://kubernetes.io/docs/concepts/services-networking/service-topology/#using-service-topology).
topologyKeys: []
# - "kubernetes.io/hostname"
# - "topology.kubernetes.io/zone"
# - "topology.kubernetes.io/region"
# - "*"
# service.ports -- Manually change the ServicePorts
ports:
http: ""
ssh: ""
# service.nodePort -- Specify a nodePort for servcie
nodePort: ""
# service.externalTrafficPolicy -- Specify the
# [externalTrafficPolicy](https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip).
externalTrafficPolicy: ""
# service.loadBalancerIP -- Required: If service type is loadbalancer
# [loadBalancerIP](https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer).
loadBalancerIP: ""
# service.ipFamilyPolicy -- Configure
# [IPv4/IPv6 dual-stack](https://kubernetes.io/docs/concepts/services-networking/dual-stack/).
ipFamilyPolicy: ""
# service.ipFamilies -- Configure
# [IPv4/IPv6 dual-stack](https://kubernetes.io/docs/concepts/services-networking/dual-stack/).
ipFamilies: []
# Configure sepearte SSH service
separateSSH:
# service.separateSSH.enabled -- If separate SSH is enabled, a separate service is created for SSH
enabled: false
type: "ClusterIP"
port: ""
clusterIP: ""
loadBalancerIP: ""
nodePort: ""
externalTrafficPolicy: ""
externalIPs: []
# - 4.2.2.1
ipFamilyPolicy: ""
ipFamilies: []
loadBalancerSourceRanges: []
annotations: {}
topologyKeys: []
# Configure Ingress resource
ingress:
# ingress.enabled -- If **true**, create an Ingress resource.
enabled: false
# ingress.className -- Specify ingress class name. Requires Kubernetes >= 1.18.
# Refer to https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress for details
className: ""
# ingress.annotations -- Specify annotations for the Ingress.
annotations:
nginx.ingress.kubernetes.io/affinity: "cookie"
nginx.ingress.kubernetes.io/affinity-mode: "persistent"
nginx.ingress.kubernetes.io/session-cookie-name: "session-sticky"
nginx.ingress.kubernetes.io/session-cookie-expires: "172800"
nginx.ingress.kubernetes.io/session-cookie-max-age: "172800"
nginx.ingress.kubernetes.io/proxy-body-size: "0"
# ingress.host -- Set the host name
host: onedev.example.com
# ingress.tls -- Configure TLS for the Ingress.
tls:
enabled: false
secretName: "onedev-tls"
acme:
# ingress.tls.acme.enabled -- If **true**, create certificate issuer resource
enabled: false
# ingress.tls.acme.type -- Specify ACME type. Currently only supports letsencrypt
type: "letsencrypt"
# ingress.tls.acme.email -- Email to send certificate status notice
email: you@example.com
# ingress.tls.acme.production -- If **true**, generate a production certificate;
# otherwise generate staging certificate. Set this to **false** to avoid reaching
# rate limit while you are testing your setup
production: false
# extraVolumes -- Specify additional Volumes to use.
extraVolumes: []
# extraVolumeMounts -- Specify Additional VolumeMounts to use.
extraVolumeMounts: []
# initContainers -- Specify initContainers to be added.
initContainers: []
# extraContainers -- Specify extra Containers to be added.
extraContainers: []
persistence:
# persistence.storageClassName -- (string) Specify the storageClassName for PersistentVolumeClaims.
storageClassName: ""
# persistence.accessModes -- Specify the accessModes for PersistentVolumeClaims.
accessModes: "ReadWriteOnce"
# persistence.size -- Specify the size of PersistentVolumeClaims.
size: 100Gi
# persistence.selector -- Specify the selectors for PersistentVolumeClaims.
selector: {}
# dnsPolicy -- Specify the
# [dnsPolicy](https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-s-dns-policy).
dnsPolicy: ClusterFirst
# dnsConfig -- Specify the
# [dnsConfig](https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-dns-config).
dnsConfig: {}
# nameservers:
# - 1.2.3.4
# searches:
# - ns1.svc.cluster-domain.example
# - my.dns.search.suffix
# options:
# - name: ndots
# value: "2"
# - name: edns0
# livenessProbe -- Specify the livenessProbe
# [configuration](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes).
livenessProbe: {}
# readinessProbe -- Specify the readinessProbe
# [configuration](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes).
readinessProbe: {}