Adds an additional container in which the new "housekeeping" command from
Netbox v3.0.0 is run. "tini" is now used as PID 1 to ensure correct process
management in all Netbox containers.
We now serve Netbox with an nginx-unit instance instead of Gunicorn.
This allows us to get rid of the extra Nginx container because Unit is
also serving the static files. The static files are now collected at container
buildtime instead of every startup.
This checks if the source materials (python image, Netbox commit,
netbox-docker commit) have changed since the last build. This check is done
by comparing the digest and commit ids from the previous image with the
given tag to the current values taken from the Git and Docker repositories.
The checks are only performed for builds by the automated builds on Github.
When we don't set the --label argument on the commandline for all
build variants we lose them in the image.
This also prints out the labes on image push.
It also updates the README and the bug_report template to reflect
the changes. Additionally, in the README some relevant shields from
shields.io are added.
The labels follow [label-schema.org][lsorg] and the [OpenContainer
image spec, section annotations][ocis], specifications.
[lsorg]: http://label-schema.org/rc1/
[ocis]: https://github.com/opencontainers/image-spec/blob/master/annotations.md
This changes the build process even further. Instead
f using `wget` to fetch the current code, `git` is used.
This allows for faster switching between branches,
because only the differences between them have to be
fetched from the server.
But the main advantage is that the build cache can
finally be used as designed by Docker. Repetitive
builds are very fast now. This is also true between
branches and tags, as long as the `requirements.txt`
file doesn't change.
This commit introduces a huge change in the build process.
What changed:
- Dockerfile.ldap was integrated into Dockerfile as a seperate
[build stage][multistage-build].
- All the build scripts were refactored according to this.
- The `docker-compose.yml` file was adjusted likewise.
- The main build script, `/build.sh`, now always builds all
targets (formerly called variants).
- The minimal requirements for Docker and docker-compose
have increased.
- The build on hub.docker.com must be adjusted.
This change should also fix#156 permanently.
[multistage-build]: https://docs.docker.com/develop/develop-images/multistage-build/
Adds a short version tag in the form of v$MAJOR.$MINOR. This tags
creates the possibillity to follow patch releases automatically with the
scheduled import option in Openshift and Kubernetes.