...
1# The `test-stats` image gets built by `build-aux/check.mk` for use by
2# `python/tests/ingegration/manifests.py`.
3
4# Copyright 2018 Datawire. All rights reserved.
5#
6# Licensed under the Apache License, Version 2.0 (the "License");
7# you may not use this file except in compliance with the License.
8# You may obtain a copy of the License at
9#
10# http://www.apache.org/licenses/LICENSE-2.0
11#
12# Unless required by applicable law or agreed to in writing, software
13# distributed under the License is distributed on an "AS IS" BASIS,
14# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15# See the License for the specific language governing permissions and
16# limitations under the License
17
18FROM docker.io/frolvlad/alpine-glibc:alpine-3.17
19
20LABEL PROJECT_REPO_URL = "git@github.com:datawire/ambassador.git" \
21 PROJECT_REPO_BROWSER_URL = "https://github.com/datawire/ambassador" \
22 DESCRIPTION = "Ambassador REST Service" \
23 VENDOR = "Datawire" \
24 VENDOR_URL = "https://datawire.io/"
25
26# This Dockerfile is set up to install all the application-specific stuff into
27# /application.
28#
29# NOTE: If you don't know what you're doing, it's probably a mistake to
30# blindly hack up this file.
31
32# We need curl, pip, and dnsutils (for nslookup).
33RUN apk --no-cache add curl python3 py3-pip bind-tools jq
34
35# Set WORKDIR to /application which is the root of all our apps.
36WORKDIR /application
37
38# COPY only requirements.txt to avoid screwing up Docker caching and
39# causing a full reinstall of all dependencies when dependencies are
40# not changed.
41COPY requirements.txt .
42# Install application dependencies
43RUN pip3 install -r requirements.txt
44
45# COPY the app code and configuration into place
46COPY stats-test.py stats-web.py entrypoint.sh ./
47
48# perform any final configuration steps.
49ENTRYPOINT /application/entrypoint.sh
View as plain text