manifests/blog/cornjob-rss-to-mail.yaml
2025-04-12 13:11:34 +08:00

87 lines
2.4 KiB
YAML

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: rss-data-local-agz2
namespace: blog
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Mi # 根据需要调整存储大小
storageClassName: local-agz2
---
apiVersion: batch/v1
kind: CronJob
metadata:
name: rss-to-listmonk
namespace: blog
spec:
schedule: "0 8 * * *" # 每天早上 8:00 执行
concurrencyPolicy: Forbid # 不允许并发执行
successfulJobsHistoryLimit: 3 # 保留 3 个成功的任务历史
failedJobsHistoryLimit: 1 # 保留 1 个失败的任务历史
jobTemplate:
spec:
template:
spec:
nodeSelector:
region: cn
dc: aliyun-gz
containers:
- name: rss-to-listmonk
image: alpine:latest
command:
- /bin/sh
- -c
- |
sed -i 's/dl-cdn.alpinelinux.org/mirrors.nju.edu.cn/g' /etc/apk/repositories
apk add --no-cache git make python3 py3-virtualenv
git config --global advice.detachedHead false
git clone https://${GITEA_TOKEN}@git.frytea.com/songtianlun/listmonk_RSS_to_mail.git /tmp/listmonk_RSS_to_mail
cd /tmp/listmonk_RSS_to_mail && make
env:
- name: RSS_URL
value: "https://frytea.com/feed/"
- name: LISTMONK_API_URL
value: "https://listmonk.frytea.com/api/campaigns"
- name: LISTMONK_TOKEN
valueFrom:
secretKeyRef:
name: listmonk-credentials
key: token
- name: LISTMONK_SEND_LIST_ID
value: "3"
- name: GITEA_TOKEN
valueFrom:
secretKeyRef:
name: gitea-credentials
key: access-token
volumeMounts:
- name: rss-data
mountPath: /data
volumes:
- name: rss-data
persistentVolumeClaim:
claimName: rss-data-local-agz2
restartPolicy: OnFailure
---
apiVersion: v1
kind: Secret
metadata:
name: gitea-credentials
namespace: blog
type: Opaque
data:
access-token: MTA0NmYzNTgwOTIzZTZmM2E4ZjkxNjA2ZWEwMTA4MzFlNDdjN2UxMA==
---
apiVersion: v1
kind: Secret
metadata:
name: listmonk-credentials
namespace: blog
type: Opaque
data:
token: Ym90Ok5qM3AyeXpGRnVjcFNSVDRNWk43TDV4MU9Ecm1RY0lp