• v0.1.2 5b45cf72e1

    v0.1.2 — wait for Postgres before the main container starts
    CI / chart (push) Successful in 1s
    CI / security (push) Successful in 1m22s
    CI / test (push) Successful in 5m0s
    Release / test (push) Successful in 5m26s
    Release / chart (push) Successful in 2s
    Release / image (push) Successful in 7m22s
    Release / scan-image (push) Successful in 34s

    niklas released this 2026-10-02 11:05:18 +00:00

    The Deployment this operator generates for a TerdutServer crash-looped a
    few times against a from-scratch postgres-operator cluster still doing
    initdb and Patroni leader election on its very first boot.
    terdut-server's own ping-retry budget on startup is sized for a much
    shorter, different race (NetworkPolicy propagation, a few seconds), not
    for genuine first-time cluster creation, which routinely takes longer, so
    it exhausted and the process exited before ever binding its HTTP port. A
    startupProbe cannot fix that kind of crash -- it happens before there is
    an HTTP endpoint to probe.

    The generated Deployment now runs a wait-for-postgres init container
    first: it loops pg_isready against whichever of the two database paths
    (bring-your-own DSN or postgresClusterRef) resolved, until Postgres
    actually answers, before the main container's own retry budget, unchanged,
    gets a chance to run out. Same fix, same reasoning, as
    charts/terdut-server's own deployment.yaml template picked up in that
    repo's v0.33.2.

    Also bumps go.opentelemetry.io/otel (and its sdk/metric/trace/otlptrace
    siblings) 1.44.0 -> 1.45.0: v1.44.0 carries GO-2026-6505, a config-logging
    endpoint-URL leak govulncheck found reachable through real call chains in
    this repo (cmd/main.go's own init, tdclient.Client.DeleteIntegration),
    caught while cutting this release. All of it transitive -- nothing in
    this repo imports these packages by name.

    Requires no particular terdut-server version on the other side of the
    API this operator drives, and excludes none: nothing about what this
    operator calls changed. No new CRD field, no change to RBAC, no new
    endpoint.

    Nothing here is irreversible: a TerdutServer rolled back to v0.1.1's
    generated Deployment reads the same database and loses nothing but the
    init container.

    Downloads