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: : # - name: GITEA__database__NAME # value: # - name: GITEA__database__USER # value: # - name: GITEA__database__PASSWD # valueFrom: # secretKeyRef: # name: # 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__
__ 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 }}