ai/at
1
0
Files
at/k8s/pds.yaml
2026-02-04 22:59:18 +09:00

122 lines
3.4 KiB
YAML

apiVersion: v1
kind: Service
metadata:
name: pds
namespace: atproto
spec:
selector:
app: pds
ports:
- port: 3000
targetPort: 3000
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pds-data
namespace: atproto
spec:
accessModes: ["ReadWriteOnce"]
resources:
requests:
storage: 10Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: pds
namespace: atproto
spec:
replicas: 1
selector:
matchLabels:
app: pds
template:
metadata:
labels:
app: pds
spec:
containers:
- name: pds
image: registry/pds
command: ["node", "--enable-source-maps", "index.js"]
ports:
- containerPort: 3000
env:
- name: PDS_HOSTNAME
value: "syu.is"
- name: PDS_DB_POSTGRES_URL
value: "postgres://postgres:postgres@database/pds"
- name: PDS_DATA_DIRECTORY
value: "/data"
- name: PDS_BLOBSTORE_DISK_LOCATION
value: "/data/img/static"
- name: PDS_BSKY_APP_VIEW_DID
value: "did:web:bsky.syu.is"
- name: PDS_BSKY_APP_VIEW_URL
value: "https://bsky.syu.is"
- name: PDS_CRAWLERS
value: "https://bgs.syu.is"
- name: PDS_SEQUENCER_ENABLED
value: "true"
- name: PDS_SEQUENCER_DB_LOCATION
value: "/data/sequencer.sqlite"
- name: PDS_DEV_MODE
value: "true"
- name: PDS_DID_PLC_URL
value: "https://plc.syu.is"
- name: PDS_ENABLE_DID_DOC_WITH_SESSION
value: "true"
- name: PDS_INVITE_INTERVAL
value: "604800000"
- name: PDS_SERVICE_DID
value: "did:web:syu.is"
- name: PDS_EMAIL_FROM_ADDRESS
value: "no-reply@syu.is"
- name: PDS_INVITE_REQUIRED
value: "true"
- name: PDS_ADMIN_PASSWORD
valueFrom:
secretKeyRef:
name: atproto-secrets
key: pds-admin-password
- name: PDS_PLC_ROTATION_KEY_K256_PRIVATE_KEY_HEX
valueFrom:
secretKeyRef:
name: atproto-secrets
key: pds-plc-rotation-key
- name: PDS_REPO_SIGNING_KEY_K256_PRIVATE_KEY_HEX
valueFrom:
secretKeyRef:
name: atproto-secrets
key: pds-repo-signing-key
- name: PDS_JWT_SECRET
valueFrom:
secretKeyRef:
name: atproto-secrets
key: pds-jwt-secret
- name: PDS_EMAIL_SMTP_URL
valueFrom:
secretKeyRef:
name: atproto-secrets
key: pds-email-smtp-url
volumeMounts:
- name: data
mountPath: /data
livenessProbe:
httpGet:
path: /xrpc/_health
port: 3000
initialDelaySeconds: 15
periodSeconds: 10
readinessProbe:
httpGet:
path: /xrpc/_health
port: 3000
initialDelaySeconds: 5
periodSeconds: 5
volumes:
- name: data
persistentVolumeClaim:
claimName: pds-data