cloudposse / cloudposse/atmos

Support configuring default arguments for atmos commands

Open
#2,567 3 comments 1 reaction 0 assignees View on GitHub
Dominant language
Go
Stars
1.4k
Forks
175
Avg merge
2d 3h
Merged PRs (30d)
134

Description

### Describe the Feature

Some projects need some specific arguments to successfully perform some atmos commands (cf below use cases).
It would help to specify those once for all in atmos config rather than having to type them each time we run these commands.

Here's what such a config could look like:

```yaml
stacks:
list:
columns: ...
args:
- --skip=terraform.state
- --identity=false
describe:
args:
- --process-functions=false
- --identity=false
components:
list:
columns: ...
args:
- --skip=terraform.state
- --identity=false
```

### Expected Behavior

Once configured, I can just type `atmos list stacks`, but what is actually executed is `atmos list stacks --skip terraform.state --identity=false`.

### Use Case

Use case 1:
https://github.com/cloudposse/atmos/issues/2566 can be worked around by adding `--skip=terraform.state` to the `atmos list stacks` command.

Use case 2:
my project defines a default identity for each stack. This prevents to set a global defaut identity. As a result, running `atmos list stacks` interactively asks for an identity to run with. This is worked around by adding `--identity=false`.

### Describe Ideal Solution

simple atmos commands (atmos list, atmos describe, ...) do what they are expected to without requiring specific arguments depending on how the prjoect and permissions are configured...

### Alternatives Considered

I don't see any, besides typing required arguments on each command.

### Additional Context

_No response_

Contributor guide

Open the contributing guide

Research direction

Start by tracing how `atmos list stacks` and the other listed commands load configuration and assemble command-line arguments. Define how configured defaults should be merged with explicitly provided arguments, then verify that the configured examples produce the expected command behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
cli
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.