add forgejo

This commit is contained in:
Sergei Poljanski 2026-03-21 01:39:54 +03:00
commit 5f9feb33f6
Signed by: asxpi
GPG key ID: 4F8851660FA4121B
5 changed files with 116 additions and 0 deletions

20
apps/forgejo.yaml Normal file
View file

@ -0,0 +1,20 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: forgejo
namespace: argocd
spec:
project: default
source:
repoURL: ssh://git@git.czsk.it/asxpi/k8s-asxpio-gitops.git
targetRevision: main
path: apps/forgejo
destination:
server: https://kubernetes.default.svc
namespace: forgejo
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true

View file

@ -0,0 +1,53 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: forgejo
namespace: forgejo
spec:
replicas: 1
strategy:
type: Recreate
selector:
matchLabels:
app: forgejo
template:
metadata:
labels:
app: forgejo
spec:
containers:
- name: forgejo
image: codeberg.org/forgejo/forgejo:14.0.2
ports:
- containerPort: 3000
name: http
- containerPort: 22
name: ssh
env:
- name: USER_UID
value: "1000"
- name: USER_GID
value: "1000"
- name: FORGEJO__database__DB_TYPE
value: sqlite3
- name: FORGEJO__database__PATH
value: /data/gitea/gitea.db
volumeMounts:
- name: data
mountPath: /data
- name: config
mountPath: /data/gitea/conf/app.ini
subPath: app.ini
resources:
requests:
memory: 256Mi
cpu: 100m
limits:
memory: 512Mi
volumes:
- name: data
persistentVolumeClaim:
claimName: forgejo-data
- name: config
secret:
secretName: forgejo-config

16
apps/forgejo/ingress.yaml Normal file
View file

@ -0,0 +1,16 @@
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: forgejo
namespace: forgejo
spec:
entryPoints:
- websecure
routes:
- match: Host(`git.czsk.it`) || Host(`git.asxp.io`)
kind: Rule
services:
- name: forgejo
port: 3000
tls:
certResolver: letsencrypt

12
apps/forgejo/pvc.yaml Normal file
View file

@ -0,0 +1,12 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: forgejo-data
namespace: forgejo
spec:
accessModes:
- ReadWriteOnce
storageClassName: hcloud-volumes
resources:
requests:
storage: 10Gi

15
apps/forgejo/service.yaml Normal file
View file

@ -0,0 +1,15 @@
apiVersion: v1
kind: Service
metadata:
name: forgejo
namespace: forgejo
spec:
selector:
app: forgejo
ports:
- name: http
port: 3000
targetPort: http
- name: ssh
port: 22
targetPort: ssh