Software

Go

Go bindings for Confium. Cloud-native threshold cryptography for Kubernetes operators, Terraform providers, Docker plugins, and every CNCF project. Currently a scaffold — API surface stable, C bridge in progress.


confium-go brings Confium to the cloud-native ecosystem. Kubernetes operators, Terraform providers, Docker plugins, and every major CNCF project are written in Go. A Go binding lets Confium plug into all of them.

Status: scaffold

This package is a scaffold — the Go API surface and cgo plumbing are defined, but the C bridge that translates Go calls into Rust calls (via extern "C" shims in crates/confium-go-bridge/) is not yet implemented. The scaffold lets Go consumers design integrations against a stable API before the bridge ships.

When the bridge lands, every Go program that imports this package will get a working binding with no API changes.

Why Go?

Install

go get github.com/confium/confium-go

API surface (target)

package confium

import (
    "context"
    "github.com/confium/confium-go"
)

func SignRelease(ctx context.Context, artifact []byte) ([]byte, error) {
    sig, err := confium.CompositeSignEd25519(ctx, &confium.SignParams{
        Message:   artifact,
        SecretKey: loadMyShare(),
    })
    if err != nil {
        return nil, err
    }
    return sig.Signature, nil
}

What to use today

Until the C bridge ships, Go consumers have two paths:

  1. JSON-RPC daemon — install confiumd as a sidecar container and call via HTTP over a Unix socket. See Polyglot verification for the pattern.
  2. OpenSSL provider — for Go services that already use crypto/tls, Confium’s OpenSSL 3.0 provider slots in without Go-side changes. See the PKI product.

See also

Documentation

The Go docs are maintained in the github.com/confium/confium repository and pulled into this site at build time.

Browse the Go docs →