Aim of this repository is to provide flexible helpers/wrappers for preparing common tools (pre-defined versions) frequently required when working with AWS ecosystem/environment.
covered common CLI tools to interact with AWS ecosystem:
Note
Every script and file would be reasonable well commented and relevant details can be found there.
Important
Check details before taking any action.
Caution
User is responsible for any modification and execution of any parts from this repository.
shared scripts:
- setvariables.sh: set required versions for above mentioned tools
- get_versions_string.sh: get versions strings for above mentioned tools
- set_latest_versions_strings.sh: set latest versions strings for above mentioned tools as environment variables
GitHub Actions workflow file is covering all necessary activities which are fully automated in GitHub (re-using Docker container approach as base for automation):
- gathering and propagating latest available tools versions to Docker preparation process
- setting up of QEMU emulator (support for multi platform images)
- setting up of Docker builder
- building Docker image
- testing of created Docker image
- tagging of tested Docker image
- pushing of tagged Docker image into GitHub container registry
- capturing pushed versions details within PUSHED_CLI_VERSIONS.txt which is generated, commited and pushed into repository automatically within related workflow steps
GitHub Actions workflow run triggering options:
- automatically by scheduler at the specified time (latest versions will be included)
- manually by user:
- without providing any parameter(s) (latest versions will be included)
- any version parameter(s) can be specified as input (filled versions will be included)
Hint for local execution of GitHub Actions workflow file
- act tool can be used (read documentation first)
scripts and files:
- : GitHub Actions workflow file for automation of Docker image preparation (amd64, arm64)
-
: GitHub Actions workflow file for automation of Docker image testing (amd64, arm64)
- MacOS Docker is covered via Colima (prerequisite; installation might take long time, sometimes it is not deterministic and execution could fail, situation might change in the future)
- act.sh: act script for local execution of GitHub actions workflows pre-configured to operate in dry-run mode (check script before first run)
supported platforms (OS/architecture):
- linux/amd64 (e.g. Intel/AMD)
- linux/arm64 (e.g. Ampere/Cortex/AppleMx/RaspberryPi)
Pull images from following container registries (platform is recognized and selected automatically):
- DockerHubCR (IPv4 & IPv6):
docker pull developmententity/aws-cloud-tools:initial
- GitHubCR (IPv4 only):
docker pull ghcr.io/stefanbosak/aws-cloud-tools:initial
- VultrCR (IPv4 & IPv6):
docker pull sjc.vultrcr.com/developmententity/aws-cloud-tools:initial
Docker build wrapper script is covering creation of container which will be created based on multistage Dockerfile using parallel execuction of several builders to speed-up preparation. Generated image will contains all of above mentioned tools and also pre-enabled corresponding Bash completions. Docker run wrapper would simplify application execution.
scripts and files:
- Dockerfile: recipie for preparation of Docker container
- docker-build.sh: wrapper as Docker builder script
- docker-run.sh: wrapper as Docker runner script
- docker-push.sh: wrapper for uploading image to container repository configured user
- docker-versions.sh: wrapper for showing tools versions
additional applications included Following tools are using latest available version within given Linux distribution release (when Docker image has been built/prepared):
Dedicated installer wrapper script is covering all of above mentioned tools. Related applications will be intalled directly on system where standalone-install.sh script will be executed. Bash completion will be also pre-enabled for all corresponding tools. Uninstallation is supported. To run this script user has to able to have root priviledges (e.g. run via sudo).
scripts and files: