I’m using the fdb-kubernetes operator to run fdb on kubernetes ( GitHub - FoundationDB/fdb-kubernetes-operator: A kubernetes operator for FoundationDB · GitHub )
To enable backups, this is the config that I have
apiVersion: apps.foundationdb.org/v1beta2
kind: FoundationDBBackup
metadata:
name: infino-fdb
namespace: infino-fdb
labels:
foundationdb.org/fdb-cluster-name: infino-fdb
spec:
version: 7.3.69
clusterName: infino-fdb
backupMode: oneTime
blobStoreConfiguration:
accountName: “@s3.us-east-1.amazonaws.com”
bucket: staging-fdb-backup
backupName: myFirstBackup
urlParameters:
- “secure_connection=0”
- “sc=0”
podTemplateSpec:
spec:
volumes:
- name: backup-credentials
secret:
secretName: backup-credentials
containers:
- env:
- name: FDB_BLOB_CREDENTIALS
value: /var/backup-credentials/credentials
name: foundationdb
resources:
limits:
cpu: 250m
memory: 128Mi
requests:
cpu: 250m
memory: 128Mi
securityContext:
runAsGroup: 0
runAsUser: 0
volumeMounts:
- mountPath: /var/backup-credentials
name: backup-credentials
When applying this, I get the following logs on the operator
{"level":"info","ts":"2026-03-11T18:52:43Z","logger":"fdbclient","msg":"Running command","path":"/usr/bin/fdb/7.3/fdbbackup","args":["/usr/bin/fdb/7.3/fdbbackup","status","--json","-C","/tmp/e49000a7-951e-4a97-b35a-362491c12b07-cli/2727890069","--log","--logdir","/var/log/fdb"]}
{"level":"info","ts":"2026-03-11T18:52:43Z","logger":"fdbclient","msg":"Command completed","output":"{\"SchemaVersion\":\"1...."}
{"level":"info","ts":"2026-03-11T18:52:43Z","logger":"fdbclient","msg":"Running command","path":"/usr/bin/fdb/7.3/fdbbackup","args":["/usr/bin/fdb/7.3/fdbbackup","start","-d","blobstore://@s3.us-east-1.amazonaws.com:80/myFirstBackup?bucket=staging-fdb-backup&sc=0&secure_connection=0","-C","/tmp/e49000a7-951e-4a97-b35a-362491c12b07-cli/3571456024","--log","--logdir","/var/log/fdb"]}
{"level":"error","ts":"2026-03-11T18:52:53Z","logger":"fdbclient","msg":"Error from FDB command","code":-1,"stdout":"","stderr":"","error":"signal: killed","stacktrace":"github.com/FoundationDB/fdb-kubernetes-operator/v2/fdbclient.(*cliAdminClient).runCommand\n\t/workspace/fdbclient/admin_client.go:278\ngithub.com/FoundationDB/fdb-kubernetes-operator/v2/fdbclient.(*cliAdminClient).StartBackup\n\t/workspace/fdbclient/admin_client.go:860\ngithub.com/FoundationDB/fdb-kubernetes-operator/v2/controllers.startBackup.reconcile\n\t/workspace/controllers/start_backup.go:56\ngithub.com/FoundationDB/fdb-kubernetes-operator/v2/controllers.(*FoundationDBBackupReconciler).Reconcile\n\t/workspace/controllers/backup_controller.go:111\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Reconcile\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.21.0/pkg/internal/controller/controller.go:119\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).reconcileHandler\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.21.0/pkg/internal/controller/controller.go:340\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).processNextWorkItem\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.21.0/pkg/internal/controller/controller.go:300\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Start.func2.1\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.21.0/pkg/internal/controller/controller.go:202"}
{"level":"error","ts":"2026-03-11T18:52:53Z","logger":"controller","msg":"Error in reconciliation","namespace":"infino-fdb","backup":"infino-fdb","backupType":"backup_agent","reconciler":"controllers.startBackup","requeueAfter":0,"error":"signal: killed","stacktrace":"github.com/FoundationDB/fdb-kubernetes-operator/v2/controllers.processRequeue\n\t/workspace/controllers/controllers.go:92\ngithub.com/FoundationDB/fdb-kubernetes-operator/v2/controllers.(*FoundationDBBackupReconciler).Reconcile\n\t/workspace/controllers/backup_controller.go:116\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Reconcile\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.21.0/pkg/internal/controller/controller.go:119\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).reconcileHandler\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.21.0/pkg/internal/controller/controller.go:340\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).processNextWorkItem\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.21.0/pkg/internal/controller/controller.go:300\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Start.func2.1\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.21.0/pkg/internal/controller/controller.go:202"}
{"level":"error","ts":"2026-03-11T18:52:53Z","msg":"Reconciler error","controller":"foundationdbbackup","controllerGroup":"apps.foundationdb.org","controllerKind":"FoundationDBBackup","FoundationDBBackup":{"name":"infino-fdb","namespace":"infino-fdb"},"namespace":"infino-fdb","name":"infino-fdb","reconcileID":"3039e0a2-cb6e-4fb4-8899-260716fe96b4","error":"signal: killed","stacktrace":"sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).reconcileHandler\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.21.0/pkg/internal/controller/controller.go:353\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).processNextWorkItem\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.21.0/pkg/internal/controller/controller.go:300\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Start.func2.1\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.21.0/pkg/internal/controller/controller.go:202"}
I see that the backups are being started on the operator, instead of the backup pods which have been spawned. Is this the expected behaviour? Triggering the backups through the operator is bound to fail because it doesn’t have the right secrets.
Let me know if I’m missing anything obvious. Thank you ![]()