Kubernetes_deployments: added gitea deployment
This commit is contained in:
@ -419,6 +419,66 @@ source .env
|
||||
envsubst < postgres/pgadmin.yaml | kubectl apply -n postgres -f -
|
||||
```
|
||||
|
||||
## Gitea Git Server
|
||||
|
||||
Reference:
|
||||
https://gitea.com/gitea/helm-chart/
|
||||
https://docs.gitea.com/installation/database-prep
|
||||
|
||||
Gitea is a self-hosted Git service that is deployed in the k3s cluster. The
|
||||
Gitea deployment uses existing posrgres database for data storage. The Gitea
|
||||
service is exposed via ingress and is accessible from the internet.
|
||||
|
||||
Configure a new user, database, and schema for Gitea in the postgres database.
|
||||
|
||||
```bash
|
||||
CREATE ROLE gitea WITH LOGIN PASSWORD 'gitea';
|
||||
|
||||
CREATE DATABASE giteadb
|
||||
WITH OWNER gitea
|
||||
TEMPLATE template0
|
||||
ENCODING UTF8
|
||||
LC_COLLATE 'en_US.UTF-8'
|
||||
LC_CTYPE 'en_US.UTF-8';
|
||||
|
||||
\c giteadb
|
||||
CREATE SCHEMA gitea;
|
||||
GRANT USAGE ON SCHEMA gitea TO gitea;
|
||||
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA gitea TO gitea;
|
||||
ALTER SCHEMA gitea OWNER TO gitea;
|
||||
```
|
||||
|
||||
Next, deploy the Gitea helm chart with the following values:
|
||||
|
||||
```bash
|
||||
source .env
|
||||
kubectl create namespace gitea
|
||||
kubectl get secret wildcard-cert-secret --namespace=cert-manager -o yaml \
|
||||
| sed 's/namespace: cert-manager/namespace: gitea/' | kubectl apply -f -
|
||||
|
||||
# The configMap contains the app.ini file values for gitea
|
||||
kubectl apply -f gitea/configMap.yaml -n gitea
|
||||
|
||||
helm install gitea gitea-charts/gitea -f gitea/values.yaml \
|
||||
--namespace gitea \
|
||||
--atomic \
|
||||
--set ingress.hosts[0].host=$GITEA_HOST \
|
||||
--set ingress.tls[0].hosts[0]=$DNSNAME \
|
||||
--set gitea.admin.username=$GITEA_USER \
|
||||
--set gitea.admin.password=$GITEA_PASSWORD \
|
||||
--set gitea.admin.email=$GITEA_EMAIL \
|
||||
--set gitea.config.database.PASSWD=$POSTGRES_PASSWORD \
|
||||
--set gitea.config.database.HOST=$POSTGRES_URL
|
||||
```
|
||||
|
||||
To scale the gitea Runner replicas, edit the `gitea-act-runner` statefulset
|
||||
and set the replicas to the desired number.
|
||||
|
||||
```bash
|
||||
kubectl edit statefulset gitea-act-runner -n gitea
|
||||
```
|
||||
|
||||
|
||||
## Authentication Middleware Configuration for Traefik Ingress Controller
|
||||
|
||||
The Traefik Ingress Controller provides robust authentication capabilities
|
||||
|
||||
8
Kubernetes_deployments/gitea/configMap.yaml
Normal file
8
Kubernetes_deployments/gitea/configMap.yaml
Normal file
@ -0,0 +1,8 @@
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: gitea-app-ini-plaintext
|
||||
namespace: gitea
|
||||
data:
|
||||
service: |
|
||||
DISABLE_REGISTRATION = true
|
||||
59
Kubernetes_deployments/gitea/values.yaml
Normal file
59
Kubernetes_deployments/gitea/values.yaml
Normal file
@ -0,0 +1,59 @@
|
||||
gitea:
|
||||
config:
|
||||
database:
|
||||
DB_TYPE: postgres
|
||||
HOST: postgres
|
||||
NAME: giteadb
|
||||
USER: gitea
|
||||
PASSWD: password
|
||||
additionalConfigSources:
|
||||
- configMap:
|
||||
name: gitea-app-ini-plaintext
|
||||
admin:
|
||||
username: admin
|
||||
password: password
|
||||
email: email
|
||||
|
||||
postgresql:
|
||||
enabled: false
|
||||
|
||||
postgresql-ha:
|
||||
enabled: false
|
||||
|
||||
redis-cluster:
|
||||
enabled: false
|
||||
|
||||
redis:
|
||||
enabled: false
|
||||
|
||||
persistence:
|
||||
enabled: true
|
||||
accessModes: [ "ReadWriteMany" ]
|
||||
size: "10Gi"
|
||||
|
||||
resources:
|
||||
limits:
|
||||
cpu: 1000m
|
||||
memory: 512Mi
|
||||
requests:
|
||||
cpu: 100m
|
||||
memory: 512Mi
|
||||
|
||||
ingress:
|
||||
enabled: true
|
||||
hosts:
|
||||
- host: git.example.com
|
||||
paths:
|
||||
- path: /
|
||||
pathType: Prefix
|
||||
tls:
|
||||
- secretName: wildcard-cert-secret
|
||||
hosts:
|
||||
- "*.example.com"
|
||||
|
||||
actions:
|
||||
enabled: true
|
||||
runner:
|
||||
replicas: 3
|
||||
provisioning:
|
||||
enabled: true
|
||||
Reference in New Issue
Block a user