Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PRINCIPALS.md and MAINTAINERS.md #1252

Open
wants to merge 3 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
First draft for PRINCIPALS.md, MAINTAINERS.md
  • Loading branch information
cimnine committed May 25, 2024
commit 333aa3efce028c0dba1b68cd0c594df29a4d9015
20 changes: 20 additions & 0 deletions MAINTAINERS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Maintainers of _NetBox Docker_

This file lists all currently recognized maintainers of the _NetBox Docker_ project in alphabetical order:

- @cimnine
- @tobiasge

## Stepping Down

Every maintainer is a volunteer and may step down as maintainer at any time without providing any reason.
To make this explicit, the maintainer is asked to update this file.

The last maintainer stepping down is asked to archive the project on GitHub to indicate that the project is no longer maintained.

## Signing up

Everyone is welcome to sign up as maintainer by creating a PR and add their own username to the list.
The current maintainers shall discuss the application.
They may turn down an application.
They shall provide a reason when doing so.
62 changes: 62 additions & 0 deletions PRINCIPALS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
# Development, Maintenance and Community Principals for _NetBox Docker_

This principals shall guide the development and the maintenance of _NetBox Docker_.

## Basic principals

This project is maintained on voluntary basis.
Everyone is asked to respect that.

This means, that …

- … sometimes features are not implemented as fast as one might like -- or not at all.
- … sometimes nobody is looking at bugs or they are not fixed as fast as one might like -- or not at all.
- … sometimes PRs are not reviewed for an extended period.

Everyone is welcome to provide improvements and bug fixes to the benefit of everyone else.

## Development Principals

The goal of the _NetBox Docker_ project is to provide a container to run the basic NetBox project.
The container should feel like a native container -- as if it were provided by NetBox itself:

- Configuration via environment variables where feasible.
- Configuration of secrets via secret files.
- Log output to standard out (STDOUT/&1) / standard error (STDERR/&2).
- Volumes for data and cache directories.
- Runs a non-root user by default.
- One process / role for each instance.

There is one exception for the configuration:
Whenever a `dict` is required as value of a configuration setting, then it must not be provided through an environment variable.

The container generally does not provide more features than the basic NetBox project itself provides.
It may provide additional Python dependencies than the upstream project, so that all features of NetBox can be used in the container.
It may provide helpers, so that the container feels and behaves like a native container.

The container does not come with pre-bundled plugins.

## Maintenance Principals

The main goals of maintainig _NetBox Docker_ are:

- Keeping the project on a high quality level.
- Keeping the maintenance effort minimal.
- Coordinating development efforts.

The following guidelines help us to achieve these goals:

- As many maintenance tasks as possible shall be automated or scripted.
- All manual tasks must be documented.
- All changes are reviewed by at least one maintainer.
- Changes of maintainers are reviewed by at least one other maintainer.
- The infrastructure beyond what GitHub provides shall be kept to a minimum.
- On request, every maintainer shall get access to infrastructure that is beyond GitHub (at the time of writing that's _Docker Hub_ and _Quay_ in particular).

## Community Principals

This project is developed by the NetBox community for the NetBox community.
We welcome contributions, as long as they are in line with the principals above.

The maintainers of NetBox Docker are not the support team.
The community is expected to help each other out.
26 changes: 18 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,16 @@
[![GitHub license](https://img.shields.io/github/license/netbox-community/netbox-docker)][netbox-docker-license]

[The GitHub repository][netbox-docker-github] houses the components needed to build NetBox as a container.
Images are built regularly using the code in that repository and are pushed to [Docker Hub][netbox-dockerhub], [Quay.io][netbox-quayio] and [GitHub Container Registry][netbox-ghcr].
Images are built regularly using the code in that repository
and are pushed to [Docker Hub][netbox-dockerhub],
[Quay.io][netbox-quayio] and [GitHub Container Registry][netbox-ghcr].
_NetBox Docker_ is a project developed and maintained by the _NetBox_ community.

Do you have any questions?
Before opening an issue on Github,
please join [our Slack][netbox-docker-slack] and ask for help in the [`#netbox-docker`][netbox-docker-slack-channel] channel.
please join [our Slack][netbox-docker-slack]
and ask for help in the [`#netbox-docker`][netbox-docker-slack-channel] channel,
or start a new [GitHub Discussion][github-discussions].

[github-stargazers]: https://github.com/netbox-community/netbox-docker/stargazers
[github-release]: https://github.com/netbox-community/netbox-docker/releases
Expand All @@ -24,6 +29,7 @@ please join [our Slack][netbox-docker-slack] and ask for help in the [`#netbox-d
[netbox-docker-slack-channel]: https://netdev-community.slack.com/archives/C01P0GEVBU7
[netbox-slack-channel]: https://netdev-community.slack.com/archives/C01P0FRSXRV
[netbox-docker-license]: https://github.com/netbox-community/netbox-docker/blob/release/LICENSE
[github-discussions]: https://github.com/netbox-community/netbox-docker/discussions

## Quickstart

Expand Down Expand Up @@ -53,7 +59,8 @@ To create the first admin user run this command:
docker compose exec netbox /opt/netbox/netbox/manage.py createsuperuser
```

If you need to restart Netbox from an empty database often, you can also set the `SUPERUSER_*` variables in your `docker-compose.override.yml` as shown in the example.
If you need to restart Netbox from an empty database often,
you can also set the `SUPERUSER_*` variables in your `docker-compose.override.yml`.

[wiki-getting-started]: https://github.com/netbox-community/netbox-docker/wiki/Getting-Started

Expand Down Expand Up @@ -109,7 +116,7 @@ Feel free to correct errors, update outdated information or provide additional g

Feel free to ask questions in our [GitHub Community][netbox-community]
or [join our Slack][netbox-docker-slack] and ask [in our channel `#netbox-docker`][netbox-docker-slack-channel],
which is free to use and where there are almost always people online that can help you in the Slack channel.
which is free to use and where there are almost always people online that can help you.

If you need help with using NetBox or developing for it or against it's API
you may find [the `#netbox` channel][netbox-slack-channel] on the same Slack instance very helpful.
Expand All @@ -129,7 +136,7 @@ To check the version installed on your system run `docker --version` and `docker
## Updating

Please read [the release notes][releases] carefully when updating to a new image version.
Note that the version of the NetBox Docker container image must stay in sync with the code.
Note that the version of the NetBox Docker container image must stay in sync with the version of the git repository.

If you update for the first time, be sure [to follow our _How To Update NetBox Docker_ guide in the wiki][netbox-docker-wiki-updating].

Expand All @@ -138,7 +145,8 @@ If you update for the first time, be sure [to follow our _How To Update NetBox D

## Rebuilding the Image

`./build.sh` can be used to rebuild the container image. See `./build.sh --help` for more information.
`./build.sh` can be used to rebuild the container image.
See `./build.sh --help` for more information or `./build-latest.sh` for an example.

For more details on custom builds [consult our wiki][netbox-docker-wiki-build].

Expand All @@ -147,13 +155,15 @@ For more details on custom builds [consult our wiki][netbox-docker-wiki-build].
## Tests

We have a test script.
It runs NetBox's own unit tests and ensures that all initializers work:
It runs NetBox's own unit tests and ensures that NetBox starts:

```bash
IMAGE=netboxcommunity/netbox:latest ./test.sh
IMAGE=docker.io/netboxcommunity/netbox:latest ./test.sh
```

## Support

This repository is currently maintained by the community.
The community is expected to help each other.

Please consider sponsoring the maintainers of this project.