• v0.4.0 72dabaa9b3

    v0.4.0
    All checks were successful
    Docs / Build docs site (push) Successful in 37s
    Lint / Run on Ubuntu (push) Successful in 4m24s
    Tests / Run on Ubuntu (push) Successful in 2m51s
    E2E Tests / Run on Ubuntu (push) Successful in 6m48s
    Release / Build and Release (release) Successful in 21m54s
    Stable

    asmo released this 2026-08-16 18:01:57 +00:00 | 2 commits to main since this release

    What's Changed

    Breaking

    • feat: migrate to CDK v0.18 database-authoritative configuration (#33)

    CDK v0.18 stores the authoritative mint configuration in the mint database; a normal cdk-mintd start no longer reads config.toml or applies operational CDK_MINTD_* environment overrides. The operator now renders a v0.18 import document into the ConfigMap, and a new config-init init container runs cdk-mintd config validate + config init (first start) or config apply (subsequent starts) before mintd launches. Existing v0.17 mints are imported automatically on the first v0.18 start, with signer identity verified against the stored mint public key.

    Highlights:

    • [payment_backend]/backend replaces [ln]/ln_backend; tls_dir replaces tls_dir_path; plaintext gRPC processor and management RPC connections now set allow_insecure = true explicitly
    • Secrets (PostgreSQL URLs, mint mnemonic, LDK RPC password/node mnemonic, Redis connection string) are rendered as env: references and injected from Secrets at runtime — literal credentials never enter the ConfigMap
    • Pod environment slimmed down to bootstrap settings (work dir, database engine, postgres connection) plus env:-referenced secrets
    • LNBits removed: spec.paymentBackend.lnbits is rejected by the webhook (first-class support was removed upstream in CDK v0.18); front LNBits with an external gRPC payment processor instead
    • New spec.ldkNode.bitcoinRpc.user literal field as an alternative to userSecretRef
    • Default mint image: cashubtc/mintd:0.18.0-rc.0

    Maintenance

    • fix(ci): use REGISTRY_TOKEN secret for Forgejo registry push (77cad60)

    Upgrade notes

    ⚠️ Back up the mint database before upgrading. CDK v0.18 runs automatic database migrations on first open, and downgrading afterwards requires restoring the backup.

    • Keep the same mint mnemonic — config init refuses to attach a different signer to an existing mint.
    • Mint metadata or quote TTL previously changed through the management RPC outside the CR is overwritten by the CashuMint spec on the first v0.18 start; record current values with cdk-mint-cli get-info / get-quote-ttl before upgrading if needed.
    • If a staged configuration fails at startup, restore the previous document with kubectl exec deployment/<name> -c mintd -- cdk-mintd config rollback and restart the pod.
    • LNBits mints must migrate to spec.paymentBackend.grpcProcessor (with an external processor in front of LNBits) before upgrading.

    See the migration guide for details.

    Install

    kubectl apply -f https://git.cashu.dev/asmo/cashu-operator/releases/download/v0.4.0/install.yaml
    

    Full Changelog: https://git.cashu.dev/asmo/cashu-operator/compare/v0.3.2...v0.4.0

    Downloads