awslabs / awslabs/aws-deployment-framework

Support Include/Exclude of OUs instead of "protected"

Open
#123 3 comments 3 reactions 0 assignees View on GitHub
enhancement
Dominant language
Python
Stars
699
Forks
235
Avg merge
20h 53m
Merged PRs (30d)
7

Description

When deploying the ADF into an existing organization, it might be nice to have more control over which OUs should be bootstrapped, as another process (eg Landing Zone / Control Tower) might be responsible for creating account, creating ou's and moving accounts to them.
It should be possible to configure ADF to only bootstrap inside an explicit allow list of ou's.

Going even further, it would be nice to support both OU-paths, OU-ids and Account-ids.
Using the allow list first and the blacklist to filter out after that is probably the nost logical.

Examples:

------

deploy everywhere
```
config:
[...]
```

-------

deploy everywhere, except in ou-123 and below and account 123456789012:
```
config:
exclude:
- ou-123
- '123456789012'
```

------

deploy in the deployment ou (and below) and in the applications ou (and below), but skip everything in applications/sandbox and below

```
config:
include:
- deployment
- applications
exclude:
- applications/sandbox
```

----

The only downside is that this configuration won't be possible (as applications/sandbox/exception would stay excluded if include is always evaluated first)

```
config:
include:
- deployment
- applications
- applications/sandbox/exception
exclude:
- applications/sandbox
```

Contributor guide

Open the contributing guide

Research direction

No source file, test, or entry point is named. Start by locating the configuration handling and AWS Organizations bootstrap logic, then trace how protected OUs are currently filtered. Done should be defined by tests covering include and exclude lists with OU paths, OU IDs, account IDs, and the precedence described in the examples.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, python
Domain
cloud, devops, infrastructure
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.