Unable to configure SGObjectStorage for azure
I want to enable Backup to Azure Storage account using azureBlob
Implementation plan
Create a SGObjectStorage :
apiVersion: stackgres.io/v1beta1
kind: SGObjectStorage
metadata:
name: azure-backup
namespace: stackgres
spec:
azureBlob:
azureCredentials:
secretKeySelectors:
accessKey:
key: azure-sa-backup
name: accesskey
storageAccount:
key: azure-sa-backup
name: name
bucket: sg-backups
type: azureBlob
I have a secret called azure-sa-backup with 2 entry:
- accesskey
- name
The operator still reports me an issue:
2025-10-22 09:47:51,157 ERROR [io.st.op.conciliation] (SGCluster-ReconciliationLoop) Reconciliation of SGCluster stackgres.tsdb-pg17 failed: java.lang.IllegalArgumentException: Secret accesskey not found for SGObjectStorage azure-backup
at io.stackgres.operator.conciliation.cluster.context.ClusterObjectStorageContextAppender.lambda$appendContext$2(ClusterObjectStorageContextAppender.java:80)
at java.base@21.0.7/java.util.Optional.orElseThrow(Optional.java:403)
at io.stackgres.operator.conciliation.cluster.context.ClusterObjectStorageContextAppender.lambda$appendContext$3(ClusterObjectStorageContextAppender.java:77)
at java.base@21.0.7/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
at java.base@21.0.7/java.util.HashMap$EntrySpliterator.forEachRemaining(HashMap.java:1858)
at java.base@21.0.7/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
at java.base@21.0.7/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base@21.0.7/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
at java.base@21.0.7/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base@21.0.7/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
at io.stackgres.operator.conciliation.cluster.context.ClusterObjectStorageContextAppender.appendContext(ClusterObjectStorageContextAppender.java:94)
at io.stackgres.operator.conciliation.cluster.context.ClusterObjectStorageContextAppender.appendContext(ClusterObjectStorageContextAppender.java:29)
at io.stackgres.operator.conciliation.cluster.context.ClusterObjectStorageContextAppender_ClientProxy.appendContext(Unknown Source)
at io.stackgres.operator.conciliation.ContextPipeline.lambda$appendContext$0(ContextPipeline.java:30)
at java.base@21.0.7/java.lang.Iterable.forEach(Iterable.java:75)
at io.stackgres.operator.conciliation.ContextPipeline.appendContext(ContextPipeline.java:29)
at io.stackgres.operator.conciliation.cluster.context.ClusterContextPipeline_ClientProxy.appendContext(Unknown Source)
at io.stackgres.operator.conciliation.cluster.ClusterRequiredResourcesGenerator.getRequiredResources(ClusterRequiredResourcesGenerator.java:43)
at io.stackgres.operator.conciliation.cluster.ClusterRequiredResourcesGenerator.getRequiredResources(ClusterRequiredResourcesGenerator.java:20)
at io.stackgres.operator.conciliation.cluster.ClusterRequiredResourcesGenerator_ClientProxy.getRequiredResources(Unknown Source)
at io.stackgres.operator.conciliation.AbstractConciliator.evalReconciliationState(AbstractConciliator.java:65)
at io.stackgres.operator.conciliation.cluster.ClusterConciliator_ClientProxy.evalReconciliationState(Unknown Source)
at io.stackgres.operator.conciliation.AbstractReconciliator.reconciliationCycle(AbstractReconciliator.java:260)
at io.stackgres.operator.conciliation.cluster.ClusterReconciliator.reconciliationCycle(ClusterReconciliator.java:91)
at io.stackgres.operator.conciliation.cluster.ClusterReconciliator.reconciliationCycle(ClusterReconciliator.java:40)
at io.stackgres.operator.conciliation.AbstractReconciliator.lambda$reconciliationsCycle$7(AbstractReconciliator.java:204)
at io.stackgres.operator.conciliation.ReconciliatorWorkerThreadPool.scheduleReconciliation(ReconciliatorWorkerThreadPool.java:120)
at io.stackgres.operator.conciliation.AbstractReconciliator.lambda$reconciliationsCycle$8(AbstractReconciliator.java:203)
at java.base@21.0.7/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
at java.base@21.0.7/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
at java.base@21.0.7/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1708)