The "dev-container" is a shorter reference to development container, a place with all project dependencies installed and ready to be instantiated during development phase, the inner loop.
A popular way to define the development container in a consistent and reproducible manner is using the devcontainer.json format, it gives a predefined folder structure to introduce local a Dockerfile (or alternatively a docker-compose based approach), to organize and maintain the development toolset.
Considering the tools we use on the shipwright-io organization, we will need the following tools:
Golang (and GNU/Make)
Helm
KubeBuilder
Kubernetes Code Generator
And more...
Developers can use such environment directly in vscode-remote, in the command-line with the CLI, and/or using local tools like podman, docker and such.
A interesting feature to improve consistency is being able to adopt such dev-container during the CI steps directly. And as well on places like GitHub Code Spaces, which means we can use this foundation to provide a "single click" remote Shipwright complete development environment.
Lets formalize this concept of the "development container"? WDYT?
DevContainer
The "dev-container" is a shorter reference to development container, a place with all project dependencies installed and ready to be instantiated during development phase, the inner loop.
A popular way to define the development container in a consistent and reproducible manner is using the
devcontainer.json
format, it gives a predefined folder structure to introduce local aDockerfile
(or alternatively adocker-compose
based approach), to organize and maintain the development toolset.Considering the tools we use on the shipwright-io organization, we will need the following tools:
Developers can use such environment directly in vscode-remote, in the command-line with the CLI, and/or using local tools like
podman
,docker
and such.A interesting feature to improve consistency is being able to adopt such dev-container during the CI steps directly. And as well on places like GitHub Code Spaces, which means we can use this foundation to provide a "single click" remote Shipwright complete development environment.
Lets formalize this concept of the "development container"? WDYT?