Geodesic Module Usage
- Follow the “Quick Start” for Quick start
All examples are based on use cases provided in Agenda
Start the Geodesic Shell
A Geodesic Module is docker container that extends Geodesic and used as a shell.
Each Geodesic Module will have a unique name. The shell can be easily started any time by simply running that name in a terminal.
The name is a shell script in
/usr/local/bin. Make sure this path is in your
PATH environment variable.
After you create a Geodesic Module, there will be
/conf directory in the image.
The ‘/conf’ dir used to store definitions of all Backing Services.
During development, it would be very painful to have to rebuild the container everytime you make or test a change. Therefore, we recommend that you use
/localhost path in the Geodesic Shell so that you can work on your local copy. Your native
$HOME directory is mounted to
/localhost in the container.
Finally, once you have everything working, we recommend that you rebuild the Geodesic Module container to incorporate your changes in the container and do one more final test.
Build new version
To build Geodesic Module just run
make build in the module directory
Start the Shell
Run the wrapper script to start a new shell. The first thing you will need to do is to login to AWS by assuming a correct role (e.g. run
assume-role) before you can work with many of the tools in the Geodesic Module.
> staging.example.com # Mounting /home/goruha into container # Starting new staging.example.com session from cloudposse/staging.example.com:dev # Exposing port 48934 * Started EC2 metadata service at http://169.254.169.254/latest _ _ _ ___| |_ __ _ __ _(_)_ __ __ _ _____ ____ _ _ __ ___ _ __ | | ___ / __| __/ _` |/ _` | | '_ \ / _` | / _ \ \/ / _` | '_ ` _ \| '_ \| |/ _ \ \__ \ || (_| | (_| | | | | | (_| | | __/> < (_| | | | | | | |_) | | __/ |___/\__\__,_|\__, |_|_| |_|\__, | \___/_/\_\__,_|_| |_| |_| .__/|_|\___| |___/ |___/ |_| IMPORTANT: * Your $HOME directory has been mounted to `/localhost` * Use `aws-vault` to manage your sessions * Run `assume-role` to start a session -> Run 'assume-role' to login to AWS ⧉ staging example > ❌ (none) ~ ➤ assume-role Enter passphrase to unlock /conf/.awsvault/keys/: Enter token for arn:aws:iam::xxxxxxx:mfa/goruha: 365322 * Assumed role arn:aws:iam::xxxxxxx:role/OrganizationAccountAccessRole ⧉ staging example > ✅ (example-staging-admin) ~ ➤