single server: fix redis-cache segfault and DNS issues
Created by: uwedeportivo
re-applies https://github.com/sourcegraph/sourcegraph/pull/13113, but now with fix for symbols pod malfunction. the reason is: we switched to shared lib from static lib and i forgot to do that for the symbols docker image itself, not just the single server docker image.
this reverses https://github.com/sourcegraph/sourcegraph/pull/13127 with the additional symbols pod fix.
reason we switched to shared library for ctags: it was failing in single-server as a static library. well, sort of a cascading effect:
- we pull in edge because we want git@edge
- this resulted in something being pulled in which caused redis-cache segfaults (https://github.com/sourcegraph/sourcegraph/issues/12772)
- we tried several ways to avoid that (https://github.com/sourcegraph/sourcegraph/pull/13107), but some ways resulted in DNS failures (ping github.com wouldn't work, https://github.com/sourcegraph/sourcegraph/issues/13046) and some resulted in ctags either not being compiled or failing on startup
this is an attempt to fix all this for 3.19. for 3.20 we will clean up our docker images.
NOTE: if this lands it means single-server runs in alpine 3.12 whereas rest of the bunch runs in alpine 3.10
NOTE: for the symbols pod i kept the builder layer because apparently it's used in local dev. so effectively this is being built twice as specified in this PR (a little hacky). i will clean it up for 3.20
here are the two extra builders that make artifacts for single server (git edge for alpine 3.12 and postgres 11 for alpine 3.12) https://github.com/sourcegraph/postgres-apk-builder https://github.com/sourcegraph/git-apk-builder