Files

47 lines
1.9 KiB
YAML

apiVersion: v1
kind: Secret
metadata:
name: phase-service-token
namespace: phase-secrets-operator
type: Opaque
data:
token: cHNzX3NlcnZpY2U6djI6ZTEwMTZiMjQ2NjBiNzY2YTc4MGNiZTZiOWRiZThhMWFjNmNjNTBlNzliYTIzMGJmNjBkMjg2NWQ2ZWRmY2M1ODpkODhkZmEyNTFiMjE1NWQ2NDJhYjdkZmNkNzliZDk1MmFhMDBkYzNhMDU3OTZkMWQxYjg0NmIyOThiMzlmOTBmOjZjNDQxNGJiZjg5Y2ExOTgwNTdmZjEwMmIzYzQxYzRmMzViODQ5OTk0NzM1NjhkOGZjMmM3M2JjNTg0MjgzMWQ6YmQ0MDU2ZWExYTU0ZDgyNDkwOTI4NjRmYmNkODRjZDU0NmUzOTE0MmVhNDQ0M2E3NGYxMjRlN2ViYmQ1YjY3ZQ==
---
apiVersion: secrets.phase.dev/v1alpha1
kind: PhaseSecret
metadata:
name: cloudflare-api-key-phase-secret
namespace: phase-secrets-operator
spec:
phaseApp: 'cert-manager' # The name of your Phase application
phaseAppEnv: 'production' # OPTIONAL - The Phase App Environment to fetch secrets from
phaseAppEnvPath: '/' # OPTIONAL Path within the Phase application environment to fetch secrets from
phaseHost: 'https://phase.hnrx.net' # OPTIONAL - URL of a Phase Console instance
pollingInterval: 600 # OPTIONAL - Interval in seconds to poll for secret updates
authentication:
serviceToken:
serviceTokenSecretReference:
secretName: 'phase-service-token' # Name of the Phase Service Token with access to your application
secretNamespace: 'phase-secrets-operator'
managedSecretReferences:
- secretName: 'cloudflare-api-key' # Name of the Kubernetes managed secret that Phase will sync
secretNamespace: 'cert-manager'
---
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
name: cloudflare-cluster-issuer
spec:
acme:
email: matthias.hinrichs@me.com
server: https://acme-v02.api.letsencrypt.org/directory
privateKeySecretRef:
name: cluster-issuer-account-key
solvers:
- dns01:
cloudflare:
apiTokenSecretRef:
name: cloudflare-api-key
key: CLOUDFLARE_API_KEY