114 lines
4.8 KiB
YAML
114 lines
4.8 KiB
YAML
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: {{ template "gitea.fullname" . }}
|
|
labels:
|
|
{{- include "gitea.labels" . | nindent 4 }}
|
|
app.kubernetes.io/component: application
|
|
spec:
|
|
replicas: {{ .Values.gitea.replicaCount }}
|
|
selector:
|
|
matchLabels:
|
|
{{- include "gitea.selectorLabels" . | nindent 6 }}
|
|
app.kubernetes.io/component: application
|
|
template:
|
|
metadata:
|
|
labels:
|
|
{{- include "gitea.selectorLabels" . | nindent 8 }}
|
|
app.kubernetes.io/component: application
|
|
spec:
|
|
containers:
|
|
- name: gitea
|
|
image: "{{ .Values.gitea.image.repository }}:{{ .Values.gitea.image.tag }}"
|
|
imagePullPolicy: {{ .Values.gitea.image.pullPolicy }}
|
|
ports:
|
|
- name: http
|
|
containerPort: {{ .Values.gitea.service.httpPort }}
|
|
protocol: TCP
|
|
- name: ssh
|
|
containerPort: {{ .Values.gitea.service.sshPort }} # Port SSH interne Gitea (par défaut 22, mais l'image l'expose souvent sur 2222 pour éviter conflit)
|
|
protocol: TCP # Vérifiez la doc de l'image Docker Gitea pour le port SSH interne exact si besoin
|
|
env:
|
|
# Configuration de base Gitea
|
|
- name: USER
|
|
value: git # L'utilisateur sous lequel Gitea tourne dans le conteneur (souvent 'git')
|
|
- name: GITEA__database__DB_TYPE
|
|
value: {{ .Values.gitea.config.database.DB_TYPE }}
|
|
{{- if .Values.postgresql.enabled }}
|
|
- name: GITEA__database__HOST
|
|
value: {{ template "postgresql.serviceName" . }}:{{ .Values.postgresql.service.port }}
|
|
- name: GITEA__database__NAME
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: {{ template "postgresql.secretName" . }}
|
|
key: database
|
|
- name: GITEA__database__USER
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: {{ template "postgresql.secretName" . }}
|
|
key: username
|
|
- name: GITEA__database__PASSWD
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: {{ template "postgresql.secretName" . }}
|
|
key: password
|
|
{{- else }}
|
|
# Si postgresql.enabled est false, vous devez fournir ces valeurs autrement (ex: via values.yaml ou un autre secret)
|
|
# - name: GITEA__database__HOST
|
|
# value: <votre_host_postgres_externe>:<port>
|
|
# - name: GITEA__database__NAME
|
|
# value: <votre_db_name>
|
|
# - name: GITEA__database__USER
|
|
# value: <votre_user>
|
|
# - name: GITEA__database__PASSWD
|
|
# valueFrom:
|
|
# secretKeyRef:
|
|
# name: <votre_secret_db_externe>
|
|
# key: password
|
|
{{- end }}
|
|
- name: GITEA__server__DOMAIN
|
|
value: {{ .Values.gitea.ingress.host }}
|
|
- name: GITEA__server__ROOT_URL
|
|
{{- if .Values.gitea.ingress.tls.enabled }}
|
|
value: "https://{{ .Values.gitea.ingress.host }}"
|
|
{{- else }}
|
|
value: "http://{{ .Values.gitea.ingress.host }}"
|
|
{{- end }}
|
|
- name: GITEA__server__SSH_DOMAIN
|
|
value: {{ .Values.gitea.ingress.host }} # Ou un domaine différent si SSH est exposé autrement
|
|
- name: GITEA__server__HTTP_PORT
|
|
value: "{{ .Values.gitea.service.httpPort }}"
|
|
- name: GITEA__server__SSH_PORT # Port sur lequel le serveur SSH Gitea écoute à l'intérieur du conteneur
|
|
value: "{{ .Values.gitea.service.sshPort }}"
|
|
# - name: GITEA__security__INSTALL_LOCK # Décommentez et mettez à true après la première config via l'UI
|
|
# value: "true"
|
|
# - name: GITEA__service__DISABLE_REGISTRATION # Décommentez pour désactiver l'enregistrement public
|
|
# value: "true"
|
|
# Ajoutez d'autres variables GITEA__<section>__<clé> ici si nécessaire
|
|
{{- if .Values.gitea.persistence.enabled }}
|
|
volumeMounts:
|
|
- name: gitea-data
|
|
mountPath: {{ .Values.gitea.persistence.mountPath }}
|
|
{{- end }}
|
|
# Ajouter Liveness/Readiness Probes pour Gitea est une bonne pratique
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /
|
|
port: http
|
|
initialDelaySeconds: 60
|
|
periodSeconds: 10
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /
|
|
port: http
|
|
initialDelaySeconds: 10
|
|
periodSeconds: 5
|
|
volumes:
|
|
{{- if .Values.gitea.persistence.enabled }}
|
|
- name: gitea-data
|
|
persistentVolumeClaim:
|
|
claimName: {{ template "gitea.pvcName" . }}
|
|
{{- else }}
|
|
- name: gitea-data # Volume éphémère si persistance désactivée
|
|
emptyDir: {}
|
|
{{- end }} |