Add railiance01 deployment artifacts and fix container image build
Introduce Dockerfile, entrypoint, and k8s/railiance manifests for the ArgoCD GitOps pilot (ISSUE-WP-0003). Rename the Gitea PyPI build arg to GITEA_PYPI_INDEX_URL so pip still resolves dependencies from PyPI.
This commit is contained in:
parent
352a4d7969
commit
3e29bc964d
8 changed files with 461 additions and 0 deletions
33
Dockerfile
Normal file
33
Dockerfile
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
# issue-core REST ingestion service image.
|
||||
#
|
||||
# Installs the published issue-core[api] package from the Coulomb Gitea PyPI
|
||||
# index (no sibling-checkout build context) and runs the FastAPI ingestion
|
||||
# server on :8765. Built and pushed to gitea.coulomb.social/coulomb/issue-core.
|
||||
FROM python:3.12-slim AS runtime
|
||||
|
||||
ARG ISSUE_CORE_VERSION=">=0.2,<0.3"
|
||||
# Do not name this PIP_INDEX_URL — Docker exposes ARGs as env vars during RUN,
|
||||
# and pip treats PIP_INDEX_URL as the sole primary index (excluding PyPI).
|
||||
ARG GITEA_PYPI_INDEX_URL=https://gitea.coulomb.social/api/packages/coulomb/pypi/simple/
|
||||
|
||||
ENV PYTHONUNBUFFERED=1 \
|
||||
PYTHONDONTWRITEBYTECODE=1 \
|
||||
HOME=/home/app
|
||||
|
||||
# Non-root runtime user; HOME drives issue-core's config dir
|
||||
# (~/.config/issue-tracker/backends.json).
|
||||
RUN useradd --create-home --home-dir /home/app --uid 10001 app
|
||||
|
||||
RUN pip install --no-cache-dir \
|
||||
--index-url https://pypi.org/simple \
|
||||
--extra-index-url "${GITEA_PYPI_INDEX_URL}" \
|
||||
"issue-core[api]${ISSUE_CORE_VERSION}"
|
||||
|
||||
COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh
|
||||
RUN chmod +x /usr/local/bin/docker-entrypoint.sh
|
||||
|
||||
USER app
|
||||
EXPOSE 8765
|
||||
|
||||
# Entrypoint renders backends.json from env, then execs the server.
|
||||
ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"]
|
||||
Loading…
Add table
Add a link
Reference in a new issue