Permalink
Browse files

improve doc

  • Loading branch information...
rgerhards committed Jan 10, 2018
1 parent 3332aa6 commit c0c10d343046499dadbad8648ab6e396ba0cfa91
Showing with 59 additions and 6 deletions.
  1. +59 −6 README.md
@@ -3,10 +3,63 @@ a playground for rsyslog docker tasks - nothing production yet
see also https://github.com/rsyslog/rsyslog/projects/5 see also https://github.com/rsyslog/rsyslog/projects/5
# container structure The docker effort currently uses multiple containers.
* env_dev_bare - a development environment containing required # Alpine Linux
system tools but not all dependencies needed by rsyslog (but We intend to use alpine linux for the logging appliance container, because
all tools to build them) it is small, secure and relatively recently.
* env_dev - a complete development environment
* env\_ci - an environment suitable for CI runs Right now, alpine misses some components that we need. So we build some
packages ourself. This will most probably be an ongoing activity as
we intend to always provide current versions of rsyslog inside the logging
application and it looks unlikely alpine will always follow exactly.
## Package Build Environment
We use
https://github.com/rgerhards/docker-alpine-abuild/tree/master-rger
to build alpine packages.
This is based on https://github.com/andyshinn/docker-alpine-abuild and
only adds a few rsyslog-specific tweaks. Most importantly, it has our
own unofficial APK repository enabled (we need this if we need to build
based on dependencies newer than there are in the official alpine
repositories).
Our **custom packages** are contained inside the
https://github.com/rgerhards/alpine-rsyslog-extras
repository.
### Bootstrap
Note: *usr* below stands for your user prefix.
To start from scratch, do
* create usr/docker-alpine-abuild image
You need to hand-edit it so that the initial build does **not** use
your custom repository.
* create autotools-archive package via usr/alpine-linux-extras
- cd autotools-archive
- source ../run
Note: there asre some errors in regard to git repository mount point.
So far, I do not know where the stem from and how to get rid of them.
Fortunately, they do not harm the build process. Ignore them (and send
us a PR if you know how to solve this cleanly).
* copy package to your intended destination http server
* rebuild usr/docker-alpine-abuild image
reset your hand-edited change, make it use the custom repository again
This is important as we need to have the dependencies for future builds.
* rebuild the rest of the packages in usr/alpine-linux-extras
We don't want to give the exact sequence here as it might change.
In general, rsyslog should be built last. You may need to do multiple
uploads to your repo when these dependencies are needed by packages.
* **Remember to periodically apply (security) updates to the docker
images!**

0 comments on commit c0c10d3

Please sign in to comment.