ProofedMesh/deploy/signing-service/10-secret-dev.example.yaml
CTO b52936ce9d
Some checks failed
validate / JSON Schema (ajv) (push) Successful in 20s
validate / Rego (opa fmt + opa test) (push) Successful in 14s
validate / Go (vet + test) (push) Successful in 21s
build-images / signing-service image (push) Failing after 13s
signing-service: Dockerfile, K8s manifests (agent-trust), image CI, secret convention
- Dockerfile: multi-stage (golang:1.23-alpine3.21 → distroless/static:nonroot),
  CGO off, trimpath, stripped, UID/GID 65532, read-only rootfs friendly.
- deploy/signing-service/: ServiceAccount, Deployment (2 replicas, probes,
  tight SecurityContext), ClusterIP Service on :8081, NetworkPolicy
  (ingress from agent-trust, DNS egress), example Secret, and README with
  the full dev + prod secret convention.
- .forgejo/workflows/build-images.yml: builds image on push + PR,
  pushes :<git-sha> + :main to harbor.basicstack.de on main pushes only.
  Clone pattern matches validate.yml (sha256 repo, manual git clone).
- README updates: service README gains Deployment section; repo README
  layout now mentions services/signing-service, services/transparency-log,
  deploy/, and the new workflow.

Scope matches DEV-605. OpenBao, OPA and Pocket-ID JWKS stay stubs and move
in their own follow-up subtasks; the prod secret shape is documented so
those subtasks can plug in without reshaping the Deployment.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-10-25 18:19:51 +00:00

30 lines
1.1 KiB
YAML

# signing-service dev secret — EXAMPLE ONLY.
#
# This file is a template. The real cluster secret MUST be created either as
# a SealedSecret (preferred, see deploy/signing-service/README.md) or applied
# imperatively with values that never land in the git repo.
#
# Secret shape (dev mode):
# SIGNING_BEARERS — comma-separated bearer=subject pairs for the static
# token validator (-bearers flag)
# KEY_<SLUG> — hex-encoded 64-byte Ed25519 private key per key_ref
# ("/" "-" "." → "_", upper-case; see service README)
#
# Generate a dev key:
# go run ./cmd/signing-service -gen-dev-key
#
# For key_ref "trust-api/rate-change-signer-2026-q4" the env name is
# KEY_TRUST_API_RATE_CHANGE_SIGNER_2026_Q4.
apiVersion: v1
kind: Secret
metadata:
name: signing-service-dev
namespace: agent-trust
labels:
app.kubernetes.io/name: signing-service
app.kubernetes.io/part-of: proofedmesh
proofedmesh.basicstack.de/mode: dev
type: Opaque
stringData:
SIGNING_BEARERS: "dev-token=agent-admin-api"
KEY_TRUST_API_RATE_CHANGE_SIGNER_2026_Q4: "REPLACE_WITH_128_HEX_CHARS_FROM_gen-dev-key"