diff --git a/incubator/gitea/.helmignore b/incubator/gitea/.helmignore new file mode 100644 index 000000000000..f0c131944441 --- /dev/null +++ b/incubator/gitea/.helmignore @@ -0,0 +1,21 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj diff --git a/incubator/gitea/Chart.yaml b/incubator/gitea/Chart.yaml new file mode 100644 index 000000000000..e2528d958bd3 --- /dev/null +++ b/incubator/gitea/Chart.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +description: 'Gitea: Go Git Service' +name: gitea +appVersion: 1.3.2 +version: 0.0.1 +home: https://gitea.io/ +icon: https://gitea.io/images/favicon.png +keywords: +- git +- gitea +maintainers: +- name: cdrage + email: charlie@charliedrage.com diff --git a/incubator/gitea/README.md b/incubator/gitea/README.md new file mode 100644 index 000000000000..dadf07f78ee3 --- /dev/null +++ b/incubator/gitea/README.md @@ -0,0 +1,72 @@ +# Gitea Helm Chart + +[Gitea][] is a painless self-hosted Git service. + +## TL;DR; + +```console +$ helm install incubator/gitea +``` + +## Introduction + +This chart bootstraps a [Gitea][] deployment on a [Kubernetes][] cluster using +the [Helm][] package manager. + +## Prerequisites Details + +* PV support on underlying infrastructure (if persistence is required) + +## Installing the Chart + +To install the chart with the release name `my-release`: + +```console +$ helm install --name my-release incubator/gitea +``` + +## Uninstalling the Chart + +To uninstall/delete the `my-release` deployment: + +```console +$ helm delete my-release +``` + +The command removes nearly all the Kubernetes components associated with the +chart and deletes the release. + +## Configuration + +The following tables lists some of the configurable parameters of the Gitea +chart and their default values. + +| Parameter | Description | Default | +|----------------------------------|--------------------------------------------------------------|---------------------------------------------------------| +| `imageRepository` | Gitea image | `gitea/gitea` | +| `imageTag` | Gitea image version | `1.3.2` | +| `imagePullPolicy` | Gitea image pull policy | `Always` if `imageTag` is `latest`, else `IfNotPresent` | +| `postgresql.install` | Weather or not to install PostgreSQL dependency | `true` | +| `postgresql.postgresHost` | PostgreSQL host (if `postgresql.install == false`) | `nil` | +| `postgresql.postgresUser` | PostgreSQL User to create | `gitea` | +| `postgresql.postgresPassword` | PostgreSQL Password for the new user | `gitea` | +| `postgresql.postgresDatabase` | PostgreSQL Database to create | `gitea` | +| `postgresql.persistence.enabled` | Enable PostgreSQL persistence using Persistent Volume Claims | `true` | + +See [values.yaml](values.yaml) for a more complete list, and links to the Gitea documentation. + +Specify each parameter using the `--set key=value[,key=value]` argument to +`helm install`. + +Alternatively, a YAML file that specifies the values for the parameters can be +provided while installing the chart. For example, + +```console +$ helm install --name my-release -f values.yaml incubator/gitea +``` + +> **Tip**: You can use the default [values.yaml](values.yaml) + +[Gitea]: https://github.com/go-gitea/gitea +[Kubernetes]: https://kubernetes.io +[Helm]: https://helm.sh diff --git a/incubator/gitea/requirements.lock b/incubator/gitea/requirements.lock new file mode 100644 index 000000000000..fed03591b13f --- /dev/null +++ b/incubator/gitea/requirements.lock @@ -0,0 +1,6 @@ +dependencies: +- name: postgresql + repository: https://kubernetes-charts.storage.googleapis.com/ + version: 0.8.12 +digest: sha256:fa8809a605bfa4b36a22ff37b10a7b94f36b227e4d2bca359e6a3a11b791dced +generated: 2018-02-20T10:53:40.627767135-05:00 diff --git a/incubator/gitea/requirements.yaml b/incubator/gitea/requirements.yaml new file mode 100644 index 000000000000..026219d84d98 --- /dev/null +++ b/incubator/gitea/requirements.yaml @@ -0,0 +1,5 @@ +dependencies: + - name: postgresql + version: ~0.8.9 + repository: https://kubernetes-charts.storage.googleapis.com/ + condition: postgresql.install diff --git a/incubator/gitea/templates/NOTES.txt b/incubator/gitea/templates/NOTES.txt new file mode 100644 index 000000000000..2ca1bcbd00b8 --- /dev/null +++ b/incubator/gitea/templates/NOTES.txt @@ -0,0 +1,23 @@ +1. Get the Gitea URL by running: + +{{- if contains "NodePort" .Values.serviceType }} + + export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "gitea.fullname" . }}) + export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") + echo http://$NODE_IP:$NODE_PORT/ + +{{- else if contains "LoadBalancer" .Values.serviceType }} + + NOTE: It may take a few minutes for the LoadBalancer IP to be available. + Watch the status with: 'kubectl get svc --namespace {{ .Release.Namespace }} -w {{ template "gitea.fullname" . }}' + + export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "gitea.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') + echo http://$SERVICE_IP/ +{{- else if contains "ClusterIP" .Values.serviceType }} + + export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "gitea.fullname" . }}" -o jsonpath="{.items[0].metadata.name}") + echo http://127.0.0.1:8080/ + kubectl port-forward $POD_NAME 8080:80 +{{- end }} + +2. Register a user. The first user registered will be the administrator. diff --git a/incubator/gitea/templates/_helpers.tpl b/incubator/gitea/templates/_helpers.tpl new file mode 100644 index 000000000000..2e5baee754d3 --- /dev/null +++ b/incubator/gitea/templates/_helpers.tpl @@ -0,0 +1,77 @@ +{{/* vim: set filetype=mustache: */}} +{{/* +Expand the name of the chart. +*/}} +{{- define "gitea.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +*/}} +{{- define "gitea.fullname" -}} +{{- $name := default .Chart.Name .Values.nameOverride -}} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Create a fully qualified server name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +*/}} +{{- define "gitea.gitea.fullname" -}} +{{- printf "%s-%s" .Release.Name "gitea" | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Create a default fully qualified postgresql name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +*/}} +{{- define "gitea.postgresql.fullname" -}} +{{- $name := default "postgresql" .Values.postgresql.nameOverride -}} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Determine database user based on use of postgresql dependency. +*/}} +{{- define "gitea.database.host" -}} +{{- if .Values.postgresql.install -}} +{{- template "gitea.postgresql.fullname" . -}} +{{- else -}} +{{- .Values.service.gitea.databaseHost | quote -}} +{{- end -}} +{{- end -}} + +{{/* +Determine database user based on use of postgresql dependency. +*/}} +{{- define "gitea.database.user" -}} +{{- if .Values.postgresql.install -}} +{{- .Values.postgresql.postgresUser | quote -}} +{{- else -}} +{{- .Values.service.gitea.databaseUser | quote -}} +{{- end -}} +{{- end -}} + +{{/* +Determine database password based on use of postgresql dependency. +*/}} +{{- define "gitea.database.password" -}} +{{- if .Values.postgresql.install -}} +{{- .Values.postgresql.postgresPassword | quote -}} +{{- else -}} +{{- .Values.service.gitea.databasePassword | quote -}} +{{- end -}} +{{- end -}} + +{{/* +Determine database name based on use of postgresql dependency. +*/}} +{{- define "gitea.database.name" -}} +{{- if .Values.postgresql.install -}} +{{- .Values.postgresql.postgresDatabase | quote -}} +{{- else -}} +{{- .Values.service.gitea.databaseName | quote -}} +{{- end -}} +{{- end -}} diff --git a/incubator/gitea/templates/configmap.yaml b/incubator/gitea/templates/configmap.yaml new file mode 100644 index 000000000000..b01e96cf5002 --- /dev/null +++ b/incubator/gitea/templates/configmap.yaml @@ -0,0 +1,78 @@ +kind: ConfigMap +apiVersion: v1 +metadata: + name: {{ template "gitea.gitea.fullname" . }}-config + labels: + app: {{ template "gitea.name" . }} + chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} + component: {{ default "gitea" .Values.service.nameOverride }} +data: + 2222: default/{{ template "gitea.fullname" . }}:ssh + app.ini: |- + APP_NAME = {{ .Values.service.gitea.appName }} + RUN_MODE = {{ .Values.service.gitea.runMode }} + + [repository.upload] + ENABLED = {{ .Values.service.gitea.repositoryUploadEnabled }} + ALLOWED_TYPES = {{ .Values.service.gitea.repositoryUploadAllowedTypes }} + MAX_FILE_SIZE = {{ .Values.service.gitea.repositoryUploadMaxFileSize }} + MAX_FILES = {{ .Values.service.gitea.repositoryUploadMaxFiles }} + + [server] + PROTOCOL = http + DOMAIN = {{ .Values.service.gitea.serverDomain }} + ROOT_URL = {{ .Values.service.gitea.serverRootUrl }} + LANDING_PAGE = {{ .Values.service.gitea.serverLandingPage }} + SSH_DOMAIN = {{ default .Values.service.gitea.serverDomain .Values.service.sshDomain }} + SSH_PORT = {{ .Values.service.sshPort }} + SSH_LISTEN_PORT = {{ .Values.service.sshPort }} + + [service] + ENABLE_CAPTCHA = {{ .Values.service.gitea.serviceEnableCaptcha }} + ACTIVE_CODE_LIVE_MINUTES = 180 + RESET_PASSWD_CODE_LIVE_MINUTES = 180 + REGISTER_EMAIL_CONFIRM = {{ .Values.service.gitea.serviceRegisterEmailConfirm }} + DISABLE_REGISTRATION = {{ .Values.service.gitea.serviceDisableRegistration }} + REQUIRE_SIGNIN_VIEW = {{ .Values.service.gitea.serviceRequireSignInView }} + ENABLE_NOTIFY_MAIL = {{ .Values.service.gitea.serviceEnableNotifyMail }} + ENABLE_REVERSE_PROXY_AUTHENTICATION = false + ENABLE_REVERSE_PROXY_AUTO_REGISTRATION = false + + [database] + DB_TYPE = {{ .Values.service.gitea.databaseType | quote }} + HOST = {{ template "gitea.database.host" . }} + NAME = {{ template "gitea.database.name" . }} + USER = {{ template "gitea.database.user" . }} + PASSWD = {{ template "gitea.database.password" . }} + SSL_MODE = {{ .Values.service.gitea.databaseSSLMode }} + + [security] + INSTALL_LOCK = true + SECRET_KEY = {{ default "" .Values.service.gitea.securitySecretKey | b64enc | quote }} + + [ui] + EXPLORE_PAGING_NUM = {{ .Values.service.gitea.uiExplorePagingNum }} + ISSUE_PAGING_NUM = {{ .Values.service.gitea.uiIssuePagingNum }} + FEED_MAX_COMMIT_NUM = {{ .Values.service.gitea.uiFeedMaxCommitNum }} + + [cache] + ADAPTER = {{ .Values.service.gitea.cacheAdapter }} + INTERVAL = {{ .Values.service.gitea.cacheInterval }} + HOST = {{ .Values.service.gitea.cacheHost }} + + [webhook] + QUEUE_LENGTH = {{ .Values.service.gitea.webhookQueueLength }} + DELIVER_TIMEOUT = {{ .Values.service.gitea.webhookDeliverTimeout }} + SKIP_TLS_VERIFY = {{ .Values.service.gitea.webhookSkipTlsVerify }} + PAGING_NUM = {{ .Values.service.gitea.webhookPagingNum }} + + [log] + MODE = {{ .Values.service.gitea.logMode }} + LEVEL = {{ .Values.service.gitea.logLevel }} + + [other] + SHOW_FOOTER_BRANDING = {{ .Values.service.gitea.otherShowFooterBranding }} + SHOW_FOOTER_VERSION = {{ .Values.service.gitea.otherShowFooterVersion }} + SHOW_FOOTER_TEMPLATE_LOAD_TIME = {{ .Values.service.gitea.otherShowFooterTemplateLoadTime }} diff --git a/incubator/gitea/templates/deployment.yaml b/incubator/gitea/templates/deployment.yaml new file mode 100644 index 000000000000..dc8b128387d6 --- /dev/null +++ b/incubator/gitea/templates/deployment.yaml @@ -0,0 +1,69 @@ +apiVersion: apps/v1beta1 +kind: Deployment +metadata: + name: {{ template "gitea.gitea.fullname" . }} + labels: + app: {{ template "gitea.name" . }} + chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} + component: {{ default "gitea" .Values.service.nameOverride }} +spec: + replicas: 1 + strategy: + type: RollingUpdate + selector: + matchLabels: + app: {{ template "gitea.fullname" . }} + template: + metadata: + labels: + app: {{ template "gitea.fullname" . }} + release: {{ .Release.Name }} + spec: + containers: + - name: {{ .Chart.Name }} + image: "{{ .Values.image }}:{{ .Values.imageTag }}" + imagePullPolicy: {{ .Values.imagePullPolicy }} + ports: + - containerPort: 3000 + - containerPort: {{ .Values.service.sshPort | int }} + livenessProbe: + httpGet: + path: / + port: 3000 + # This pod takes a very long time to start up. Be cautious when + # lowering this value to avoid Pod death during startup. + initialDelaySeconds: 200 + timeoutSeconds: 1 + periodSeconds: 10 + successThreshold: 1 + failureThreshold: 10 + readinessProbe: + httpGet: + path: / + port: 3000 + initialDelaySeconds: 30 + timeoutSeconds: 1 + periodSeconds: 10 + successThreshold: 1 + failureThreshold: 3 + resources: +{{ toYaml .Values.resources | indent 12 }} + volumeMounts: + - name: data + mountPath: /data + - name: config + mountPath: /data/gitea/conf/app.ini + subPath: app.ini + volumes: + - name: config + configMap: + name: {{ template "gitea.fullname" . }}-config + - name: data + {{- if .Values.persistence.enabled }} + persistentVolumeClaim: + claimName: {{ template "gitea.fullname" . }} + {{- else }} + emptyDir: {} + {{- end -}} diff --git a/incubator/gitea/templates/ingress.yaml b/incubator/gitea/templates/ingress.yaml new file mode 100644 index 000000000000..4ba22351f80b --- /dev/null +++ b/incubator/gitea/templates/ingress.yaml @@ -0,0 +1,33 @@ +{{- if .Values.service.ingress.enabled -}} +{{- $releaseName := .Release.Name -}} +{{- $serviceName := default "gitea" .Values.service.nameOverride -}} +{{- $httpPort := .Values.service.httpPort -}} +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: {{ template "gitea.gitea.fullname" . }} + labels: + app: {{ template "gitea.name" . }} + chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} + component: {{ default "gitea" .Values.service.nameOverride }} + annotations: + {{- range $key, $value := .Values.service.ingress.annotations }} + {{ $key }}: {{ $value | quote }} + {{- end }} +spec: + rules: + {{- range .Values.service.ingress.hosts }} + - host: {{ . }} + http: + paths: + - backend: + serviceName: {{ printf "%s-%s" $releaseName $serviceName | trunc 63 | trimSuffix "-" }} + servicePort: {{ $httpPort }} + {{- end -}} +{{- if .Values.service.ingress.tls }} + tls: +{{ toYaml .Values.service.ingress.tls | indent 4 }} +{{- end -}} +{{- end -}} diff --git a/incubator/gitea/templates/pvc.yaml b/incubator/gitea/templates/pvc.yaml new file mode 100644 index 000000000000..3e9f5f61f5bf --- /dev/null +++ b/incubator/gitea/templates/pvc.yaml @@ -0,0 +1,25 @@ +{{- if .Values.persistence.enabled }} +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: {{ template "gitea.gitea.fullname" . }} + labels: + app: {{ template "gitea.name" . }} + chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} + component: {{ default "gitea" .Values.service.nameOverride }} +spec: + accessModes: + - {{ .Values.persistence.accessMode | quote }} + resources: + requests: + storage: {{ .Values.persistence.size | quote }} +{{- if .Values.persistence.storageClass }} +{{- if (eq "-" .Values.persistence.storageClass) }} + storageClassName: "" +{{- else }} + storageClassName: "{{ .Values.persistence.storageClass }}" +{{- end }} +{{- end }} +{{- end }} diff --git a/incubator/gitea/templates/secrets.yaml b/incubator/gitea/templates/secrets.yaml new file mode 100644 index 000000000000..5f8c65f27386 --- /dev/null +++ b/incubator/gitea/templates/secrets.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: Secret +metadata: + name: {{ template "gitea.gitea.fullname" . }} + labels: + app: {{ template "gitea.name" . }} + chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} + component: {{ default "gitea" .Values.service.nameOverride }} +type: Opaque +data: + postgresql-user: {{ .Values.postgresql.postgresUser | b64enc | quote }} diff --git a/incubator/gitea/templates/service.yaml b/incubator/gitea/templates/service.yaml new file mode 100644 index 000000000000..a0d522447d2a --- /dev/null +++ b/incubator/gitea/templates/service.yaml @@ -0,0 +1,27 @@ +apiVersion: v1 +kind: Service +metadata: + name: {{ template "gitea.gitea.fullname" . }} + labels: + app: {{ template "gitea.name" . }} + chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} + component: {{ default "gitea" .Values.service.nameOverride }} +{{- if .Values.service.annotations }} + annotations: +{{ toYaml .Values.service.annotations | indent 4 }} +{{- end }} + +spec: + type: {{ .Values.serviceType }} + ports: + - port: {{ .Values.service.httpPort | int }} + targetPort: 3000 + name: {{ default "gitea" .Values.service.nameOverride }}-http + - port: {{ .Values.service.sshPort | int }} + targetPort: {{ .Values.service.sshPort | int }} + name: {{ default "gitea" .Values.service.nameOverride }}-ssh + selector: + app: {{ template "gitea.fullname" . }} + release: {{ .Release.Name }} diff --git a/incubator/gitea/values.yaml b/incubator/gitea/values.yaml new file mode 100644 index 000000000000..23e5773f36a4 --- /dev/null +++ b/incubator/gitea/values.yaml @@ -0,0 +1,290 @@ +## Override the name of the Chart. +## +# nameOverride: + +## Kubernetes configuration +## For minikube, set this to NodePort, elsewhere use LoadBalancer +## +serviceType: LoadBalancer + +replicaCount: 1 + +image: gitea/gitea +imageTag: 1.3.2 +imagePullPolicy: IfNotPresent + +service: + ## Override the components name (defaults to service). + ## + # nameOverride: + + ## HTTP listen port. + ## ref: https://docs.gitea.io/en-us/config-cheat-sheet + ## + httpPort: 80 + + ## SSH listen port. + ## ref: https://docs.gitea.io/en-us/config-cheat-sheet + ## + sshPort: 22 + + ## SSH_DOMAIN - Domain name to be exposed in SSH clone URL. + ## ref: https://docs.gitea.io/en-us/config-cheat-sheet + ## + sshDomain: localhost + + ## Gitea configuration values + ## ref: https://docs.gitea.io/en-us/config-cheat-sheet + ## + gitea: + + ## Application name, can be your company or team name. + ## + appName: 'Gitea' + + ## Either "dev", "prod" or "test". + ## + runMode: 'prod' + + ## Force every new repository to be private. + ## + forcePrivate: false + + ## Indicates whether or not to disable Git clone through HTTP/HTTPS. When + ## disabled, users can only perform Git operations via SSH. + ## + disableHttpGit: false + + ## Indicates whether or not to enable repository file upload feature. + ## + repositoryUploadEnabled: true + + ## File types that are allowed to be uploaded, e.g. image/jpeg|image/png. + ## Leave empty means allow any file typ + ## + repositoryUploadAllowedTypes: + + ## Maximum size of each file in MB. + ## + repositoryUploadMaxFileSize: 3 + + ## Maximum number of files per upload. + ## + repositoryUploadMaxFiles: 5 + + ## Enable this to use captcha validation for registration. + ## + serviceEnableCaptcha: true + + ## Users need to confirm e-mail for registration + ## + serviceRegisterEmailConfirm: false + + ## Weather or not to allow users to register. + ## + serviceDisableRegistration: false + + ## Weather or not sign in is required to view anything. + ## + serviceRequireSignInView: false + + ## Mail notification + ## + serviceEnableNotifyMail: false + + ## Either "memory", "redis", or "memcache", default is "memory" + ## + cacheAdapter: memory + + ## For "memory" only, GC interval in seconds, default is 60 + ## + cacheInterval: 60 + + ## For "redis" and "memcache", connection host address + ## redis: network=tcp,addr=:6379,password=macaron,db=0,pool_size=100,idle_timeout=180 + ## memcache: `127.0.0.1:11211` + ## + cacheHost: + + ## Enable this to use captcha validation for registration. + ## + serverDomain: gitea.example.com + + ## Full public URL of Gitea server. + ## + serverRootUrl: http://gitea.example.com/ + + ## Landing page for non-logged users, can be "home" or "explore" + ## + serverLandingPage: home + + ## Either "mysql", "postgres" or "sqlite3", you can connect to TiDB with + ## MySQL protocol. Default is to use the postgresql configuration included + ## with this chart. + ## + databaseType: postgres + + ## Database host. Unused unless `postgresql.install` is false. + ## + databaseHost: + + ## Database user. Unused unless `postgresql.install` is false. + ## + databaseUser: + + ## Database password. Unused unless `postgresql.install` is false. + ## + databasePassword: + + ## Database password. Unused unless `postgresql.install` is false. + ## + databaseName: + + ## postgres (database access) only, either "disable", "require" or "verify-full" + databaseSSLMode: disable + + ## Hook task queue length, increase if webhook shooting starts hanging + ## + webhookQueueLength: 1000 + + ## Deliver timeout in seconds + ## + webhookDeliverTimeout: 5 + + ## Allow insecure certification + ## + webhookSkipTlsVerify: true + + ## Number of history information in each page + ## + webhookPagingNum: 10 + + ## Can be "console" and "file", default is "console" + ## Use comma to separate multiple modes, e.g. "console, file" + ## + logMode: console + + ## Either "Trace", "Info", "Warn", "Error", "Fatal", default is "Trace" + ## + logLevel: Trace + + ## Undocumented, but you can take a guess. + ## + otherShowFooterBranding: false + + ## Show version information about Gitea and Go in the footer + ## + otherShowFooterVersion: true + + ## Show time of template execution in the footer + ## + otherShowFooterTemplateLoadTime: true + + ## Change this value for your installation. + ## + securitySecretKey: "changeme" + + ## Number of repositories that are showed in one explore page + ## + uiExplorePagingNum: 20 + + ## Number of issues that are showed in one page + ## + uiIssuePagingNum: 10 + + ## Number of maximum commits showed in one activity feed. + ## NOTE: This value is also used in how many commits a webhook will send. + ## + uiFeedMaxCommitNum: 5 + + ## Ingress configuration. + ## ref: https://kubernetes.io/docs/user-guide/ingress/ + ## + ingress: + ## Enable Ingress. + ## + enabled: false + + ## Annotations. + ## + # annotations: + # kubernetes.io/ingress.class: nginx + # kubernetes.io/tls-acme: 'true' + + ## Hostnames. + ## Must be provided if Ingress is enabled. + ## + # hosts: + # - gitea.domain.com + + ## TLS configuration. + ## Secrets must be manually created in the namespace. + ## + # tls: + # - secretName: gitea-tls + # hosts: + # - gitea.domain.com + + ## Service annotations. + ## Allows attaching metadata to services for kubernetes components to act on. + ## + # annotations: + # service.beta.kubernetes.io/aws-load-balancer-backend-protocol: http + + +## Persistent Volume Storage configuration. +## ref: https://kubernetes.io/docs/user-guide/persistent-volumes +## +persistence: + ## Enable persistence using Persistent Volume Claims. + ## + enabled: true + + ## gitea data Persistent Volume Storage Class + ## If defined, storageClassName: + ## If set to "-", storageClassName: "", which disables dynamic provisioning + ## If undefined (the default) or set to null, no storageClassName spec is + ## set, choosing the default provisioner. (gp2 on AWS, standard on + ## GKE, AWS & OpenStack) + ## + ## If you are using minikube, use "standard" as the name, see: + ## https://github.com/kubernetes/minikube/issues/2256 + # storageClass: "-" + + ## Persistent Volume Access Mode. + ## + accessMode: ReadWriteOnce + + ## Persistent Volume Storage Size. + ## + size: 1Gi + +## Configuration values for the postgresql dependency. +## ref: https://github.com/kubernetes/charts/blob/master/stable/postgresql/README.md +## +postgresql: + + ### Install PostgreSQL dependency + ## + install: true + + ### PostgreSQL User to create. + ## + postgresUser: gitea + + ## PostgreSQL Password for the new user. + ## If not set, a random 10 characters password will be used. + ## + postgresPassword: gitea + + ## PostgreSQL Database to create. + ## + postgresDatabase: gitea + + ## Persistent Volume Storage configuration. + ## ref: https://kubernetes.io/docs/user-guide/persistent-volumes + ## + persistence: + ## Enable PostgreSQL persistence using Persistent Volume Claims. + ## + enabled: true