This repository builds a Docker image whose container is a client for interacting with different cloud providers (IBM Cloud, AWS, Azure).
The container includes the following tools:
- terraform cli
- IBM Cloud cli
- AWS cli
- Azure cli
- bash
- kubectl cli
- oc cli
- git cli
- perl cli
- jq cli
- yq3 cli
- yq4 cli
- helm cli
- terragrunt cli
Warning: The material contained in this repository has not been thoroughly tested. Proceed with caution.
To run this image, the following tools are required:
dockerclidockerbackend - Docker Desktop, colima, etc
Start the client to use it.
-
To run the
toolkitcontainer:docker run -itd --name toolkit quay.io/cloudnativetoolkit/cli-tools
Once the client is running in the background, use it by opening a shell in it.
-
To use the
toolkitcontainer, exec shell into it:docker exec -it toolkit /bin/bashYour terminal is now in the container.
Use this shell to run commands using the installed tools and scripts.
When you're finished running commands, to exit the client.
-
To leave the
toolkitcontainer shell, as with any shell:exitThe container will keep running after you exit its shell.
If the client stops:
-
To run the
toolkitcontainer again:docker start toolkit
The toolkit container is just a Docker container, so all Docker CLI commands work.
To use/build this image, the following tools are required:
Docker- kinda obvious, but since we are building, testing and running a Docker image, you need to have the tool availablenode/npm- (optional) used to consolidate the configuration and scripts for working with the image, it is highly recommended thatnpmis used; however, it is possible to run the scripts directly by looking atpackage.jsonand providing the appropriate values
To use the image, a local image of the tool is required. You can get the image either by pulling from Docker Hub or building locally:
npm run pullOR
npm run buildAfter that, start the image in an interactive terminal with:
npm startpackage.json- scripts and config for the image buildDockerfile- the docker image definitionconfig.yaml- the test config file for thecontainer-structure-testtoolscripts/- directory for shell scripts used bypackage.jsonscripts to build, test, and push the imagesrc/- directory containing files that should be included in the built image