This is an automated email from the ASF dual-hosted git repository.
zrhoffman pushed a commit to branch 8.0.x
in repository https://gitbox.apache.org/repos/asf/trafficcontrol.git
The following commit(s) were added to refs/heads/8.0.x by this push:
new bf8568cb21 Changes for ATC. 8.0.2 release (#8080)
bf8568cb21 is described below
commit bf8568cb21c65343f226603a61189954e4432985
Author: Rima Shah <[email protected]>
AuthorDate: Fri Sep 27 14:52:32 2024 -0600
Changes for ATC. 8.0.2 release (#8080)
* Updated version
* Updated changelog
* Use `docker compose` plugin (#8056)
* docker-compose -> docker compose
Excludes Dockerfile-tsb and the vendor directory.
sed -i 's/docker-compose /docker compose /g' $(git grep -l
'docker-compose ')
pattern="$(<<'PATTERN' cat
docker-compose\($\|['`"*,)]\)
PATTERN
)"
sed -i "s/${pattern}/docker compose\1/g" -- $(git grep -l "$pattern")
sed -i 's/"docker compose"/"docker", "compose"/g' $(git grep -Fl
'"docker compose"')
* Remove version from compose files.
sed -i '/^version:/d' $(git grep -il '^version:' '*docker-compose*.y*ml')
* Include `--all` in docker-compose ps command.
This is necessary for the plugin version of docker compose to query
exited containers.
* Changelog entry
* Support docker compose fallback for older docker versions that do not
have the compose plugin
* Improve PUT /deliveryservice_request_comments id (#8071)
* Update actions/upload-artifact and actions/download-artifact to v4 (#8081)
Fixes message:
This request has been automatically failed because it uses a deprecated
version of `actions/upload-artifact: v2`. Learn more:
https://github.blog/changelog/2024-02-13-deprecation-notice-v1-and-v2-of-the-artifact-actions/
* Update Postgres version to 13.16 (#8079)
* Use :atc-postgres-version: role in documentation
* Get postgres version from .env in Traffic Ops spec file
* Get POSTGRES_VERSION from .env in Dockerfiles and docker-compose files
* Update Postgres version to 13.16
* Update Trafficserver Alpine image to 9.2.4 (#7994)
* No substitution in the name
* Download ATS from the Apache archive
download.apache.org only contains currently-supported releases.
* Use Alpine main repo version 3.16 for adding package libexecinfo-dev
Alpine versions above 3.16 do not contain package libexecinfo-dev, which
ATS needs.
Alpine 3.19 still fails for unknown reasons, but Alpine 3.18 builds with
this fix.
* Set default for GITHUB_REPOSITORY
* Update Apache Traffic Server to 9.2.4
(cherry picked from commit 14007e3cea2cc862dccd345ac91209c0cc7fdf85)
* Update Go version to 1.23.1 (#8073)
Co-authored-by: asf-ci-trafficcontrol
<[email protected]>
(cherry picked from commit f647d5873e91f4b03cec32d44ac46caab54d97eb)
* Update Chromedriver Versions (#8084)
Update chromedriver
(cherry picked from commit 289c2c3f2deae8dcbfbea62685ad2f52b541b93a)
* Update Go version to 1.22.5 (#8034)
* Update Go version to 1.22.5
* Update some images to Rocky Linux 8
---------
Co-authored-by: asf-ci-trafficcontrol
<[email protected]>
Co-authored-by: Zach Hoffman <[email protected]>
(cherry picked from commit 0b21b43d34834cfbcd87af7a6226942774c059f6)
* Update changelog-1 and ciab.yml
* Update Go version to 1.23.1 (#8073)
Co-authored-by: asf-ci-trafficcontrol
<[email protected]>
(cherry picked from commit f647d5873e91f4b03cec32d44ac46caab54d97eb)
---------
Co-authored-by: Zach Hoffman <[email protected]>
Co-authored-by: asf-ci-trafficcontrol
<[email protected]>
---
.env | 5 +-
.github/actions/build-ats-test-rpm/main.js | 2 +-
.github/actions/build-ciab/build-ciab.js | 4 +-
.../actions/cache-config-integration-tests/main.js | 2 +-
.../health-client-integration-tests/main.js | 2 +-
.github/actions/run-ciab/run-ciab.sh | 6 +-
.github/containers/trafficserver-alpine/Dockerfile | 28 ++++++--
.../trafficserver-alpine/docker-compose.yml | 7 +-
.github/workflows/cache-config-tests.yml | 14 ++--
.github/workflows/ciab.yaml | 26 ++++----
.../workflows/container-trafficserver-alpine.yml | 2 +-
.github/workflows/docs.yml | 2 +-
.github/workflows/health-client-tests.yml | 14 ++--
.github/workflows/to.api.contract.tests.yml | 4 +-
.github/workflows/to.integration.tests.yml | 12 ++--
.github/workflows/tp.integration.tests.yml | 2 +-
.github/workflows/tpv2.yml | 2 +-
.github/workflows/tr-ultimate-test-harness.yml | 16 ++---
.github/workflows/tr.tests.yaml | 2 +-
.github/workflows/traffic.ops.database.yml | 4 +-
.gitignore | 2 +-
CHANGELOG.md | 6 ++
GO_VERSION | 2 +-
VERSION | 2 +-
cache-config/testing/README.md | 6 +-
cache-config/testing/docker/.env | 1 +
.../testing/docker/docker-compose-ats-build.yml | 1 -
cache-config/testing/docker/docker-compose.yml | 8 +--
cache-config/testing/docker/traffic_ops/Dockerfile | 2 +-
cache-config/testing/docker/yumserver/Dockerfile | 4 +-
dev/atc.dev.sh | 6 +-
docker-compose.yml | 3 +-
docs/source/_ext/atc.py | 28 ++++++++
docs/source/admin/ansible-labs/ansible_labs.rst | 2 +-
docs/source/admin/quick_howto/ciab.rst | 38 +++++------
docs/source/admin/traffic_ops.rst | 2 +-
docs/source/development/building.rst | 10 +--
docs/source/development/debugging.rst | 32 ++++-----
docs/source/development/traffic_ops.rst | 5 +-
docs/source/development/traffic_router.rst | 2 +-
experimental/graphql.sample/README.md | 8 +--
experimental/graphql.sample/docker-compose.yml | 1 -
experimental/traffic-portal/package-lock.json | 21 +++---
experimental/traffic-portal/package.json | 4 +-
.../ansible/sample.lab/docker-compose.yaml | 1 -
infrastructure/cdn-in-a-box/Makefile | 2 +-
infrastructure/cdn-in-a-box/README.md | 12 ++--
.../cdn-in-a-box/docker-compose.expose-ports.yml | 3 +-
.../cdn-in-a-box/docker-compose.readiness.yml | 9 ++-
.../cdn-in-a-box/docker-compose.tr-load-tests.yml | 5 +-
.../docker-compose.traffic-ops-test.yml | 5 +-
.../docker-compose.traffic-portal-test.yml | 5 +-
.../docker-compose.traffic-portal-v2-test.yml | 1 -
.../cdn-in-a-box/docker-compose.varnish.yml | 3 +-
infrastructure/cdn-in-a-box/docker-compose.yml | 5 +-
.../cdn-in-a-box/health/tc-health-client-ReadMe.md | 6 +-
infrastructure/cdn-in-a-box/optional/README.md | 6 +-
.../optional/docker-compose.debugging.yml | 1 -
.../docker-compose.grafana.expose-ports.yml | 1 -
.../optional/docker-compose.grafana.yml | 3 +-
.../docker-compose.socksproxy.expose-ports.yml | 3 +-
.../optional/docker-compose.socksproxy.yml | 3 +-
.../optional/docker-compose.static-subnet.yml | 1 -
...ker-compose.traffic-portal-v2.expose-ports.yml} | 8 +--
.../docker-compose.traffic-portal-v2.yml} | 19 +++---
.../docker-compose.traffic-vault.expose-ports.yml | 1 -
.../optional/docker-compose.traffic-vault.yml | 3 +-
.../optional/docker-compose.vnc.expose-ports.yml | 3 +-
.../cdn-in-a-box/optional/docker-compose.vnc.yml | 3 +-
.../optional/docker-compose.vpn.expose-ports.yml | 1 -
.../cdn-in-a-box/optional/docker-compose.vpn.yml | 3 +-
.../cdn-in-a-box/optional/socksproxy/README.md | 2 +-
infrastructure/cdn-in-a-box/optional/vnc/README.md | 2 +-
.../cdn-in-a-box/optional/vpn/README.rst | 6 +-
.../cdn-in-a-box/traffic_ops/Dockerfile-db | 3 +-
infrastructure/docker/build/README.md | 2 +-
infrastructure/docker/build/docker-compose-opt.yml | 1 -
infrastructure/docker/build/docker-compose.yml | 1 -
pkg | 14 ++--
pkg.ps1 | 4 +-
tc-health-client/testing/docker/.env | 1 +
tc-health-client/testing/docker/db_init/Dockerfile | 14 ++--
tc-health-client/testing/docker/docker-compose.yml | 7 +-
.../testing/docker/traffic_ops/Dockerfile | 2 +-
test/fakeOrigin/README.md | 8 +--
test/fakeOrigin/docker-compose.yml | 1 -
tools/golang/docker-compose.yml | 1 -
traffic_monitor/tests/_integration/README.md | 2 +-
traffic_monitor/tests/_integration/build_tests.sh | 2 +-
.../tests/_integration/docker-compose.yml | 3 +-
traffic_monitor/tests/docker-compose.yml | 1 -
traffic_ops/INSTALL.md | 4 +-
traffic_ops/app/bin/tests/docker-compose.yml | 1 -
traffic_ops/app/db/trafficvault/test/.env | 1 +
.../app/db/trafficvault/test/Dockerfile-db-admin | 36 ++++++++--
.../app/db/trafficvault/test/Dockerfile-tvdb | 4 +-
traffic_ops/app/db/trafficvault/test/README.md | 4 +-
.../app/db/trafficvault/test/docker-compose.yml | 9 ++-
traffic_ops/build/build_rpm.sh | 3 +-
traffic_ops/build/traffic_ops.spec | 3 +-
traffic_ops/traffic_ops_golang/README.md | 2 +-
.../deliveryservice/request/comment/comments.go | 17 ++---
.../traffic_ops_golang/swaggerdocs/v13/README.md | 12 ++--
.../swaggerdocs/v13/docker-compose.yml | 1 -
.../swaggerdocs/v13/swaggerspec/docker-compose.yml | 1 -
traffic_ops_db/docker/.env | 1 +
traffic_ops_db/docker/Dockerfile | 3 +-
traffic_ops_db/docker/docker-compose.dev.yml | 1 -
traffic_ops_db/docker/docker-compose.yml | 3 +-
traffic_ops_db/docker/todb.sh | 6 +-
traffic_ops_db/systemd/traffic_ops_db.service | 4 +-
traffic_ops_db/test/docker/.env | 1 +
traffic_ops_db/test/docker/Dockerfile-db | 4 +-
traffic_ops_db/test/docker/Dockerfile-db-admin | 21 +++---
traffic_ops_db/test/docker/docker-compose.yml | 9 ++-
.../etc/systemd/system/traffic_portal.service | 4 +-
traffic_router/tests/docker-compose.yml | 1 -
traffic_server/_tsb/docker-compose.yml | 1 -
traffic_stats/trafficcontrol-scenes/package.json | 78 ++++++++++++++++++++++
119 files changed, 455 insertions(+), 325 deletions(-)
diff --git a/.env b/.env
index f7218a9923..eec0601e6b 100644
--- a/.env
+++ b/.env
@@ -1,2 +1,3 @@
-ATS_VERSION=9.1.2
-GO_VERSION=1.22.1
+ATS_VERSION=9.2.4
+GO_VERSION=1.23.1
+POSTGRES_VERSION=13.16
diff --git a/.github/actions/build-ats-test-rpm/main.js
b/.github/actions/build-ats-test-rpm/main.js
index 7f3fc9919b..7af19ca2b6 100644
--- a/.github/actions/build-ats-test-rpm/main.js
+++ b/.github/actions/build-ats-test-rpm/main.js
@@ -20,7 +20,7 @@ const spawnOptions = {
};
let atcComponent = process.env.ATC_COMPONENT;
-const dockerCompose = ["docker-compose", "-f",
`${process.env.GITHUB_WORKSPACE}/cache-config/testing/docker/docker-compose-ats-build.yml`];
+const dockerCompose = ["docker", "compose", "-f",
`${process.env.GITHUB_WORKSPACE}/cache-config/testing/docker/docker-compose-ats-build.yml`];
if (typeof atcComponent !== "string" || atcComponent.length === 0) {
console.error("Missing environment variable ATC_COMPONENT");
process.exit(1);
diff --git a/.github/actions/build-ciab/build-ciab.js
b/.github/actions/build-ciab/build-ciab.js
index bd25010820..9d8c4c96a3 100644
--- a/.github/actions/build-ciab/build-ciab.js
+++ b/.github/actions/build-ciab/build-ciab.js
@@ -20,7 +20,7 @@ const spawnOptions = {
stdio: "inherit",
stderr: "inherit"
};
-const dockerCompose = ["docker-compose", "-f", "docker-compose.yml", "-f",
"docker-compose.readiness.yml"];
+const dockerCompose = ["docker", "compose", "-f", "docker-compose.yml", "-f",
"docker-compose.readiness.yml"];
process.env.DOCKER_BUILDKIT = 1;
process.env.COMPOSE_DOCKER_CLI_BUILD = 1;
@@ -49,5 +49,5 @@ function runProcess(...commandArguments) {
moveRPMs();
process.chdir(`${process.env.GITHUB_WORKSPACE}/infrastructure/cdn-in-a-box`);
-runProcess("make"); // Place the RPMs for docker-compose build. All RPMs
should have already been built.
+runProcess("make"); // Place the RPMs for docker compose build. All RPMs
should have already been built.
runProcess(...dockerCompose, "build", "--parallel");
diff --git a/.github/actions/cache-config-integration-tests/main.js
b/.github/actions/cache-config-integration-tests/main.js
index 167efb91f7..f126bb1c0f 100644
--- a/.github/actions/cache-config-integration-tests/main.js
+++ b/.github/actions/cache-config-integration-tests/main.js
@@ -19,7 +19,7 @@ const spawnOptions = {
stderr: "inherit",
};
-const dockerCompose = ["docker-compose", "-f",
`${process.env.GITHUB_WORKSPACE}/cache-config/testing/docker/docker-compose.yml`];
+const dockerCompose = ["docker", "compose", "-f",
`${process.env.GITHUB_WORKSPACE}/cache-config/testing/docker/docker-compose.yml`];
function runProcess(...commandArguments) {
console.info(...commandArguments);
diff --git a/.github/actions/health-client-integration-tests/main.js
b/.github/actions/health-client-integration-tests/main.js
index 561cf8492e..6b80091242 100644
--- a/.github/actions/health-client-integration-tests/main.js
+++ b/.github/actions/health-client-integration-tests/main.js
@@ -19,7 +19,7 @@ const spawnOptions = {
stderr: "inherit",
};
-const dockerCompose = ["docker-compose", "-f",
`${process.env.GITHUB_WORKSPACE}/tc-health-client/testing/docker/docker-compose.yml`];
+const dockerCompose = ["docker", "compose", "-f",
`${process.env.GITHUB_WORKSPACE}/tc-health-client/testing/docker/docker-compose.yml`];
function runProcess(...commandArguments) {
console.info(...commandArguments);
diff --git a/.github/actions/run-ciab/run-ciab.sh
b/.github/actions/run-ciab/run-ciab.sh
index 80c0e6631c..d675ba0f40 100755
--- a/.github/actions/run-ciab/run-ciab.sh
+++ b/.github/actions/run-ciab/run-ciab.sh
@@ -21,7 +21,7 @@ set -ex;
store_ciab_logs() {
echo 'Storing CDN-in-a-Box logs...';
mkdir logs;
- for service in $($docker_compose ps --services); do
+ for service in $($docker_compose ps --services --all); do
$docker_compose logs --no-color --timestamps "$service"
>"logs/${service}.log";
done;
}
@@ -29,7 +29,7 @@ store_ciab_logs() {
cd infrastructure/cdn-in-a-box;
logged_services='trafficrouter readiness';
other_services='dns edge enroller mid-01 mid-02 origin static trafficmonitor
trafficops trafficstats';
-docker_compose='docker-compose -f ./docker-compose.yml -f
./docker-compose.readiness.yml';
+docker_compose='docker compose -f ./docker-compose.yml -f
./docker-compose.readiness.yml';
$docker_compose up -d $logged_services $other_services;
$docker_compose logs -f $logged_services &
@@ -38,7 +38,7 @@ if ! timeout 12m $docker_compose logs -f readiness
>/dev/null; then
echo "CDN-in-a-Box didn't become ready within 12 minutes - exiting" >&2;
exit_code=1;
store_ciab_logs;
-elif exit_code="$(docker inspect --format='{{.State.ExitCode}}'
"$($docker_compose ps -q readiness)")"; [ "$exit_code" -ne 0 ]; then
+elif exit_code="$(docker inspect --format='{{.State.ExitCode}}'
"$($docker_compose ps -q --all readiness)")"; [ "$exit_code" -ne 0 ]; then
echo 'Readiness container exited with an error' >&2;
store_ciab_logs;
fi;
diff --git a/.github/containers/trafficserver-alpine/Dockerfile
b/.github/containers/trafficserver-alpine/Dockerfile
index 9efce0a9b8..6ce641c268 100644
--- a/.github/containers/trafficserver-alpine/Dockerfile
+++ b/.github/containers/trafficserver-alpine/Dockerfile
@@ -15,15 +15,15 @@
# specific language governing permissions and limitations
# under the License.
-FROM alpine:latest AS build-trafficserver
+FROM alpine:3.18 AS build-trafficserver
ARG ATS_VERSION
-ADD
https://downloads.apache.org/trafficserver/trafficserver-${ATS_VERSION}.tar.bz2
/tmp/
+ADD
https://archive.apache.org/dist/trafficserver/trafficserver-${ATS_VERSION}.tar.bz2
/tmp/
RUN set -o errexit -o nounset -o xtrace; \
cd tmp; \
dirname=trafficserver-${ATS_VERSION}; \
tar xf ${dirname}.tar.bz2; \
rm ${dirname}.tar.bz2; \
- apk add --no-cache \
+ apk add --update --no-cache \
# configure dependencies
g++ \
perl \
@@ -31,11 +31,20 @@ RUN set -o errexit -o nounset -o xtrace; \
pcre-dev \
make \
# build dependencies
- libexecinfo-dev \
fortify-headers \
linux-headers \
zlib-dev; \
+ # Alpine versions above 3.16 do not contain package libexecinfo-dev,
+ # which ATS needs.
+ #
https://github.com/aws/aws-lambda-nodejs-runtime-interface-client/issues/68#issuecomment-1571877109
+ apk add --update --no-cache \
+ --repository=https://dl-cdn.alpinelinux.org/alpine/v3.16/main/ \
+ libexecinfo-dev; \
cd $dirname; \
+ # Fix is from
https://github.com/apache/trafficserver-ingress-controller/pull/151
+ sed -i
's/PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP/PTHREAD_RWLOCK_INITIALIZER/'
\
+ include/tscore/ink_rwlock.h \
+ include/tscpp/util/TsSharedMutex.h; \
./configure \
--disable-tests \
--enable-experimental-plugins \
@@ -52,13 +61,18 @@ RUN set -o errexit -o nounset -o xtrace; \
cd ..; \
rm -r $dirname
-FROM alpine:latest
+FROM alpine:3.18
COPY --from=build-trafficserver /tmp/built/ /
-RUN apk add --no-cache \
+RUN apk add --update --no-cache \
# runtime dependencies
- libexecinfo \
libstdc++ \
pcre && \
+ # Alpine versions above 3.16 do not contain package libexecinfo,
+ # which ATS needs.
+ #
https://github.com/aws/aws-lambda-nodejs-runtime-interface-client/issues/68#issuecomment-1571877109
+ apk add --update --no-cache \
+ --repository=https://dl-cdn.alpinelinux.org/alpine/v3.16/main/ \
+ libexecinfo && \
adduser -D ats
USER ats
CMD /bin/traffic_server
diff --git a/.github/containers/trafficserver-alpine/docker-compose.yml
b/.github/containers/trafficserver-alpine/docker-compose.yml
index 68cd428377..e5b4c2dc64 100644
--- a/.github/containers/trafficserver-alpine/docker-compose.yml
+++ b/.github/containers/trafficserver-alpine/docker-compose.yml
@@ -15,7 +15,6 @@
# specific language governing permissions and limitations
# under the License.
-version: '3.9'
services:
trafficserver:
build:
@@ -23,11 +22,11 @@ services:
dockerfile: Dockerfile
args:
ATS_VERSION: ${ATS_VERSION}
- # This docker-compose file is no longer used by the
container-trafficserver-alpine.yml
+ # This docker compose file is no longer used by the
container-trafficserver-alpine.yml
# Github Actions workflow and is here in case anyone wants to build it
manually, since
# the emulated aarch64 GitHub Actions job takes about 3 hours to run.
# To build the trafficserver image for only your computer's own
platform, run
- # docker-compose build
+ # docker compose build
#
# To build and push a single image including both linux/amd64 and
linux/arm64 platforms, run
# # docker/binfmt writes to /proc/sys/fs/binfmt_misc and its effects
are cleared on reboot
@@ -42,4 +41,4 @@ services:
- linux/amd64
- linux/arm64
# for example, ghcr.io/apache/trafficcontrol/ci/trafficserver-alpine:9.1.2
- image:
${CONTAINER:-ghcr.io/apache/trafficcontrol/ci/trafficserver-alpine}:${ATS_VERSION}
+ image:
${CONTAINER:-ghcr.io/${GITHUB_REPOSITORY:-apache/trafficcontrol}/ci/trafficserver-alpine}:${ATS_VERSION}
diff --git a/.github/workflows/cache-config-tests.yml
b/.github/workflows/cache-config-tests.yml
index f5ad388501..5150640659 100644
--- a/.github/workflows/cache-config-tests.yml
+++ b/.github/workflows/cache-config-tests.yml
@@ -88,7 +88,7 @@ jobs:
env:
ATC_COMPONENT: ${{ github.job }}
- name: Upload RPM
- uses: actions/upload-artifact@v2
+ uses: actions/upload-artifact@v4
with:
name: ${{ github.job }}
path: ${{ github.workspace }}/dist/${{ github.job }}-*.x86_64.rpm
@@ -106,7 +106,7 @@ jobs:
env:
ATC_COMPONENT: ${{ github.job }}
- name: Upload RPM
- uses: actions/upload-artifact@v2
+ uses: actions/upload-artifact@v4
with:
name: ${{ github.job }}
path: ${{ github.workspace }}/dist/trafficcontrol-${{ github.job
}}-*.x86_64.rpm
@@ -141,7 +141,7 @@ jobs:
actual_rpm_name="$(ls dist | grep -E
'^trafficserver-[0-9.]+-[0-9]+\.[0-9a-f]+.el${{ env.RHEL_VERSION }}.${{
env.TARGET_ARCH }}.rpm$')"
[[ "${{ steps.repo-info.outputs.expected-rpm-name }}" ==
"$actual_rpm_name" ]]
- name: Upload RPM
- uses: actions/upload-artifact@v2
+ uses: actions/upload-artifact@v4
with:
name: ${{ github.job }}
path: ${{ github.workspace }}/dist/${{ github.job }}-*.x86_64.rpm
@@ -158,21 +158,21 @@ jobs:
- name: Checkout
uses: actions/checkout@master
- name: Download TO RPM
- uses: actions/download-artifact@v2
+ uses: actions/download-artifact@v4
with:
name: traffic_ops
path: ${{ github.workspace }}/cache-config/testing/docker/traffic_ops
- name: Download Cache Config RPM
- uses: actions/download-artifact@v2
+ uses: actions/download-artifact@v4
with:
name: cache-config
path: ${{ github.workspace }}/cache-config/testing/docker/ort_test
- name: Download ATS RPM
- uses: actions/download-artifact@v2
+ uses: actions/download-artifact@v4
with:
name: trafficserver
path: ${{ github.workspace
}}/cache-config/testing/docker/yumserver/test-rpms
- name: Build cache config test containers
- run: docker-compose -f ${{ github.workspace
}}/cache-config/testing/docker/docker-compose.yml build --parallel
+ run: docker compose -f ${{ github.workspace
}}/cache-config/testing/docker/docker-compose.yml build --parallel
- name: Run cache config integration tests
uses: ./.github/actions/cache-config-integration-tests
diff --git a/.github/workflows/ciab.yaml b/.github/workflows/ciab.yaml
index 39c6bee04c..a3a9a8c94a 100644
--- a/.github/workflows/ciab.yaml
+++ b/.github/workflows/ciab.yaml
@@ -101,7 +101,7 @@ jobs:
env:
ATC_COMPONENT: ${{ github.job }}
- name: Upload RPM
- uses: actions/upload-artifact@v2
+ uses: actions/upload-artifact@v4
with:
name: ${{ github.job }}
path: ${{ github.workspace }}/dist/${{ github.job }}-*.rpm
@@ -119,7 +119,7 @@ jobs:
env:
ATC_COMPONENT: ${{ github.job }}
- name: Upload RPM
- uses: actions/upload-artifact@v2
+ uses: actions/upload-artifact@v4
with:
name: ${{ github.job }}
path: ${{ github.workspace }}/dist/${{ github.job }}-*.rpm
@@ -137,7 +137,7 @@ jobs:
env:
ATC_COMPONENT: ${{ github.job }}
- name: Upload RPM
- uses: actions/upload-artifact@v2
+ uses: actions/upload-artifact@v4
with:
name: ${{ github.job }}
path: ${{ github.workspace }}/dist/trafficcontrol-${{ github.job
}}-*.rpm
@@ -162,7 +162,7 @@ jobs:
env:
ATC_COMPONENT: ${{ github.job }}
- name: Upload RPM
- uses: actions/upload-artifact@v2
+ uses: actions/upload-artifact@v4
with:
name: ${{ github.job }}
path: ${{ github.workspace }}/dist/${{ github.job }}-*.rpm
@@ -185,7 +185,7 @@ jobs:
env:
ATC_COMPONENT: ${{ github.job }}
- name: Upload RPM
- uses: actions/upload-artifact@v2
+ uses: actions/upload-artifact@v4
with:
name: ${{ github.job }}
path: ${{ github.workspace }}/dist/${{ github.job }}-*.rpm
@@ -210,7 +210,7 @@ jobs:
env:
ATC_COMPONENT: ${{ github.job }}
- name: Upload RPM
- uses: actions/upload-artifact@v2
+ uses: actions/upload-artifact@v4
with:
name: ${{ github.job }}
path: ${{ github.workspace }}/dist/*.rpm
@@ -228,7 +228,7 @@ jobs:
env:
ATC_COMPONENT: ${{ github.job }}
- name: Upload RPM
- uses: actions/upload-artifact@v2
+ uses: actions/upload-artifact@v4
with:
name: ${{ github.job }}
path: ${{ github.workspace }}/dist/${{ github.job }}-*.rpm
@@ -246,7 +246,7 @@ jobs:
env:
ATC_COMPONENT: ${{ github.job }}
- name: Upload RPM
- uses: actions/upload-artifact@v2
+ uses: actions/upload-artifact@v4
with:
name: ${{ github.job }}
path: ${{ github.workspace }}/dist/${{ github.job }}-*.rpm
@@ -264,7 +264,7 @@ jobs:
env:
ATC_COMPONENT: ${{ github.job }}
- name: Upload RPM
- uses: actions/upload-artifact@v2
+ uses: actions/upload-artifact@v4
with:
name: ${{ github.job }}
path: ${{ github.workspace }}/dist/${{ github.job }}-*.rpm
@@ -282,7 +282,7 @@ jobs:
env:
ATC_COMPONENT: ${{ github.job }}
- name: Upload RPM
- uses: actions/upload-artifact@v2
+ uses: actions/upload-artifact@v4
with:
name: ${{ github.job }}
path: ${{ github.workspace }}/dist/${{ github.job }}-*.rpm
@@ -317,7 +317,7 @@ jobs:
actual_rpm_name="$(ls dist | grep -E
'^trafficserver-[0-9.]+-[0-9]+\.[0-9a-f]+.el${{ env.RHEL_VERSION }}.${{
env.TARGET_ARCH }}.rpm$')"
[[ "${{ steps.repo-info.outputs.expected-rpm-name }}" ==
"$actual_rpm_name" ]]
- name: Upload RPM
- uses: actions/upload-artifact@v2
+ uses: actions/upload-artifact@v4
with:
name: ${{ github.job }}
path: ${{ github.workspace }}/dist/${{ github.job }}-*.x86_64.rpm
@@ -348,7 +348,7 @@ jobs:
- name: Import cached Alpine Docker image
run: .github/actions/save-alpine-tar/entrypoint.sh load ${{
env.ALPINE_VERSION }}
- name: Download RPMs
- uses: actions/download-artifact@v2
+ uses: actions/download-artifact@v4
with:
path: ${{ github.workspace }}/dist/
- name: Build CDN-in-a-Box images
@@ -356,7 +356,7 @@ jobs:
- name: Start CDN-in-a-Box
uses: ./.github/actions/run-ciab
- name: Upload CDN-in-a-Box logs
- uses: actions/upload-artifact@v2
+ uses: actions/upload-artifact@v4
with:
name: ciab-logs
path: infrastructure/cdn-in-a-box/logs/*.log
diff --git a/.github/workflows/container-trafficserver-alpine.yml
b/.github/workflows/container-trafficserver-alpine.yml
index 7a1da09030..2ed1669ea6 100644
--- a/.github/workflows/container-trafficserver-alpine.yml
+++ b/.github/workflows/container-trafficserver-alpine.yml
@@ -15,7 +15,7 @@
# specific language governing permissions and limitations
# under the License.
-name: Container ghcr.io/apache/trafficcontrol/ci/trafficserver-alpine
+name: Container trafficserver-alpine
env:
CONTAINER: ghcr.io/${{ github.repository }}/ci/trafficserver-alpine
diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml
index eb162e8567..779f5c82f5 100644
--- a/.github/workflows/docs.yml
+++ b/.github/workflows/docs.yml
@@ -49,7 +49,7 @@ jobs:
with:
docs-folder: "docs/"
pre-build-command: "apt-get install -y pandoc"
- - uses: actions/upload-artifact@v1
+ - uses: actions/upload-artifact@v4
with:
name: HTMLDocumentation
path: docs/build/html/
diff --git a/.github/workflows/health-client-tests.yml
b/.github/workflows/health-client-tests.yml
index b1662194fb..1811891627 100644
--- a/.github/workflows/health-client-tests.yml
+++ b/.github/workflows/health-client-tests.yml
@@ -82,7 +82,7 @@ jobs:
env:
ATC_COMPONENT: ${{ github.job }}
- name: Upload RPM
- uses: actions/upload-artifact@v2
+ uses: actions/upload-artifact@v4
with:
name: ${{ github.job }}
path: ${{ github.workspace }}/dist/${{ github.job }}-*.x86_64.rpm
@@ -101,7 +101,7 @@ jobs:
NO_SOURCE: 1
ATC_COMPONENT: ${{ github.job }}
- name: Upload RPM
- uses: actions/upload-artifact@v2
+ uses: actions/upload-artifact@v4
with:
name: ${{ github.job }}
path: ${{ github.workspace
}}/dist/trafficcontrol-health-client-*.x86_64.rpm
@@ -136,7 +136,7 @@ jobs:
actual_rpm_name="$(ls dist | grep -E
'^trafficserver-[0-9.]+-[0-9]+\.[0-9a-f]+.el${{ env.RHEL_VERSION }}.${{
env.TARGET_ARCH }}.rpm$')"
[[ "${{ steps.repo-info.outputs.expected-rpm-name }}" ==
"$actual_rpm_name" ]]
- name: Upload RPM
- uses: actions/upload-artifact@v2
+ uses: actions/upload-artifact@v4
with:
name: ${{ github.job }}
path: ${{ github.workspace }}/dist/${{ github.job }}-*.x86_64.rpm
@@ -153,23 +153,23 @@ jobs:
- name: Checkout
uses: actions/checkout@master
- name: Download TO RPM
- uses: actions/download-artifact@v2
+ uses: actions/download-artifact@v4
with:
name: traffic_ops
path: ${{ github.workspace
}}/tc-health-client/testing/docker/traffic_ops
- name: Download Health Client RPM
- uses: actions/download-artifact@v2
+ uses: actions/download-artifact@v4
with:
name: tc-health-client
path: ${{ github.workspace
}}/tc-health-client/testing/docker/health-check-test
- name: Download ATS RPM
- uses: actions/download-artifact@v2
+ uses: actions/download-artifact@v4
with:
name: trafficserver
path: ${{ github.workspace
}}/tc-health-client/testing/docker/health-check-test
- name: display directory
run: ls -l ${{ github.workspace
}}/tc-health-client/testing/docker/health-check-test
- name: Build health client test containers
- run: docker-compose -f ${{ github.workspace
}}/tc-health-client/testing/docker/docker-compose.yml build --parallel
+ run: docker compose -f ${{ github.workspace
}}/tc-health-client/testing/docker/docker-compose.yml build --parallel
- name: Run health client integration tests
uses: ./.github/actions/health-client-integration-tests
diff --git a/.github/workflows/to.api.contract.tests.yml
b/.github/workflows/to.api.contract.tests.yml
index a709289967..043229de24 100644
--- a/.github/workflows/to.api.contract.tests.yml
+++ b/.github/workflows/to.api.contract.tests.yml
@@ -105,13 +105,13 @@ jobs:
version: 4
- name: Upload Vault logs
if: ${{ steps.v4Tests.outcome != 'success' && always() }}
- uses: actions/upload-artifact@v2
+ uses: actions/upload-artifact@v4
with:
name: v4 Traffic Vault logs
path: ${{ github.workspace
}}/infrastructure/cdn-in-a-box/traffic.vault.logs
- name: Upload Ops logs
if: ${{ steps.v4Tests.outcome != 'success' && always() }}
- uses: actions/upload-artifact@v2
+ uses: actions/upload-artifact@v4
with:
name: v4 Traffic Ops logs
path: ${{ github.workspace
}}/traffic_ops/traffic_ops_golang/traffic.ops.log
diff --git a/.github/workflows/to.integration.tests.yml
b/.github/workflows/to.integration.tests.yml
index 2be60a5f1c..8cfd89207b 100644
--- a/.github/workflows/to.integration.tests.yml
+++ b/.github/workflows/to.integration.tests.yml
@@ -123,13 +123,13 @@ jobs:
flags: traffic_ops_integration,v3
- name: Upload v3 Vault logs
if: ${{ steps.v3Tests.outcome != 'success' && always() }}
- uses: actions/upload-artifact@v2
+ uses: actions/upload-artifact@v4
with:
name: v3 Traffic Vault logs
path: ${{ github.workspace
}}/infrastructure/cdn-in-a-box/traffic.vault.logs
- name: Upload v3 Ops logs
if: ${{ steps.v3Tests.outcome != 'success' && always() }}
- uses: actions/upload-artifact@v2
+ uses: actions/upload-artifact@v4
with:
name: v3 Traffic Ops logs
path: ${{ github.workspace
}}/traffic_ops/traffic_ops_golang/traffic.ops.log
@@ -200,13 +200,13 @@ jobs:
flags: traffic_ops_integration,v4
- name: Upload v4 Vault logs
if: ${{ steps.v4Tests.outcome != 'success' && always() }}
- uses: actions/upload-artifact@v2
+ uses: actions/upload-artifact@v4
with:
name: v4 Traffic Vault logs
path: ${{ github.workspace
}}/infrastructure/cdn-in-a-box/traffic.vault.logs
- name: Upload v4 Ops logs
if: ${{ steps.v4Tests.outcome != 'success' && always() }}
- uses: actions/upload-artifact@v2
+ uses: actions/upload-artifact@v4
with:
name: v4 Traffic Ops logs
path: ${{ github.workspace
}}/traffic_ops/traffic_ops_golang/traffic.ops.log
@@ -279,13 +279,13 @@ jobs:
flags: traffic_ops_integration,v5
- name: Upload v5 Vault logs
if: ${{ steps.v5Tests.outcome != 'success' && always() }}
- uses: actions/upload-artifact@v2
+ uses: actions/upload-artifact@v4
with:
name: v5 Traffic Vault logs
path: ${{ github.workspace
}}/infrastructure/cdn-in-a-box/traffic.vault.logs
- name: Upload v5 Ops logs
if: ${{ steps.v5Tests.outcome != 'success' && always() }}
- uses: actions/upload-artifact@v2
+ uses: actions/upload-artifact@v4
with:
name: v5 Traffic Ops logs
path: ${{ github.workspace
}}/traffic_ops/traffic_ops_golang/traffic.ops.log
diff --git a/.github/workflows/tp.integration.tests.yml
b/.github/workflows/tp.integration.tests.yml
index 17fb097fac..b6ce0d8daf 100644
--- a/.github/workflows/tp.integration.tests.yml
+++ b/.github/workflows/tp.integration.tests.yml
@@ -165,7 +165,7 @@ jobs:
with:
smtp_address: 172.17.0.1
- name: Upload Report
- uses: actions/upload-artifact@v2
+ uses: actions/upload-artifact@v4
if: always()
with:
name: ${{ github.job }}
diff --git a/.github/workflows/tpv2.yml b/.github/workflows/tpv2.yml
index 57c156abfe..66052b4c3c 100644
--- a/.github/workflows/tpv2.yml
+++ b/.github/workflows/tpv2.yml
@@ -261,7 +261,7 @@ jobs:
- name: Run everything and test
uses: ./.github/actions/tpv2-integration-tests
- name: Upload Report
- uses: actions/upload-artifact@v3
+ uses: actions/upload-artifact@v4
if: always()
with:
name: ${{ github.job }}
diff --git a/.github/workflows/tr-ultimate-test-harness.yml
b/.github/workflows/tr-ultimate-test-harness.yml
index 5dbb842193..67c7ed7a47 100644
--- a/.github/workflows/tr-ultimate-test-harness.yml
+++ b/.github/workflows/tr-ultimate-test-harness.yml
@@ -62,10 +62,10 @@ jobs:
go-version: ${{ env.GO_VERSION }}
- name: Vendor dependencies
run: go mod vendor
- - name: Build docker-compose services
+ - name: Build docker compose services
run: |
- docker-compose build --parallel &&
- docker-compose pull db
+ docker compose build --parallel &&
+ docker compose pull db
- name: Cache local Maven repository
uses: actions/cache@v2
with:
@@ -81,7 +81,7 @@ jobs:
restore-keys: |
${{ runner.os }}-node-modules-
- name: Start the Dev CDN in a Box
- run: docker-compose up -d
+ run: docker compose up -d
- name: Wait until Traffic Ops is ready to accept requests
run: |
trap 'echo "Error on line ${LINENO} of setting interface IP
addresses"; exit 1' ERR
@@ -113,7 +113,7 @@ jobs:
service_by_hostname[edge]=t3c
for hostname in trafficrouter edge; do
- container_id="$(docker-compose ps -q
"${service_by_hostname[$hostname]}")"
+ container_id="$(docker compose ps -q --all
"${service_by_hostname[$hostname]}")"
interface="$(<<'JSON' jq
{
"mtu": 1500,
@@ -202,12 +202,12 @@ jobs:
run: |
set -o errexit -o nounset
mkdir -p dev/logs
- for service in $(docker-compose ps --services); do
- docker-compose logs --no-color --timestamps "$service"
>"dev/logs/${service}.log"
+ for service in $(docker compose ps --all --services); do
+ docker compose logs --no-color --timestamps "$service"
>"dev/logs/${service}.log"
done
if: ${{ failure() }}
- name: Upload Dev CDN-in-a-Box logs
- uses: actions/upload-artifact@v2
+ uses: actions/upload-artifact@v4
with:
name: dev-ciab-logs
path: dev/logs/*.log
diff --git a/.github/workflows/tr.tests.yaml b/.github/workflows/tr.tests.yaml
index b04a7b6443..38bf66cc21 100644
--- a/.github/workflows/tr.tests.yaml
+++ b/.github/workflows/tr.tests.yaml
@@ -66,7 +66,7 @@ jobs:
files: core/target/site/jacoco-aggregate/jacoco.xml
flags: traffic_router_unit
- name: Upload Surefire and Failsafe Reports
- uses: actions/upload-artifact@v3
+ uses: actions/upload-artifact@v4
if: ${{ failure() }}
with:
name: junit-reports
diff --git a/.github/workflows/traffic.ops.database.yml
b/.github/workflows/traffic.ops.database.yml
index 758d61324b..ff04809cfb 100644
--- a/.github/workflows/traffic.ops.database.yml
+++ b/.github/workflows/traffic.ops.database.yml
@@ -51,6 +51,6 @@ jobs:
- name: Build And Copy Traffic Ops RPM
run: ./pkg traffic_ops_build && cp ./dist/traffic_ops-*.x86_64.rpm
traffic_ops_db/test/docker/traffic_ops.rpm && cp
./dist/traffic_ops-*.x86_64.rpm
traffic_ops/app/db/trafficvault/test/traffic_ops.rpm
- name: Run Traffic Ops Database Docker Tests
- run: cd traffic_ops_db/test/docker/ && docker-compose up --build
--exit-code-from trafficops-db-admin
+ run: cd traffic_ops_db/test/docker/ && docker compose up --build
--exit-code-from trafficops-db-admin
- name: Run Traffic Vault Database Docker Tests
- run: cd traffic_ops/app/db/trafficvault/test/ && docker-compose up
--build --exit-code-from trafficvault-db-admin
+ run: cd traffic_ops/app/db/trafficvault/test/ && docker compose up
--build --exit-code-from trafficvault-db-admin
diff --git a/.gitignore b/.gitignore
index 223bea41ea..81e5f7f3f5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -51,7 +51,7 @@ vendor/**/.travis.yml
.dbInfo
/dist
*.pyc
-bin/docker-compose
+bin/docker compose
/.m2/
/.npm/
/.github/actions/**/node_modules/
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 8f8ab1906c..8be864afae 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,6 +3,12 @@ All notable changes to this project will be documented in this
file.
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).
+##[8.0.2] - 2024-09-27
+- [#8081](https://github.com/apache/trafficcontrol/pull/8081) *GH Actions*
Updates the versions used for actions/artifact-download and
actions/artifact-upload.
+- [#8079](https://github.com/apache/trafficcontrol/pull/8079) *Traffic Ops DB*
Update Postgres version to 13.16.
+- [#8071](https://github.com/apache/trafficcontrol/pull/8071) *Traffic Ops*
Improve validation for the `id` field of the `PUT
/deliveryservice_request_comments` endpoint.
+- [#8056](https://github.com/apache/trafficcontrol/pull/8056) Remove the
`version` key from compose files and use `docker compose` instead of
`docker-compose`.
+
## [8.0.1] - 2024-03-19
### Fixed
- [#7957](https://github.com/apache/trafficcontrol/pull/7957) *Traffic Ops*:
Fix the incorrect display of delivery services assigned to ORG servers.
diff --git a/GO_VERSION b/GO_VERSION
index 6245beecd3..49e0a31d49 100644
--- a/GO_VERSION
+++ b/GO_VERSION
@@ -1 +1 @@
-1.22.1
+1.23.1
diff --git a/VERSION b/VERSION
index cd1d2e94f3..8b22a322d0 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-8.0.1
+8.0.2
diff --git a/cache-config/testing/README.md b/cache-config/testing/README.md
index c624cdeed3..0bcbb7dce8 100644
--- a/cache-config/testing/README.md
+++ b/cache-config/testing/README.md
@@ -69,7 +69,7 @@ Docker containers you will need to provide the following
resources:
4. You may copy an Apache Trafficserver RPM to the
docker/yumserver/test-rpms directory or you can run:
- **docker-compose -f docker-compose-ats-build.yml run
trafficserver_build**
+ **docker compose -f docker-compose-ats-build.yml run
trafficserver_build**
to build an rpm which is copied to docker/yumserver/test-rpms.
@@ -83,8 +83,8 @@ Docker containers you will need to provide the following
resources:
6. Build the Docker images and run the ort test:
```
cd trafficcontrol/cache-config/testing/docker
- docker-compose build
- docker-compose run ort_test
+ docker compose build
+ docker compose run ort_test
```
After some time, test results should be available at
'ort-tests/test.log'
diff --git a/cache-config/testing/docker/.env b/cache-config/testing/docker/.env
new file mode 120000
index 0000000000..e72b3932f4
--- /dev/null
+++ b/cache-config/testing/docker/.env
@@ -0,0 +1 @@
+../../../.env
\ No newline at end of file
diff --git a/cache-config/testing/docker/docker-compose-ats-build.yml
b/cache-config/testing/docker/docker-compose-ats-build.yml
index ca91deff47..1a085f0ed6 100644
--- a/cache-config/testing/docker/docker-compose-ats-build.yml
+++ b/cache-config/testing/docker/docker-compose-ats-build.yml
@@ -18,7 +18,6 @@
#
---
-version: '3.8'
volumes:
trafficcontrol:
diff --git a/cache-config/testing/docker/docker-compose.yml
b/cache-config/testing/docker/docker-compose.yml
index b072c72aec..08712fb8a0 100644
--- a/cache-config/testing/docker/docker-compose.yml
+++ b/cache-config/testing/docker/docker-compose.yml
@@ -22,12 +22,11 @@
# container updates ../ort-tests/tc-fixtures.json with
# the corresponding version string)
#
-# Run: docker-compose build
-# Run: docker-compose run ort_test
+# Run: docker compose build
+# Run: docker compose run ort_test
#
---
-version: '3.8'
volumes:
trafficcontrol:
@@ -36,7 +35,7 @@ volumes:
services:
db:
- image: postgres:13.2
+ image: postgres:${POSTGRES_VERSION}
env_file:
- variables.env
ports:
@@ -51,6 +50,7 @@ services:
args:
- OS_DISTRO=${OS_DISTRO:-rockylinux}
- OS_VERSION=${OS_VERSION:-8}
+ - POSTGRES_VERSION=${POSTGRES_VERSION}
context: ../../..
dockerfile: cache-config/testing/docker/traffic_ops/Dockerfile
volumes:
diff --git a/cache-config/testing/docker/traffic_ops/Dockerfile
b/cache-config/testing/docker/traffic_ops/Dockerfile
index c5f9d8c89c..83d1c38b22 100644
--- a/cache-config/testing/docker/traffic_ops/Dockerfile
+++ b/cache-config/testing/docker/traffic_ops/Dockerfile
@@ -39,7 +39,7 @@ RUN set -o nounset -o errexit && \
if [[ "${OS_VERSION%%.*}" -eq 7 ]]; then \
use_repo=''; \
enable_repo=''; \
- # needed for llvm-toolset-7-clang, which is needed for
postgresql13-devel-13.2-1PGDG, required by TO rpm
+ # needed for llvm-toolset-7-clang, which is needed for
postgresql13-devel-13.X-1PGDG, required by TO rpm
dnf -y install gcc centos-release-scl-rh; \
else \
use_repo='--repo=pgdg13'; \
diff --git a/cache-config/testing/docker/yumserver/Dockerfile
b/cache-config/testing/docker/yumserver/Dockerfile
index 254b515c92..416f0e4d46 100644
--- a/cache-config/testing/docker/yumserver/Dockerfile
+++ b/cache-config/testing/docker/yumserver/Dockerfile
@@ -20,10 +20,10 @@
# Based on CentOS 6.6
############################################################
-FROM centos:7
+FROM rockylinux:8
MAINTAINER [email protected]
-RUN yum install -y httpd createrepo yum-utils
+RUN dnf install -y httpd createrepo yum-utils
RUN mkdir -p /var/www/html/traffic-control/7/x86_64/Packages
RUN sed -i -e 's/#ServerName www.example.com:80/ServerName
www.example.com:80/g' /etc/httpd/conf/httpd.conf
diff --git a/dev/atc.dev.sh b/dev/atc.dev.sh
index 128f3e52c6..9360af30e9 100644
--- a/dev/atc.dev.sh
+++ b/dev/atc.dev.sh
@@ -15,9 +15,9 @@
# specific language governing permissions and limitations
# under the License.
-alias atc-start="docker-compose up -d --build";
-alias atc-build="docker-compose build";
-alias atc-stop="docker-compose kill && docker-compose down -v
--remove-orphans";
+alias atc-start="docker compose up -d --build";
+alias atc-build="docker compose build";
+alias atc-stop="docker compose kill && docker compose down -v
--remove-orphans";
function atc-restart {
if ! atc-stop $@; then
diff --git a/docker-compose.yml b/docker-compose.yml
index d9da0325cc..83c8d53bbc 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -16,7 +16,6 @@
# under the License.
---
-version: '3.8'
services:
trafficops:
@@ -39,7 +38,7 @@ services:
- .:/go/src/github.com/apache/trafficcontrol
db:
- image: postgres:13.2-alpine
+ image: postgres:${POSTGRES_VERSION}-alpine
ports:
- 5432:5432
environment:
diff --git a/docs/source/_ext/atc.py b/docs/source/_ext/atc.py
index 4b020bb63a..6d6d050a1b 100644
--- a/docs/source/_ext/atc.py
+++ b/docs/source/_ext/atc.py
@@ -70,6 +70,33 @@ def atc_go_version(unused_typ: str,
strong_node = nodes.strong(major_minor_version, major_minor_version)
return [strong_node], []
+def atc_postgres_version(
+ unused_typ: None,
+ unused_rawtext: None,
+ unused_text: None,
+ lineno: int,
+ unused_inliner: None,
+ unused_options: None=None,
+ unused_content: None=None
+) -> Tuple[List[nodes.Node], List[nodes.Node]]:
+ """
+ A role that inserts the Postgres version used/required by this version
of ATC.
+
+ Example:
+
+ :atc-postgres-version:_
+ """
+ env_file = os.path.join(os.path.dirname(__file__), "../../../.env")
+ with open(file=env_file, encoding="utf-8") as env_file:
+ env_file_contents = env_file.read()
+
+ matches = re.search(pattern=r"^POSTGRES_VERSION=(\d+\.\d+)$",
string=env_file_contents, flags=re.MULTILINE)
+ if matches is None:
+ raise ValueError(f"Postgres version found that could not be
parsed: '{env_file_contents}' (from line {lineno})")
+ major_minor_version = matches.group(1)
+ strong_node = nodes.strong(major_minor_version, major_minor_version)
+ return [strong_node], []
+
# -- Issue role --------------------------------------------------------------
from docutils import utils
@@ -203,6 +230,7 @@ def setup(app: object) -> dict:
text=(visit_impl_node, depart_impl_node))
app.add_directive("impl-detail", ImplementationDetail)
app.add_role("atc-go-version", atc_go_version)
+ app.add_role("atc-postgres-version", atc_postgres_version)
app.add_role("issue", issue_role)
app.add_role("pr", pr_role)
app.add_role("pull-request", pr_role)
diff --git a/docs/source/admin/ansible-labs/ansible_labs.rst
b/docs/source/admin/ansible-labs/ansible_labs.rst
index 76c2d4f2ec..6207ea16f3 100644
--- a/docs/source/admin/ansible-labs/ansible_labs.rst
+++ b/docs/source/admin/ansible-labs/ansible_labs.rst
@@ -126,7 +126,7 @@ A simple scaffold for a lab directory is included at
:atc-file:`infrastructure/a
* The :atc-file:`infrastructure/ansible/sample.lab/ansible` subdirectory
should be used to hold variables specific to a particular lab in either
``vars.yml`` or an encrypted Ansible ``vault``
* The :atc-file:`infrastructure/ansible/sample.lab/inventory` directory is
where it's recommended for your provisioning layer to drop a valid Ansible
inventory file describing what was allocated. When using Ansible, it's
important to point the inventory source to this directory so that it will merge
all available inventory files together for you.
* The :atc-file:`infrastructure/ansible/sample.lab/out/ssl` directory is
generated with the first run of the lab and holds your local copy of the lab
SSL data. The out directory is also handy for holding temporary data from the
provisioning or steady-state layers to help triage failures.
-* The docker and docker-compose related files are present as an optional
wrapper for Linux hosts (doesn't work on OSX) around all the lab plumbing
dependencies for Ansible. This is particularly handy for automated systems who
perform regular redeployments such as in a CI/CD tool.
+* The docker and docker compose related files are present as an optional
wrapper for Linux hosts (doesn't work on OSX) around all the lab plumbing
dependencies for Ansible. This is particularly handy for automated systems who
perform regular redeployments such as in a CI/CD tool.
* :atc-file:`infrastructure/ansible/sample.lab/manual.run.sh` is a scaffold
for the entrypoint for performing a lab rebuild from your local system.
Gilt
diff --git a/docs/source/admin/quick_howto/ciab.rst
b/docs/source/admin/quick_howto/ciab.rst
index 1ffafd115e..1d85d25860 100644
--- a/docs/source/admin/quick_howto/ciab.rst
+++ b/docs/source/admin/quick_howto/ciab.rst
@@ -38,7 +38,7 @@ The CDN in a Box directory is found within the Traffic
Control repository at :fi
.. note:: These can also be specified via the ``RPM`` variable to a direct
Docker build of the component - with the exception of Traffic Router, which
instead accepts ``TRAFFIC_ROUTER_RPM`` to specify a Traffic Router RPM and
``TOMCAT_RPM`` to specify an Apache Tomcat RPM.
-These can all be supplied manually via the steps in :ref:`dev-building` (for
Traffic Control component RPMs) or via some external source. Alternatively, the
:file:`infrastructure/cdn-in-a-box/Makefile` file contains recipes to build all
of these - simply run :manpage:`make(1)` from the
:file:`infrastructure/cdn-in-a-box/` directory. Once all RPM dependencies have
been satisfied, run ``docker-compose build --parallel`` from the
:file:`infrastructure/cdn-in-a-box/` directory to construct t [...]
+These can all be supplied manually via the steps in :ref:`dev-building` (for
Traffic Control component RPMs) or via some external source. Alternatively, the
:file:`infrastructure/cdn-in-a-box/Makefile` file contains recipes to build all
of these - simply run :manpage:`make(1)` from the
:file:`infrastructure/cdn-in-a-box/` directory. Once all RPM dependencies have
been satisfied, run ``docker compose build --parallel`` from the
:file:`infrastructure/cdn-in-a-box/` directory to construct t [...]
.. tip:: If you have gone through the steps to :ref:`dev-building-natively`,
you can run ``make native`` instead of ``make`` to build the RPMs quickly.
Another option is running ``make -j4`` to build 4 components at once, if your
computer can handle it.
@@ -51,11 +51,11 @@ By default, CDN in a Box will be based on Rocky Linux 8. To
base CDN in a Box on
export BASE_IMAGE=centos RHEL_VERSION=7
make # Builds RPMs for CentOS 7
- docker-compose build --parallel # Builds CentOS 7 CDN in a Box images
+ docker compose build --parallel # Builds CentOS 7 CDN in a Box images
Usage
-----
-In a typical scenario, if the steps in `Building`_ have been followed, all
that's required to start the CDN in a Box is to run ``docker-compose up`` -
optionally with the ``-d`` flag to run without binding to the terminal - from
the :file:`infrastructure/cdn-in-a-box/` directory. This will start up the
entire stack and should take care of any needed initial configuration. The
services within the environment are by default not exposed locally to the host.
If this is the desired behavior w [...]
+In a typical scenario, if the steps in `Building`_ have been followed, all
that's required to start the CDN in a Box is to run ``docker compose up`` -
optionally with the ``-d`` flag to run without binding to the terminal - from
the :file:`infrastructure/cdn-in-a-box/` directory. This will start up the
entire stack and should take care of any needed initial configuration. The
services within the environment are by default not exposed locally to the host.
If this is the desired behavior w [...]
.. _ciab-service-info:
.. table:: Service Info
@@ -107,14 +107,14 @@ To test the demo1 Delivery Service:
.. code-block:: shell
:caption: Example Command to See the CDN in Action
- sudo docker-compose exec enroller curl -L
"http://video.demo1.mycdn.ciab.test"
+ sudo docker compose exec enroller curl -L
"http://video.demo1.mycdn.ciab.test"
To test the ``foo.kabletown.net.`` Federation:
.. code-block:: shell
:caption: Query the Federation CNAME using the Delivery Service hostname
- sudo docker-compose exec trafficrouter dig +short
@trafficrouter.infra.ciab.test -t CNAME video.demo2.mycdn.ciab.test
+ sudo docker compose exec trafficrouter dig +short
@trafficrouter.infra.ciab.test -t CNAME video.demo2.mycdn.ciab.test
# Expected response:
foo.kabletown.net.
@@ -127,7 +127,7 @@ In order to check the "readiness" of your CDN, you can
optionally start the Read
.. code-block:: shell
:caption: Example Command to Run the Readiness Container
- sudo docker-compose -f docker-compose.readiness.yml up
+ sudo docker compose -f docker-compose.readiness.yml up
Integration Tests
"""""""""""""""""
@@ -137,14 +137,14 @@ There also exist TP and TO integration tests containers.
Both of these container
.. code-block:: shell
:caption: Running TP Integration Tests
- sudo docker-compose -f docker-compose.traffic-portal-test.yml up
+ sudo docker compose -f docker-compose.traffic-portal-test.yml up
.. code-block:: shell
:caption: Running TO Integration Tests
- sudo docker-compose -f docker-compose.traffic-ops-test.yml up
+ sudo docker compose -f docker-compose.traffic-ops-test.yml up
-.. note:: If all CDN in a Box containers are started at once (example:
``docker-compose -f docker-compose.yml -f docker-compose.traffic-ops-test.yml
up -d edge enroller dns db smtp trafficops trafficvault integration``), the
:ref:`Enroller <ciab-enroller>` initial data load is skipped to prevent data
conflicts with the :ref:`Traffic Ops API tests fixtures
<dev-traffic-ops-fixtures>`.
+.. note:: If all CDN in a Box containers are started at once (example:
``docker compose -f docker-compose.yml -f docker-compose.traffic-ops-test.yml
up -d edge enroller dns db smtp trafficops trafficvault integration``), the
:ref:`Enroller <ciab-enroller>` initial data load is skipped to prevent data
conflicts with the :ref:`Traffic Ops API tests fixtures
<dev-traffic-ops-fixtures>`.
variables.env
"""""""""""""
@@ -285,7 +285,7 @@ Multiple optional containers may be combined by using a
shell alias:
# From the infrastructure/cdn-in-a-box directory
# (Assuming the names of the optional services are stored in the
`NAME1` and `NAME2` environment variables)
- alias mydc="docker-compose -f $PWD/docker-compose.yml -f
$PWD/optional/docker-compose.$NAME1.yml -f
$PWD/optional/docker-compose.$NAME2.yml"
+ alias mydc="docker compose -f $PWD/docker-compose.yml -f
$PWD/optional/docker-compose.$NAME1.yml -f
$PWD/optional/docker-compose.$NAME2.yml"
docker volume prune -f
mydc build
mydc up
@@ -302,7 +302,7 @@ The TightVNC optional container provides a basic
lightweight window manager (flu
:caption: CIAB Startup Using Bash Alias
# From infrastructure/cdn-in-a-box
- alias mydc="docker-compose "` \
+ alias mydc="docker compose "` \
`"-f $PWD/docker-compose.yml "` \
`"-f $PWD/docker-compose.expose-ports.yml "` \
`"-f $PWD/optional/docker-compose.vnc.yml "` \
@@ -381,7 +381,7 @@ Dante's socks proxy is an optional container that can be
used to provide browser
:caption: CIAB Startup Using Bash Alias
# From infrastructure/cdn-in-a-box
- alias mydc="docker-compose -f $PWD/docker-compose.yml -f
$PWD/optional/docker-compose.socksproxy.yml"
+ alias mydc="docker compose -f $PWD/docker-compose.yml -f
$PWD/optional/docker-compose.socksproxy.yml"
docker volume prune -f
mydc build
mydc kill
@@ -390,17 +390,17 @@ Dante's socks proxy is an optional container that can be
used to provide browser
#. Once the CDN-in-a-box stack has started, use the aforementioned browser to
access Traffic Portal via the socks proxy on the docker host.
-.. seealso:: `The official Docker Compose documentation CLI reference
<https://docs.docker.com/compose/reference/>`_ for complete instructions on how
to pass service definition files to the ``docker-compose`` executable.
+.. seealso:: `The official Docker Compose documentation CLI reference
<https://docs.docker.com/compose/reference/>`_ for complete instructions on how
to pass service definition files to the ``docker compose`` executable.
Static Subnet
-------------
-Since ``docker-compose`` will randomly create a subnet and it has a chance to
conflict with your network environment, using static subnet is a good choice.
+Since ``docker compose`` will randomly create a subnet and it has a chance to
conflict with your network environment, using static subnet is a good choice.
.. code-block:: shell
:caption: CIAB Startup with Static Subnet
# From the infrastructure/cdn-in-a-box directory
- alias mydc="docker-compose -f $PWD/docker-compose.yml -f
$PWD/optional/docker-compose.static-subnet.yml"
+ alias mydc="docker compose -f $PWD/docker-compose.yml -f
$PWD/optional/docker-compose.static-subnet.yml"
docker volume prune -f
mydc build
mydc up
@@ -417,7 +417,7 @@ How to use it
:caption: CIAB Startup with VPN
# From infrastructure/cdn-in-a-box
- alias mydc="docker-compose -f $PWD/docker-compose.yml -f
$PWD/docker-compose.expose-ports.yml -f $PWD/optional/docker-compose.vpn.yml -f
$PWD/optional/docker-compose.vpn.expose-ports.yml"
+ alias mydc="docker compose -f $PWD/docker-compose.yml -f
$PWD/docker-compose.expose-ports.yml -f $PWD/optional/docker-compose.vpn.yml -f
$PWD/optional/docker-compose.vpn.expose-ports.yml"
mydc down -v
mydc build
mydc up
@@ -444,12 +444,12 @@ If you want a GUI version of VPN client, we recommend
`Tunnelblick <https://tunn
Private Subnet for Routing
""""""""""""""""""""""""""
-Since ``docker-compose`` randomly creates a subnet, this container prepares 2
default private subnets for routing:
+Since ``docker compose`` randomly creates a subnet, this container prepares 2
default private subnets for routing:
* 172.16.127.0/255.255.240.0
* 10.16.127.0/255.255.240.0
-The subnet that will be used is determined automatically based on the subnet
prefix. If the subnet prefix which ``docker-compose`` selected is ``192.`` or
``10.``, this container will select 172.16.127.0/255.255.240.0 for its routing
subnet. Otherwise, it selects 10.16.127.0/255.255.240.0.
+The subnet that will be used is determined automatically based on the subnet
prefix. If the subnet prefix which ``docker compose`` selected is ``192.`` or
``10.``, this container will select 172.16.127.0/255.255.240.0 for its routing
subnet. Otherwise, it selects 10.16.127.0/255.255.240.0.
Of course, you can decide which routing subnet subnet by supplying the
environment variables ``PRIVATE_NETWORK`` and ``PRIVATE_NETMASK``.
@@ -474,7 +474,7 @@ It is recommended that this be done using a custom bash
alias.
:caption: CIAB Startup with Grafana
# From infrastructure/cdn-in-a-box
- alias mydc="docker-compose -f $PWD/docker-compose.yml -f
$PWD/optional/docker-compose.grafana.yml -f
$PWD/optional/docker-compose.grafana.expose-ports.yml"
+ alias mydc="docker compose -f $PWD/docker-compose.yml -f
$PWD/optional/docker-compose.grafana.yml -f
$PWD/optional/docker-compose.grafana.expose-ports.yml"
mydc down -v
mydc build
mydc up
diff --git a/docs/source/admin/traffic_ops.rst
b/docs/source/admin/traffic_ops.rst
index db97fb5580..5a8a9f1d10 100644
--- a/docs/source/admin/traffic_ops.rst
+++ b/docs/source/admin/traffic_ops.rst
@@ -87,7 +87,7 @@ Guide
to-# psql -h pg -U postgres
Password for user postgres:
- psql (13.2)
+ psql (13.16)
Type "help" for help.
postgres=#
diff --git a/docs/source/development/building.rst
b/docs/source/development/building.rst
index 0b9d9f416b..b765d961ad 100644
--- a/docs/source/development/building.rst
+++ b/docs/source/development/building.rst
@@ -146,11 +146,11 @@ Output :file:`{component}-{version}.rpm` files, build
logs and source tarballs w
.. _build-with-dc:
-Build Using ``docker-compose``
+Build Using ``docker compose``
------------------------------
-If the ``pkg`` script fails, ``docker-compose`` can still be used to build the
projects directly. The compose file can be found at
``infrastructure/docker/build/docker-compose.yml`` under the repository's root
directory. It can be passed directly to ``docker-compose``, either from the
``infrastructure/docker/build/`` directory or by explicitly passing a path to
the ``infrastructure/docker/build/docker-compose.yml`` file via ``-f``. It is
recommended that between builds ``docker-compose d [...]
+If the ``pkg`` script fails, ``docker compose`` can still be used to build the
projects directly. The compose file can be found at
``infrastructure/docker/build/docker-compose.yml`` under the repository's root
directory. It can be passed directly to ``docker compose``, either from the
``infrastructure/docker/build/`` directory or by explicitly passing a path to
the ``infrastructure/docker/build/docker-compose.yml`` file via ``-f``. It is
recommended that between builds ``docker compose d [...]
-.. note:: Calling ``docker-compose`` in the way described above will build
_all_ projects, not just the default projects.
+.. note:: Calling ``docker compose`` in the way described above will build
_all_ projects, not just the default projects.
.. seealso:: `The Docker Compose command line reference
<https://docs.docker.com/compose/reference/overview/>`_
@@ -227,7 +227,7 @@ By default, the RPMs will be built targeting Rocky Linux 8.
CentOS 7 is also a s
export RHEL_VERSION=7
-.. warning:: Although there are no known issues with natively-built RPMs, the
official, supported method of building the RPMs is by using :ref:`pkg <pkg>` or
:ref:`docker-compose <build-with-dc>`. Use natively-built RPMs at your own risk.
+.. warning:: Although there are no known issues with natively-built RPMs, the
official, supported method of building the RPMs is by using :ref:`pkg <pkg>` or
:ref:`docker compose <build-with-dc>`. Use natively-built RPMs at your own risk.
Building Individual Components
==============================
@@ -237,7 +237,7 @@ Building This Documentation
---------------------------
See instructions for :ref:`building the documentation <docs-build>`.
-.. [#compose-optional] This is optional, but recommended. If a
``docker-compose`` executable is not available the ``pkg`` script will
automatically download and run it using a container. This is noticeably slower
than running it natively.
+.. [#compose-optional] This is optional, but recommended. If a ``docker
compose`` executable is not available the ``pkg`` script will automatically
download and run it using a container. This is noticeably slower than running
it natively.
.. [#optional-project] This project is "optional", which means that it cannot
be built unless :option:`-o` is given.
.. [#default-project] This is a default project, which will be built if
``pkg`` is run with no ``projects`` argument
.. [#mac-jdk] If you are on macOS, you additionally need to
:ref:`dev-tr-mac-jdk`.
diff --git a/docs/source/development/debugging.rst
b/docs/source/development/debugging.rst
index ffb7b9308b..f39ae1121f 100644
--- a/docs/source/development/debugging.rst
+++ b/docs/source/development/debugging.rst
@@ -44,9 +44,9 @@ Enroller
* Stop CDN-in-a-Box if it is running and remove any existing volumes.
Build/rebuild the ``enroller-debug`` image each time you have changed
:atc-file:`infrastructure/cdn-in-a-box/enroller/enroller.go`. Then, start
CDN-in-a-Box.
.. code-block:: shell
- :caption: docker-compose command for debugging the CDN in a Box
Enroller
+ :caption: docker compose command for debugging the CDN in a Box
Enroller
- alias mydc='docker-compose -f docker-compose.yml -f
docker-compose.expose-ports.yml -f optional/docker-compose.debugging.yml'
+ alias mydc='docker compose -f docker-compose.yml -f
docker-compose.expose-ports.yml -f optional/docker-compose.debugging.yml'
mydc down -v
mydc build enroller
mydc up
@@ -103,9 +103,9 @@ t3c on Edge Cache
* Stop CDN-in-a-Box if it is running and remove any existing volumes. Build
the ``edge-debug`` image to make sure it uses our fresh
``trafficcontrol-cache-config.rpm``. Then, start CDN-in-a-Box:
.. code-block:: shell
- :caption: docker-compose command for debugging ``t3c`` running
on the Edge Cache
+ :caption: docker compose command for debugging ``t3c`` running
on the Edge Cache
- alias mydc='docker-compose -f docker-compose.yml -f
docker-compose.expose-ports.yml -f optional/docker-compose.debugging.yml'
+ alias mydc='docker compose -f docker-compose.yml -f
docker-compose.expose-ports.yml -f optional/docker-compose.debugging.yml'
mydc down -v
mydc build edge
mydc up -d
@@ -170,9 +170,9 @@ t3c on Mid 01 Cache
* Stop CDN-in-a-Box if it is running and remove any existing volumes. Build
the ``mid-debug`` image to make sure it uses our fresh
``trafficcontrol-cache-config.rpm``. Then, start CDN-in-a-Box:
.. code-block:: shell
- :caption: docker-compose command for debugging ``t3c`` running
on the Mid 01 Cache
+ :caption: docker compose command for debugging ``t3c`` running
on the Mid 01 Cache
- alias mydc='docker-compose -f docker-compose.yml -f
docker-compose.expose-ports.yml -f optional/docker-compose.debugging.yml'
+ alias mydc='docker compose -f docker-compose.yml -f
docker-compose.expose-ports.yml -f optional/docker-compose.debugging.yml'
mydc down -v
mydc build mid-01
mydc up -d
@@ -237,9 +237,9 @@ t3c on Mid 02 Cache
* Stop CDN-in-a-Box if it is running and remove any existing volumes. Build
the ``mid-debug`` image to make sure it uses our fresh
``trafficcontrol-cache-config.rpm``. Then, start CDN-in-a-Box:
.. code-block:: shell
- :caption: docker-compose command for debugging ``t3c`` running
on the Mid 02 Cache
+ :caption: docker compose command for debugging ``t3c`` running
on the Mid 02 Cache
- alias mydc='docker-compose -f docker-compose.yml -f
docker-compose.expose-ports.yml -f optional/docker-compose.debugging.yml'
+ alias mydc='docker compose -f docker-compose.yml -f
docker-compose.expose-ports.yml -f optional/docker-compose.debugging.yml'
mydc down -v
mydc build mid-02
mydc up -d
@@ -297,9 +297,9 @@ Traffic Monitor
* Stop CDN-in-a-Box if it is running and remove any existing volumes. Build
the ``trafficmonitor-debug`` image to make sure it uses our fresh
``traffic_monitor.rpm``. Then, start CDN-in-a-Box:
.. code-block:: shell
- :caption: docker-compose command for debugging Traffic Monitor
+ :caption: docker compose command for debugging Traffic Monitor
- alias mydc='docker-compose -f docker-compose.yml -f
docker-compose.expose-ports.yml -f optional/docker-compose.debugging.yml'
+ alias mydc='docker compose -f docker-compose.yml -f
docker-compose.expose-ports.yml -f optional/docker-compose.debugging.yml'
mydc down -v
mydc build trafficmonitor
mydc up
@@ -346,9 +346,9 @@ Traffic Ops
* Stop CDN-in-a-Box if it is running and remove any existing volumes. Build
the ``trafficops-debug`` image to make sure it uses our fresh
``traffic_ops.rpm``. Then, start CDN-in-a-Box:
.. code-block:: shell
- :caption: docker-compose command for debugging Traffic Ops
+ :caption: docker compose command for debugging Traffic Ops
- alias mydc='docker-compose -f docker-compose.yml -f
docker-compose.expose-ports.yml -f optional/docker-compose.debugging.yml'
+ alias mydc='docker compose -f docker-compose.yml -f
docker-compose.expose-ports.yml -f optional/docker-compose.debugging.yml'
mydc down -v
mydc build trafficops
mydc up
@@ -393,9 +393,9 @@ Traffic Router
* Start CDN-in-a-Box, including the "expose ports" "debugging" compose files:
.. code-block:: shell
- :caption: docker-compose command for debugging Traffic Router
+ :caption: docker compose command for debugging Traffic Router
- alias mydc='docker-compose -f docker-compose.yml -f
docker-compose.expose-ports.yml -f optional/docker-compose.debugging.yml'
+ alias mydc='docker compose -f docker-compose.yml -f
docker-compose.expose-ports.yml -f optional/docker-compose.debugging.yml'
mydc down -v
mydc build trafficrouter
mydc up -d
@@ -494,9 +494,9 @@ Traffic Stats
* Stop CDN-in-a-Box if it is running and remove any existing volumes. Build
the ``trafficstats-debug`` image to make sure it uses our fresh
``traffic_stats.rpm``. Then, start CDN-in-a-Box:
.. code-block:: shell
- :caption: docker-compose command for debugging Traffic Stats
+ :caption: docker compose command for debugging Traffic Stats
- alias mydc='docker-compose -f docker-compose.yml -f
docker-compose.expose-ports.yml -f optional/docker-compose.debugging.yml'
+ alias mydc='docker compose -f docker-compose.yml -f
docker-compose.expose-ports.yml -f optional/docker-compose.debugging.yml'
mydc down -v
mydc build trafficstats
mydc up
diff --git a/docs/source/development/traffic_ops.rst
b/docs/source/development/traffic_ops.rst
index 850c4d1c69..f27d28c750 100644
--- a/docs/source/development/traffic_ops.rst
+++ b/docs/source/development/traffic_ops.rst
@@ -28,7 +28,10 @@ Software Requirements
=====================
Traffic Ops is only supported on CentOS 7+ systems (although many developers
do use Mac OS with some success). Here are the requirements:
-- `PostgreSQL 13.2 <https://www.postgresql.org/download/>`_ - the machine
where Traffic Ops is running must have the client tool set (e.g.
:manpage:`psql(1)`), but the actual database can be run anywhere so long as it
is accessible.
+- |install-postgres-link|_ - the machine where Traffic Ops is running must
have the client tool set (e.g. :manpage:`psql(1)`), but the actual database can
be run anywhere so long as it is accessible.
+
+.. |install-postgres-link| replace:: PostgreSQL :atc-postgres-version:`_`
+.. _install-postgres-link: https://www.postgresql.org/download/
.. note:: Prior to version 13.2, Traffic Ops used version 9.6. For
upgrading an existing Mac OS Homebrew-based PostgreSQL instance, you can use
`Homebrew <https://brew.sh/>`_ to easily upgrade from 9.6 to 13.2:
diff --git a/docs/source/development/traffic_router.rst
b/docs/source/development/traffic_router.rst
index a4aa9e1be6..49a23bd9f3 100644
--- a/docs/source/development/traffic_router.rst
+++ b/docs/source/development/traffic_router.rst
@@ -301,7 +301,7 @@ Once your IDE is listening for debugging connections, start
the unit tests:
.. code-block:: shell
:caption: Run the Traffic Router unit tests in Docker, with or without
debugging enabled
- docker-compose up
+ docker compose up
RPM Packaging
=============
diff --git a/experimental/graphql.sample/README.md
b/experimental/graphql.sample/README.md
index 511c6ffc03..cf7e990e3a 100644
--- a/experimental/graphql.sample/README.md
+++ b/experimental/graphql.sample/README.md
@@ -1,13 +1,13 @@
# GraphQL Testing
## Getting started
-1. Get docker and docker-compose working
-2. `docker-compose up -d`
+1. Get docker and docker compose working
+2. `docker compose up -d`
3. Connect to PGAdmin at `localhost:80`
4. Create a new database `traffic_ops` owned by a new role `traffic_ops`
5. Restore a TO database dump
-6. Stop the local env `docker-compose down`
-7. `docker-compose up`
+6. Stop the local env `docker compose down`
+7. `docker compose up`
8. Connect to the interactive query tester `localhost:5000/graphiql` and start
experimenting
### PGModler (optional, mac)
diff --git a/experimental/graphql.sample/docker-compose.yml
b/experimental/graphql.sample/docker-compose.yml
index d08ae2f01e..a776f82b40 100644
--- a/experimental/graphql.sample/docker-compose.yml
+++ b/experimental/graphql.sample/docker-compose.yml
@@ -15,7 +15,6 @@
# specific language governing permissions and limitations
# under the License.
---
-version: '3.8'
services:
pg-db:
diff --git a/experimental/traffic-portal/package-lock.json
b/experimental/traffic-portal/package-lock.json
index 3ce0ffa129..7925fae7b6 100644
--- a/experimental/traffic-portal/package-lock.json
+++ b/experimental/traffic-portal/package-lock.json
@@ -55,8 +55,8 @@
"@types/node-forge": "^1.3.2",
"@typescript-eslint/eslint-plugin": "^5.59.2",
"@typescript-eslint/parser": "^5.59.2",
- "axios": "^0.27.2",
- "chromedriver": "^122.0.6",
+ "axios": "^0.28.0",
+ "chromedriver": "^129.0.1",
"codelyzer": "^6.0.0",
"eslint": "^8.39.0",
"eslint-plugin-import": "^2.25.3",
@@ -9056,13 +9056,14 @@
}
},
"node_modules/axios": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz",
- "integrity":
"sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==",
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-0.28.1.tgz",
+ "integrity":
"sha512-iUcGA5a7p0mVb4Gm/sy+FSECNkPFT4y7wt6OM/CDpO/OnNCvSs3PoMG8ibrC9jRoGYU0gUK5pXVC4NPXq6lHRQ==",
"dev": true,
"dependencies": {
- "follow-redirects": "^1.14.9",
- "form-data": "^4.0.0"
+ "follow-redirects": "^1.15.0",
+ "form-data": "^4.0.0",
+ "proxy-from-env": "^1.1.0"
}
},
"node_modules/axobject-query": {
@@ -9932,9 +9933,9 @@
}
},
"node_modules/chromedriver": {
- "version": "122.0.6",
- "resolved":
"https://registry.npmjs.org/chromedriver/-/chromedriver-122.0.6.tgz",
- "integrity":
"sha512-Q0r+QlUtiJWMQ5HdYaFa0CtBmLFq3n5JWfmq9mOC00UMBvWxku09gUkvBt457QnYfTM/XHqY/HTFOxHvATnTmA==",
+ "version": "129.0.1",
+ "resolved":
"https://registry.npmjs.org/chromedriver/-/chromedriver-129.0.1.tgz",
+ "integrity":
"sha512-thJqK3c7p9rIhmjBvs/cgaK0Hk30g7LbnmMXQ2aLnn75ZOiEl/2GBcgc6fw+4GIw1SmOYhnNmaEI1iTP3qob0w==",
"dev": true,
"hasInstallScript": true,
"dependencies": {
diff --git a/experimental/traffic-portal/package.json
b/experimental/traffic-portal/package.json
index c8732397a3..ccbd653537 100644
--- a/experimental/traffic-portal/package.json
+++ b/experimental/traffic-portal/package.json
@@ -96,7 +96,9 @@
"@typescript-eslint/eslint-plugin": "^5.59.2",
"@typescript-eslint/parser": "^5.59.2",
"axios": "^0.27.2",
- "chromedriver": "^122.0.6",
+ "chromedriver": "^129.0.1",
+ "axios": "^0.28.0",
+ "chromedriver": "^129.0.1",
"codelyzer": "^6.0.0",
"eslint": "^8.39.0",
"eslint-plugin-import": "^2.25.3",
diff --git a/infrastructure/ansible/sample.lab/docker-compose.yaml
b/infrastructure/ansible/sample.lab/docker-compose.yaml
index 5d00e9cf81..321461faf5 100644
--- a/infrastructure/ansible/sample.lab/docker-compose.yaml
+++ b/infrastructure/ansible/sample.lab/docker-compose.yaml
@@ -12,7 +12,6 @@
# limitations under the License.
#
-version: '3.8'
services:
sample.driver.playbook:
diff --git a/infrastructure/cdn-in-a-box/Makefile
b/infrastructure/cdn-in-a-box/Makefile
index 71e2e2e23b..fa4d976777 100644
--- a/infrastructure/cdn-in-a-box/Makefile
+++ b/infrastructure/cdn-in-a-box/Makefile
@@ -220,7 +220,7 @@ $(TCH_RPM_ABSOLUTE): $(TCH_DIST_RPM)
# Dist rpms
$(ATS_DIST_RPM): $(ATS_SOURCE)
- docker-compose -f
$(TC_DIR)/cache-config/testing/docker/docker-compose-ats-build.yml build
--parallel trafficserver_build && docker-compose -f
$(TC_DIR)/cache-config/testing/docker/docker-compose-ats-build.yml run --rm
trafficserver_build
+ docker compose -f
$(TC_DIR)/cache-config/testing/docker/docker-compose-ats-build.yml build
--parallel trafficserver_build && docker compose -f
$(TC_DIR)/cache-config/testing/docker/docker-compose-ats-build.yml run --rm
trafficserver_build
$(TM_DIST_RPM): $(TM_SOURCE)
"$(PKG_COMMAND)" $(PKG_FLAGS) traffic_monitor$(BUILD_SUFFIX)
diff --git a/infrastructure/cdn-in-a-box/README.md
b/infrastructure/cdn-in-a-box/README.md
index 0eed1e889a..5daa09fb66 100644
--- a/infrastructure/cdn-in-a-box/README.md
+++ b/infrastructure/cdn-in-a-box/README.md
@@ -30,7 +30,7 @@ minimal CDN for full system testing.
The containers run on Docker, and require Docker (tested v17.05.0-ce) and
Docker
Compose (tested v1.9.0) to build and run. On most 'nix systems these can be
installed
via the distribution's package manager under the names `docker-ce` and
-`docker-compose`, respectively (e.g. `sudo dnf install docker-ce`).
+`docker compose`, respectively (e.g. `sudo dnf install docker-ce`).
Each container (except the origin) requires an `.rpm` file to install the
Traffic Control
component for which it is responsible. You can download these `*.rpm` files
from an archive
@@ -49,7 +49,7 @@ directories, such that their filenames are as follows:
Finally, run the test CDN using the command:
```bash
-docker-compose up --build
+docker compose up --build
```
## Readiness
@@ -58,7 +58,7 @@ you can optionally start the "readiness" container which will
test your CDN and
exit successfully when your CDN in a Box is ready:
```bash
-docker-compose -f docker-compose.readiness.yml up --build
+docker compose -f docker-compose.readiness.yml up --build
```
If the container does not exit successfully after a reasonable amount of time,
@@ -167,14 +167,14 @@ show you the default UI for interacting with the CDN -
Traffic Portal.
By default, `docker-compose.yml` does not expose ports to the host. This
allows the host to be running other services on those ports, as well as
allowing multiple CDN-in-a-Boxes to run on the same host, without port
conflicts.
-To expose the ports of each service on the host, add the
`docker-compose.expose-ports.yml` file. For example, `docker-compose -f
docker-compose.yml -f docker-compose.expose-ports.yml up`.
+To expose the ports of each service on the host, add the
`docker-compose.expose-ports.yml` file. For example, `docker compose -f
docker-compose.yml -f docker-compose.expose-ports.yml up`.
## Varnish
By default, CDN-in-a-Box uses Apache Traffic Server as the cache server.
To run CDN-in-a-Box with Varnish add the `docker-compose.varnish.yml` file.
-For example, `docker-compose -f docker-compose.yml -f
docker-compose.varnish.yml up`
+For example, `docker compose -f docker-compose.yml -f
docker-compose.varnish.yml up`
## Common Pitfalls
@@ -201,7 +201,7 @@ In the trafficcontrol/infrastructure/cdn-in-a-box directory
run the following:
- `make build-builders` ~~> this will create all the rpms and copy each rpms
into its own folder in the cdn-in-a-box project. This will also create the dist
folder under trafficcontrol folder structure even if you deleted yours.
-- `docker-compose up` ~~> this will create docker images, and if rebuild is
needed, run `docker-compose up --build`.
+- `docker compose up` ~~> this will create docker images, and if rebuild is
needed, run `docker compose up --build`.
### Docker v4.11 and later of Docker Desktop for Mac
diff --git a/infrastructure/cdn-in-a-box/docker-compose.expose-ports.yml
b/infrastructure/cdn-in-a-box/docker-compose.expose-ports.yml
index b14b17b178..4e04d2d113 100644
--- a/infrastructure/cdn-in-a-box/docker-compose.expose-ports.yml
+++ b/infrastructure/cdn-in-a-box/docker-compose.expose-ports.yml
@@ -17,11 +17,10 @@
#
# This compose file will expose the ports of each service on the host.
#
-# docker-compose -f docker-compose.yml -f docker-compose.expose-ports.yml
up
+# docker compose -f docker-compose.yml -f docker-compose.expose-ports.yml
up
#
---
-version: '3.8'
services:
db:
diff --git a/infrastructure/cdn-in-a-box/docker-compose.readiness.yml
b/infrastructure/cdn-in-a-box/docker-compose.readiness.yml
index cf5840e9c3..8a3cde8a03 100644
--- a/infrastructure/cdn-in-a-box/docker-compose.readiness.yml
+++ b/infrastructure/cdn-in-a-box/docker-compose.readiness.yml
@@ -15,22 +15,21 @@
# specific language governing permissions and limitations
# under the License.
-# This docker-compose file starts a readiness service that will exit
+# This docker compose file starts a readiness service that will exit
# successfully when it is able to successfully curl all delivery
# service example URLs.
#
# For example:
#
-# docker-compose -f docker-compose.yml -f docker-compose.readiness.yml up
+# docker compose -f docker-compose.yml -f docker-compose.readiness.yml up
#
# Or, start up the main services in the background and run the readiness
# service in the foreground:
#
-# docker-compose up -d
-# docker-compose -f docker-compose.readiness.yml up
+# docker compose up -d
+# docker compose -f docker-compose.readiness.yml up
---
-version: '3.8'
services:
readiness:
diff --git a/infrastructure/cdn-in-a-box/docker-compose.tr-load-tests.yml
b/infrastructure/cdn-in-a-box/docker-compose.tr-load-tests.yml
index a4c4befcc8..335cbdec54 100644
--- a/infrastructure/cdn-in-a-box/docker-compose.tr-load-tests.yml
+++ b/infrastructure/cdn-in-a-box/docker-compose.tr-load-tests.yml
@@ -20,11 +20,10 @@
# make sure any container rpms you need are updated. Below is an
# example of how to run the main compose with this file:
#
-# docker-compose -f docker-compose.yml -f docker-compose.traffic-ops-test.yml
up -d edge enroller dns db smtp trafficops trafficvault integration
-# docker-compose -f docker-compose.traffic-ops-test.yml logs -f integration
+# docker compose -f docker-compose.yml -f docker-compose.traffic-ops-test.yml
up -d edge enroller dns db smtp trafficops trafficvault integration
+# docker compose -f docker-compose.traffic-ops-test.yml logs -f integration
---
-version: '3.8'
services:
load-tests:
diff --git a/infrastructure/cdn-in-a-box/docker-compose.traffic-ops-test.yml
b/infrastructure/cdn-in-a-box/docker-compose.traffic-ops-test.yml
index acd959a80e..d107c5b309 100644
--- a/infrastructure/cdn-in-a-box/docker-compose.traffic-ops-test.yml
+++ b/infrastructure/cdn-in-a-box/docker-compose.traffic-ops-test.yml
@@ -20,11 +20,10 @@
# make sure any container rpms you need are updated. Below is an
# example of how to run the main compose with this file:
#
-# docker-compose -f docker-compose.yml -f docker-compose.traffic-ops-test.yml
up -d edge enroller dns db smtp trafficops trafficvault integration
-# docker-compose -f docker-compose.traffic-ops-test.yml logs -f integration
+# docker compose -f docker-compose.yml -f docker-compose.traffic-ops-test.yml
up -d edge enroller dns db smtp trafficops trafficvault integration
+# docker compose -f docker-compose.traffic-ops-test.yml logs -f integration
---
-version: '3.8'
services:
integration:
diff --git a/infrastructure/cdn-in-a-box/docker-compose.traffic-portal-test.yml
b/infrastructure/cdn-in-a-box/docker-compose.traffic-portal-test.yml
index 85724f10dd..940a3d2b5c 100644
--- a/infrastructure/cdn-in-a-box/docker-compose.traffic-portal-test.yml
+++ b/infrastructure/cdn-in-a-box/docker-compose.traffic-portal-test.yml
@@ -20,11 +20,10 @@
# make sure any container rpms you need are updated. Below is an
# example of how to run the main compose with this file:
#
-# docker-compose -f docker-compose.yml -f
docker-compose.traffic-portal-test.yml up -d db edge trafficportal trafficops
trafficvault portal-integration-test
-# docker-compose -f docker-compose.traffic-portal-test.yml logs -f
portal-integration-test
+# docker compose -f docker-compose.yml -f
docker-compose.traffic-portal-test.yml up -d db edge trafficportal trafficops
trafficvault portal-integration-test
+# docker compose -f docker-compose.traffic-portal-test.yml logs -f
portal-integration-test
---
-version: '3.8'
services:
portal-integration-test:
diff --git
a/infrastructure/cdn-in-a-box/docker-compose.traffic-portal-v2-test.yml
b/infrastructure/cdn-in-a-box/docker-compose.traffic-portal-v2-test.yml
index 08b9566388..753e35c4d4 100644
--- a/infrastructure/cdn-in-a-box/docker-compose.traffic-portal-v2-test.yml
+++ b/infrastructure/cdn-in-a-box/docker-compose.traffic-portal-v2-test.yml
@@ -15,7 +15,6 @@
# specific language governing permissions and limitations
# under the License.
---
-version: '3.8'
services:
tpv2-e2e-test:
diff --git a/infrastructure/cdn-in-a-box/docker-compose.varnish.yml
b/infrastructure/cdn-in-a-box/docker-compose.varnish.yml
index f79ba0cff9..dcef62567d 100644
--- a/infrastructure/cdn-in-a-box/docker-compose.varnish.yml
+++ b/infrastructure/cdn-in-a-box/docker-compose.varnish.yml
@@ -17,11 +17,10 @@
#
# This compose file will run cache servers as Varnish instead of ATS.
#
-# docker-compose -f docker-compose.yml -f docker-compose.varnish.yml up
+# docker compose -f docker-compose.yml -f docker-compose.varnish.yml up
#
---
-version: '3.8'
services:
edge:
diff --git a/infrastructure/cdn-in-a-box/docker-compose.yml
b/infrastructure/cdn-in-a-box/docker-compose.yml
index 37dc3c43ab..6b0fcca0b4 100644
--- a/infrastructure/cdn-in-a-box/docker-compose.yml
+++ b/infrastructure/cdn-in-a-box/docker-compose.yml
@@ -23,7 +23,7 @@
#
# Adjust the settings in `variables.env` to suit your needs.
#
-# docker-compose up -d
+# docker compose up -d
#
# The Traffic Ops API will then be available on https://localhost:6443,
# and the postgres database on localhost 5432.
@@ -31,13 +31,14 @@
# Note that this setup is intended for testing and not for production use.
---
-version: '3.8'
services:
# db is the Traffic Ops database running in postgresql. Only trafficops
needs to have access to it.
# All other components access the database thru the Traffic Ops API
db:
build:
+ args:
+ POSTGRES_VERSION: ${POSTGRES_VERSION}
context: .
dockerfile: traffic_ops/Dockerfile-db
hostname: db
diff --git a/infrastructure/cdn-in-a-box/health/tc-health-client-ReadMe.md
b/infrastructure/cdn-in-a-box/health/tc-health-client-ReadMe.md
index 04c3cf1a2f..f0a2084ac8 100644
--- a/infrastructure/cdn-in-a-box/health/tc-health-client-ReadMe.md
+++ b/infrastructure/cdn-in-a-box/health/tc-health-client-ReadMe.md
@@ -21,7 +21,7 @@
## Building and Running
-Build and run cdn-in-a-box `docker-compose -f docker-compose.yml -f
docker-compose.expose-ports.yml up`, once up and running, using docker desktop,
navigate to terminal tab of an edge or mid. cd into `/var/log/trafficcontrol`
and run `tail -f tc-health-client.log`. Click on the `Open in external
terminal` on upper right side and cd into `/usr/bin` and run
`./tc-health-client`. Wait for the dispersion time to pass and then logs will
start in the window where the tail command was ran. Afte [...]
+Build and run cdn-in-a-box `docker compose -f docker-compose.yml -f
docker-compose.expose-ports.yml up`, once up and running, using docker desktop,
navigate to terminal tab of an edge or mid. cd into `/var/log/trafficcontrol`
and run `tail -f tc-health-client.log`. Click on the `Open in external
terminal` on upper right side and cd into `/usr/bin` and run
`./tc-health-client`. Wait for the dispersion time to pass and then logs will
start in the window where the tail command was ran. Afte [...]
## Enable Debug instructions [Different from Production]
@@ -33,11 +33,11 @@ Watch logs in the docker desktop tab where `tail -f
tc-health-client.log` was ra
## Config files for Testing Only
-For testing only the `tc-health-client.json` are the settings used to run it
locally and can be changed. If changed `purge` all containers and run
`docker-compose -f docker-compose.yml -f docker-compose.expose-ports.yml up` in
the `infrastructure/cdn-in-a-box/` folder. Same applies if the
`tc-health-client.service` and `to-creds` files are changed. The
`tc-health-client.service` is set for `Debug` mode with `vvv` which is
different from Production which is `vv`.
+For testing only the `tc-health-client.json` are the settings used to run it
locally and can be changed. If changed `purge` all containers and run `docker
compose -f docker-compose.yml -f docker-compose.expose-ports.yml up` in the
`infrastructure/cdn-in-a-box/` folder. Same applies if the
`tc-health-client.service` and `to-creds` files are changed. The
`tc-health-client.service` is set for `Debug` mode with `vvv` which is
different from Production which is `vv`.
## Rebuilding the tc-health-client only
-Delete the `trafficcontrol-health-client-[version].rpm` from the `\dist`
folder and from `/trafficcontrol/infrastructure/cdn-in-a-box/health` then cd
into `/trafficcontrol` and run `./pkg -v -8 -b tc-health-client_build` this
builds the RPM to be used with docker or `./pkg -v -8 tc-health-client_build`
to build x86_64. Then copy the rpm from `/dist` into
`/trafficcontrol/infrastructure/cdn-in-a-box/health` and rename it to
`trafficcontrol-health-client.rpm` by removing the version. Build [...]
+Delete the `trafficcontrol-health-client-[version].rpm` from the `\dist`
folder and from `/trafficcontrol/infrastructure/cdn-in-a-box/health` then cd
into `/trafficcontrol` and run `./pkg -v -8 -b tc-health-client_build` this
builds the RPM to be used with docker or `./pkg -v -8 tc-health-client_build`
to build x86_64. Then copy the rpm from `/dist` into
`/trafficcontrol/infrastructure/cdn-in-a-box/health` and rename it to
`trafficcontrol-health-client.rpm` by removing the version. Build [...]
## Example Testing Commands
diff --git a/infrastructure/cdn-in-a-box/optional/README.md
b/infrastructure/cdn-in-a-box/optional/README.md
index 0f17560455..51b6005908 100644
--- a/infrastructure/cdn-in-a-box/optional/README.md
+++ b/infrastructure/cdn-in-a-box/optional/README.md
@@ -19,12 +19,12 @@
## CDN-In-A-Box Optional Container(s)
-Create an alias to utilize these container(s) with the core CDN-In-A-Box
stack. Note, that the exposed port(s) have been moved to an optional
docker-compose file to allow for concurrent CiaB instances.
+Create an alias to utilize these container(s) with the core CDN-In-A-Box
stack. Note, that the exposed port(s) have been moved to an optional docker
compose file to allow for concurrent CiaB instances.
From the top-level directory of `cdn-in-a-box` create the following alias:
```
-alias mydc="docker-compose "` \
+alias mydc="docker compose "` \
`"-f $PWD/docker-compose.yml "` \
`"-f $PWD/docker-compose.expose-ports.yml "` \
`"-f $PWD/optional/docker-compose.$NAME1.yml "` \
@@ -37,7 +37,7 @@ For example, to add the socksproxy and vnc optional
container(s), use the follow
```
-alias mydc="docker-compose "` \
+alias mydc="docker compose "` \
`"-f $PWD/docker-compose.yml "` \
`"-f $PWD/docker-compose.expose-ports.yml "` \
`"-f $PWD/optional/docker-compose.socksproxy.yml "` \
diff --git a/infrastructure/cdn-in-a-box/optional/docker-compose.debugging.yml
b/infrastructure/cdn-in-a-box/optional/docker-compose.debugging.yml
index c32d2465d5..5ef0f4faec 100644
--- a/infrastructure/cdn-in-a-box/optional/docker-compose.debugging.yml
+++ b/infrastructure/cdn-in-a-box/optional/docker-compose.debugging.yml
@@ -18,7 +18,6 @@
# Exposes debugging ports
---
-version: '3.8'
services:
enroller:
diff --git
a/infrastructure/cdn-in-a-box/optional/docker-compose.grafana.expose-ports.yml
b/infrastructure/cdn-in-a-box/optional/docker-compose.grafana.expose-ports.yml
index f33b5ae294..57fe940a0e 100644
---
a/infrastructure/cdn-in-a-box/optional/docker-compose.grafana.expose-ports.yml
+++
b/infrastructure/cdn-in-a-box/optional/docker-compose.grafana.expose-ports.yml
@@ -18,7 +18,6 @@
# Expose the Grafana container on the host on port 3000
---
-version: '3.8'
services:
grafana:
diff --git a/infrastructure/cdn-in-a-box/optional/docker-compose.grafana.yml
b/infrastructure/cdn-in-a-box/optional/docker-compose.grafana.yml
index df35b3e340..0942f591b1 100644
--- a/infrastructure/cdn-in-a-box/optional/docker-compose.grafana.yml
+++ b/infrastructure/cdn-in-a-box/optional/docker-compose.grafana.yml
@@ -18,7 +18,7 @@
# This container provide a Grafana service.
# To start up CiaB with optional Grafana container:
#
-# alias mydc="docker-compose "` \
+# alias mydc="docker compose "` \
# `"-f $PWD/docker-compose.yml "` \
# `"-f $PWD/optional/docker-compose.grafana.yml "`
#
@@ -37,7 +37,6 @@
---
-version: '3.8'
services:
grafana:
diff --git
a/infrastructure/cdn-in-a-box/optional/docker-compose.socksproxy.expose-ports.yml
b/infrastructure/cdn-in-a-box/optional/docker-compose.socksproxy.expose-ports.yml
index 400215d07a..b607e7e87b 100644
---
a/infrastructure/cdn-in-a-box/optional/docker-compose.socksproxy.expose-ports.yml
+++
b/infrastructure/cdn-in-a-box/optional/docker-compose.socksproxy.expose-ports.yml
@@ -19,7 +19,7 @@
#
# From ./infrastructure/cdn-in-a-box
#
-# alias mydc="docker-compose "` \
+# alias mydc="docker compose "` \
# `"-f $PWD/docker-compose.yml "` \
# `"-f $PWD/docker-compose.expose-ports.yml "` \
# `"-f $PWD/optional/docker-compose.socksproxy.yml "` \
@@ -31,7 +31,6 @@
# Note that this setup is intended for testing and not for production use.
#
---
-version: '3.8'
services:
socksproxy:
diff --git a/infrastructure/cdn-in-a-box/optional/docker-compose.socksproxy.yml
b/infrastructure/cdn-in-a-box/optional/docker-compose.socksproxy.yml
index 9e42a9ad61..a24e0ca19f 100644
--- a/infrastructure/cdn-in-a-box/optional/docker-compose.socksproxy.yml
+++ b/infrastructure/cdn-in-a-box/optional/docker-compose.socksproxy.yml
@@ -24,7 +24,7 @@
#
# To start up CiaB with VNC optional container:
#
-# alias mydc="docker-compose "` \
+# alias mydc="docker compose "` \
# `"-f $PWD/docker-compose.yml "` \
# `"-f $PWD/docker-compose.expose-ports.yml "` \
# `"-f $PWD/optional/docker-compose.socksproxy.yml "` \
@@ -36,7 +36,6 @@
# Note that this setup is intended for testing and not for production use.
#
---
-version: '3.8'
services:
# Optional Socks Proxy for docker hosts that have limited
bridge/ipforwarding support.
diff --git
a/infrastructure/cdn-in-a-box/optional/docker-compose.static-subnet.yml
b/infrastructure/cdn-in-a-box/optional/docker-compose.static-subnet.yml
index 7e8f433ea0..85349e45b7 100644
--- a/infrastructure/cdn-in-a-box/optional/docker-compose.static-subnet.yml
+++ b/infrastructure/cdn-in-a-box/optional/docker-compose.static-subnet.yml
@@ -16,7 +16,6 @@
# under the License.
---
-version: '3.8'
networks:
default:
diff --git
a/infrastructure/cdn-in-a-box/optional/docker-compose.grafana.expose-ports.yml
b/infrastructure/cdn-in-a-box/optional/docker-compose.traffic-portal-v2.expose-ports.yml
similarity index 88%
copy from
infrastructure/cdn-in-a-box/optional/docker-compose.grafana.expose-ports.yml
copy to
infrastructure/cdn-in-a-box/optional/docker-compose.traffic-portal-v2.expose-ports.yml
index f33b5ae294..4f824895bd 100644
---
a/infrastructure/cdn-in-a-box/optional/docker-compose.grafana.expose-ports.yml
+++
b/infrastructure/cdn-in-a-box/optional/docker-compose.traffic-portal-v2.expose-ports.yml
@@ -14,13 +14,9 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-#
-# Expose the Grafana container on the host on port 3000
-
---
-version: '3.8'
services:
- grafana:
+ trafficportalv2:
ports:
- - "3000:443"
+ - "8443:443"
diff --git
a/infrastructure/cdn-in-a-box/docker-compose.traffic-portal-v2-test.yml
b/infrastructure/cdn-in-a-box/optional/docker-compose.traffic-portal-v2.yml
similarity index 81%
copy from infrastructure/cdn-in-a-box/docker-compose.traffic-portal-v2-test.yml
copy to
infrastructure/cdn-in-a-box/optional/docker-compose.traffic-portal-v2.yml
index 08b9566388..73b5753b55 100644
--- a/infrastructure/cdn-in-a-box/docker-compose.traffic-portal-v2-test.yml
+++ b/infrastructure/cdn-in-a-box/optional/docker-compose.traffic-portal-v2.yml
@@ -15,26 +15,27 @@
# specific language governing permissions and limitations
# under the License.
---
-version: '3.8'
services:
- tpv2-e2e-test:
+
+ trafficportalv2:
build:
- context: ../..
- dockerfile:
infrastructure/cdn-in-a-box/traffic_portal_v2_e2e_test/Dockerfile
+ context: .
+ dockerfile: optional/traffic_portal_v2/Dockerfile
args:
# Change BASE_IMAGE to centos when RHEL_VERSION=7
BASE_IMAGE: ${BASE_IMAGE:-rockylinux}
RHEL_VERSION: ${RHEL_VERSION:-8}
+ TRAFFIC_PORTAL_RPM: optional/traffic_portal_v2/traffic_portal_v2.rpm
+ depends_on:
+ - enroller
+ domainname: infra.ciab.test
env_file:
- variables.env
- environment:
- SKIP_DIG_IP: 'true'
- hostname: tpv2-e2e
- domainname: infra.ciab.test
+ hostname: trafficportalv2
+ image: trafficportalv2
volumes:
- shared:/shared
- - ../../junit:/junit
volumes:
shared:
diff --git
a/infrastructure/cdn-in-a-box/optional/docker-compose.traffic-vault.expose-ports.yml
b/infrastructure/cdn-in-a-box/optional/docker-compose.traffic-vault.expose-ports.yml
index 873b2197c9..2e81077e3f 100644
---
a/infrastructure/cdn-in-a-box/optional/docker-compose.traffic-vault.expose-ports.yml
+++
b/infrastructure/cdn-in-a-box/optional/docker-compose.traffic-vault.expose-ports.yml
@@ -18,7 +18,6 @@
# Expose the trafficvault container on the host on ports 8087, 8088, and 8098
---
-version: '3.8'
services:
trafficvault:
diff --git
a/infrastructure/cdn-in-a-box/optional/docker-compose.traffic-vault.yml
b/infrastructure/cdn-in-a-box/optional/docker-compose.traffic-vault.yml
index fdabde0b69..b6b769debb 100644
--- a/infrastructure/cdn-in-a-box/optional/docker-compose.traffic-vault.yml
+++ b/infrastructure/cdn-in-a-box/optional/docker-compose.traffic-vault.yml
@@ -20,11 +20,10 @@
#
# Below is an example of how to run the main compose with this file:
#
-# docker-compose -f docker-compose.yml -f
optional/docker-compose.traffic-vault.yml up
+# docker compose -f docker-compose.yml -f
optional/docker-compose.traffic-vault.yml up
#
---
-version: '3.8'
services:
trafficvault:
diff --git
a/infrastructure/cdn-in-a-box/optional/docker-compose.vnc.expose-ports.yml
b/infrastructure/cdn-in-a-box/optional/docker-compose.vnc.expose-ports.yml
index 49cde090f4..6c0c3e5d8e 100644
--- a/infrastructure/cdn-in-a-box/optional/docker-compose.vnc.expose-ports.yml
+++ b/infrastructure/cdn-in-a-box/optional/docker-compose.vnc.expose-ports.yml
@@ -19,7 +19,7 @@
#
# From ./infrastructure/cdn-in-a-box
#
-# alias mydc="docker-compose "` \
+# alias mydc="docker compose "` \
# `"-f $PWD/docker-compose.yml "` \
# `"-f $PWD/docker-compose.expose-ports.yml "` \
# `"-f $PWD/optional/docker-compose.vnc.yml "` \
@@ -31,7 +31,6 @@
# Note that this setup is intended for testing and not for production use.
#
---
-version: '3.8'
services:
vnc:
diff --git a/infrastructure/cdn-in-a-box/optional/docker-compose.vnc.yml
b/infrastructure/cdn-in-a-box/optional/docker-compose.vnc.yml
index 5163c7bb20..9c5277fc55 100644
--- a/infrastructure/cdn-in-a-box/optional/docker-compose.vnc.yml
+++ b/infrastructure/cdn-in-a-box/optional/docker-compose.vnc.yml
@@ -25,7 +25,7 @@
#
# To start up CiaB with VNC optional container:
#
-# alias mydc="docker-compose "` \
+# alias mydc="docker compose "` \
# `"-f $PWD/docker-compose.yml "` \
# `"-f $PWD/docker-compose.expose-ports.yml "` \
# `"-f $PWD/optional/docker-compose.vnc.yml "` \
@@ -37,7 +37,6 @@
# Note that this setup is intended for testing and not for production use.
#
---
-version: '3.8'
services:
# TestClient is a VNC/Proxy container for development/testing CDN-In-A-Box
diff --git
a/infrastructure/cdn-in-a-box/optional/docker-compose.vpn.expose-ports.yml
b/infrastructure/cdn-in-a-box/optional/docker-compose.vpn.expose-ports.yml
index b49038032a..731670ee35 100644
--- a/infrastructure/cdn-in-a-box/optional/docker-compose.vpn.expose-ports.yml
+++ b/infrastructure/cdn-in-a-box/optional/docker-compose.vpn.expose-ports.yml
@@ -27,7 +27,6 @@
# connect to this OpenVPN server by it.
---
-version: '3.8'
services:
vpn:
diff --git a/infrastructure/cdn-in-a-box/optional/docker-compose.vpn.yml
b/infrastructure/cdn-in-a-box/optional/docker-compose.vpn.yml
index 88a683da86..1d0c5774d5 100644
--- a/infrastructure/cdn-in-a-box/optional/docker-compose.vpn.yml
+++ b/infrastructure/cdn-in-a-box/optional/docker-compose.vpn.yml
@@ -20,7 +20,7 @@
#
# To start up CiaB with OpenVPN optional container:
#
-# alias mydc="docker-compose "` \
+# alias mydc="docker compose "` \
# `"-f $PWD/docker-compose.yml "` \
# `"-f $PWD/docker-compose.expose-ports.yml "` \
# `"-f $PWD/optional/docker-compose.vpn.yml "` \
@@ -36,7 +36,6 @@
# connect to this OpenVPN server by it.
---
-version: '3.8'
services:
vpn:
diff --git a/infrastructure/cdn-in-a-box/optional/socksproxy/README.md
b/infrastructure/cdn-in-a-box/optional/socksproxy/README.md
index 193dd72429..889aa2015c 100644
--- a/infrastructure/cdn-in-a-box/optional/socksproxy/README.md
+++ b/infrastructure/cdn-in-a-box/optional/socksproxy/README.md
@@ -27,7 +27,7 @@ when running the CDN-In-A-Box stack on OSX/Windows docker
host that lack network
```
# From infrastructure/cdn-in-a-box
-alias mydc="docker-compose -f $PWD/docker-compose.yml -f
$PWD/optional/docker-compose.socksproxy.yml"
+alias mydc="docker compose -f $PWD/docker-compose.yml -f
$PWD/optional/docker-compose.socksproxy.yml"
docker volume prune -f
mydc build
mydc kill
diff --git a/infrastructure/cdn-in-a-box/optional/vnc/README.md
b/infrastructure/cdn-in-a-box/optional/vnc/README.md
index 1e3def40bf..13cd6970ac 100644
--- a/infrastructure/cdn-in-a-box/optional/vnc/README.md
+++ b/infrastructure/cdn-in-a-box/optional/vnc/README.md
@@ -25,7 +25,7 @@ This container provides a basic lightweight window manager
(fluxbox), firefox br
```
# From infrastructure/cdn-in-a-box
-alias mydc="docker-compose -f $PWD/docker-compose.yml -f
$PWD/optional/docker-compose.vnc.yml"
+alias mydc="docker compose -f $PWD/docker-compose.yml -f
$PWD/optional/docker-compose.vnc.yml"
docker volume prune -f
mydc rm -fv
mydc kill
diff --git a/infrastructure/cdn-in-a-box/optional/vpn/README.rst
b/infrastructure/cdn-in-a-box/optional/vpn/README.rst
index 53e4644c93..c8caf175f0 100644
--- a/infrastructure/cdn-in-a-box/optional/vpn/README.rst
+++ b/infrastructure/cdn-in-a-box/optional/vpn/README.rst
@@ -26,7 +26,7 @@ How to use it
.. code-block:: shell
# From infrastructure/cdn-in-a-box
- alias mydc="docker-compose -f $PWD/docker-compose.yml -f
$PWD/docker-compose.expose-ports.yml -f $PWD/optional/docker-compose.vpn.yml -f
$PWD/optional/docker-compose.vpn.expose-ports.yml"
+ alias mydc="docker compose -f $PWD/docker-compose.yml -f
$PWD/docker-compose.expose-ports.yml -f $PWD/optional/docker-compose.vpn.yml -f
$PWD/optional/docker-compose.vpn.expose-ports.yml"
mydc down -v
mydc build
mydc up
@@ -51,13 +51,13 @@ If you want a GUI version of VPN client, you can choose
`Tunnelblick <https://tu
Private Subnet for Routing
==========================
-Since ``docker-compose`` randomly create subnet, this container prepares 2
default private subnet for routing:
+Since ``docker compose`` randomly create subnet, this container prepares 2
default private subnet for routing:
* 172.16.127.0/255.255.240.0
* 10.16.127.0/255.255.240.0
The strategy of choosing default private subnet is comparing the subnet prefix.
-If the subnet prefix which ``docker-compose`` selected is 192. or 10.,
+If the subnet prefix which ``docker compose`` selected is 192. or 10.,
this container goes to select 172.16.127.0/255.255.240.0 for its routing
subnet.
Otherwise, it selects 10.16.127.0/255.255.240.0.
diff --git a/infrastructure/cdn-in-a-box/traffic_ops/Dockerfile-db
b/infrastructure/cdn-in-a-box/traffic_ops/Dockerfile-db
index 593db61c2c..f824a0b86f 100644
--- a/infrastructure/cdn-in-a-box/traffic_ops/Dockerfile-db
+++ b/infrastructure/cdn-in-a-box/traffic_ops/Dockerfile-db
@@ -19,7 +19,8 @@
# Dockerfile for trafficops db
############################################################
-FROM postgres:13.2-alpine
+ARG POSTGRES_VERSION
+FROM postgres:${POSTGRES_VERSION}-alpine
ENV POSTGRES_PASSWORD=$POSTGRES_PASSWORD
RUN apk add bind-tools \
diff --git a/infrastructure/docker/build/README.md
b/infrastructure/docker/build/README.md
index 122bf70427..02e38bf815 100644
--- a/infrastructure/docker/build/README.md
+++ b/infrastructure/docker/build/README.md
@@ -18,6 +18,6 @@
-->
-# Building *trafficcontrol* using *docker-compose*
+# Building *trafficcontrol* using *docker compose*
Refer to the build instructions in the top-level `trafficcontrol/BUILD.md`.
diff --git a/infrastructure/docker/build/docker-compose-opt.yml
b/infrastructure/docker/build/docker-compose-opt.yml
index 9a843e4617..9d3e6a8ff3 100644
--- a/infrastructure/docker/build/docker-compose-opt.yml
+++ b/infrastructure/docker/build/docker-compose-opt.yml
@@ -15,7 +15,6 @@
# specific language governing permissions and limitations
# under the License.
---
-version: '3.8'
services:
ats:
diff --git a/infrastructure/docker/build/docker-compose.yml
b/infrastructure/docker/build/docker-compose.yml
index a02f5aab36..38e2229994 100644
--- a/infrastructure/docker/build/docker-compose.yml
+++ b/infrastructure/docker/build/docker-compose.yml
@@ -15,7 +15,6 @@
# specific language governing permissions and limitations
# under the License.
---
-version: '3.8'
services:
weasel:
diff --git a/pkg b/pkg
index a9efc2b4af..37a817abbd 100755
--- a/pkg
+++ b/pkg
@@ -31,18 +31,18 @@ else
COMPOSECMD=()
fi
-# Check to see if docker-compose is already installed and use it directly, if
possible.
+# Check to see if docker compose is already installed and use it directly, if
possible.
if [ ${#COMPOSECMD[@]} -eq 0 ]; then
- if which docker-compose >/dev/null 2>&1; then
- COMPOSECMD=( docker-compose )
+ if docker compose >/dev/null 2>&1; then
+ COMPOSECMD=( docker compose )
fi
fi
-# If it's unavailable, download the image and run docker-compose inside a
container.
+# If it's unavailable, download the image and run docker compose inside a
container.
# This is considerably slower, but allows for building on hosts without
docker-compose.
if [ ${#COMPOSECMD[@]} -eq 0 ]; then
# Pin the version of docker-compose.
- IMAGE="docker/compose:1.11.2"
+ IMAGE="docker:latest"
# We need to either mount the docker socket or export the docker host
into the container.
# This allows the container to manage "sibling" containers via docker.
@@ -80,7 +80,7 @@ if [ ${#COMPOSECMD[@]} -eq 0 ]; then
# COMPOSECMD is kept as an array to significantly simplify handling
paths that contain
# spaces and other special characters.
- COMPOSECMD=(docker run --rm "${DOCKER_ADDR[@]}" $COMPOSE_OPTIONS
"${VOLUMES[@]}" -w "$(pwd)" $IMAGE)
+ COMPOSECMD=(docker run --rm "${DOCKER_ADDR[@]}" $COMPOSE_OPTIONS
"${VOLUMES[@]}" -w "$(pwd)" $IMAGE docker compose)
fi
# Parse command line arguments
@@ -243,7 +243,7 @@ while (( "$#" )); do
"${COMPOSECMD[@]}" -f $COMPOSE_FILE run "${RUN_OPTIONS[@]}"
--rm $1 || exit 1
# Check for a chained compose file for this particular project.
- # A chained compose file will be named exactly the same as main
docker-compose, with .service added,
+ # A chained compose file will be named exactly the same as main
docker compose, with .service added,
# where <service> is the name of the specific service to be
chained. The file may be a symlink to another
# compose file, in which case the symlink will be followed
before it is processed.
if [ -e "$COMPOSE_FILE.$1" ] ; then
diff --git a/pkg.ps1 b/pkg.ps1
index 8b5c25b5a8..f9e2f85140 100755
--- a/pkg.ps1
+++ b/pkg.ps1
@@ -53,14 +53,14 @@ if ($DOCKER -eq "") {
Push-Location $PSScriptRoot;
$COMPOSE_FILE = "./infrastructure/docker/build/docker-compose.yml";
-$COMPOSE = (Get-Command docker-compose).Source;
+$COMPOSE = (Get-Command docker compose).Source;
$COMPOSE_ARGS = ""
if ($COMPOSE -eq "") {
& $DOCKER "inspect docker-compose:latest";
if ($? -eq $false) {
& $DOCKER "pull docker-compose:latest";
if ($? -eq $false) {
- Write-Error "Couldn't pull docker-compose - please
connect to the internet or install docker-compose." -Category NotInstalled;
+ Write-Error "Couldn't pull docker compose - please
connect to the internet or install docker-compose." -Category NotInstalled;
exit 1;
}
}
diff --git a/tc-health-client/testing/docker/.env
b/tc-health-client/testing/docker/.env
new file mode 120000
index 0000000000..e72b3932f4
--- /dev/null
+++ b/tc-health-client/testing/docker/.env
@@ -0,0 +1 @@
+../../../.env
\ No newline at end of file
diff --git a/tc-health-client/testing/docker/db_init/Dockerfile
b/tc-health-client/testing/docker/db_init/Dockerfile
index e101c4f9dd..d4336a4a09 100644
--- a/tc-health-client/testing/docker/db_init/Dockerfile
+++ b/tc-health-client/testing/docker/db_init/Dockerfile
@@ -20,15 +20,19 @@
# Based on CentOS 7.2
############################################################
-FROM centos/systemd
+FROM rockylinux:8
-RUN yum install -y
https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
+RUN dnf install -y \
+ epel-release \
+ libicu \
+ "https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-$(rpm
--eval %_arch)/pgdg-redhat-repo-latest.noarch.rpm" && \
+ dnf -y --repo=pgdg13 install postgresql13 && \
+ dnf -y remove pgdg-redhat-repo
-RUN yum -y install \
- postgresql13 \
+RUN dnf -y install \
nmap-ncat \
cpanminus && \
- yum clean all
+ dnf clean all
ENV POSTGRES_HOME $POSTGRES_HOME
ENV PGPASSWORD $PGPASSWORD
diff --git a/tc-health-client/testing/docker/docker-compose.yml
b/tc-health-client/testing/docker/docker-compose.yml
index b096c97b70..c01d759012 100644
--- a/tc-health-client/testing/docker/docker-compose.yml
+++ b/tc-health-client/testing/docker/docker-compose.yml
@@ -22,12 +22,11 @@
# container updates ../ort-tests/tc-fixtures.json with
# the corresponding version string)
#
-# Run: docker-compose build
-# Run: docker-compose run ort_test
+# Run: docker compose build
+# Run: docker compose run ort_test
#
---
-version: '3.8'
volumes:
trafficcontrol:
@@ -36,7 +35,7 @@ volumes:
services:
db:
- image: postgres:13.2
+ image: postgres:${POSTGRES_VERSION}
env_file:
- variables.env
ports:
diff --git a/tc-health-client/testing/docker/traffic_ops/Dockerfile
b/tc-health-client/testing/docker/traffic_ops/Dockerfile
index 1e999e80f7..f4a33f97c5 100644
--- a/tc-health-client/testing/docker/traffic_ops/Dockerfile
+++ b/tc-health-client/testing/docker/traffic_ops/Dockerfile
@@ -37,7 +37,7 @@ RUN set -o nounset -o errexit && \
if [[ "${OS_VERSION%%.*}" -eq 7 ]]; then \
use_repo=''; \
enable_repo=''; \
- # needed for llvm-toolset-7-clang, which is needed for
postgresql13-devel-13.2-1PGDG, required by TO rpm
+ # needed for llvm-toolset-7-clang, which is needed for
postgresql13-devel-13.x-1PGDG, required by TO rpm
dnf -y install gcc centos-release-scl-rh; \
else \
use_repo='--repo=pgdg13'; \
diff --git a/test/fakeOrigin/README.md b/test/fakeOrigin/README.md
index d7396195ca..b9046af843 100644
--- a/test/fakeOrigin/README.md
+++ b/test/fakeOrigin/README.md
@@ -40,7 +40,7 @@ Local build pre-requesites:
* OSX: ```brew install ffmpeg --with-rtmp-dump```
* CentOS: [Instructions](https://linuxadmin.io/install-ffmpeg-on-centos-7/)
-and/or just a modern version of Docker & docker-compose
+and/or just a modern version of Docker & docker compose
If you're building locally, just run ```go install
github.com/apache/trafficcontrol/v8/test/fakeOrigin@latest```
@@ -55,10 +55,10 @@ fakeOrigin -cfg config.json (same as above, but specify the
location)
```
Running in docker:
```
-docker-compose build --no-cache
-docker-compose up --force-recreate
+docker compose build --no-cache
+docker compose up --force-recreate
... customize the config.json created in ./docker_host (maps to /host inside
the container, it's really important to customize this appropriately)
-docker-compose up --force-recreate
+docker compose up --force-recreate
```
On startup it will print any routes that are available after transcoding. You
should just be able to plug those m3u8 url into VLC to start streaming.
diff --git a/test/fakeOrigin/docker-compose.yml
b/test/fakeOrigin/docker-compose.yml
index f2acec9eee..b7547e58c1 100644
--- a/test/fakeOrigin/docker-compose.yml
+++ b/test/fakeOrigin/docker-compose.yml
@@ -15,7 +15,6 @@
# specific language governing permissions and limitations
# under the License.
-version: '3.8'
services:
fake_origin:
diff --git a/tools/golang/docker-compose.yml b/tools/golang/docker-compose.yml
index 854db7b3ad..7754b5424e 100644
--- a/tools/golang/docker-compose.yml
+++ b/tools/golang/docker-compose.yml
@@ -15,7 +15,6 @@
# specific language governing permissions and limitations
# under the License.
---
-version: '3.8'
services:
lint:
diff --git a/traffic_monitor/tests/_integration/README.md
b/traffic_monitor/tests/_integration/README.md
index 7eaaf5866f..ea442581fd 100644
--- a/traffic_monitor/tests/_integration/README.md
+++ b/traffic_monitor/tests/_integration/README.md
@@ -6,4 +6,4 @@ From this directory, run `build_tests.sh`. This will build the
Traffic Monitor R
## Running
-From this directory, run `docker-compose run tmintegrationtest`
+From this directory, run `docker compose run tmintegrationtest`
diff --git a/traffic_monitor/tests/_integration/build_tests.sh
b/traffic_monitor/tests/_integration/build_tests.sh
index 371e130bdd..bc38dc5edd 100755
--- a/traffic_monitor/tests/_integration/build_tests.sh
+++ b/traffic_monitor/tests/_integration/build_tests.sh
@@ -22,4 +22,4 @@ fi
cp "dist/$rpm" "traffic_monitor/tests/_integration/tm/traffic_monitor.rpm"
cd -
-docker-compose build
+docker compose build
diff --git a/traffic_monitor/tests/_integration/docker-compose.yml
b/traffic_monitor/tests/_integration/docker-compose.yml
index fdd2f0dd44..6bdd4b200d 100644
--- a/traffic_monitor/tests/_integration/docker-compose.yml
+++ b/traffic_monitor/tests/_integration/docker-compose.yml
@@ -29,11 +29,10 @@
# To run the integration tests, your current working directory must be
trafficcontrol/traffic_monitor.
# This is because Docker doesn't allow accessing files outside the current
"context".
#
-# docker-compose up -d
+# docker compose up -d
#
---
-version: '3.8'
services:
testto:
diff --git a/traffic_monitor/tests/docker-compose.yml
b/traffic_monitor/tests/docker-compose.yml
index 7d7f6be8b0..8ed15d6918 100644
--- a/traffic_monitor/tests/docker-compose.yml
+++ b/traffic_monitor/tests/docker-compose.yml
@@ -15,7 +15,6 @@
# specific language governing permissions and limitations
# under the License.
---
-version: '3.8'
volumes:
junit:
diff --git a/traffic_ops/INSTALL.md b/traffic_ops/INSTALL.md
index d35de2e650..5edd18575c 100644
--- a/traffic_ops/INSTALL.md
+++ b/traffic_ops/INSTALL.md
@@ -30,7 +30,7 @@ Instructions are here: https://yum.postgresql.org/
`$ sudo yum install
https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm`
-## Install Postgres 13.2 server (in a container or on the host)
+## Install Postgres 13.16 server (in a container or on the host)
### on the host:
@@ -46,7 +46,7 @@ Instructions are here: https://yum.postgresql.org/
NOTE: you do *not* need postgresql13-server if running postgres within a
`docker` container.
-Install `docker` and `docker-compose` using instructions here:
+Install `docker` and `docker compose` using instructions here:
https://docs.docker.com/engine/installation/linux/centos/
diff --git a/traffic_ops/app/bin/tests/docker-compose.yml
b/traffic_ops/app/bin/tests/docker-compose.yml
index 5526a637d2..7078bf1716 100644
--- a/traffic_ops/app/bin/tests/docker-compose.yml
+++ b/traffic_ops/app/bin/tests/docker-compose.yml
@@ -15,7 +15,6 @@
# specific language governing permissions and limitations
# under the License.
---
-version: '3.8'
volumes:
traffic_ops_golang:
diff --git a/traffic_ops/app/db/trafficvault/test/.env
b/traffic_ops/app/db/trafficvault/test/.env
new file mode 120000
index 0000000000..7e66cb76ec
--- /dev/null
+++ b/traffic_ops/app/db/trafficvault/test/.env
@@ -0,0 +1 @@
+../../../../../.env
\ No newline at end of file
diff --git a/traffic_ops/app/db/trafficvault/test/Dockerfile-db-admin
b/traffic_ops/app/db/trafficvault/test/Dockerfile-db-admin
index 0ac328a2da..680a4a8a32 100644
--- a/traffic_ops/app/db/trafficvault/test/Dockerfile-db-admin
+++ b/traffic_ops/app/db/trafficvault/test/Dockerfile-db-admin
@@ -19,17 +19,39 @@
# Dockerfile to build Traffic Ops DB admin test environment
############################################################
-FROM centos:7
-ARG POSTGRES_VERSION=13.2
+FROM rockylinux:8
+ARG POSTGRES_VERSION
ENV POSTGRES_VERSION=$POSTGRES_VERSION
# NOTE: temporary workaround for removal of golang packages from CentOS 7 base
repo
RUN yum install -y \
- epel-release \
- centos-release-scl-rh \
-
https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
\
- git && \
- yum -y install golang
+ epel-release \
+ libicu \
+ "https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-$(rpm
--eval %_arch)/pgdg-redhat-repo-latest.noarch.rpm" \
+ git && \
+ dnf -y --repo=pgdg13 install postgresql13 && \
+ dnf -y remove pgdg-redhat-repo && \
+ dnf -y --enablerepo=powertools install \
+ cpanminus \
+ expat-devel \
+ golang \
+ libcap \
+ libcurl-devel \
+ libidn-devel \
+ libpcap-devel \
+ mkisofs \
+ openssl-devel \
+ perl-core \
+ perl-Crypt-ScryptKDF \
+ perl-DBD-Pg \
+ perl-DBI \
+ perl-Digest-SHA1 \
+ perl-JSON \
+ perl-libwww-perl \
+ perl-TermReadKey \
+ perl-Test-CPAN-Meta \
+ perl-WWW-Curl \
+ python3
# Override TRAFFIC_OPS_RPM arg to use a different one using --build-arg
TRAFFIC_OPS_RPM=... Can be local file or http://...
ARG TRAFFIC_OPS_RPM=traffic_ops.rpm
diff --git a/traffic_ops/app/db/trafficvault/test/Dockerfile-tvdb
b/traffic_ops/app/db/trafficvault/test/Dockerfile-tvdb
index 5fdeeb5a08..9c054d1bfe 100644
--- a/traffic_ops/app/db/trafficvault/test/Dockerfile-tvdb
+++ b/traffic_ops/app/db/trafficvault/test/Dockerfile-tvdb
@@ -19,9 +19,9 @@
# Dockerfile for traffic vault db
############################################################
-ARG POSTGRES_VERSION=13.2
+ARG POSTGRES_VERSION
FROM postgres:${POSTGRES_VERSION}
-ARG POSTGRES_VERSION=13.2
+ARG POSTGRES_VERSION
ENV POSTGRES_VERSION=$POSTGRES_VERSION
ENV POSTGRES_PASSWORD=twelve
diff --git a/traffic_ops/app/db/trafficvault/test/README.md
b/traffic_ops/app/db/trafficvault/test/README.md
index 883a94ca84..05bac8b86c 100644
--- a/traffic_ops/app/db/trafficvault/test/README.md
+++ b/traffic_ops/app/db/trafficvault/test/README.md
@@ -30,8 +30,8 @@ NOTE: this test is similar to the TODB test found in
traffic_ops_db/test/docker.
1. Build a Traffic Ops rpm (from the project root): `./pkg traffic_ops_build`
2. Copy the rpm to ./traffic_ops.rpm
3. Optional: place a DB dump file in ./initdb.d (file name must end in "dump")
-4. `docker-compose build`
-5. `docker-compose up --exit-code-from trafficvault-db-admin`
+4. `docker compose build`
+5. `docker compose up --exit-code-from trafficvault-db-admin`
## Notes about data directory and AES keys
diff --git a/traffic_ops/app/db/trafficvault/test/docker-compose.yml
b/traffic_ops/app/db/trafficvault/test/docker-compose.yml
index 5fcb456a60..b0a4b66d44 100644
--- a/traffic_ops/app/db/trafficvault/test/docker-compose.yml
+++ b/traffic_ops/app/db/trafficvault/test/docker-compose.yml
@@ -21,11 +21,10 @@
#
# To optionally run the test with a starter TVDB, put the TVDB dump file in
./initdb.d/
#
-# docker-compose build
-# docker-compose up --exit-code-from trafficvault-db-admin
+# docker compose build
+# docker compose up --exit-code-from trafficvault-db-admin
---
-version: '3.8'
services:
tvdb:
@@ -33,7 +32,7 @@ services:
context: .
dockerfile: Dockerfile-tvdb
args:
- POSTGRES_VERSION: ${POSTGRES_VERSION:-13.2}
+ POSTGRES_VERSION: ${POSTGRES_VERSION}
ports:
- 5432
@@ -42,7 +41,7 @@ services:
context: .
dockerfile: Dockerfile-db-admin
args:
- POSTGRES_VERSION: ${POSTGRES_VERSION:-13.2}
+ POSTGRES_VERSION: ${POSTGRES_VERSION}
TRAFFIC_OPS_RPM: traffic_ops.rpm
depends_on:
- tvdb
diff --git a/traffic_ops/build/build_rpm.sh b/traffic_ops/build/build_rpm.sh
index 96043dedaf..126cb2a6fe 100755
--- a/traffic_ops/build/build_rpm.sh
+++ b/traffic_ops/build/build_rpm.sh
@@ -111,8 +111,9 @@ initBuildArea() {
cp "$TO_DIR"/build/traffic_ops.spec "$RPMBUILD"/SPECS/. || \
{ echo "Could not copy spec files: $?"; return 1; }
+ source "${TC_DIR}/.env"
PLUGINS="$(grep -l 'AddPlugin('
"${TO_DIR}/traffic_ops_golang/plugin/"*.go | grep -v 'func AddPlugin(' | xargs
-I '{}' basename {} '.go')"
- export PLUGINS
+ export POSTGRES_VERSION PLUGINS
echo "The build area has been initialized."
}
diff --git a/traffic_ops/build/traffic_ops.spec
b/traffic_ops/build/traffic_ops.spec
index c2d404c558..0368366390 100644
--- a/traffic_ops/build/traffic_ops.spec
+++ b/traffic_ops/build/traffic_ops.spec
@@ -21,6 +21,7 @@
%define TRAFFIC_OPS_LOG_DIR /var/log/traffic_ops
%define TRAFFIC_OPS_ROOT_CERTIFICATES_DIR /var/log/traffic_ops
%define debug_package %{nil}
+%define postgres_version %{getenv:POSTGRES_VERSION}
Summary: Traffic Ops
Name: traffic_ops
@@ -36,7 +37,7 @@ AutoReqProv: no
Requires: cpanminus, expat-devel, libcurl, libpcap-devel, mkisofs, tar
Requires: openssl-devel, perl, perl-core, perl-DBD-Pg, perl-DBI,
perl-Digest-SHA1
Requires: libidn-devel, libcurl-devel, libcap
-Requires: postgresql13 >= 13.2
+Requires: postgresql13 >= %{postgres_version}
Requires: perl-JSON, perl-libwww-perl, perl-Test-CPAN-Meta,
perl-WWW-Curl, perl-TermReadKey, perl-Crypt-ScryptKDF
Requires: python(abi)
Requires(pre): /usr/sbin/useradd, /usr/bin/getent
diff --git a/traffic_ops/traffic_ops_golang/README.md
b/traffic_ops/traffic_ops_golang/README.md
index 5cfa6d268c..595e72b65f 100644
--- a/traffic_ops/traffic_ops_golang/README.md
+++ b/traffic_ops/traffic_ops_golang/README.md
@@ -24,7 +24,7 @@
To run `traffic_ops_golang` proxy locally the following prerequisites are
needed:
* Golang version greater or equal to the Go version found in the `GO_VERSION`
file at the base of this repository. See:
[https://golang.org/doc/install](https://golang.org/doc/install)
-* Postgres 13.2 or greater
+* Postgres 13 or greater
## Vendoring and Building
diff --git
a/traffic_ops/traffic_ops_golang/deliveryservice/request/comment/comments.go
b/traffic_ops/traffic_ops_golang/deliveryservice/request/comment/comments.go
index 68a46c1c00..46cae5ae60 100644
--- a/traffic_ops/traffic_ops_golang/deliveryservice/request/comment/comments.go
+++ b/traffic_ops/traffic_ops_golang/deliveryservice/request/comment/comments.go
@@ -264,6 +264,7 @@ func Get(w http.ResponseWriter, r *http.Request) {
// Validate is used to ensure that the DeliveryServiceRequestCommentV5 struct
passed in to the function is valid.
func Validate(dsrc tc.DeliveryServiceRequestCommentV5) error {
errs := validation.Errors{
+ "id": validation.Validate(dsrc.ID,
validation.NotNil),
"deliveryServiceRequestId":
validation.Validate(dsrc.DeliveryServiceRequestID, validation.NotNil),
"value": validation.Validate(dsrc.Value,
validation.NotNil),
}
@@ -286,6 +287,13 @@ func Update(w http.ResponseWriter, r *http.Request) {
api.HandleErr(w, r, tx, http.StatusBadRequest, err, nil)
return
}
+ idParam := inf.Params["id"]
+ id, parseErr := strconv.Atoi(idParam)
+ if parseErr != nil {
+ api.HandleErr(w, r, inf.Tx.Tx, http.StatusBadRequest,
errors.New("id must be an integer"), nil)
+ return
+ }
+ deliveryServiceRequestComment.ID = id
if err := Validate(deliveryServiceRequestComment); err != nil {
api.HandleErr(w, r, tx, http.StatusBadRequest, err, nil)
@@ -293,7 +301,7 @@ func Update(w http.ResponseWriter, r *http.Request) {
}
var current tc.DeliveryServiceRequestCommentV5
- err := inf.Tx.QueryRowx(selectQuery() + `WHERE dsrc.id=` +
inf.Params["id"]).StructScan(¤t)
+ err := inf.Tx.QueryRowx(selectQuery() + `WHERE dsrc.id=` +
strconv.Itoa(deliveryServiceRequestComment.ID)).StructScan(¤t)
if err != nil {
api.HandleErr(w, r, tx, http.StatusInternalServerError, nil,
errors.New("scanning deliveryservice_request_comment: "+err.Error()))
return
@@ -305,13 +313,6 @@ func Update(w http.ResponseWriter, r *http.Request) {
return
}
deliveryServiceRequestComment.AuthorID = current.AuthorID
- idParam := inf.Params["id"]
- id, parseErr := strconv.Atoi(idParam)
- if parseErr != nil {
- api.HandleErr(w, r, inf.Tx.Tx, http.StatusBadRequest,
errors.New("id must be an integer"), nil)
- return
- }
- deliveryServiceRequestComment.ID = id
userErr, sysErr, sc := api.CheckIfUnModified(r.Header, inf.Tx, id,
"deliveryservice_request_comment")
if userErr != nil || sysErr != nil {
api.HandleErr(w, r, tx, sc, userErr, sysErr)
diff --git a/traffic_ops/traffic_ops_golang/swaggerdocs/v13/README.md
b/traffic_ops/traffic_ops_golang/swaggerdocs/v13/README.md
index 93ba7ce249..73499dfbed 100644
--- a/traffic_ops/traffic_ops_golang/swaggerdocs/v13/README.md
+++ b/traffic_ops/traffic_ops_golang/swaggerdocs/v13/README.md
@@ -43,15 +43,15 @@ The `docker-compose.yml` will start two rendering services,
a custom http servic
To start the Swagger UI services (and build them if not already built) just
run:
-```$ docker-compose up```
+```$ docker compose up```
NOTE: Iterative Workflow Tips:
Blow away only the local images (excluding remote ones) and bring down the
container:
-```$ docker-compose down --rmi local```
+```$ docker compose down --rmi local```
Blow away all the images (including remote ones) and bring down the container:
-```$ docker-compose down --rmi all```
+```$ docker compose down --rmi all```
Once started navigate your browser to
[http://localhost:8080](http://localhost:8080)
@@ -60,7 +60,7 @@ Once started navigate your browser to
[http://localhost:8080](http://localhost:8
After you generate the `swaggerspec/swagger.json` from the steps above use the
`swaggerspec` Docker Compose file to convert the `swagger.json` to .rst so that
it can merged in with the existing Traffic Control documentation.
* `$ cd swaggerspec`
-* `$ docker-compose up` - will convert the `swagger.json` in this directory
into `v13_api_docs.rst`
+* `$ docker compose up` - will convert the `swagger.json` in this directory
into `v13_api_docs.rst`
* `$ cp v13_api_docs.rst
../../../../../docs/source/development/traffic_ops_api`
* `$ cd ../../../../../docs`
* `$ make` - will generate all the Sphinx documentation along with the newly
generated TO Swagger API 1.3 docs
@@ -68,7 +68,7 @@ After you generate the `swaggerspec/swagger.json` from the
steps above use the `
NOTE: Iterative Workflow Tips:
Blow away only the local images (excluding remote ones) and bring down the
container:
-```$ docker-compose down --rmi local```
+```$ docker compose down --rmi local```
Blow away all the images (including remote ones) and bring down the container:
-```$ docker-compose down --rmi all```
+```$ docker compose down --rmi all```
diff --git a/traffic_ops/traffic_ops_golang/swaggerdocs/v13/docker-compose.yml
b/traffic_ops/traffic_ops_golang/swaggerdocs/v13/docker-compose.yml
index 63f4fd570d..acc4e3cbc4 100644
--- a/traffic_ops/traffic_ops_golang/swaggerdocs/v13/docker-compose.yml
+++ b/traffic_ops/traffic_ops_golang/swaggerdocs/v13/docker-compose.yml
@@ -16,7 +16,6 @@
# specific language governing permissions and limitations
# under the License.
-version: '3.8'
services:
swagger-spec-server:
diff --git
a/traffic_ops/traffic_ops_golang/swaggerdocs/v13/swaggerspec/docker-compose.yml
b/traffic_ops/traffic_ops_golang/swaggerdocs/v13/swaggerspec/docker-compose.yml
index 949cc0e369..ada6345a55 100644
---
a/traffic_ops/traffic_ops_golang/swaggerdocs/v13/swaggerspec/docker-compose.yml
+++
b/traffic_ops/traffic_ops_golang/swaggerdocs/v13/swaggerspec/docker-compose.yml
@@ -16,7 +16,6 @@
# specific language governing permissions and limitations
# under the License.
-version: '3.8'
services:
to-rst:
diff --git a/traffic_ops_db/docker/.env b/traffic_ops_db/docker/.env
new file mode 120000
index 0000000000..c7360fb82d
--- /dev/null
+++ b/traffic_ops_db/docker/.env
@@ -0,0 +1 @@
+../../.env
\ No newline at end of file
diff --git a/traffic_ops_db/docker/Dockerfile b/traffic_ops_db/docker/Dockerfile
index ce3f53ab2a..fbb343a397 100644
--- a/traffic_ops_db/docker/Dockerfile
+++ b/traffic_ops_db/docker/Dockerfile
@@ -11,7 +11,8 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
-FROM postgres:13.2
+ARG POSTGRES_VERSION
+FROM postgres:${POSTGRES_VERSION}
MAINTAINER [email protected]
diff --git a/traffic_ops_db/docker/docker-compose.dev.yml
b/traffic_ops_db/docker/docker-compose.dev.yml
index e714f60e17..cd758ace74 100644
--- a/traffic_ops_db/docker/docker-compose.dev.yml
+++ b/traffic_ops_db/docker/docker-compose.dev.yml
@@ -11,7 +11,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
-version: '3.8'
services:
db:
diff --git a/traffic_ops_db/docker/docker-compose.yml
b/traffic_ops_db/docker/docker-compose.yml
index 34c46f990e..68729f927d 100644
--- a/traffic_ops_db/docker/docker-compose.yml
+++ b/traffic_ops_db/docker/docker-compose.yml
@@ -11,13 +11,14 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
-version: '3.8'
services:
db:
build:
context: ..
dockerfile: /opt/traffic_ops_db/docker/Dockerfile
+ args:
+ POSTGRES_VERSION: ${POSTGRES_VERSION}
env_file:
- /opt/traffic_ops_db/docker/docker-compose.env
ports:
diff --git a/traffic_ops_db/docker/todb.sh b/traffic_ops_db/docker/todb.sh
index 9863cbe167..5a3d8ed12c 100755
--- a/traffic_ops_db/docker/todb.sh
+++ b/traffic_ops_db/docker/todb.sh
@@ -28,11 +28,11 @@ if [[ "$ACTION" == "setup" ]];then
echo "Setup complete"
elif [[ "$ACTION" == "run" ]];then
- docker-compose -f docker-compose.dev.yml -p $PROJECT_NAME up -d
+ docker compose -f docker-compose.dev.yml -p $PROJECT_NAME up -d
echo "Started Docker container: $CONTAINER_NAME"
elif [[ "$ACTION" == "stop" ]];then
- docker-compose -f docker-compose.dev.yml -p $PROJECT_NAME down -v
+ docker compose -f docker-compose.dev.yml -p $PROJECT_NAME down -v
echo "Stopping Docker container: $CONTAINER_NAME"
elif [[ "$ACTION" == "clean" ]];then
@@ -42,7 +42,7 @@ elif [[ "$ACTION" == "clean" ]];then
rm -rf pgdata
elif [[ "$ACTION" == "seed" ]];then
- docker-compose -f docker-compose.dev.yml -p $PROJECT_NAME down -v
+ docker compose -f docker-compose.dev.yml -p $PROJECT_NAME down -v
else
echo "Valid actions: 'setup', 'run', 'stop', 'clean'"
exit 0
diff --git a/traffic_ops_db/systemd/traffic_ops_db.service
b/traffic_ops_db/systemd/traffic_ops_db.service
index 31110e3f11..6d3cbc79f4 100644
--- a/traffic_ops_db/systemd/traffic_ops_db.service
+++ b/traffic_ops_db/systemd/traffic_ops_db.service
@@ -23,8 +23,8 @@ After=docker.service
[Service]
Restart=always
-ExecStart=/usr/bin/docker-compose -p trafficops -f
/opt/traffic_ops_db/docker/docker-compose.yml up
-ExecStop=/usr/bin/docker-compose -p trafficops -f
/opt/traffic_ops_db/docker/docker-compose.yml stop
+ExecStart=/usr/bin/docker compose -p trafficops -f
/opt/traffic_ops_db/docker/docker-compose.yml up
+ExecStop=/usr/bin/docker compose -p trafficops -f
/opt/traffic_ops_db/docker/docker-compose.yml stop
[Install]
WantedBy=default.target
diff --git a/traffic_ops_db/test/docker/.env b/traffic_ops_db/test/docker/.env
new file mode 120000
index 0000000000..e72b3932f4
--- /dev/null
+++ b/traffic_ops_db/test/docker/.env
@@ -0,0 +1 @@
+../../../.env
\ No newline at end of file
diff --git a/traffic_ops_db/test/docker/Dockerfile-db
b/traffic_ops_db/test/docker/Dockerfile-db
index e2dc6c32b3..aaccabb4ef 100644
--- a/traffic_ops_db/test/docker/Dockerfile-db
+++ b/traffic_ops_db/test/docker/Dockerfile-db
@@ -19,9 +19,9 @@
# Dockerfile for trafficops db
############################################################
-ARG POSTGRES_VERSION=13.2
+ARG POSTGRES_VERSION
FROM postgres:${POSTGRES_VERSION}
-ARG POSTGRES_VERSION=13.2
+ARG POSTGRES_VERSION
ENV POSTGRES_VERSION=$POSTGRES_VERSION
ENV POSTGRES_PASSWORD=twelve
diff --git a/traffic_ops_db/test/docker/Dockerfile-db-admin
b/traffic_ops_db/test/docker/Dockerfile-db-admin
index 03745c9dc7..fa24860d67 100644
--- a/traffic_ops_db/test/docker/Dockerfile-db-admin
+++ b/traffic_ops_db/test/docker/Dockerfile-db-admin
@@ -19,16 +19,18 @@
# Dockerfile to build Traffic Ops DB admin test environment
############################################################
-FROM centos:7
-ARG POSTGRES_VERSION=13.2
+FROM rockylinux:8
+ARG POSTGRES_VERSION
ENV POSTGRES_VERSION=$POSTGRES_VERSION
-RUN yum install -y \
- epel-release \
- centos-release-scl-rh \
-
https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
\
+RUN dnf install -y \
+ epel-release \
+ libicu \
+ "https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-$(rpm
--eval %_arch)/pgdg-redhat-repo-latest.noarch.rpm" \
git && \
- yum -y install \
+ dnf -y --repo=pgdg13 install postgresql13 && \
+ dnf -y remove pgdg-redhat-repo && \
+ dnf -y --enablerepo=powertools install \
cpanminus \
expat-devel \
libcap \
@@ -47,9 +49,8 @@ RUN yum install -y \
perl-TermReadKey \
perl-Test-CPAN-Meta \
perl-WWW-Curl \
- postgresql13 \
- postgresql13-devel &&\
- yum clean all
+ python3 && \
+ dnf clean all
# Override TRAFFIC_OPS_RPM arg to use a different one using --build-arg
TRAFFIC_OPS_RPM=... Can be local file or http://...
ARG TRAFFIC_OPS_RPM=traffic_ops.rpm
diff --git a/traffic_ops_db/test/docker/docker-compose.yml
b/traffic_ops_db/test/docker/docker-compose.yml
index 2e6dd81e84..2bb2e65e33 100644
--- a/traffic_ops_db/test/docker/docker-compose.yml
+++ b/traffic_ops_db/test/docker/docker-compose.yml
@@ -21,11 +21,10 @@
#
# To optionally run the test with a starter DB, put the DB dump file in
./initdb.d/
#
-# docker-compose build
-# docker-compose up --exit-code-from trafficops-db-admin
+# docker compose build
+# docker compose up --exit-code-from trafficops-db-admin
---
-version: '3.8'
services:
db:
@@ -33,7 +32,7 @@ services:
context: .
dockerfile: Dockerfile-db
args:
- POSTGRES_VERSION: ${POSTGRES_VERSION:-13.2}
+ POSTGRES_VERSION: ${POSTGRES_VERSION}
ports:
- 5432
@@ -42,7 +41,7 @@ services:
context: .
dockerfile: Dockerfile-db-admin
args:
- POSTGRES_VERSION: ${POSTGRES_VERSION:-13.2}
+ POSTGRES_VERSION: ${POSTGRES_VERSION}
TRAFFIC_OPS_RPM: traffic_ops.rpm
depends_on:
- db
diff --git a/traffic_portal/etc/systemd/system/traffic_portal.service
b/traffic_portal/etc/systemd/system/traffic_portal.service
index dc24d3a554..19c20001d0 100644
--- a/traffic_portal/etc/systemd/system/traffic_portal.service
+++ b/traffic_portal/etc/systemd/system/traffic_portal.service
@@ -22,8 +22,8 @@ After=docker.service
[Service]
Restart=always
-ExecStart=/usr/bin/docker-compose -p traffic -f
/opt/traffic_portal/docker/docker-compose.yml up
-ExecStop=/usr/bin/docker-compose -p traffic -f
/opt/traffic_portal/docker/docker-compose.yml down -v
+ExecStart=/usr/bin/docker compose -p traffic -f
/opt/traffic_portal/docker/docker-compose.yml up
+ExecStop=/usr/bin/docker compose -p traffic -f
/opt/traffic_portal/docker/docker-compose.yml down -v
WorkingDirectory=/opt/traffic_portal/docker
[Install]
diff --git a/traffic_router/tests/docker-compose.yml
b/traffic_router/tests/docker-compose.yml
index 0bdd2fcc88..3c85dc0f86 100644
--- a/traffic_router/tests/docker-compose.yml
+++ b/traffic_router/tests/docker-compose.yml
@@ -15,7 +15,6 @@
# specific language governing permissions and limitations
# under the License.
---
-version: '3.8'
volumes:
junit:
diff --git a/traffic_server/_tsb/docker-compose.yml
b/traffic_server/_tsb/docker-compose.yml
index 6467a58bd6..0da3a31ab6 100644
--- a/traffic_server/_tsb/docker-compose.yml
+++ b/traffic_server/_tsb/docker-compose.yml
@@ -15,7 +15,6 @@
# specific language governing permissions and limitations
# under the License.
---
-version: '3.8'
services:
ats_build:
build:
diff --git a/traffic_stats/trafficcontrol-scenes/package.json
b/traffic_stats/trafficcontrol-scenes/package.json
new file mode 100644
index 0000000000..709f860d52
--- /dev/null
+++ b/traffic_stats/trafficcontrol-scenes/package.json
@@ -0,0 +1,78 @@
+{
+ "name": "trafficcontrol-scenes",
+ "version": "1.0.0",
+ "description": "Traffic Control Grafana Scenes",
+ "scripts": {
+ "build": "webpack -c ./webpack/webpack.config.ts --env production",
+ "dev": "webpack -w -c ./webpack/webpack.config.ts --env development",
+ "test": "jest --watch --onlyChanged",
+ "test:ci": "jest --passWithNoTests --maxWorkers 4",
+ "typecheck": "tsc --noEmit",
+ "lint": "eslint --cache --ignore-path ./.gitignore --ext .js,.jsx,.ts,.tsx
.",
+ "lint:fix": "npm run lint -- --fix",
+ "e2e": "npm exec cypress install && npm exec grafana-e2e run",
+ "e2e:update": "npm exec cypress install && npm exec grafana-e2e run
--update-screenshots",
+ "server": "docker compose up --build",
+ "sign": "npx --yes @grafana/sign-plugin@latest"
+ },
+ "author": "ntheanh201",
+ "license": "Apache-2.0",
+ "devDependencies": {
+ "@grafana/e2e": "10.0.3",
+ "@grafana/e2e-selectors": "10.0.3",
+ "@grafana/tsconfig": "^1.2.0-rc1",
+ "@swc/helpers": "^0.5.0",
+ "@swc/jest": "^0.2.26",
+ "@testing-library/jest-dom": "6.1.4",
+ "@testing-library/react": "14.0.0",
+ "@types/jest": "^29.5.0",
+ "@types/node": "^20.8.7",
+ "@types/testing-library__jest-dom": "5.14.8",
+ "identity-obj-proxy": "3.0.0",
+ "jest": "^29.5.0",
+ "jest-environment-jsdom": "^29.5.0",
+ "prettier": "^2.8.7",
+ "sass": "1.63.2",
+ "tsconfig-paths": "^4.2.0",
+ "typescript": "4.8.4"
+ },
+ "engines": {
+ "node": ">=20"
+ },
+ "dependencies": {
+ "@babel/core": "^7.21.4",
+ "@emotion/css": "11.10.6",
+ "@grafana/data": "10.0.3",
+ "@grafana/eslint-config": "^6.0.0",
+ "@grafana/runtime": "10.0.3",
+ "@grafana/scenes": "^1.28.0",
+ "@grafana/schema": "10.0.3",
+ "@grafana/ui": "10.0.3",
+ "@swc/core": "^1.3.90",
+ "@types/lodash": "^4.14.194",
+ "@types/react-router-dom": "^5.3.3",
+ "copy-webpack-plugin": "^11.0.0",
+ "css-loader": "^6.7.3",
+ "eslint-plugin-deprecation": "^2.0.0",
+ "eslint-plugin-import": "^2.29.1",
+ "eslint-plugin-prefer-arrow": "^1.2.3",
+ "eslint-webpack-plugin": "^4.0.1",
+ "fork-ts-checker-webpack-plugin": "^8.0.0",
+ "glob": "^10.2.7",
+ "globby": "^14.0.0",
+ "react": "18.2.0",
+ "react-dom": "18.2.0",
+ "react-router-dom": "5.3.3",
+ "replace-in-file-webpack-plugin": "^1.0.6",
+ "rxjs": "7.8.0",
+ "sass-loader": "13.3.1",
+ "style-loader": "3.3.3",
+ "swc-loader": "^0.2.3",
+ "tslib": "2.5.3",
+ "ts-node": "^10.9.1",
+ "webpack": "^5.86.0",
+ "webpack-cli": "^5.1.4",
+ "webpack-livereload-plugin": "^3.0.2"
+ },
+ "packageManager": "[email protected]"
+}