In our meeting today, we decided to include the git package in our simple alpine linux docker image. I need this for EventGate in order to use an initContainer that clones a git repository.
Description
Status | Subtype | Assigned | Task | ||
---|---|---|---|---|---|
Resolved | Ottomata | T185233 Modern Event Platform | |||
Resolved | Ottomata | T201068 Modern Event Platform: Stream Intake Service | |||
Resolved | Ottomata | T206785 Modern Event Platform: Stream Intake Service (EventGate): Implementation | |||
Open | None | T198901 Migrate production services to kubernetes using the pipeline | |||
Invalid | None | T212801 TEC3:O3:O3.1:Q3 Goal - Move cxserver, citoid, changeprop, eventgate (new service) and ORES (partially) through the production CD Pipeline | |||
Resolved | Ottomata | T211247 Modern Event Platform: Stream Intake Service: Implementation: Deployment Pipeline | |||
Declined | akosiaris | T213963 Include git in our alpine docker image on docker-registry.wikimedia.org |
Event Timeline
Do not use alpine as a base for your containers if you want to execute them in production. That is strictly limited to debian-based images, for which we can create a reliable upgrade pipeline. Also, we don't want a distro proliferation in production.
Use one of the debian-based nodejs docker images instead. You can add git as an apt package via blubber AIUI.
@Ottomata you can create a blubberfile like
version: v3 base: docker-registry.wikimedia.org/wikimedia-stretch apt: packages: - git runs: environment: { GIT_REPO: "http://git..." } variants: prod: entrypoint: [sh, -c, 'git clone --depth1 $GIT_REPO']
which uses Debian stretch as base.
Yar ok. I don't really want to put the schemas into EventGate, soooo I'll make a deploy repo after all! :)
Hm, well, I did consider doing this for final prod deployment.........yar ok. Nevermind. I'll DO IT!
For development phase, i'll use thee wmfdebug image. For prod deployment (outside of staging k8s), we'll build the schema repo clone into the app image itself.