No description
- Go 96.5%
- Nix 2.4%
- Makefile 1.1%
|
All checks were successful
ci-main / test (push) Successful in 3m40s
The runner's preinstalled golangci-lint v1.64.8 cannot load a v2 config against a Go 1.26 module. Switching the Makefile recipe to a 'go run' invocation makes the lint version part of the source tree, which lets the CI step drop the curl install entirely and avoids the older binary on PATH winning. |
||
|---|---|---|
| .forgejo/workflows | ||
| docs | ||
| pkg | ||
| .envrc | ||
| .gitignore | ||
| .golangci.yml | ||
| flake.nix | ||
| go.mod | ||
| go.sum | ||
| Makefile | ||
| README.md | ||
| renovate.json | ||
controller-util
Shared helpers for the MMS Kubernetes controllers (tenant-controller,
project-controller, zitadel-sso-controller). One source of truth for
boilerplate that used to live in each repo independently.
Layout
Follows golang-standards/project-layout: every importable
package lives under pkg/. See docs/layout.md for
the full file tree.
Packages
All under edp.buildth.ing/DevFW-CICD/controller-util/pkg/<name>.
| Package | What it gives you |
|---|---|
pkg/conditions |
Set, IsTrue, IsFalse, PersistFailure — apimeta-backed condition setters that carry the observedGeneration invariant, plus a status-write helper that surfaces both the original error and the write error via errors.Join. |
pkg/retry |
Policy, Default, Do — bounded retry with jittered exponential backoff. |
pkg/kcppath |
Join, Split, Leaf, OIDCSubjectPrefix — kcp logical-cluster path string ops + the oidc: prefix kcp's WorkspaceAuthenticationConfiguration applies. |
pkg/kcputil |
ResolveOwnerName, ResolvePath — read the kcp LogicalCluster singleton inside a workspace. |
pkg/kcpclient |
Scoper — copy a rest.Config and rewrite Host to /clusters/<path>. IsDiscoveryUnavailable — sniff "API not served here" errors from kcp's discovery chain. |
pkg/kcpws |
Idempotent Ensure* helpers for kcp Workspace, WorkspaceType, APIBinding, ClusterRole, ClusterRoleBinding. |
pkg/name |
DNSSegment, KubeName — DNS-friendly subject sanitizers. |
pkg/mctest |
FakeManager, FakeCluster, NewManager — minimum mcmanager.Manager surface for unit tests. |
No prometheus dep, no project-specific CRDs. Consumers wrap the helpers with their own instrumentation at the call site.