Tired out to download and install applications. Going to use docker container instead. In case You find this repo useful - the best approach I see is to fork it and modify however you wish
List of Software Installed:
- Docker
- Kind, K3d
- Kubectl, Krew, Helm, kubeseal
- Tekton (tkn), Kpt
- git, make, yq, nano
- Autocompletion (whenever present)
- Persist bash history
- Script on init
- for example, merge kubeconfig from k3d
- Access to docker inside container
- Current directory attached
- Default KUBE_EDITOR is
nano
- Go to the directory where you are going to use it
- Run simple
docker run --network host --add-host=host.docker.internal:host-gateway -it \
-v ${PWD}:${PWD} --workdir ${PWD} \
-v /var/run/docker.sock:/var/run/docker.sock \
marniks7/env bash
touch .bash_history && docker run --network host --add-host=host.docker.internal:host-gateway -it \
-v ${PWD}:${PWD} --workdir ${PWD} \
--mount type=bind,source=${PWD}/.bash_history,target=/root/.bash_history \
-v /var/run/docker.sock:/var/run/docker.sock \
marniks7/env bash
To run with init script, like init.sh, add to the end of the run command bash -c './init.sh && bash'
, result:
docker run --network host --add-host=host.docker.internal:host-gateway -it \
-v ${PWD}:${PWD} --workdir ${PWD} \
-v /var/run/docker.sock:/var/run/docker.sock \
marniks7/env bash -c './init.sh && bash'
- No programming languages installed so far (e.g. python, go, js, java)
- And may not be installed there at all because it is usually used on local system
- Manual versions update (e.g. no bot connected)
- Impossible to reuse Dockerfile scripts for local system. See Local System Analyze
- SElinux docs
- WSL docs
- Non-privileged docker image
- CI option
I didn't try (because of the image size, 20GB+ compressed, 60GB extracted), but they contain all the tooling.
- Local Github Actions Env Images used in act
That Dockerfile looks like too much manual work, so maybe there are other managed distributions which provides all the packages. Based on fast check on packages it doesn't look like that. Some other options considered: other base images doesn't contain everything either