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

Provide docker images #76

Open
zorun opened this issue Jun 16, 2020 · 1 comment
Open

Provide docker images #76

zorun opened this issue Jun 16, 2020 · 1 comment

Comments

@zorun
Copy link
Collaborator

zorun commented Jun 16, 2020

There seems to be some interest in providing Docker images (#37, #72)

Several questions need discussion and/or help:

  • what is the release model? Is it fine to just provide a Docker image of the latest code? Sometimes we break the configuration syntax. Should we move to semver releases and provide a docker image per release?
  • how to configure bird-lg running in a Docker image?

From the little knowledge I have of Docker, people seem to like passing configuration from an external source.

We can't really use env variables because the configuration has python objects. Maybe we could pass the config file to stdout of the python programs? I have no idea if gunicorn would allow this.

Flask has documentation about the different ways to configure it: https://flask.palletsprojects.com/en/1.1.x/config/ (nothing specific to Docker though)

@liske
Copy link

liske commented Jun 6, 2021

Hi,

I highly recommend to provide docker images with explicit version tags. If using docker hub this could be automated using an appropriate auto-build rule. I personally do not like to provide :latest image tags but most are people expecting them.

I would prefer the following setup:

  • define env names for configuration (i.e. BIRDLG_BIND_PORT, BIRDLG_SHARED_SECRET, ...) and set them to sane defaults (SHARED_SECRET should not be defined)
  • provide a config stub which reads the settings from os.environ and crashes if something essential like SHARED_SECRETis missing
  • ACCESS_LIST can be build from a comma separated string

The config file can be still mapped into the container in case the user want's a more complicated configuration.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants