internal/

directory
v0.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 14, 2026 License: MIT

Directories

Path Synopsis
Package addons is the Go port of the addon render pipeline (.lok8s/libs/addons: addons::render) — the SINGLE canonical khelm render shared by the bootstrap engine and the KubeOne driver's pre-apply addon staging.
Package addons is the Go port of the addon render pipeline (.lok8s/libs/addons: addons::render) — the SINGLE canonical khelm render shared by the bootstrap engine and the KubeOne driver's pre-apply addon staging.
Package assets ships the framework's first-party files inside the binary and materializes them into a project on first use (the "eject model").
Package assets ships the framework's first-party files inside the binary and materializes them into a project on first use (the "eject model").
Package audit is the Go port of the argsh static security-posture audit (.lok8s/libs/audit): a linter-style command that reads cluster.lok8s.yaml + the rendered addon/kustomize inputs (exactly like `lo lint` — NO live cluster needed) and reports security findings with a severity, a per-cluster score, and a non-zero exit when any FAIL-level finding is present.
Package audit is the Go port of the argsh static security-posture audit (.lok8s/libs/audit): a linter-style command that reads cluster.lok8s.yaml + the rendered addon/kustomize inputs (exactly like `lo lint` — NO live cluster needed) and reports security findings with a severity, a per-cluster score, and a non-zero exit when any FAIL-level finding is present.
Package bootstrap is the Go port of the framework-level cluster infrastructure addon system (.lok8s/libs/bootstrap, all 1413 lines — bash wins on any divergence).
Package bootstrap is the Go port of the framework-level cluster infrastructure addon system (.lok8s/libs/bootstrap, all 1413 lines — bash wins on any divergence).
Package bootstrapspec is the ONE reader of spec.bootstrap entries.
Package bootstrapspec is the ONE reader of spec.bootstrap entries.
Package build is the Go port of the argsh build pipeline (.lok8s/libs/build): kustomize render of a domain's composed kustomization into one clusters/<domain>/artifacts.yaml, plus the spec-declared split emit into per-resource GitOps files under clusters/<domain>/artifacts/.
Package build is the Go port of the argsh build pipeline (.lok8s/libs/build): kustomize render of a domain's composed kustomization into one clusters/<domain>/artifacts.yaml, plus the spec-declared split emit into per-resource GitOps files under clusters/<domain>/artifacts/.
Package cli builds the lo command tree.
Package cli builds the lo command tree.
Package clock holds the wait seam every retry and poll loop sleeps through.
Package clock holds the wait seam every retry and poll loop sleeps through.
Package config resolves the lok8s project layout and settings.
Package config resolves the lok8s project layout and settings.
Package crds is the Go port of .lok8s/libs/crds — operator CRD generation from a single schema source.
Package crds is the Go port of .lok8s/libs/crds — operator CRD generation from a single schema source.
Package credentials holds the two guards every driver runs before it talks to a cloud API: the provider credential presence check (bash: utils/credentials.sh, credentials::require) and the HTTPS-only URL check (bash: utils/http.sh, http::require_https).
Package credentials holds the two guards every driver runs before it talks to a cloud API: the provider credential presence check (bash: utils/credentials.sh, credentials::require) and the HTTPS-only URL check (bash: utils/http.sh, http::require_https).
Package deploy is the Go port of the domain artifact deployment (.lok8s/libs/deploy: deploy::apply / deploy::apply_filtered / deploy::_apply / deploy::wait_crds — bash wins on any divergence; the `lo destroy` half of that file stays with the provision port).
Package deploy is the Go port of the domain artifact deployment (.lok8s/libs/deploy: deploy::apply / deploy::apply_filtered / deploy::_apply / deploy::wait_crds — bash wins on any divergence; the `lo destroy` half of that file stays with the provision port).
Package domain is the ONE place domain resolution + driver identity live — the Go port of .lok8s/utils/domain.sh, preserving its precedence chain, warnings, and error contract exactly.
Package domain is the ONE place domain resolution + driver identity live — the Go port of .lok8s/utils/domain.sh, preserving its precedence chain, warnings, and error contract exactly.
Package driver defines the Go driver contract — the port of the bash driver contract (.lok8s/drivers/README.md): every cluster-architecture driver implements provision/destroy/status/kubeconfig, plus the optional export and post-provision hooks.
Package driver defines the Go driver contract — the port of the bash driver contract (.lok8s/drivers/README.md): every cluster-architecture driver implements provision/destroy/status/kubeconfig, plus the optional export and post-provision hooks.
capi
Package capi is the Go port of the Capi driver (.lok8s/drivers/capi/{main,generate}): production clusters via Cluster API.
Package capi is the Go port of the Capi driver (.lok8s/drivers/capi/{main,generate}): production clusters via Cluster API.
kkp
Package kkp is the Go port of the KKP driver (.lok8s/drivers/kkp/{main, api}): managed clusters via Kubermatic Kubernetes Platform.
Package kkp is the Go port of the KKP driver (.lok8s/drivers/kkp/{main, api}): managed clusters via Kubermatic Kubernetes Platform.
kubehz
Package kubehz is the Go port of the kubehz driver (.lok8s/drivers/kubehz/ main): Spaces on the kubehz shared control plane (spec `kind: Kubehz`, spec.kubehz.hosting: shared).
Package kubehz is the Go port of the kubehz driver (.lok8s/drivers/kubehz/ main): Spaces on the kubehz shared control plane (spec `kind: Kubehz`, spec.kubehz.hosting: shared).
kubeone
Package kubeone is the Go port of the KubeOne driver (.lok8s/drivers/kubeone/{main,config}): standalone production clusters via the kubeone CLI, which stays an exec (the binary owns the node walk).
Package kubeone is the Go port of the KubeOne driver (.lok8s/drivers/kubeone/{main,config}): standalone production clusters via the kubeone CLI, which stays an exec (the binary owns the node walk).
lo
Package lo is the Go port of the Lo (kind) driver (.lok8s/drivers/lo/{main,utils/*.sh,libs/registry}): local/CI clusters via kind, with the project docker network, the framework registries (build/cache + pull-through mirrors), containerd certs.d config, CoreDNS wiring, the remote-VM CI mode, and the node-IP heal.
Package lo is the Go port of the Lo (kind) driver (.lok8s/drivers/lo/{main,utils/*.sh,libs/registry}): local/CI clusters via kind, with the project docker network, the framework registries (build/cache + pull-through mirrors), containerd certs.d config, CoreDNS wiring, the remote-VM CI mode, and the node-IP heal.
Package env is the Go port of .lok8s/libs/env — environment and service configuration.
Package env is the Go port of .lok8s/libs/env — environment and service configuration.
Package execx locates and runs the external tools lo still shells out to.
Package execx locates and runs the external tools lo still shells out to.
Package fsutil holds the file-existence predicates the bash `[[ -f ]]`, `[[ -d ]]` and `[[ -e ]]` tests port to.
Package fsutil holds the file-existence predicates the bash `[[ -f ]]`, `[[ -d ]]` and `[[ -e ]]` tests port to.
Package gitops is the Go port of .lok8s/libs/gitops — DEFERRED (post-refactor redesign), exactly like the bash.
Package gitops is the Go port of .lok8s/libs/gitops — DEFERRED (post-refactor redesign), exactly like the bash.
Package hooks is the Go port of .lok8s/libs/hooks — dev-time lifecycle actions on rendered artifacts, selected by label.
Package hooks is the Go port of .lok8s/libs/hooks — dev-time lifecycle actions on rendered artifacts, selected by label.
Package image is the Go port of .lok8s/libs/image — pre-pull private images into the local cache registry.
Package image is the Go port of .lok8s/libs/image — pre-pull private images into the local cache registry.
Package initctx reads the room for a bare `lo init`: where the user stands (a project root, a subdirectory, a service directory, a submodule under an umbrella project, an empty or a bare directory), what git says about it, what the project already has, and whether a terminal is attached.
Package initctx reads the room for a bare `lo init`: where the user stands (a project root, a subdirectory, a service directory, a submodule under an umbrella project, an empty or a bare directory), what git says about it, what the project already has, and whether a terminal is attached.
Package inventory is the Go port of the ClusterInventory writer (.lok8s/libs/inventory/main — bash wins on any divergence).
Package inventory is the Go port of the ClusterInventory writer (.lok8s/libs/inventory/main — bash wins on any divergence).
apply.go — the Go port of kapply::apply and its healing half (.lok8s/utils/kapply.sh): server-side kubectl apply with bounded, interactive-or-opt-in self-healing.
apply.go — the Go port of kapply::apply and its healing half (.lok8s/utils/kapply.sh): server-side kubectl apply with bounded, interactive-or-opt-in self-healing.
Package kubehz is the Go port of the kubehz platform integration (.lok8s/libs/kubehz/{main,shared,hosted,node,handover,deploy} and the vendored manifests/ tree): the spec.kubehz config reader + validator, the platform-api client (register / deregister / status / assess / re-enroll / claim), the hosted-control-plane flows the kubeone and capi drivers call through their Hooks, Spaces on the shared control plane (hosting: shared — the kubehz driver), the static-pool node verbs, the control-plane handover target side, and the in-cluster agent deploy.
Package kubehz is the Go port of the kubehz platform integration (.lok8s/libs/kubehz/{main,shared,hosted,node,handover,deploy} and the vendored manifests/ tree): the spec.kubehz config reader + validator, the platform-api client (register / deregister / status / assess / re-enroll / claim), the hosted-control-plane flows the kubeone and capi drivers call through their Hooks, Spaces on the shared control plane (hosting: shared — the kubehz driver), the static-pool node verbs, the control-plane handover target side, and the in-cluster agent deploy.
Package lint is the Go port of .lok8s/libs/lint — structure and spec validation.
Package lint is the Go port of .lok8s/libs/lint — structure and spec validation.
Package oidc reads spec.oidc from a cluster spec into the LOK8S_SPEC_OIDC_* environment — the Go port of .lok8s/utils/oidc.sh (oidc::enabled / oidc::load_spec).
Package oidc reads spec.oidc from a cluster spec into the LOK8S_SPEC_OIDC_* environment — the Go port of .lok8s/utils/oidc.sh (oidc::enabled / oidc::load_spec).
Package operator is the Go port of the shell-operator hooks (operator/hooks/*.sh, frozen at .archive/legacy/operator/hooks/): the three reconcilers behind `lo operator <hook>`, which the hook shims exec.
Package operator is the Go port of the shell-operator hooks (operator/hooks/*.sh, frozen at .archive/legacy/operator/hooks/): the three reconcilers behind `lo operator <hook>`, which the hook shims exec.
provider
bridge
Package bridge runs the BASH infrastructure providers (providers/<name>/main in the bash tree) as children of the Go dispatch.
Package bridge runs the BASH infrastructure providers (providers/<name>/main in the bash tree) as children of the Go dispatch.
Package provision is the Go port of the cluster-lifecycle dispatch (.lok8s/libs/provision): spec resolution, the real-infrastructure gate, provider-credential loading, and the provision/destroy/status dispatch over the driver registry (internal/driver).
Package provision is the Go port of the cluster-lifecycle dispatch (.lok8s/libs/provision): spec resolution, the real-infrastructure gate, provider-credential loading, and the provision/destroy/status dispatch over the driver registry (internal/driver).
Package recover is the Go port of `lo recover <domain>` — rebuild a cluster from bare metal (disaster recovery); .lok8s/libs/recover, bash wins on any divergence.
Package recover is the Go port of `lo recover <domain>` — rebuild a cluster from bare metal (disaster recovery); .lok8s/libs/recover, bash wins on any divergence.
Package render is the single kustomize entry point for the Go binary.
Package render is the single kustomize entry point for the Go binary.
Package scaffold is the Go port of .lok8s/libs/init — `lo init service` and `lo init test`: scaffold lok8s project/service config from a correct template.
Package scaffold is the Go port of .lok8s/libs/init — `lo init service` and `lo init test`: scaffold lok8s project/service config from a correct template.
Package secrets is the Go port of .lok8s/libs/secrets — secret cache management with SOPS/age encryption.
Package secrets is the Go port of .lok8s/libs/secrets — secret cache management with SOPS/age encryption.
Package testutil holds the fixture helpers the package tests share: the repo root (for tests that read the checked-in tree), the mkdir-then-write fixture writer, the drift gate (drift.go) and the golden compare with its -update rewrite.
Package testutil holds the fixture helpers the package tests share: the repo root (for tests that read the checked-in tree), the mkdir-then-write fixture writer, the drift gate (drift.go) and the golden compare with its -update rewrite.
Package tilt is the Go port of .lok8s/libs/tilt — Tilt lifecycle management (`lo tilt {up,ci,down,status,restart,preflight}`).
Package tilt is the Go port of .lok8s/libs/tilt — Tilt lifecycle management (`lo tilt {up,ci,down,status,restart,preflight}`).
Package toolchain owns the consumer toolchain of a lok8s project: the pinned versions of the tools `lo` execs, the .bin/b.yaml template that declares them for b (github.com/fentas/b), the verified bootstrap of b itself, and the doctor checks that verify what landed.
Package toolchain owns the consumer toolchain of a lok8s project: the pinned versions of the tools `lo` execs, the .bin/b.yaml template that declares them for b (github.com/fentas/b), the verified bootstrap of b itself, and the doctor checks that verify what landed.
Package ui carries the CLI's output conventions, matching the bash implementation's verbose.sh helpers byte for byte so ported commands stay indistinguishable from their argsh originals.
Package ui carries the CLI's output conventions, matching the bash implementation's verbose.sh helpers byte for byte so ported commands stay indistinguishable from their argsh originals.
Package yqsem is the ONE yq-semantics reader over yaml.v3 nodes.
Package yqsem is the ONE yq-semantics reader over yaml.v3 nodes.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL