Profiles
A profile bundles a schema reference, assertion references, and pass configuration into a single file.
Example
name: docker-composeschema: schemas/docker-compose.yamlassertions: - assertions/docker-services.yamlpasses: 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
| Field | Description |
|---|---|
name | Profile name (informational). |
schema | Relative path to a schema file. |
assertions | List of relative paths to assertion files. |
passes | Map of pass names to config. Use null or empty for defaults. |
Pass configuration
| Pass | Config options |
|---|---|
strip-secrets | secret_paths, entropy_threshold, min_entropy_length |
strip-comments | — |
strip-defaults | skip_low_confidence |
drop-fields | patterns |
keep-fields | patterns |
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:
decoct compress config.yaml --profile docker-composeUsage
# Bundled profile by short namedecoct compress config.yaml --profile docker-compose
# Custom profile filedecoct compress config.yaml --profile profiles/docker.yamlPass 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.