Files
git.limbosolutions.com/README.md

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
```