-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathpaperclip_v1alpha1_instance.yaml
More file actions
111 lines (98 loc) · 2.54 KB
/
Copy pathpaperclip_v1alpha1_instance.yaml
File metadata and controls
111 lines (98 loc) · 2.54 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
apiVersion: paperclip.inc/v1alpha1
kind: Instance
metadata:
name: my-paperclip
namespace: default
spec:
image:
repository: ghcr.io/paperclipai/paperclip
# Pick a specific upstream release tag. The operator rejects Instances
# without a tag (or digest), since :latest can silently pull a broken build.
# See the tags list at https://github.com/paperclipai/paperclip/pkgs/container/paperclip
tag: "2026.0403"
deployment:
mode: authenticated
exposure: private
database:
mode: managed
managed:
storageSize: 10Gi
auth:
secretRef:
name: paperclip-auth
key: BETTER_AUTH_SECRET
storage:
persistence:
enabled: true
size: 5Gi
heartbeat:
enabled: true
intervalMS: 60000
adapters:
apiKeysSecretRef:
name: paperclip-api-keys
# E2B sandbox provider API key (enable the @paperclipai/plugin-e2b plugin
# and select E2B per-Environment in the UI; the operator only wires the key):
# e2b:
# apiKeySecretRef:
# name: paperclip-e2b
# key: E2B_API_KEY
# Store secrets in AWS Secrets Manager instead of the local master key.
# AWS credentials come from the SDK chain (use IRSA via
# security.rbac.serviceAccountAnnotations); the operator injects no keys.
# secrets:
# provider: aws_secrets_manager
# aws:
# region: eu-central-1
# kmsKeyID: arn:aws:kms:eu-central-1:123456789012:key/abcd
# deploymentID: my-paperclip-prod
# Paperclip's built-in DB backups (local dir under the data PVC). Complementary
# to the operator pg_dump -> S3 CronJob (spec.backup.schedule).
# backup:
# appNative:
# enabled: true
# intervalMinutes: 60
# retentionDays: 7
# To disable public self-service sign-up (former "single-tenant" behavior),
# use authenticated mode plus:
# auth:
# disableSignUp: true
# connections:
# credentialsSecretRef:
# name: paperclip-oauth-credentials
security:
networkPolicy:
enabled: true
rbac:
create: true
networking:
service:
type: ClusterIP
port: 3100
resources:
requests:
cpu: 500m
memory: 512Mi
limits:
cpu: "2"
memory: 2Gi
---
# Required secrets
apiVersion: v1
kind: Secret
metadata:
name: paperclip-auth
namespace: default
type: Opaque
stringData:
BETTER_AUTH_SECRET: "change-me-to-a-secure-random-string"
---
apiVersion: v1
kind: Secret
metadata:
name: paperclip-api-keys
namespace: default
type: Opaque
stringData:
ANTHROPIC_API_KEY: "sk-ant-..."
OPENAI_API_KEY: "sk-..."