Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
scafctl
command
|
|
|
examples
|
|
|
plugins/echo
command
|
|
|
pkg
|
|
|
action
Package action provides types and execution logic for the Actions system.
|
Package action provides types and execution logic for the Actions system. |
|
api
Package api provides a chi+Huma REST API server for scafctl.
|
Package api provides a chi+Huma REST API server for scafctl. |
|
auth
Package auth provides authentication handler interfaces and utilities for scafctl.
|
Package auth provides authentication handler interfaces and utilities for scafctl. |
|
auth/diagnose
Package diagnose provides reusable auth diagnostic checks.
|
Package diagnose provides reusable auth diagnostic checks. |
|
auth/execcredential
Package execcredential builds Kubernetes client-go ExecCredential payloads from scafctl auth tokens.
|
Package execcredential builds Kubernetes client-go ExecCredential payloads from scafctl auth tokens. |
|
auth/handlerdep
Package handlerdep decides how an auth handler name maps to a plugin dependency for catalog resolution.
|
Package handlerdep decides how an auth handler name maps to a plugin dependency for catalog resolution. |
|
auth/hostname
Package hostname resolves a user-supplied hostname selector (e.g.
|
Package hostname resolves a user-supplied hostname selector (e.g. |
|
auth/loginui
Package loginui renders the interactive login experience shared by the 'auth login' and 'kube login' commands.
|
Package loginui renders the interactive login experience shared by the 'auth login' and 'kube login' commands. |
|
auth/migrate
Package migrate provides domain logic for migrating built-in auth handlers to plugin-based handlers.
|
Package migrate provides domain logic for migrating built-in auth handlers to plugin-based handlers. |
|
auth/oauth2
Package oauth2 implements a generic configurable OAuth2 auth handler.
|
Package oauth2 implements a generic configurable OAuth2 auth handler. |
|
auth/official
Package official defines the manifest of first-party auth handlers that scafctl distributes as standalone gRPC plugins (published to ghcr.io/oakwood-commons/auth-handlers/<name>), NOT compiled into the binary.
|
Package official defines the manifest of first-party auth handlers that scafctl distributes as standalone gRPC plugins (published to ghcr.io/oakwood-commons/auth-handlers/<name>), NOT compiled into the binary. |
|
auth/statusrows
Package statusrows contains the domain logic for expanding an auth handler's status into per-cluster (per-instance) sessions.
|
Package statusrows contains the domain logic for expanding an auth handler's status into per-cluster (per-instance) sessions. |
|
cache
Package cache provides domain logic for cache management operations including clearing directories, gathering cache information, and formatting byte sizes.
|
Package cache provides domain logic for cache management operations including clearing directories, gathering cache information, and formatting byte sizes. |
|
call
Package call implements the bind and expand engine for parameterized provider calls (spec.calls).
|
Package call implements the bind and expand engine for parameterized provider calls (spec.calls). |
|
catalog
Package catalog provides artifact storage and retrieval for scafctl.
|
Package catalog provides artifact storage and retrieval for scafctl. |
|
catalog/search
Package search provides catalog search and discovery functionality.
|
Package search provides catalog search and discovery functionality. |
|
celexp/detail
Package detail provides functions for building structured output representations of CEL extension functions.
|
Package detail provides functions for building structured output representations of CEL extension functions. |
|
celexp/ext/host
Package host provides CEL extension functions that expose the host's resolved XDG configuration directory to in-process resolver expressions.
|
Package host provides CEL extension functions that expose the host's resolved XDG configuration directory to in-process resolver expressions. |
|
clock
Package clock provides a minimal Clock interface for time-dependent code.
|
Package clock provides a minimal Clock interface for time-dependent code. |
|
cmd/cmdutil
Package cmdutil provides shared helpers for wiring scafctl cobra commands.
|
Package cmdutil provides shared helpers for wiring scafctl cobra commands. |
|
cmd/flags
Package flags provides shared flag helpers for scafctl commands.
|
Package flags provides shared flag helpers for scafctl commands. |
|
cmd/scafctl/aliassave
Package aliassave provides the shared post-login "--save-alias" persistence flow used by both `auth login` and `kube login`.
|
Package aliassave provides the shared post-login "--save-alias" persistence flow used by both `auth login` and `kube login`. |
|
cmd/scafctl/auth
Package auth provides CLI commands for authentication management.
|
Package auth provides CLI commands for authentication management. |
|
cmd/scafctl/cache
Package cache provides commands for managing the scafctl cache.
|
Package cache provides commands for managing the scafctl cache. |
|
cmd/scafctl/catalog
Package catalog provides commands for inspecting and managing the local catalog.
|
Package catalog provides commands for inspecting and managing the local catalog. |
|
cmd/scafctl/config
Package config provides commands for managing scafctl configuration.
|
Package config provides commands for managing scafctl configuration. |
|
cmd/scafctl/credentialhelper
Package credentialhelper implements the scafctl credential-helper CLI commands, exposing scafctl's encrypted credential store via the Docker credential helper protocol.
|
Package credentialhelper implements the scafctl credential-helper CLI commands, exposing scafctl's encrypted credential store via the Docker credential helper protocol. |
|
cmd/scafctl/diff
Package diff provides the polymorphic top-level `diff` command verb, with subcommands for comparing solutions, bundles, and snapshots.
|
Package diff provides the polymorphic top-level `diff` command verb, with subcommands for comparing solutions, bundles, and snapshots. |
|
cmd/scafctl/eval
Package eval provides commands for evaluating and validating CEL expressions and Go templates.
|
Package eval provides commands for evaluating and validating CEL expressions and Go templates. |
|
cmd/scafctl/extract
Package extract provides the polymorphic top-level `extract` command verb, with subcommands for extracting files from different scafctl artifact kinds.
|
Package extract provides the polymorphic top-level `extract` command verb, with subcommands for extracting files from different scafctl artifact kinds. |
|
cmd/scafctl/get/snapshot
Package snapshot provides the `get snapshot` subcommand, which loads and displays the contents of a resolver execution snapshot file.
|
Package snapshot provides the `get snapshot` subcommand, which loads and displays the contents of a resolver execution snapshot file. |
|
cmd/scafctl/kube
Package kube provides the 'kube' command group and its 'login' / 'logout' subcommands that authenticate to a Kubernetes / OpenShift cluster and write a kubeconfig exec-credential entry.
|
Package kube provides the 'kube' command group and its 'login' / 'logout' subcommands that authenticate to a Kubernetes / OpenShift cluster and write a kubeconfig exec-credential entry. |
|
cmd/scafctl/lint
Package lint provides the lint command for validating solutions.
|
Package lint provides the lint command for validating solutions. |
|
cmd/scafctl/new
Package newcmd provides commands for creating new scafctl resources.
|
Package newcmd provides commands for creating new scafctl resources. |
|
cmd/scafctl/packagecmd
Package packagecmd provides the "package" command for packaging artifacts into the local catalog.
|
Package packagecmd provides the "package" command for packaging artifacts into the local catalog. |
|
cmd/scafctl/plugins
Package plugins provides commands for managing scafctl plugins.
|
Package plugins provides commands for managing scafctl plugins. |
|
cmd/scafctl/run
Package run provides the CLI run commands.
|
Package run provides the CLI run commands. |
|
cmd/scafctl/secrets
Package secrets provides commands for managing scafctl secrets.
|
Package secrets provides commands for managing scafctl secrets. |
|
cmd/scafctl/state
Package state provides commands for managing scafctl state files.
|
Package state provides commands for managing scafctl state files. |
|
cmd/scafctl/vendor
Package vendor provides CLI commands for managing vendored solution dependencies.
|
Package vendor provides CLI commands for managing vendored solution dependencies. |
|
cmdinfo
Package cmdinfo collects structured information about CLI commands for kvx-powered discovery and exploration.
|
Package cmdinfo collects structured information about CLI commands for kvx-powered discovery and exploration. |
|
concepts
Package concepts provides a registry of scafctl domain concepts with concise explanations, examples, and cross-references.
|
Package concepts provides a registry of scafctl domain concepts with concise explanations, examples, and cross-references. |
|
config
Package config provides application configuration management using Viper.
|
Package config provides application configuration management using Viper. |
|
contextvars
Package contextvars provides a registry of the special "context variables" injected into scafctl CEL and Go-template evaluation (e.g.
|
Package contextvars provides a registry of the special "context variables" injected into scafctl CEL and Go-template evaluation (e.g. |
|
credentialhelper
Package credentialhelper implements the Docker credential helper protocol, exposing scafctl's encrypted credential store to Docker, Podman, Buildah, and any OCI client.
|
Package credentialhelper implements the Docker credential helper protocol, exposing scafctl's encrypted credential store to Docker, Podman, Buildah, and any OCI client. |
|
dnslabel
Package dnslabel converts arbitrary strings into DNS-safe label format (RFC 1123).
|
Package dnslabel converts arbitrary strings into DNS-safe label format (RFC 1123). |
|
dryrun
Package dryrun provides structured WhatIf report generation for scafctl solutions.
|
Package dryrun provides structured WhatIf report generation for scafctl solutions. |
|
duration
Package duration provides a Duration type that supports string-based and numeric YAML/JSON marshalling.
|
Package duration provides a Duration type that supports string-based and numeric YAML/JSON marshalling. |
|
errexplain
Package errexplain provides structured error explanation and pattern matching for scafctl errors.
|
Package errexplain provides structured error explanation and pattern matching for scafctl errors. |
|
examples
Package examples provides access to embedded scafctl example files.
|
Package examples provides access to embedded scafctl example files. |
|
exitcode
Package exitcode provides centralized exit codes for CLI commands.
|
Package exitcode provides centralized exit codes for CLI commands. |
|
fingerprint
Package fingerprint provides file-based fingerprinting for action up-to-date checks.
|
Package fingerprint provides file-based fingerprinting for action up-to-date checks. |
|
flags/example
command
Package main provides an example of using pkg/flags for key-value parsing with validation.
|
Package main provides an example of using pkg/flags for key-value parsing with validation. |
|
flags/resolve
Package resolve provides resolution and fetching of key-value flag values based on URI scheme prefixes.
|
Package resolve provides resolution and fetching of key-value flag values based on URI scheme prefixes. |
|
flags/validate
Package validate provides validation for key-value flag values based on URI scheme prefixes.
|
Package validate provides validation for key-value flag values based on URI scheme prefixes. |
|
git
Package git provides utilities for inspecting Git repository state.
|
Package git provides utilities for inspecting Git repository state. |
|
gotmpl/detail
Package detail provides functions for building structured output representations of Go template extension functions.
|
Package detail provides functions for building structured output representations of Go template extension functions. |
|
gotmpl/ext
Package ext provides the Go template extension function registry.
|
Package ext provides the Go template extension function registry. |
|
gotmpl/ext/celeval
Package celeval provides a Go template extension function for evaluating CEL (Common Expression Language) expressions inline within Go templates.
|
Package celeval provides a Go template extension function for evaluating CEL (Common Expression Language) expressions inline within Go templates. |
|
gotmpl/ext/collections
Package collections provides Go template extension functions for filtering and projecting lists of maps, enabling common data transformation patterns directly within Go templates.
|
Package collections provides Go template extension functions for filtering and projecting lists of maps, enabling common data transformation patterns directly within Go templates. |
|
gotmpl/ext/dns
Package dns provides Go template extension functions for converting arbitrary strings into DNS-safe label format (RFC 1123).
|
Package dns provides Go template extension functions for converting arbitrary strings into DNS-safe label format (RFC 1123). |
|
gotmpl/ext/hcl
Package hcl provides a Go template extension function for converting Go objects into HCL (HashiCorp Configuration Language) format.
|
Package hcl provides a Go template extension function for converting Go objects into HCL (HashiCorp Configuration Language) format. |
|
gotmpl/ext/host
Package host provides Go template extension functions that expose the host's resolved XDG configuration directory.
|
Package host provides Go template extension functions that expose the host's resolved XDG configuration directory. |
|
gotmpl/ext/yaml
Package yaml provides Go template extension functions for YAML serialization and deserialization.
|
Package yaml provides Go template extension functions for YAML serialization and deserialization. |
|
httpc
Package httpc is a thin adapter over the standalone github.com/oakwood-commons/httpc library, adding scafctl-specific defaults (XDG cache paths, app-name-based cache key prefix) and bridging application-level concerns (OTel metrics, config.FromContext, etc.).
|
Package httpc is a thin adapter over the standalone github.com/oakwood-commons/httpc library, adding scafctl-specific defaults (XDG cache paths, app-name-based cache key prefix) and bridging application-level concerns (OTel metrics, config.FromContext, etc.). |
|
kube
Package kube provides dependency-free primitives for resolving Kubernetes / OpenShift cluster connection details by name.
|
Package kube provides dependency-free primitives for resolving Kubernetes / OpenShift cluster connection details by name. |
|
kube/clusterconfig
Package clusterconfig implements a config-driven kube.ClusterResolver so the stock scafctl binary can resolve a cluster by name for `kube login` without an embedder-provided resolver.
|
Package clusterconfig implements a config-driven kube.ClusterResolver so the stock scafctl binary can resolve a cluster by name for `kube login` without an embedder-provided resolver. |
|
kube/login
Package login orchestrates Kubernetes / OpenShift login: it resolves a cluster's connection details, runs an auth handler's interactive login, and writes a kubeconfig exec-credential entry that invokes the host binary as a client-go credential plugin on every subsequent kubectl/oc call.
|
Package login orchestrates Kubernetes / OpenShift login: it resolves a cluster's connection details, runs an auth handler's interactive login, and writes a kubeconfig exec-credential entry that invokes the host binary as a client-go credential plugin on every subsequent kubectl/oc call. |
|
kubeconfig
Package kubeconfig provides the host-side manager that drives the external kubeconfig provider plugin.
|
Package kubeconfig provides the host-side manager that drives the external kubeconfig provider plugin. |
|
lint
Package lint provides business logic for validating solution files.
|
Package lint provides business logic for validating solution files. |
|
mcp/upstream
Package upstream provides MCP upstream server proxying with automatic auth token injection.
|
Package upstream provides MCP upstream server proxying with automatic auth token injection. |
|
metrics
Package metrics provides OpenTelemetry metric instruments for the scafctl application.
|
Package metrics provides OpenTelemetry metric instruments for the scafctl application. |
|
paths
Package paths provides centralized path resolution for scafctl using the XDG Base Directory Specification (https://specifications.freedesktop.org/basedir/latest/).
|
Package paths provides centralized path resolution for scafctl using the XDG Base Directory Specification (https://specifications.freedesktop.org/basedir/latest/). |
|
provider/builtin/stateprovider
Package stateprovider implements the read-only "state" provider.
|
Package stateprovider implements the read-only "state" provider. |
|
provider/detail
Package detail provides shared business logic for building structured provider information.
|
Package detail provides shared business logic for building structured provider information. |
|
provider/official
Package official defines the registry of first-party providers that were extracted from scafctl's built-in set into standalone plugin repos.
|
Package official defines the registry of first-party providers that were extracted from scafctl's built-in set into standalone plugin repos. |
|
provider/schemahelper
Package schemahelper provides ergonomic builder functions for constructing jsonschema.Schema objects used in provider descriptors.
|
Package schemahelper provides ergonomic builder functions for constructing jsonschema.Schema objects used in provider descriptors. |
|
resolver
Package resolver provides type coercion utilities.
|
Package resolver provides type coercion utilities. |
|
resolver/refs
Package refs provides functions for extracting resolver references from Go templates and CEL expressions.
|
Package refs provides functions for extracting resolver references from Go templates and CEL expressions. |
|
runmode
Package runmode provides execution mode signaling via context.
|
Package runmode provides execution mode signaling via context. |
|
sbom
Package sbom generates SPDX SBOM documents for scafctl catalog artifacts.
|
Package sbom generates SPDX SBOM documents for scafctl catalog artifacts. |
|
scaffold
Package scaffold provides solution scaffolding logic for generating skeleton solution YAML files from parameters.
|
Package scaffold provides solution scaffolding logic for generating skeleton solution YAML files from parameters. |
|
schema
Package schema provides reflection-based struct introspection for generating kubectl explain-style documentation from Go struct tags.
|
Package schema provides reflection-based struct introspection for generating kubectl explain-style documentation from Go struct tags. |
|
secrets
Package secrets provides secure secret storage operations using AES-256-GCM encryption with OS keychain integration for master key management.
|
Package secrets provides secure secret storage operations using AES-256-GCM encryption with OS keychain integration for master key management. |
|
secrets/secretcrypto
Package secretcrypto provides password-based encryption and decryption for secret export/import operations using PBKDF2 key derivation and AES-256-GCM.
|
Package secretcrypto provides password-based encryption and decryption for secret export/import operations using PBKDF2 key derivation and AES-256-GCM. |
|
shellexec
Package shellexec provides cross-platform shell command execution.
|
Package shellexec provides cross-platform shell command execution. |
|
soldiff
Package soldiff provides structural comparison of two solutions.
|
Package soldiff provides structural comparison of two solutions. |
|
solution/builder
Package builder provides the build pipeline for composing, discovering, vendoring, and bundling solution artifacts.
|
Package builder provides the build pipeline for composing, discovering, vendoring, and bundling solution artifacts. |
|
solution/execute
Package execute provides business logic for validating and executing solutions.
|
Package execute provides business logic for validating and executing solutions. |
|
solution/inspect
Package inspect provides business logic for inspecting and explaining solutions.
|
Package inspect provides business logic for inspecting and explaining solutions. |
|
solution/prepare
Package prepare provides a standalone function for loading and preparing a solution for execution.
|
Package prepare provides a standalone function for loading and preparing a solution for execution. |
|
solution/render
Package render provides domain logic for rendering solutions, including resolver execution, registry adapters, and configuration merging.
|
Package render provides domain logic for rendering solutions, including resolver execution, registry adapters, and configuration merging. |
|
solution/soltesting
Package soltesting provides types and utilities for functional testing of solutions.
|
Package soltesting provides types and utilities for functional testing of solutions. |
|
solution/soltesting/mockexec
Package mockexec provides a configurable mock for shell command execution in functional tests.
|
Package mockexec provides a configurable mock for shell command execution in functional tests. |
|
solution/soltesting/mockserver
Package mockserver provides a configurable HTTP mock server for functional testing.
|
Package mockserver provides a configurable HTTP mock server for functional testing. |
|
solution/walk
Package walk provides a visitor/walker pattern for traversing solution structures.
|
Package walk provides a visitor/walker pattern for traversing solution structures. |
|
sourcepos
Package sourcepos provides source-location-aware parsing for YAML files.
|
Package sourcepos provides source-location-aware parsing for YAML files. |
|
telemetry
Package telemetry owns all OpenTelemetry provider construction and is the single place in the binary that imports otel/sdk/* packages.
|
Package telemetry owns all OpenTelemetry provider construction and is the single place in the binary that imports otel/sdk/* packages. |
|
terminal/format
Package format provides human-readable formatting utilities for bytes and durations.
|
Package format provides human-readable formatting utilities for bytes and durations. |
|
terminal/input
Package input provides interactive user input functionality for the terminal.
|
Package input provides interactive user input functionality for the terminal. |
|
terminal/kvx
Package kvx provides integration with the kvx data viewer library for scafctl.
|
Package kvx provides integration with the kvx data viewer library for scafctl. |
|
terminal/output
Package output provides output formatting utilities for scafctl commands.
|
Package output provides output formatting utilities for scafctl commands. |
|
terminal/writer
Package writer provides a centralized CLI output writer for scafctl.
|
Package writer provides a centralized CLI output writer for scafctl. |
|
validate
Package validate provides the domain orchestration behind the 'validate' command group.
|
Package validate provides the domain orchestration behind the 'validate' command group. |
Click to show internal directories.
Click to hide internal directories.