Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

include accounts in prerequisites #11

Merged
merged 5 commits into from
Apr 23, 2024
Merged
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 12 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,15 @@ This terraform module is used to integrate AWS into a meshStack instance as a me

- [Terraform installed](https://learn.hashicorp.com/tutorials/terraform/install-cli)
- [AWS CLI installed](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)
- Three accounts to segregate accounts by function.
- management account: organization management account, the account that hosts the AWS Organization
- meshcloud account: meshStack will use this account to host the IAM users used by meshStack
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s: we should probably change the naming of this to "meshStack" account to avoid any confusion potential here

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed, I opened a separate PR for that: #17

- automation account: meshStack will use this account to manage CloudFormation that are used in [Landing Zones](https://docs.meshcloud.io/docs/meshcloud.landing-zones.html).
felixzieger marked this conversation as resolved.
Show resolved Hide resolved
- AdministratorAccess in those accounts.

This module assumes you are following landing zone best practices and segregate accounts by function.
To call this module, you will need three `aws` providers set up against different accounts
While not strictily necessary, we recommend to configure a [terraform backend](https://developer.hashicorp.com/terraform/language/settings/backends/configuration).
felixzieger marked this conversation as resolved.
Show resolved Hide resolved

- management account: organization management account, the account that hosts the AWS Organization
- meshcloud account: meshStack will use this account to host the IAM users used by meshStack
- automation account: meshStack will use this account to manage CloudFormation that are used in [Landing Zones](https://docs.meshcloud.io/docs/meshcloud.landing-zones.html).
## Overview of the integration

Here is how the users and roles for the meshplatform fit together:

Expand All @@ -40,12 +42,10 @@ graph LR;
replicatorUser--Trusted Entity with External-id-->meshfedAutomationRole
```

If you're planning to execute the setup manually, one simple way to set up the required providers is by setting up three
different profiles on your AWS CLI and include those IAM users' access and secret keys in your `~/.aws/credentials` file
as described below.
## How to authenticate against the three accounts

You can also of course set up the `aws` providers any other way you like (e.g. using `assume_role`), as long as you
pass them when calling the meshPlatform module:
One way to set up authentication is using three different profiles on your AWS CLI and include those IAM users' access and secret keys in your `~/.aws/credentials` file
as described below.

```hcl
provider aws {
Expand Down Expand Up @@ -76,6 +76,8 @@ module "meshplatform" {
}
```

See the `aws` [provider documentation](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#authentication-and-configuration) for other support authentication methods.

## Module Structure

For an overview of the module structure, refer to [generated terraform docs](./TERRAFORM_DOCS.md)
Expand Down
Loading