Skip to content

stefanbosak/aws-cloud-tools

Repository files navigation

aws-cloud-tools

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:

Zero effort approach

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

scripts and files:

  • build_status_badge: GitHub Actions workflow file for automation of Docker image preparation (amd64, arm64)
  • build_status_badge : 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 container approach

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:

additional applications included Following tools are using latest available version within given Linux distribution release (when Docker image has been built/prepared):

Standalone installer approach

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:

  • build_status_badge: standalone installer script