103 lines
2.3 KiB
Markdown
103 lines
2.3 KiB
Markdown
# git.limbosolutions.com
|
|
|
|
Welcome to public repository of my [Git Server](https://git.limbosolutions.com)
|
|
|
|
Using [gitea](https://git.limbosolutions.com/kb/gitea) as git server.
|
|
|
|
- [Setup](#setup)
|
|
- [kubernetes Namespace](#kubernetes-namespace)
|
|
- [Add Help Chart](#add-help-chart)
|
|
- [Update Helm charts](#update-helm-charts)
|
|
- [Upgrade / Install](#upgrade--install)
|
|
- [Backups](#backups)
|
|
- [kubernetes cron job - Proxmox Backup Server](#kubernetes-cron-job---proxmox-backup-server)
|
|
- [kubernetes cron job - Borg and Offsite sync](#kubernetes-cron-job---borg-and-offsite-sync)
|
|
- [borgbackup sidekick](#borgbackup-sidekick)
|
|
- [Create borgbackup-sidekick pod](#create-borgbackup-sidekick-pod)
|
|
- [Remove borgbackup-sidekick pod](#remove-borgbackup-sidekick-pod)
|
|
|
|
## Setup
|
|
|
|
### kubernetes Namespace
|
|
|
|
```yaml
|
|
apiVersion: v1
|
|
kind: Namespace
|
|
metadata:
|
|
name: git-limbosolutions-com
|
|
labels:
|
|
name: git-limbosolutions-com
|
|
|
|
```
|
|
|
|
### Add Help Chart
|
|
|
|
```bash
|
|
helm repo add gitea-charts https://dl.gitea.com/charts/
|
|
```
|
|
|
|
### Update Helm charts
|
|
|
|
```bash
|
|
helm repo update
|
|
```
|
|
|
|
### Upgrade / Install
|
|
|
|
```bash
|
|
helm upgrade --install gitea gitea-charts/gitea \
|
|
--values ./gitea/values.yaml \
|
|
--values ./gitea/values.private.yaml \
|
|
--namespace=git-limbosolutions-com
|
|
```
|
|
|
|
## Backups
|
|
|
|
### kubernetes cron job - Proxmox Backup Server
|
|
|
|
[kubernetes cron job](/backups/backup-cronjob.yaml)
|
|
|
|
### kubernetes cron job - Borg and Offsite sync
|
|
|
|
```bash
|
|
# deploy secrets
|
|
. ./backups/.env
|
|
# set variables in env file as export
|
|
export $(cut -d= -f1 ./backups/.env)
|
|
envsubst < ./backups/gitea-backup-secret.yaml | kubectl apply -f -
|
|
|
|
```
|
|
|
|
[kubernetes cron job](/backups/borgbackup-offsite-cronjob.yaml)
|
|
|
|
### borgbackup sidekick
|
|
|
|
```bash
|
|
# list borg repo
|
|
POD_NAME=$(kubectl get pod -l app=borgbackup-sidekick -n git-limbosolutions-com -o jsonpath='{.items[0].metadata.name}')
|
|
kubectl exec -it ${POD_NAME} -- bash -c "\
|
|
borg list ${BORG_REPO} \
|
|
"
|
|
```
|
|
|
|
```bash
|
|
# get borg info
|
|
POD_NAME=$(kubectl get pod -l app=borgbackup-sidekick -n git-limbosolutions-com -o jsonpath='{.items[0].metadata.name}')
|
|
kubectl exec -it ${POD_NAME} -- bash -c "\
|
|
borg info ${BORG_REPO}\
|
|
"
|
|
```
|
|
|
|
#### Create borgbackup-sidekick pod
|
|
|
|
```bash
|
|
kubectl apply -f ./backups/borgbackup-sidekick.yaml
|
|
```
|
|
|
|
#### Remove borgbackup-sidekick pod
|
|
|
|
```bash
|
|
# delete the sidekick pod after use
|
|
kubectl delete pod -l app=borgbackup-sidekick
|
|
```
|