diff --git a/.circleci/config.yml b/.circleci/config.yml index 7701133..37a14de 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -14,7 +14,7 @@ jobs: build: docker: # primary image for building app - - image: cimg/go:1.16-node + - image: cimg/go:1.21-node # service images available at `host: localhost` - image: circleci/postgres:12-alpine @@ -79,24 +79,23 @@ jobs: chmod +x jq sudo mv jq /usr/local/bin/jq - # postgres integration tests - run: - name: install Postgres client + name: install Postgres client v15 command: | - sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt buster-pgdg main" > /etc/apt/sources.list.d/pgdg.list' + sudo sh -c 'echo "deb https://apt.postgresql.org/pub/repos/apt jammy-pgdg main" > /etc/apt/sources.list.d/pgdg.list' wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - sudo apt-get update - sudo apt-get -y install postgresql-client-12 + sudo apt-get -y install postgresql-client-15 - run: make postgres-test - # mongodb integration tests - run: - name: install MongoDB client + name: install MongoDB client v7 command: | - wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add - - echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list + curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg --dearmor && \ + sudo echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" | \ + sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list sudo apt-get update - sudo apt-get install -y mongodb-database-tools=100.5.1 mongodb-org-tools=5.0.5 mongodb-org-shell=5.0.5 + sudo apt-get install -y mongodb-database-tools=100.9.0 mongodb-org-tools=7.0.7 mongodb-org-shell=7.0.7 mongodb-mongosh=2.2.2 - run: make mongodb-test # redis integration tests diff --git a/Dockerfile b/Dockerfile index 6080ae9..08595d5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM ubuntu:20.04 +FROM --platform=linux/amd64 ubuntu:22.04 ARG package_args='--allow-downgrades --allow-remove-essential --allow-change-held-packages --no-install-recommends' RUN echo "debconf debconf/frontend select noninteractive" | debconf-set-selections && \ @@ -17,7 +17,7 @@ WORKDIR /go/src/github.com/swisscom/backman COPY . . RUN go build -o backman -FROM ubuntu:20.04 +FROM --platform=linux/amd64 ubuntu:22.04 LABEL maintainer="JamesClonk " ARG package_args='--allow-downgrades --allow-remove-essential --allow-change-held-packages --no-install-recommends' @@ -27,13 +27,16 @@ RUN echo "debconf debconf/frontend select noninteractive" | debconf-set-selectio apt-get -y $package_args dist-upgrade && \ apt-get -y $package_args install curl wget ca-certificates gnupg tzdata -RUN curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - && \ - echo "deb http://apt.postgresql.org/pub/repos/apt/ focal-pgdg main" > /etc/apt/sources.list.d/pgdg.list -RUN wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | apt-key add - && \ - echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5.0 multiverse" > /etc/apt/sources.list.d/mongodb-org-5.0.list +RUN sh -c 'echo "deb https://apt.postgresql.org/pub/repos/apt jammy-pgdg main" > /etc/apt/sources.list.d/pgdg.list' \ + && wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - +RUN curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | \ + gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg \ + --dearmor && \ + echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" | \ + tee /etc/apt/sources.list.d/mongodb-org-7.0.list RUN curl -sL https://deb.nodesource.com/setup_lts.x | bash - RUN apt-get -y $package_args update && \ - apt-get -y $package_args install mysql-client postgresql-client-12 mongodb-database-tools=100.5.4 mongodb-org-tools=5.0.13 mongodb-org-shell=5.0.13 redis-tools nodejs openssh-server bash vim-tiny && \ + apt-get -y $package_args install mysql-client postgresql-client-15 mongodb-database-tools=100.9.0 mongodb-org-tools=7.0.7 mongodb-org-shell=7.0.7 redis-tools nodejs openssh-server bash vim-tiny && \ apt-get clean && \ find /usr/share/doc/*/* ! -name copyright | xargs rm -rf && \ rm -rf \ diff --git a/scripts/mongodb.sh b/scripts/mongodb.sh index 951f5e2..7ed2ec1 100755 --- a/scripts/mongodb.sh +++ b/scripts/mongodb.sh @@ -37,7 +37,7 @@ retry() { # ============================================================================================= echo "waiting on mongodb ..." -retry 10 mongo --host 127.0.0.1 -u 'mongoadmin' -p 'super-secret' --authenticationDatabase admin --quiet --eval 'db.runCommand("ping").ok' +retry 10 mongosh --host 127.0.0.1 -u 'mongoadmin' -p 'super-secret' --authenticationDatabase admin --quiet --eval 'db.runCommand("ping").ok' echo "mongodb is up!" # ============================================================================================= @@ -72,7 +72,7 @@ fi curl -s http://john:doe@127.0.0.1:9990/api/v1/state/mongodb/my_mongodb | grep '"Status":"idle"' # write to mongodb -mongo --host 127.0.0.1 -u 'mongoadmin' -p 'super-secret' --authenticationDatabase admin <