Directories
¶
| Path | Synopsis |
|---|---|
|
Package action provides types and execution logic for the Actions system.
|
Package action provides types and execution logic for the Actions system. |
|
Package api provides a chi+Huma REST API server for scafctl.
|
Package api provides a chi+Huma REST API server for scafctl. |
|
Package auth provides authentication handler interfaces and utilities for scafctl.
|
Package auth provides authentication handler interfaces and utilities for scafctl. |
|
diagnose
Package diagnose provides reusable auth diagnostic checks.
|
Package diagnose provides reusable auth diagnostic checks. |
|
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. |
|
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. |
|
hostname
Package hostname resolves a user-supplied hostname selector (e.g.
|
Package hostname resolves a user-supplied hostname selector (e.g. |
|
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. |
|
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. |
|
oauth2
Package oauth2 implements a generic configurable OAuth2 auth handler.
|
Package oauth2 implements a generic configurable OAuth2 auth handler. |
|
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. |
|
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. |
|
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. |
|
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). |
|
Package catalog provides artifact storage and retrieval for scafctl.
|
Package catalog provides artifact storage and retrieval for scafctl. |
|
search
Package search provides catalog search and discovery functionality.
|
Package search provides catalog search and discovery functionality. |
|
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. |
|
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. |
|
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. |
|
flags
Package flags provides shared flag helpers for scafctl commands.
|
Package flags provides shared flag helpers for scafctl commands. |
|
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`. |
|
scafctl/auth
Package auth provides CLI commands for authentication management.
|
Package auth provides CLI commands for authentication management. |
|
scafctl/cache
Package cache provides commands for managing the scafctl cache.
|
Package cache provides commands for managing the scafctl cache. |
|
scafctl/catalog
Package catalog provides commands for inspecting and managing the local catalog.
|
Package catalog provides commands for inspecting and managing the local catalog. |
|
scafctl/config
Package config provides commands for managing scafctl configuration.
|
Package config provides commands for managing scafctl configuration. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
scafctl/lint
Package lint provides the lint command for validating solutions.
|
Package lint provides the lint command for validating solutions. |
|
scafctl/new
Package newcmd provides commands for creating new scafctl resources.
|
Package newcmd provides commands for creating new scafctl resources. |
|
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. |
|
scafctl/plugins
Package plugins provides commands for managing scafctl plugins.
|
Package plugins provides commands for managing scafctl plugins. |
|
scafctl/run
Package run provides the CLI run commands.
|
Package run provides the CLI run commands. |
|
scafctl/secrets
Package secrets provides commands for managing scafctl secrets.
|
Package secrets provides commands for managing scafctl secrets. |
|
scafctl/state
Package state provides commands for managing scafctl state files.
|
Package state provides commands for managing scafctl state files. |
|
scafctl/vendor
Package vendor provides CLI commands for managing vendored solution dependencies.
|
Package vendor provides CLI commands for managing vendored solution dependencies. |
|
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. |
|
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. |
|
Package config provides application configuration management using Viper.
|
Package config provides application configuration management using Viper. |
|
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. |
|
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. |
|
Package dnslabel converts arbitrary strings into DNS-safe label format (RFC 1123).
|
Package dnslabel converts arbitrary strings into DNS-safe label format (RFC 1123). |
|
Package dryrun provides structured WhatIf report generation for scafctl solutions.
|
Package dryrun provides structured WhatIf report generation for scafctl solutions. |
|
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. |
|
Package errexplain provides structured error explanation and pattern matching for scafctl errors.
|
Package errexplain provides structured error explanation and pattern matching for scafctl errors. |
|
Package examples provides access to embedded scafctl example files.
|
Package examples provides access to embedded scafctl example files. |
|
Package exitcode provides centralized exit codes for CLI commands.
|
Package exitcode provides centralized exit codes for CLI commands. |
|
Package fingerprint provides file-based fingerprinting for action up-to-date checks.
|
Package fingerprint provides file-based fingerprinting for action up-to-date checks. |
|
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. |
|
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. |
|
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. |
|
Package git provides utilities for inspecting Git repository state.
|
Package git provides utilities for inspecting Git repository state. |
|
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. |
|
ext
Package ext provides the Go template extension function registry.
|
Package ext provides the Go template extension function registry. |
|
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. |
|
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. |
|
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). |
|
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. |
|
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. |
|
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. |
|
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.). |
|
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. |
|
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. |
|
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. |
|
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. |
|
Package lint provides business logic for validating solution files.
|
Package lint provides business logic for validating solution files. |
|
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. |
|
Package metrics provides OpenTelemetry metric instruments for the scafctl application.
|
Package metrics provides OpenTelemetry metric instruments for the scafctl application. |
|
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/). |
|
builtin/stateprovider
Package stateprovider implements the read-only "state" provider.
|
Package stateprovider implements the read-only "state" provider. |
|
detail
Package detail provides shared business logic for building structured provider information.
|
Package detail provides shared business logic for building structured provider information. |
|
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. |
|
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. |
|
Package resolver provides type coercion utilities.
|
Package resolver provides type coercion utilities. |
|
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. |
|
Package runmode provides execution mode signaling via context.
|
Package runmode provides execution mode signaling via context. |
|
Package sbom generates SPDX SBOM documents for scafctl catalog artifacts.
|
Package sbom generates SPDX SBOM documents for scafctl catalog artifacts. |
|
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. |
|
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. |
|
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. |
|
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. |
|
Package shellexec provides cross-platform shell command execution.
|
Package shellexec provides cross-platform shell command execution. |
|
Package soldiff provides structural comparison of two solutions.
|
Package soldiff provides structural comparison of two solutions. |
|
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. |
|
execute
Package execute provides business logic for validating and executing solutions.
|
Package execute provides business logic for validating and executing solutions. |
|
inspect
Package inspect provides business logic for inspecting and explaining solutions.
|
Package inspect provides business logic for inspecting and explaining solutions. |
|
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. |
|
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. |
|
soltesting
Package soltesting provides types and utilities for functional testing of solutions.
|
Package soltesting provides types and utilities for functional testing of solutions. |
|
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. |
|
soltesting/mockserver
Package mockserver provides a configurable HTTP mock server for functional testing.
|
Package mockserver provides a configurable HTTP mock server for functional testing. |
|
walk
Package walk provides a visitor/walker pattern for traversing solution structures.
|
Package walk provides a visitor/walker pattern for traversing solution structures. |
|
Package sourcepos provides source-location-aware parsing for YAML files.
|
Package sourcepos provides source-location-aware parsing for YAML files. |
|
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. |
|
format
Package format provides human-readable formatting utilities for bytes and durations.
|
Package format provides human-readable formatting utilities for bytes and durations. |
|
input
Package input provides interactive user input functionality for the terminal.
|
Package input provides interactive user input functionality for the 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. |
|
output
Package output provides output formatting utilities for scafctl commands.
|
Package output provides output formatting utilities for scafctl commands. |
|
writer
Package writer provides a centralized CLI output writer for scafctl.
|
Package writer provides a centralized CLI output writer for scafctl. |
|
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.