- Go 82.2%
- Shell 7.7%
- Makefile 5.2%
- Smarty 4.9%
|
All checks were successful
ci-main / test (push) Successful in 54s
Replace gitlab.devops.telekom.de/ipcei-cis/infra/kcp-fabric-provider with edp.buildth.ing/devfw-cicd/kcp-fabric-provider in go.mod. |
||
|---|---|---|
| .forgejo/workflows | ||
| api/networking/v1alpha1 | ||
| chart | ||
| docs | ||
| hack | ||
| internal | ||
| .gitignore | ||
| .goreleaser.yaml | ||
| Dockerfile.goreleaser | ||
| go.mod | ||
| go.sum | ||
| LICENSE | ||
| main.go | ||
| Makefile | ||
| NOTICE | ||
| README.md | ||
| renovate.json | ||
kcp-fabric-provider
Provider-agnostic cross-cluster connectivity layer for Edge Connect.
This repo publishes the networking.edge-connect.eu/v1alpha1 APIExport
(FabricClass, ConnectivityFabric, ExposedService) and ships the
fabric-controller core that selects a fabric driver per ConnectivityFabric,
gates membership on substrate feasibility, aggregates status, and orders
finaliser cleanup. The per-technology fabric drivers (Cilium, Skupper,
Submariner, MCS-API) live in their own sibling repos.
Role in the platform
| Plane | Component | Repo |
|---|---|---|
| API publisher (kcp-provider) | fabric-controller (this repo) + admission/conversion webhooks |
kcp-fabric-provider |
| Fabric driver: Cilium | cilium-provider |
kcp-cilium-mesh-provider |
| Fabric driver: Skupper | TBD | kcp-skupper-provider (planned) |
| Fabric driver: Submariner | TBD | kcp-submariner-provider (planned) |
| Fabric driver: MCS-API | TBD | kcp-mcs-api-provider (planned) |
| In-CI stub driver (D12) | internal/stub/ (this repo) |
— |
The core never imports a real driver package. INV-06 is enforced by
hack/check-no-provider-imports.sh in CI.
See plan 12 for the binding decisions, milestone map, and invariant matrix.
Layout
api/networking/v1alpha1/ FabricClass, ConnectivityFabric, ExposedService Go types
cmd/ (reserved for sub-binaries if split out later)
internal/controller/ reconcilers: selection, gating, status aggregation, finalizer ordering
internal/dispatch/ label-based dispatch (selected-provider=<driver>)
internal/stub/ D12 in-CI stub driver — proves abstraction holds against >1 provider
internal/webhook/ admission webhook + ClusterMeshBinding conversion webhook
hack/ CI lint scripts (INV-06 import boundary)
chart/ Helm chart for OCI release
docs/ ADR mirrors, architecture, deployment, developer-guide, C4 L3
Quickstart (development)
make tidy # go mod tidy
make build # builds bin/kcp-fabric-provider
make test # unit tests
make vet # go vet
make lint-imports # INV-06 boundary check
make helm-lint # helm lint chart
Release
Tag v* on master triggers two Forgejo Actions workflows in parallel:
release.yaml— GoReleaser builds the multi-arch binary, Trivy-scans, pushes the OCI image toedp.buildth.ing/devfw-cicd/kcp-fabric-provider:<version>.release-charts.yaml— Helm lints + packages + pushes the chart tooci://edp.buildth.ing/devfw-cicd/kcp-fabric-provider:<version>. ChartversionandappVersionare stamped from the tag at package time.
Status
Scaffold (pre-v0.1.0). No production releases yet. See plan 12 §8 milestones M0–M3.5 for the phase-1 deliverables this repo is the home of.