Skip to content

Profiles

A profile bundles a schema reference, assertion references, and pass configuration into a single file.

Example

name: docker-compose
schema: schemas/docker-compose.yaml
assertions:
- assertions/docker-services.yaml
passes:
strip-secrets:
strip-comments:
strip-defaults:
skip_low_confidence: true
emit-classes:
strip-conformant:
annotate-deviations:
deviation-summary:
prune-empty:

Paths in schema and assertions are relative to the profile file’s directory.

Fields

FieldDescription
nameProfile name (informational).
schemaRelative path to a schema file.
assertionsList of relative paths to assertion files.
passesMap of pass names to config. Use null or empty for defaults.

Pass configuration

PassConfig options
strip-secretssecret_paths, entropy_threshold, min_entropy_length
strip-comments
strip-defaultsskip_low_confidence
drop-fieldspatterns
keep-fieldspatterns
emit-classes
strip-conformant
annotate-deviations
deviation-summary
prune-empty

Bundled profiles

decoct ships with a bundled docker-compose profile that includes the schema, deployment standards assertions, and a full pipeline:

Terminal window
decoct compress config.yaml --profile docker-compose

Usage

Terminal window
# Bundled profile by short name
decoct compress config.yaml --profile docker-compose
# Custom profile file
decoct compress config.yaml --profile profiles/docker.yaml

Pass ordering is automatic — the pipeline sorts passes using topological ordering regardless of the order in your profile.

See Profile Authoring for detailed guidance on creating custom profiles.