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:
docker
clidocker
backend - Docker Desktop, colima, etc
Start the client to use it.
-
To run the
toolkit
container: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
toolkit
container, exec shell into it:docker exec -it toolkit /bin/bash
Your 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
toolkit
container shell, as with any shell:exit
The container will keep running after you exit its shell.
If the client stops:
-
To run the
toolkit
container 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 thatnpm
is used; however, it is possible to run the scripts directly by looking atpackage.json
and 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 pull
OR
npm run build
After that, start the image in an interactive terminal with:
npm start
package.json
- scripts and config for the image buildDockerfile
- the docker image definitionconfig.yaml
- the test config file for thecontainer-structure-test
toolscripts/
- directory for shell scripts used bypackage.json
scripts to build, test, and push the imagesrc/
- directory containing files that should be included in the built image