sluiceway.yaml
Configuration of Sluiceway. The file is optional and sits at the repo root.
Generated from the action’s JSON schema. Configuration explains each key with examples.
dashboard
- Type: mapping
- Default:
{}
dashboard.title
Title of the dashboard issue.
- Type: string
- Default:
Sluiceway dashboard - The value is at least 1 character long.
- In the guide: dashboard.title
dashboard.label
Label the dashboard issue is found by.
- Type: string
- Default:
sluiceway - The value is at least 1 character long.
- In the guide: dashboard.label
dashboard.pin
Pin the dashboard issue, best effort.
- Type: boolean
- Default:
true - In the guide: dashboard.pin
dashboard.redact
Keep resource types, resource names and property names out of the issue. The summary stays full. Not access control.
- Type: boolean
- Default:
false - In the guide: dashboard.redact
dashboard.personality
Show the header image and use the voice. false removes both.
- Type: boolean
- Default:
true - In the guide: dashboard.personality
dashboard.readOnly
Draw no boxes: pending rows have none, there is no rescan box, and a line under the Pending heading says so. For a workflow that only scans.
- Type: boolean
- Default:
false - In the guide: dashboard.readOnly
dashboard.showValues
Property paths whose old and new value may appear on the dashboard, as “old → new”. Exact paths, or “*” for part of one name. Never a value the tool marks secret, and none at all with redact on.
- Type: list of string
- Default:
[] - Each entry is at least 1 character long.
- In the guide: dashboard.showValues
tickers
Default tick rule: write, maintain, admin, or a list of usernames. A list narrows and never widens: a person on it still needs write access.
- Type: string or list of string
- Allowed values:
write,maintain,admin - A list holds at least 1 entry.
- Each entry matches
^[A-Za-z0-9_-]+$. - In the guide: tickers
deploys
false stops every deploy: resolve clears every ticked box with a note and starts nothing, and apply ends a deploy that was already started before the tool runs. Scans go on.
- Type: boolean
- Default:
true - In the guide: deploys
ignore
Globs matched against the stack id. An ignored stack has no row. An entry with a reason is listed with it under In sync.
- Type: list of string or mapping
- Default:
[] - Each entry is at least 1 character long.
- Each entry needs
globandreason. - In the guide: ignore
ignore[].glob
Glob matched against the stack id.
- Type: string
- Required: yes
- The value is at least 1 character long.
ignore[].reason
Why these stacks are left out. Shown on the dashboard under In sync.
- Type: string
- Required: yes
- The value is at least 1 character long.
scan
- Type: mapping
- Default:
{}
scan.unrelated
Globs for files that claim nothing and force nothing, such as **/*.md.
- Type: list of string
- Default:
[] - Each entry is at least 1 character long.
- In the guide: scan.unrelated
scan.logDiff
Print the tool’s own diff of every pending stack, values included, in that stack’s group of the job log and nowhere else. Anyone who can read the repo can read its job logs. Costs one more tool run per pending stack.
- Type: boolean
- Default:
false - In the guide: scan.logDiff
drift
- Type: mapping
- Default:
{}
drift.enabled
Check every stack for drift in each scan that a schedule starts, or that a person starts with Run workflow: changes made to real infrastructure outside the code. A stack with drift gets a row with a box, and a tick deploys the code as it is, which puts it back. Costs one more tool run per stack in those scans.
- Type: boolean
- Default:
false - In the guide: drift.enabled
stacks
Settings for stacks that discovery found. An entry never creates a stack.
- Type: list of mapping
- Each entry needs
path.
stacks[].path
Directory of the stack, relative to the repo root.
- Type: string
- Required: yes
- The value is at least 1 character long.
- In the guide: stacks[].path
stacks[].name
Name of the stack. Without it the entry covers every stack in path.
- Type: string
- The value is at least 1 character long.
- In the guide: stacks[].name
stacks[].tool
The tool of a stack that discovery cannot find from files alone. The entry then declares the stack at path. opentofu: a root module.
- Type: string
- Allowed values:
opentofu - In the guide: stacks[].tool
stacks[].environment
Label on the deployment record, and the GitHub Environment where one is used. Default: sluiceway.
- Type: string
- The value is at least 1 character long.
- In the guide: stacks[].environment
stacks[].tickers
Tick rule for this stack. Default: the top level tickers.
- Type: string or list of string
- Allowed values:
write,maintain,admin - A list holds at least 1 entry.
- Each entry matches
^[A-Za-z0-9_-]+$. - In the guide: stacks[].tickers
stacks[].inputs
Extra globs this stack claims, relative to the repo root.
- Type: list of string
- Each entry is at least 1 character long.
- In the guide: stacks[].inputs
stacks[].previewTimeout
Time limit for one preview of this stack, in whole minutes. Default: the preview-timeout input.
- Type: whole number
- The value is at least 1.
- In the guide: stacks[].previewTimeout
stacks[].dependsOn
Stack ids of the stacks this stack depends on. A tick on this stack is refused while one of them has a change waiting, and when both are ticked they deploy in order.
- Type: list of string
- Each entry is at least 1 character long.
- In the guide: stacks[].dependsOn
stacks[].options
Named adapter options of the tool. Only an entry with tool takes them.
- Type: mapping
stacks[].options.workspace
The workspace of the stack, selected with TF_WORKSPACE for every command. Without it, the one the environment selects, which is default.
- Type: string
- The value is at least 1 character long.
- In the guide: stacks[].options.workspace
stacks[].options.varFiles
Var files, relative to the directory of the stack, passed with -var-file in this order to every plan.
- Type: list of string
- Default:
[] - Each entry is at least 1 character long.
- In the guide: stacks[].options.varFiles
mergeAndDeploy
- Type: mapping
- Default:
{}
mergeAndDeploy.authors
Logins whose open pull requests may be merged and deployed with one tick, such as renovate[bot]. Empty turns it off.
- Type: list of string
- Each entry matches
^[A-Za-z0-9_-]+(\[bot\])?$. - In the guide: mergeAndDeploy.authors