netdata/devenv
A container with all the tools a software developer needs to work on the Netdata Agent.
8.3K
A Developer Environment (or devenv for short) is a workspace for developers to make changes without breaking anything in a live environment.
In order to foster contribution for the Netdata Agent and it's various collectors, we created an image that is a devenv on it's own, a fully containerized environment where it has everything a developer needs to develop improvements on the Netdata Agent itself or it's collectors.
We have included all the dependencies that you need to build the Netdata Agent and it's collectors. We have additionally included many of the tools we use for checking PRs, including various linters like flake8
and shellcheck
You only need to download your forked repositories and you can begin developing right away!
Inside this repository you can find the Dockerfile which is used to create the development environment Docker image. It is automatically published on DockerHub, using a CI/CD pipeline based on GitHub Actions.
This devenv makes use of:
git clone https://github.com/odyslam/netdata netdata
.git clone https://github.com/netdata/community community
.copy
and paste
the .devcontainer
folder inside the netdata
directory. You will find the .devcontainer
folder inside the community repository you just downloaded: community/devenv/.devcontainer
.netdata
directory using VS Code and click on the popup as it is shown in the GIF bellow. It will re-open the directory from inside the Netdata Devenv.netdata
directory, will be copied inside the netdata
directory of the container.You are now ready to develop inside the Container!
Finally, we have installed some VS Code extensions that you might need, but you are free to install more extensions inside the container. -
Note that any locally installed VS Code extension you might already have, will not work unless you install it inside the container.
You are free to docker pull netdata/devenv
the container, attach a terminal session to it and start developing right away! The container has everything you need to get going.
The devenv includes all the dependencies required to develop for the following repositories:
docker pull netdata/devenv