engram 备份
This commit is contained in:
@@ -1,3 +1,4 @@
|
|||||||
**/config/*
|
**/config/*
|
||||||
|
**/secrets/*
|
||||||
values.user.yaml
|
values.user.yaml
|
||||||
charts
|
charts
|
||||||
@@ -0,0 +1,68 @@
|
|||||||
|
apiVersion: batch/v1
|
||||||
|
kind: CronJob
|
||||||
|
metadata:
|
||||||
|
name: engram-backup
|
||||||
|
labels:
|
||||||
|
app: engram-backup
|
||||||
|
spec:
|
||||||
|
schedule: "0 0 * * *"
|
||||||
|
timeZone: "Asia/Shanghai"
|
||||||
|
concurrencyPolicy: Forbid
|
||||||
|
startingDeadlineSeconds: 300
|
||||||
|
successfulJobsHistoryLimit: 1
|
||||||
|
failedJobsHistoryLimit: 3
|
||||||
|
suspend: false
|
||||||
|
jobTemplate:
|
||||||
|
spec:
|
||||||
|
backoffLimit: 2
|
||||||
|
activeDeadlineSeconds: 1800
|
||||||
|
ttlSecondsAfterFinished: 86400
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: engram-backup
|
||||||
|
spec:
|
||||||
|
restartPolicy: OnFailure
|
||||||
|
initContainers:
|
||||||
|
- name: backup
|
||||||
|
image: engram
|
||||||
|
env:
|
||||||
|
- name: ENGRAM_DATA_DIR
|
||||||
|
value: /engram-data
|
||||||
|
volumeMounts:
|
||||||
|
- name: tmp
|
||||||
|
mountPath: /tmp
|
||||||
|
- name: engram-data
|
||||||
|
mountPath: /engram-data
|
||||||
|
command:
|
||||||
|
- /bin/sh
|
||||||
|
args:
|
||||||
|
- -c
|
||||||
|
- 'export DATE=$(date +%Y/%m/%d) && mkdir -p /tmp/engram/$DATE && engram export "/tmp/engram/$DATE/engram-data.json" && gzip /tmp/engram/$DATE/engram-data.json'
|
||||||
|
securityContext:
|
||||||
|
runAsUser: 0
|
||||||
|
containers:
|
||||||
|
- name: upload
|
||||||
|
image: aws
|
||||||
|
imagePullPolicy: IfNotPresent
|
||||||
|
envFrom:
|
||||||
|
- secretRef:
|
||||||
|
name: backup-env
|
||||||
|
- configMapRef:
|
||||||
|
name: backup-env
|
||||||
|
args:
|
||||||
|
- s3
|
||||||
|
- sync
|
||||||
|
- "./engram"
|
||||||
|
- "s3://senset-backups/engram-backup"
|
||||||
|
volumeMounts:
|
||||||
|
- name: tmp
|
||||||
|
mountPath: /aws
|
||||||
|
readOnly: true
|
||||||
|
volumes:
|
||||||
|
- name: tmp
|
||||||
|
emptyDir: {}
|
||||||
|
- name: engram-data
|
||||||
|
hostPath:
|
||||||
|
path: /data/engram
|
||||||
|
type: Directory
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
# yaml-language-server: $schema=https://json.schemastore.org/kustomization.json
|
||||||
|
kind: Kustomization
|
||||||
|
namespace: mcp
|
||||||
|
resources:
|
||||||
|
- cronjob.yaml
|
||||||
|
images:
|
||||||
|
- name: engram
|
||||||
|
newName: ghcr.io/gentleman-programming/engram
|
||||||
|
newTag: v1.16.1
|
||||||
|
- name: aws
|
||||||
|
newName: cr.wetofu.me/amazon/aws-cli
|
||||||
|
newTag: '2.34.57'
|
||||||
|
secretGenerator:
|
||||||
|
- name: backup-env
|
||||||
|
type: Opaque
|
||||||
|
files:
|
||||||
|
- secrets/AWS_ACCESS_KEY_ID
|
||||||
|
- secrets/AWS_SECRET_ACCESS_KEY
|
||||||
|
configMapGenerator:
|
||||||
|
- name: backup-env
|
||||||
|
files:
|
||||||
|
- config/AWS_REGION
|
||||||
|
- config/AWS_ENDPOINT_URL_S3
|
||||||
Reference in New Issue
Block a user