repo refactoring continuous-deploy prep

This commit is contained in:
2025-11-23 22:03:49 +00:00
parent fc1d941dde
commit a23cbcdf93
14 changed files with 70 additions and 77 deletions

View File

@@ -4,12 +4,43 @@ Welcome to public repository of my [Git Server](https://git.limbosolutions.com)
Using [gitea](https://git.limbosolutions.com/kb/gitea) as git server. Using [gitea](https://git.limbosolutions.com/kb/gitea) as git server.
- [Deploy and Setup](#deploy-and-setup) - [Deploy](#deploy)
- [App Deploy](#app-deploy)
- [Continuous Deploy](#continuous-deploy)
- [Infra Deploy](#infra-deploy)
- [Deploy all](#deploy-all)
- [Backups](#backups) - [Backups](#backups)
## Deploy and Setup ## Deploy
for more information [check readme](./deploy/README.md). ### App Deploy
[Requires environment variables](./manifests/app/cronjobs/backups/.env.example).
*Can be set creating file ./manifests/app/cronjobs/backups/.env with values.*
```bash
./deploy-scripts/apply-app.sh
```
- [Manifests](/manifests/infra)
### Continuous Deploy
Executes [App Deploy](#app-deploy) using an [Gitea workflow](./.gitea/workflows/app-deploy.yaml).
### Infra Deploy
```bash
./deploy-scripts/apply-infra.sh
```
- [Manifests](/manifests/app)
### Deploy all
```bash
./deploy-scripts/apply.sh
```
## Backups ## Backups

14
deploy-scripts/apply-app.sh Executable file
View File

@@ -0,0 +1,14 @@
# set -a
# source ./backups/.env
# set +a
# envsubst < ./backups/backup-secrets.yaml | kubectl apply -n git-limbosolutions-com -f -
# SSH_ID_RSA=$(echo -n "$SSH_ID_RSA" | base64 -w 0)
# BORG_KEY=$(echo -n "$BORG_KEY" | base64 -w 0)
# kubectl patch secret gitea-backup-secret --patch "{\"data\":{\"ssh_id_rsa\":\"$SSH_ID_RSA\"}}" -n git-limbosolutions-com
# kubectl patch secret gitea-backup-secret --patch "{\"data\":{\"borg_key\":\"$BORG_KEY\"}}" -n git-limbosolutions-com
# kubectl apply -f ./backups/backup-pbs-cronjob.yaml -n git-limbosolutions-com
# kubectl apply -f ./backups/backup-borg-offsite-cronjob.yaml -n git-limbosolutions-com

12
deploy-scripts/apply-infra.sh Executable file
View File

@@ -0,0 +1,12 @@
kubectl apply -f manifests/infra/namespace.yaml
helm repo add gitea-charts https://dl.gitea.com/charts/
helm repo update
helm upgrade --install gitea gitea-charts/gitea \
--values helm/values.yaml \
--values helm/values.private.yaml \
--namespace=git-limbosolutions-com
kubectl apply -f manifests/infra/ssh-ingress.yaml

0
deploy-scripts/apply.sh Executable file
View File

View File

@@ -1,60 +0,0 @@
# Deploy
- [kubernetes Namespace](#kubernetes-namespace)
- [Backups](#backups)
- [secrets](#secrets)
- [Proxmox Backup Server (kubernetes cron job)](#proxmox-backup-server-kubernetes-cron-job)
- [Borg and Offsite sync (kubernetes cron job)](#borg-and-offsite-sync-kubernetes-cron-job)
```bash
# run for setup/update
# using helm chart
./setup.sh
```
## kubernetes Namespace
```yaml
apiVersion: v1
kind: Namespace
metadata:
name: git-limbosolutions-com
labels:
name: git-limbosolutions-com
```
## Backups
### secrets
```bash
set -a
source ./backups/.env
set +a
envsubst < ./backups/backup-secrets.yaml | kubectl apply -n git-limbosolutions-com -f -
SSH_ID_RSA=$(echo -n "$SSH_ID_RSA" | base64 -w 0)
BORG_KEY=$(echo -n "$BORG_KEY" | base64 -w 0)
kubectl patch secret gitea-backup-secret --patch "{\"data\":{\"ssh_id_rsa\":\"$SSH_ID_RSA\"}}" -n git-limbosolutions-com
kubectl patch secret gitea-backup-secret --patch "{\"data\":{\"borg_key\":\"$BORG_KEY\"}}" -n git-limbosolutions-com
```
### Proxmox Backup Server (kubernetes cron job)
```bash
# deploy cronjon
kubectl apply -f ./backups/backup-pbs-cronjob.yaml -n git-limbosolutions-com
```
[kubernetes cron job](./backups/backup-pbs-cronjob.yaml)
### Borg and Offsite sync (kubernetes cron job)
```bash
# deploy cronjon
kubectl apply -f ./backups/backup-borg-offsite-cronjob.yaml -n git-limbosolutions-com
```
[kubernetes cron job](./backups/borgbackup-offsite-cronjob.yaml)

View File

@@ -1,9 +0,0 @@
helm repo add gitea-charts https://dl.gitea.com/charts/
helm repo update
helm upgrade --install gitea gitea-charts/gitea \
--values ./values.yaml \
--values ./values.private.yaml \
--namespace=git-limbosolutions-com
kubectl apply -f ./ssh-ingress.yaml

View File

@@ -3,7 +3,7 @@
**Create borgbackup-sidekick pod:** **Create borgbackup-sidekick pod:**
```bash ```bash
kubectl apply -f ../deploy/backups/borgbackup-sidekick.yaml kubectl apply -f manifests/borgbackup-sidekick.yaml
``` ```
**Remove borgbackup-sidekick pod:** **Remove borgbackup-sidekick pod:**

View File

@@ -5,13 +5,12 @@ metadata:
name: gitea-backup-secret name: gitea-backup-secret
namespace: git-limbosolutions-com namespace: git-limbosolutions-com
type: Opaque type: Opaque
stringData: data:
pbs_repository: ${PBS_REPOSITORY} pbs_repository: ${PBS_REPOSITORY}
pbs_password: ${PBS_PASSWORD} pbs_password: ${PBS_PASSWORD}
pbs_fingerprint: ${PBS_FINGERPRINT} pbs_fingerprint: ${PBS_FINGERPRINT}
borg_repo: ${BORG_REPO} borg_repo: ${BORG_REPO}
borg_passphrase: ${BORG_PASSPHRASE} borg_passphrase: ${BORG_PASSPHRASE}
offsite_target_folder: ${OFFSITE_TARGET_FOLDER} offsite_target_folder: ${OFFSITE_TARGET_FOLDER}
#SSH_ID_RSA: "" ssh_id_rsa: ${SSH_ID_RSA}
#BORG_KEY: "" borg_key: ${BORG_KEY}

View File

@@ -0,0 +1,6 @@
apiVersion: v1
kind: Namespace
metadata:
name: git-limbosolutions-com
labels:
name: git-limbosolutions-com