pkg/

directory
v0.38.0 Latest Latest
Warning

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

Go to latest
Published: Jul 25, 2026 License: Apache-2.0

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.
api
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.
env
ext
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.
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.
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.
get
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.

Jump to

Keyboard shortcuts

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