Custom remote endpoints are declared with insecure_endpoint (and optionally
auth.insecure_endpoint). The insecure_ prefix serves as explicit
acknowledgment. epack validates these values, blocks them in strict production mode,
and passes them to the adapter as trusted explicit env.
Profiles Configuration
Profiles define compliance requirements for validation. They can be sourced from the registry
or from local files. Overlays customize profiles for specific environments.
epack.yaml
# Registry-sourced profile with version pinningprofiles:
- source:locktivity/soc2-basic@v1# Local profile fileprofiles:
- path:profiles/custom-policy.yaml# Overlays modify profiles for specific environmentsoverlays:
- path:profiles/overlays/production.yaml
- path:profiles/overlays/us-region.yaml
Profile fields
Field
Type
Description
source
string
Registry reference (owner/repo@version). Mutually exclusive with path.
path
string
Local file path relative to project root. Mutually exclusive with source.
Overlay fields
Field
Type
Description
source
string
Registry reference (owner/repo@version). Mutually exclusive with path.
path
string
Local file path relative to project root. Mutually exclusive with source.
Note: Profile and overlay digests are tracked in the manifest for reproducibility.
Registry-sourced profiles are version-locked in epack.lock.
Remotes Configuration
Remotes define destinations where packs can be pushed. Each remote uses an adapter that
implements the Remote Adapter Protocol. See Remotes concept
for details.
epack.yaml
remotes:# Managed remote - adapter installed via sourcelocktivity:source:locktivity/epack-remote-locktivity@^0.1.0target:workspace:myorgenvironment:prodinsecure_endpoint:https://registry.example.com# optional custom endpointauth:mode:device_code# optional manual auth preferenceprofile:default# optional auth profile nameverify:pack:true# verify pack before uploadstrict:true# fail on warningsrelease:labels:[monthly, soc2]notes:"Monthly compliance release"source:# source control metadatagit:sha_env:GITHUB_SHArepo_env:GITHUB_REPOSITORYci:run_url_env:GITHUB_RUN_URLruns:sync:true# sync run ledgers after pushpaths:# paths to search for runs
- tools/**/result.json
- runs/**/result.jsonrequire_success:false# fail push if run sync fails# External adapter - explicit absolute binary paths3:binary:/usr/local/bin/epack-remote-s3adapter:s3# optional when not inferable from binary/sourcetarget:bucket:my-evidence-bucketprefix:packs/runs:sync:false
Remote fields
Field
Type
Description
source
string
Source reference for managed adapter (owner/repo@version)
binary
string
Path to external adapter binary
adapter
string
Adapter name (inferred from source if not set)
target
object
Target workspace/environment within remote
endpoint
string
Optional endpoint URL override
auth
object
Optional adapter-specific authentication preferences for manual flows
secrets
[]string
Environment variable names to pass through to the adapter
credentials
[]string
Managed credential refs that resolve through top-level credential_sets
verify
object
Pre-push verification (pack, strict)
release
object
Release metadata (labels, notes, source)
runs
object
Run sync settings (sync, paths, require_success)
Common adapter auth modes
Authentication modes are adapter-defined. These are common examples reported by current adapters:
Mode
Description
Use Case
access_token
Pre-resolved bearer token injected by the runtime
Managed runners and the Locktivity broker
device_code
Interactive browser-based login
Local development
client_credentials
Client ID and secret supplied directly to the adapter
Manual CI or service-to-service access
Environments
Use the environments: section to override settings for different deployment environments.
Overrides are applied with --env <name> flag.
Logical credential refs mapped to opaque broker-issued IDs
collectors
map[string]Collector
Collector definitions (Full Edition)
tools
map[string]Tool
Tool definitions (Full Edition)
remotes
map[string]Remote
Remote registry definitions (Full Edition)
environments
map[string]Environment
Per-environment config overrides (Full Edition)
Collector/Tool fields
Field
Type
Description
source
stringrequired
Source reference (e.g., owner/repo@version)
config
map[string]any
Collector/tool-specific configuration
secrets
[]string
Environment variable names to pass as secrets
credentials
[]string
Managed credential refs that resolve through top-level credential_sets
Secrets vs. credentials: Use secrets for direct environment pass-through.
Use credentials when a trusted runtime or broker resolves short-lived env bundles for the component.
Global CLI Flags
These flags apply to all commands:
Flag
Description
-q, --quiet
Suppress non-essential output
--json
Output in JSON format
--no-color
Disable colored output
-v, --verbose
Enable verbose output
--no-redact
Disable redaction of secrets in errors/logs
--ci
CI mode: disable spinners, add timestamps (auto-detected from CI/GITHUB_ACTIONS env)