avtopost.kultmost.ru/k8s/gitea.yaml
2026-08-13 06:45:34 -04:00

166 lines
3.3 KiB
YAML

apiVersion: v1
kind: Namespace
metadata:
name: gitea
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: gitea-data
namespace: gitea
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: gitea
namespace: gitea
spec:
replicas: 1
selector:
matchLabels:
app: gitea
template:
metadata:
labels:
app: gitea
spec:
containers:
- name: gitea
image: $REGISTRY_HOST/gitea/gitea:1.22
ports:
- containerPort: 3000 # HTTP
- containerPort: 22 # SSH
env:
- name: USER_UID
value: "1000"
- name: USER_GID
value: "1000"
- name: GITEA__database__DB_TYPE
value: "sqlite3"
volumeMounts:
- name: gitea-data
mountPath: /data
volumes:
- name: gitea-data
persistentVolumeClaim:
claimName: gitea-data
---
apiVersion: v1
kind: Service
metadata:
name: gitea-ssh
namespace: gitea
spec:
selector:
app: gitea
ports:
- name: http
port: 80
targetPort: 3000
nodePort: 30300
- name: ssh
protocol: TCP
port: 30022
targetPort: 22
nodePort: 30022
type: LoadBalancer
# ---
# kind: Ingress
# apiVersion: networking.k8s.io/v1
# metadata:
# name: gitea
# namespace: gitea
# annotations:
# cert-manager.io/cluster-issuer: google-public-ca
# nginx.ingress.kubernetes.io/proxy-body-size: "0"
# nginx.ingress.kubernetes.io/ssl-redirect: "true"
# spec:
# ingressClassName: public
# tls:
# - hosts:
# - git.kultmost.spiritofweb.ru
# secretName: git-tls-cert
# rules:
# - host: git.kultmost.spiritofweb.ru
# http:
# paths:
# - path: /
# pathType: Prefix
# backend:
# service:
# name: gitea-ssh
# port:
# number: 80
# - path: /robots.txt
# pathType: Exact
# backend:
# service:
# name: robots-static-svc
# port:
# number: 80
# ---
# apiVersion: v1
# kind: ConfigMap
# metadata:
# name: gitearobotscm
# namespace: gitea
# data:
# robots.txt: |
# User-agent: *
# Disallow: /
# ---
# apiVersion: apps/v1
# kind: Deployment
# metadata:
# name: robots-static
# namespace: gitea
# spec:
# replicas: 1
# selector:
# matchLabels:
# app: robots-static
# template:
# metadata:
# labels:
# app: robots-static
# spec:
# containers:
# - name: nginx
# image: nginx:alpine
# ports:
# - containerPort: 80
# volumeMounts:
# - name: robots
# mountPath: /usr/share/nginx/html
# volumes:
# - name: robots
# configMap:
# name: gitearobotscm
# ---
# apiVersion: v1
# kind: Service
# metadata:
# name: robots-static-svc
# namespace: gitea
# spec:
# selector:
# app: robots-static
# ports:
# - port: 80
# targetPort: 80
# ---
# apiVersion: v1
# kind: Secret
# metadata:
# name: ssh-creds
# type: Opaque
# stringData:
# username: "root"
# password: "$ROOT_PASS"