Package: cloudreactor-aws-setup-wizard
cloudreactor-aws-setup-wizardA command-line wizard to setup customer environments for running tasks,
optionally managed by CloudReactorWhat this can do (pick and choose any or all):Create a VPC, subnets, and a security group for running ECS Fargate tasksCreate an ECS clusterGive permissions to CloudReactor to monitor and manage your ECS tasksCreate or update Run Environments in CloudReactor so it knows how to run your ECS tasksRunning the wizardUsing DockerDocker is the recommended way to run the wizard, since it removes the need to
install dependencies.To start, if you haven't already, install Docker Compose on Linux, or
Docker Desktop on macOS or Windows.Once installed, run the Docker daemon.Next, create a directory somewhere that the wizard can use to save your
settings, between runs. For example,mkdir -p saved_stateFinally run the image:docker run --rm -it -v $PWD/saved_state:/usr/app/saved_state cloudreactor/aws-setup-wizardwhich will use the saved_state subdirectory of the current directory to
save settings.Without Docker (native execution)First install native python 3.11.x or above. Then clone this repo.
In a terminal window, navigate to the repo. Then:pip install -r requirements.txt
python -m cloudreactor_aws_setup_wizardOr with pipx:pipx run cloudreactor_aws_setup_wizardPermissions required / granting accessSo that this wizard can create AWS resources for you, it needs the following
permissions:Upload CloudFormation stacksCreate IAM RolesList ECS clusters, VPCs, subnets, NAT gateways, Elastic IPs, and security
groupsCreate ECS clusters (if using the wizard to create an ECS cluster)Create VPCs, subnets, internet gateways, NAT gateways, route tables,
route table associations, VPC endpoints, and security groups
(if using the wizard to create a VPC)You can give the wizard these permissions in a few different ways:An access key and access secret that you manually enter when prompted by
the wizardPassing the access key and the secret key in the environment variablesAWS_ACCESS_KEY_IDandAWS_SECRET_ACCESS_KEYrespectively when you
launch the wizard. If you are using Docker to run the wizard:docker run --rm -it -v $PWD/saved_state:/usr/app/saved_state -e AWS_ACCESS_KEY_ID=<access_key> -e AWS_SECRET_ACCESS_KEY=<secret_key> cloudreactor/aws-setup-wizardUsing your credentials saved in~/.aws:docker run --rm -it -v $PWD/saved_state:/usr/app/saved_state -v $HOME/.aws/:/root/.aws/ -e AWS_PROFILE=<profile_name> cloudreactor/aws-setup-wizard-e AWS_PROFILE=<profile_name>can be omitted if you just want to use your
default AWS profile.If run from an EC2 instance, the wizard should inherit permissions from
the EC2 instance role (not tested yet)DevelopmentWe usepoetryto manage dependencies, build, and publish this library.To export the library dependencies:poetry export --output requirements.txtTo export the dev dependencies:poetry export --with dev --output dev-requirements.txtTo run possibly modified source code in developmentOn Linux or macOS, run:./build.sh(only needed the first time you get the source code, or whenever you update the source code from the repo)and then./wizard.shOn Windows, run:.\build.cmd(only needed the first time you get the source code, or whenever you update the source code from the repo)and then.\wizard.cmdAcknowledgementsquestionaryfor promptscloudonaut.iofor a CloudFormation
template for creating a VPCText to ASCII Art Generatorfor the logo