Browse Source

Añado forgejo

main
Celestino Rey 8 months ago
parent
commit
4257c14bf5
16 changed files with 266 additions and 0 deletions
  1. +45
    -0
      Forgejo/010-deployment.yaml
  2. +34
    -0
      Forgejo/020-volumes.yaml
  3. +19
    -0
      Forgejo/030-network.yaml
  4. +8
    -0
      Forgejo/README.md
  5. +24
    -0
      Forgejo/copyForgejoDB
  6. +2
    -0
      Forgejo/creaTodo.sh
  7. +52
    -0
      Forgejo/db-deployment.yaml
  8. +17
    -0
      Forgejo/db-service.yaml
  9. +1
    -0
      Forgejo/entraPsql.sh
  10. +11
    -0
      Forgejo/env-prod-db-configmap.yaml
  11. +16
    -0
      Forgejo/kustomization.yaml
  12. +2
    -0
      Forgejo/paraTodo.sh
  13. +13
    -0
      Forgejo/postgres-data-persistentvolumeclaim.yaml
  14. +11
    -0
      Forgejo/pv-local-pg-forgejo.yaml
  15. +8
    -0
      Forgejo/reg-secret.yaml
  16. +3
    -0
      Forgejo/terminapv.sh

+ 45
- 0
Forgejo/010-deployment.yaml View File

@ -0,0 +1,45 @@
###################################################
# Namespace Forgejo
###################################################
apiVersion: v1
kind: Namespace
metadata:
name: forgejo-repo
###############################
# Deplyoment Forgejo
###############################
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: forgejo
namespace: forgejo-repo
labels:
app: forgejo
spec:
replicas: 1
selector:
matchLabels:
app: forgejo
template:
metadata:
labels:
app: forgejo
spec:
containers:
- name: forgejo
image: codeberg.org/forgejo/forgejo:10
ports:
- containerPort: 3000
name: forgejo
- containerPort: 22
name: forgejo-ssh
volumeMounts:
- mountPath: /data
name: forgejo-data
volumes:
- name: forgejo-data
persistentVolumeClaim:
claimName: forgejo-pvc

+ 34
- 0
Forgejo/020-volumes.yaml View File

@ -0,0 +1,34 @@
---
###################################################
# Persistence Volume Claim
###################################################
kind: PersistentVolume
apiVersion: v1
metadata:
name: forgejo-pv
namespace: forgejo-repo
spec:
capacity:
storage: 5Gi
accessModes:
- ReadWriteOnce
claimRef:
namespace: forgejo-repo
name: forgejo-pvc
hostPath:
path: /mnt/Externo/forgejo/data
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: forgejo-pvc
namespace: forgejo-repo
spec:
accessModes:
- ReadWriteOnce
storageClassName: ""
resources:
requests:
storage: 5Gi
volumeName: "forgejo-pv"

+ 19
- 0
Forgejo/030-network.yaml View File

@ -0,0 +1,19 @@
###############################
# Service
###############################
---
kind: Service
apiVersion: v1
metadata:
name: forgejo
namespace: forgejo-repo
spec:
selector:
app: forgejo
type: NodePort
ports:
- name: forgejo-http
nodePort: 30785
port: 3000
- name: forgejo-ssh
port: 22

+ 8
- 0
Forgejo/README.md View File

@ -0,0 +1,8 @@
# Fuente
https://ralph.blog.imixs.com/2021/02/25/running-gitea-on-kubernetes/
# habilitar ssh
https://docs.github.com/en/authentication/troubleshooting-ssh/error-permission-denied-publickey#verify-the-public-key-is-attached-to-your-account

+ 24
- 0
Forgejo/copyForgejoDB View File

@ -0,0 +1,24 @@
# Backup date
today=$(date "+%Y_%m_%d-%H_%M_%S")
echo "Current date: $today"
# build up filename
# destination folder (change to your own needs)
BACKUP_FOLDER=/tmp
file_name=$BACKUP_FOLDER/bkup_forgejo
new_name=$file_name-$today.sql
echo "Backup file name: " "$new_name"
kubectl --kubeconfig /home/creylopez/.kube/config -n forgejo-repo exec -ti deployment.apps/db -- /usr/lib/postgresql/15/bin/pg_dump --username=creylopez --dbname=forgejo > $new_name
message="Backup stored "$today
#sudo -u creylopez cat $new_name | mail -s "Jugar al Pádel backup finished" "creylopez@yahoo.es"
sudo -u creylopez echo "Gitea - backup adjunto" |mail -s "Backup de forgejo" creylopez@yahoo.es -A $new_name
#sudo rm $new_name

+ 2
- 0
Forgejo/creaTodo.sh View File

@ -0,0 +1,2 @@
kubectl create -f pv-local-pg-forgejo.yaml
kubectl create -k ./

+ 52
- 0
Forgejo/db-deployment.yaml View File

@ -0,0 +1,52 @@
apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert
kompose.version: 1.34.0 (cbf2835db)
labels:
io.kompose.service: db
name: db
namespace: forgejo-repo
spec:
replicas: 1
selector:
matchLabels:
io.kompose.service: db
strategy:
type: Recreate
template:
metadata:
annotations:
kompose.cmd: kompose convert
kompose.version: 1.34.0 (cbf2835db)
labels:
io.kompose.service: db
spec:
containers:
- env:
- name: POSTGRES_DB
valueFrom:
configMapKeyRef:
key: POSTGRES_DB
name: env-prod-db
- name: POSTGRES_PASSWORD
valueFrom:
configMapKeyRef:
key: POSTGRES_PASSWORD
name: env-prod-db
- name: POSTGRES_USER
valueFrom:
configMapKeyRef:
key: POSTGRES_USER
name: env-prod-db
image: postgres:15
name: db
volumeMounts:
- mountPath: /var/lib/postgresql/data
name: postgres-data
restartPolicy: Always
volumes:
- name: postgres-data
persistentVolumeClaim:
claimName: postgres-data

+ 17
- 0
Forgejo/db-service.yaml View File

@ -0,0 +1,17 @@
apiVersion: v1
kind: Service
metadata:
annotations:
kompose.cmd: kompose convert
kompose.version: 1.34.0 (cbf2835db)
labels:
io.kompose.service: db
name: db
namespace: forgejo-repo
spec:
ports:
- name: "5432"
port: 5432
targetPort: 5432
selector:
io.kompose.service: db

+ 1
- 0
Forgejo/entraPsql.sh View File

@ -0,0 +1 @@
kubectl -n forgejo-repo exec -ti deployment.apps/db -- psql --username=creylopez --dbname=forgejo

+ 11
- 0
Forgejo/env-prod-db-configmap.yaml View File

@ -0,0 +1,11 @@
apiVersion: v1
data:
POSTGRES_DB: forgejo
POSTGRES_PASSWORD: Dsa-0213
POSTGRES_USER: creylopez
kind: ConfigMap
metadata:
labels:
io.kompose.service: db-env-prod-db
name: env-prod-db
namespace: forgejo-repo

+ 16
- 0
Forgejo/kustomization.yaml View File

@ -0,0 +1,16 @@
secretGenerator:
- name: sqlforgejo-pass
namespace: forgejo-repo
literals:
- password=Dsa-0213
- db_user=root
- db_passwd=Dsa-0213
resources:
- reg-secret.yaml
- env-prod-db-configmap.yaml
- postgres-data-persistentvolumeclaim.yaml
- db-deployment.yaml
- db-service.yaml
- 010-deployment.yaml
- 020-volumes.yaml
- 030-network.yaml

+ 2
- 0
Forgejo/paraTodo.sh View File

@ -0,0 +1,2 @@
kubectl delete -k ./
kubectl delete -f pv-local-pg-forgejo.yaml

+ 13
- 0
Forgejo/postgres-data-persistentvolumeclaim.yaml View File

@ -0,0 +1,13 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
labels:
io.kompose.service: postgres-data
name: postgres-data
namespace: forgejo-repo
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 20Gi

+ 11
- 0
Forgejo/pv-local-pg-forgejo.yaml View File

@ -0,0 +1,11 @@
apiVersion: v1
kind: PersistentVolume
metadata:
name: forgejo-data
spec:
capacity:
storage: 20Gi
accessModes:
- ReadWriteOnce
hostPath:
path: "/mnt/Externo/forgejo/pg"

+ 8
- 0
Forgejo/reg-secret.yaml View File

@ -0,0 +1,8 @@
apiVersion: v1
kind: Secret
metadata:
name: myregistrykey
namespace: forgejo-repo
data:
.dockerconfigjson: ewoJImF1dGhzIjogewoJCSJyZWdpc3RyeS5yZXltb3RhLmVzIjogewoJCQkiYXV0aCI6ICJZM0psZVd4dmNHVjZPbEpsZVMweE1UYzIiCgkJfQoJfQp9
type: kubernetes.io/dockerconfigjson

+ 3
- 0
Forgejo/terminapv.sh View File

@ -0,0 +1,3 @@
kubectl patch pv forgejo-folder -p '{"metadata":{"finalizers":null}}'
kubectl patch pv forgejo-data -p '{"metadata":{"finalizers":null}}'

Loading…
Cancel
Save