From 523599443c20f8c903b9a16c98bc52bab7081c0d Mon Sep 17 00:00:00 2001 From: Steve Taylor Date: Wed, 3 Feb 2021 11:05:48 +1000 Subject: [PATCH 01/40] Allow external sources for shellcheck Allow shellcheck to specify external sources when including scripts for var based paths. For example: HASH shellcheck source=repo/project/files/script.sh . "$DAB_CONF_PATH/repo/project/files/script.sh" --- app/subcommands/repo/entrypoint/run | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/subcommands/repo/entrypoint/run b/app/subcommands/repo/entrypoint/run index 40068976..36638467 100755 --- a/app/subcommands/repo/entrypoint/run +++ b/app/subcommands/repo/entrypoint/run @@ -29,6 +29,6 @@ if [ ! -x "$entrypoint" ]; then fi cd "$DAB_REPO_PATH/$repo" -shellcheck --shell sh --color "$entrypoint" || true +shellcheck --external-sources --shell sh --color "$entrypoint" || true env HOST_PWD="$DAB_REPO_PATH/$repo" \ sh "$entrypoint" "$@" From ce0f4c3e182b19999a6eddb3fb3edd23042b6d8f Mon Sep 17 00:00:00 2001 From: Steve Taylor Date: Fri, 17 Nov 2023 10:10:17 +1000 Subject: [PATCH 02/40] Install docker compose v2 * Install docker compose v2 * Mount wrapper as directory so file can be updated easier * Pin mitmproxy version to 8.1.1 so healthcheck works (it needs wget) --- .circleci/config.yml | 28 ++++++++++--------------- Dockerfile | 2 +- app/bin/dar-link-dest | 2 +- app/bin/maybe_update_wrapper | 8 ++++--- app/bin/query_user | 2 +- app/docker/docker-compose.mitmproxy.yml | 2 +- app/lib/hooks.sh | 2 +- app/subcommands/repo/entrypoint/run | 2 +- dab | 2 +- 9 files changed, 23 insertions(+), 27 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 3ab6077a..7e50d080 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,9 +1,5 @@ version: 2.1 -notify: - webhooks: - - url: 'https://webhooks.gitter.im/e/cc6aefa009b39156b845' - workflows: version: 2 @@ -46,32 +42,23 @@ jobs: Shfmt: docker: - - image: golang:1.12 + - image: mvdan/shfmt:v3-alpine steps: - checkout - - run: - name: install - command: go get mvdan.cc/sh/cmd/shfmt - - run: name: check command: shfmt -d -ln=posix -s . GolangCI-Lint: docker: - - image: golang:1.12 + - image: golangci/golangci-lint:v1.15.0 steps: - checkout - - run: - name: install - command: | - curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | bash -s -- -b $GOPATH/bin v1.15.0 - - run: name: get deps - command: go mod download + command: cd completion && go mod download environment: GO111MODULE: 'on' @@ -110,6 +97,11 @@ jobs: name: Build Image command: ./scripts/build.sh + - run: + name: Create tmp folder + command: + mkdir -p /tmp + - run: name: Smoke Tests command: script -qec './scripts/test.sh' @@ -119,6 +111,7 @@ jobs: - store_test_results: path: /tmp/dab/test_results + - run: name: Clear test results when: on_fail @@ -133,6 +126,7 @@ jobs: - store_test_results: path: /tmp/dab/test_results + - run: name: Clear test results when: on_fail @@ -159,6 +153,7 @@ jobs: - store_test_results: path: /tmp/dab/test_results + - run: name: Clear test results when: on_fail @@ -177,7 +172,6 @@ jobs: chmod +x ~/docker-compose sudo mv ~/docker-compose /usr/local/bin/docker-compose - - run: name: Profile command: | diff --git a/Dockerfile b/Dockerfile index f97aabe1..606cf185 100644 --- a/Dockerfile +++ b/Dockerfile @@ -69,7 +69,7 @@ LABEL org.label-schema.schema-version="1.0" \ # they are to be kept at a lower layer for caching. RUN apk add --no-cache --virtual .toolchain \ python3-dev libffi-dev openssl-dev build-base \ - && apk add --no-cache docker-cli python3 py3-pip py3-cryptography \ + && apk add --no-cache docker-cli docker-cli-compose python3 py3-pip py3-cryptography \ && rm -f /usr/bin/dockerd /usr/bin/docker-containerd* \ && pip3 install "docker-compose>=1.24.0,<1.25.0" asciinema \ && apk del .toolchain \ diff --git a/app/bin/dar-link-dest b/app/bin/dar-link-dest index 8adf5eda..ffceac61 100755 --- a/app/bin/dar-link-dest +++ b/app/bin/dar-link-dest @@ -1,4 +1,4 @@ #!/bin/sh -export HOST_PWD=$PWD +export HOST_PWD="$PWD" exec dab apps run "$(basename "$0")" "$@" diff --git a/app/bin/maybe_update_wrapper b/app/bin/maybe_update_wrapper index 1140d7ac..caff3c00 100755 --- a/app/bin/maybe_update_wrapper +++ b/app/bin/maybe_update_wrapper @@ -5,10 +5,12 @@ file_hash() { "${FILE_HASH_ALGO:-md5}sum" "$1" | cut -d' ' -f1 } -if [ "${DAB_AUTOUPDATE:-true}" = 'false' ] || [ "${DAB_AUTOUPDATE_WRAPPER:-true}" = 'false' ] || ! [ -f /tmp/wrapper ] || ! [ -f "$DAB/dab" ]; then +DAB_WRAPPER_FILENAME="$(basename "$DAB_WRAPPER_PATH")" + +if [ "${DAB_AUTOUPDATE:-true}" = 'false' ] || [ "${DAB_AUTOUPDATE_WRAPPER:-true}" = 'false' ] || ! [ -f "/tmp/wrapper/$DAB_WRAPPER_FILENAME" ] || ! [ -f "$DAB/dab" ]; then return 0 -elif [ -r /tmp/wrapper ] && [ -r "$DAB/dab" ] && [ "$(file_hash "$DAB/dab")" != "$(file_hash /tmp/wrapper)" ]; then - if cat "$DAB/dab" >/tmp/wrapper; then +elif [ -r "/tmp/wrapper/$DAB_WRAPPER_FILENAME" ] && [ -r "$DAB/dab" ] && [ "$(file_hash "$DAB/dab")" != "$(file_hash "/tmp/wrapper/$DAB_WRAPPER_FILENAME")" ]; then + if cat "$DAB/dab" >"/tmp/wrapper/$DAB_WRAPPER_FILENAME"; then warn "Dab wrapper script at $DAB_WRAPPER_PATH was updated!" else error "Dab wrapper script at $DAB_WRAPPER_PATH could NOT be automatically updated!" diff --git a/app/bin/query_user b/app/bin/query_user index cffc88b5..eeb5cea8 100755 --- a/app/bin/query_user +++ b/app/bin/query_user @@ -5,7 +5,7 @@ set -eu message="${1:-Are you sure you would like to proceed?}" while true; do - # shellcheck disable=SC2039 + # shellcheck disable=SC3045 read -r -p "$message " yn case $yn in [Yy]*) return 0 ;; diff --git a/app/docker/docker-compose.mitmproxy.yml b/app/docker/docker-compose.mitmproxy.yml index 4832a612..7829854c 100644 --- a/app/docker/docker-compose.mitmproxy.yml +++ b/app/docker/docker-compose.mitmproxy.yml @@ -4,7 +4,7 @@ services: mitmproxy: container_name: dab_mitmproxy - image: "mitmproxy/mitmproxy:${DAB_APPS_MITMPROXY_TAG:-latest}" + image: "mitmproxy/mitmproxy:${DAB_APPS_MITMPROXY_TAG:-6.0.2}" labels: description: 'HTTP debuging swiss-army knife, connect and go to http://mitm.it to load certs' com.centurylinklabs.watchtower.enable: 'true' diff --git a/app/lib/hooks.sh b/app/lib/hooks.sh index bbb55d0d..2cc6f903 100644 --- a/app/lib/hooks.sh +++ b/app/lib/hooks.sh @@ -71,7 +71,7 @@ maybe_set_kubeconfig() { [ -f "$app_kubeconfig" ] && [ ! -f ~/.kube/config.yaml ] && [ ! -f ~/.kube/config.yml ]; then - export KUBECONFIG=$app_kubeconfig + export KUBECONFIG="$app_kubeconfig" fi } diff --git a/app/subcommands/repo/entrypoint/run b/app/subcommands/repo/entrypoint/run index 36638467..fa13d996 100755 --- a/app/subcommands/repo/entrypoint/run +++ b/app/subcommands/repo/entrypoint/run @@ -16,7 +16,7 @@ suffix="$*" [ -n "$suffix" ] && suffix=" $suffix" inform "Executing $repo entrypoint $entry$suffix" -export DAB_CURRENT_REPO=$repo +export DAB_CURRENT_REPO="$repo" entrypoint="$DAB_CONF_PATH/repo/$repo/entrypoint/$entry" if [ ! -x "$entrypoint" ]; then diff --git a/dab b/dab index 4b1dc881..dbab3c55 100755 --- a/dab +++ b/dab @@ -145,7 +145,7 @@ if [ -z "${DAB_WRAPPER_PATH:-}" ]; then export DAB_WRAPPER_PATH="$wrappercmd" fi fi -[ -n "${DAB_WRAPPER_PATH:-}" ] && dArg -v "$DAB_WRAPPER_PATH:/tmp/wrapper" +[ -n "${DAB_WRAPPER_PATH:-}" ] && dArg -v "$(dirname "$DAB_WRAPPER_PATH"):/tmp/wrapper" # Pass through host OS type. dArg -e DAB_HOST_UNAME="$(uname)" From 13dfc6611c1c89ff9a4c843607934a571e58dc49 Mon Sep 17 00:00:00 2001 From: Dean Stalker Date: Fri, 22 Mar 2024 11:25:41 +1000 Subject: [PATCH 03/40] Update DAB Apps - Use docker compose v2 for builds - Update a large list of dependencies to fix a number of orchestrations for the apps --- .circleci/config.yml | 25 ++++++------- Dockerfile | 4 +- README.md | 2 +- app/docker/Dockerfile.ansible | 13 +++++-- app/docker/Dockerfile.cartography | 3 +- app/docker/Dockerfile.cyberchef | 2 +- app/docker/Dockerfile.dive | 4 +- app/docker/Dockerfile.fn | 14 ++++--- app/docker/Dockerfile.remote_syslog2 | 5 ++- app/docker/Dockerfile.sam | 2 +- app/docker/Dockerfile.vault | 2 +- app/docker/Dockerfile.xsstrike | 4 +- .../docker-gen/templates/telegraf.conf.tmpl | 14 +++---- app/docker/docker-compose.adminer.yml | 4 +- app/docker/docker-compose.ansible.yml | 5 +-- app/docker/docker-compose.aws.yml | 2 +- app/docker/docker-compose.burrow.yml | 37 ------------------- app/docker/docker-compose.consul.yml | 2 +- app/docker/docker-compose.couchdb.yml | 4 +- app/docker/docker-compose.deck-chores.yml | 2 +- app/docker/docker-compose.elasticsearch.yml | 4 +- app/docker/docker-compose.gaia.yml | 4 +- app/docker/docker-compose.influxdb.yml | 7 ++-- app/docker/docker-compose.kafka.yml | 4 +- app/docker/docker-compose.kafkacat.yml | 4 +- app/docker/docker-compose.kafkaview.yml | 4 +- app/docker/docker-compose.kubernetes.yml | 4 +- app/docker/docker-compose.localstack.yml | 6 +-- app/docker/docker-compose.mailhog.yml | 4 +- app/docker/docker-compose.memcached.yml | 4 +- app/docker/docker-compose.minio.yml | 4 +- app/docker/docker-compose.mitmproxy.yml | 4 +- app/docker/docker-compose.mysql.yml | 4 +- app/docker/docker-compose.neo4j.yml | 6 +-- app/docker/docker-compose.nikto.yml | 4 +- app/docker/docker-compose.pgadmin.yml | 4 +- app/docker/docker-compose.postgres.yml | 4 +- app/docker/docker-compose.redis.yml | 4 +- app/docker/docker-compose.remote-syslog2.yml | 3 +- app/docker/docker-compose.selenium.yml | 4 +- app/docker/docker-compose.serveo.yml | 4 +- app/docker/docker-compose.sqliv.yml | 4 +- app/docker/docker-compose.telegraf.yml | 6 ++- app/docker/docker-compose.traefik.yml | 4 +- app/docker/docker-compose.vyne.yml | 25 ------------- app/docker/docker-compose.xsstrike.yml | 4 +- app/lib/docker.sh | 4 +- completion/go.mod | 11 ++++++ scripts/build.sh | 2 +- scripts/render-tour.sh | 18 ++++----- scripts/test.sh | 14 +++---- tests/features/apps.feature | 4 +- tests/tour.sh | 2 +- 53 files changed, 148 insertions(+), 190 deletions(-) delete mode 100644 app/docker/docker-compose.burrow.yml delete mode 100644 app/docker/docker-compose.vyne.yml diff --git a/.circleci/config.yml b/.circleci/config.yml index 3ab6077a..e8ae5f92 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -100,11 +100,11 @@ jobs: - checkout - run: - name: Install Docker Compose + name: Install Docker Compose v2 command: | - curl -L https://github.com/docker/compose/releases/download/1.19.0/docker-compose-`uname -s`-`uname -m` > ~/docker-compose - chmod +x ~/docker-compose - sudo mv ~/docker-compose /usr/local/bin/docker-compose + DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker} + mkdir -p $DOCKER_CONFIG/cli-plugins + curl -SL https://github.com/docker/compose/releases/download/v2.25.0/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose - run: name: Build Image @@ -145,11 +145,11 @@ jobs: - checkout - run: - name: Install Docker Compose + name: Install Docker Compose v2 command: | - curl -L https://github.com/docker/compose/releases/download/1.19.0/docker-compose-`uname -s`-`uname -m` > ~/docker-compose - chmod +x ~/docker-compose - sudo mv ~/docker-compose /usr/local/bin/docker-compose + DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker} + mkdir -p $DOCKER_CONFIG/cli-plugins + curl -SL https://github.com/docker/compose/releases/download/v2.25.0/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose - run: name: UX Regression Tests @@ -171,12 +171,11 @@ jobs: - checkout - run: - name: Install Docker Compose + name: Install Docker Compose v2 command: | - curl -L https://github.com/docker/compose/releases/download/1.19.0/docker-compose-`uname -s`-`uname -m` > ~/docker-compose - chmod +x ~/docker-compose - sudo mv ~/docker-compose /usr/local/bin/docker-compose - + DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker} + mkdir -p $DOCKER_CONFIG/cli-plugins + curl -SL https://github.com/docker/compose/releases/download/v2.25.0/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose - run: name: Profile diff --git a/Dockerfile b/Dockerfile index f97aabe1..ffabf5cf 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # Stage for compiling shell completion binary. -FROM golang:1.12 AS completion +FROM golang:1.22 AS completion WORKDIR $GOPATH/src/app/completion @@ -71,7 +71,7 @@ RUN apk add --no-cache --virtual .toolchain \ python3-dev libffi-dev openssl-dev build-base \ && apk add --no-cache docker-cli python3 py3-pip py3-cryptography \ && rm -f /usr/bin/dockerd /usr/bin/docker-containerd* \ - && pip3 install "docker-compose>=1.24.0,<1.25.0" asciinema \ + && pip3 install asciinema \ && apk del .toolchain \ && rm -rf ~/.cache diff --git a/README.md b/README.md index 46bf74b8..973c3168 100644 --- a/README.md +++ b/README.md @@ -183,7 +183,7 @@ The following projects are used to write dab: - [docker-compose-gen][9] - [yq][10] - [jq][11] -- [docker-compose][12] +- [docker compose][12] - [shellcheck][13] - [complete][14] diff --git a/app/docker/Dockerfile.ansible b/app/docker/Dockerfile.ansible index 119b26a6..fba1eb84 100644 --- a/app/docker/Dockerfile.ansible +++ b/app/docker/Dockerfile.ansible @@ -1,18 +1,23 @@ FROM alpine:3.10.0 RUN apk add --no-cache --virtual build-dependencies \ - gcc musl-dev libffi-dev openssl-dev python-dev \ + gcc musl-dev libffi-dev openssl-dev python3-dev \ && apk add --no-cache \ - bash curl tar openssh-client sshpass git python py-boto py-dateutil \ + bash curl tar openssh-client sshpass git python3 py-boto py-dateutil \ py-httplib2 py-jinja2 py-paramiko py-pip ca-certificates docker \ - && pip install python-keyczar docker-compose + && python3 -m pip install --upgrade pip \ + && pip install python-keyczar + +RUN DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker} \ + mkdir -p $DOCKER_CONFIG/cli-plugins +ADD https://github.com/docker/compose/releases/download/v2.25.0/docker-compose-linux-x86_64 $HOME/.docker/cli-plugins/docker-compose RUN mkdir -p /etc/ansible /ansible/playbooks \ && echo "[local]" >> /etc/ansible/hosts \ && echo "localhost" >> /etc/ansible/hosts WORKDIR /ansible/playbooks -ARG ANSIBLE_VERSION=2.7.1 +ARG ANSIBLE_VERSION=2.11 ENV ANSIBLE_VERSION="${ANSIBLE_VERSION}" \ ANSIBLE_GATHERING=smart \ ANSIBLE_HOST_KEY_CHECKING=false \ diff --git a/app/docker/Dockerfile.cartography b/app/docker/Dockerfile.cartography index 23c366b4..4604a3c3 100644 --- a/app/docker/Dockerfile.cartography +++ b/app/docker/Dockerfile.cartography @@ -1,5 +1,6 @@ FROM python:3 -RUN pip install cartography +RUN python3 -m pip install --upgrade pip && \ + pip install cartography ENTRYPOINT ["/usr/local/bin/cartography","--neo4j-uri=bolt://neo4j:7687"] diff --git a/app/docker/Dockerfile.cyberchef b/app/docker/Dockerfile.cyberchef index a6a4cea1..46936c75 100644 --- a/app/docker/Dockerfile.cyberchef +++ b/app/docker/Dockerfile.cyberchef @@ -1,4 +1,4 @@ ARG NGINX_TAG=alpine FROM "nginx:$NGINX_TAG" -ADD --chown=nginx:nginx https://gchq.github.io/CyberChef/cyberchef.htm /usr/share/nginx/html/index.html +ADD --chown=nginx:nginx https://gchq.github.io/CyberChef/index.html /usr/share/nginx/html/index.html diff --git a/app/docker/Dockerfile.dive b/app/docker/Dockerfile.dive index e7b45ac5..25408cd2 100644 --- a/app/docker/Dockerfile.dive +++ b/app/docker/Dockerfile.dive @@ -1,5 +1,5 @@ -FROM centos:latest +FROM rockylinux:9 -ARG DIVE_VERSION=0.4.1 +ARG DIVE_VERSION=0.12.0 RUN yum install -y "https://github.com/wagoodman/dive/releases/download/v${DIVE_VERSION}/dive_${DIVE_VERSION}_linux_amd64.rpm" ENTRYPOINT ["/usr/local/bin/dive"] diff --git a/app/docker/Dockerfile.fn b/app/docker/Dockerfile.fn index e546060a..51affdea 100644 --- a/app/docker/Dockerfile.fn +++ b/app/docker/Dockerfile.fn @@ -13,13 +13,15 @@ RUN apt-get update \ curl \ gnupg2 \ software-properties-common \ - && curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add - \ - && add-apt-repository \ - "deb [arch=amd64] https://download.docker.com/linux/debian \ - $(lsb_release -cs) \ - stable" \ + && install -m 0755 -d /etc/apt/keyrings \ + && curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc \ + && chmod a+r /etc/apt/keyrings/docker.asc \ + && echo \ + "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \ + $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ + tee /etc/apt/sources.list.d/docker.list > /dev/null \ && apt-get update \ - && apt-get install -y docker-ce \ + && apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin \ && rm -rf /var/lib/apt/lists/* COPY --from=download /usr/bin/fn /usr/bin/fn diff --git a/app/docker/Dockerfile.remote_syslog2 b/app/docker/Dockerfile.remote_syslog2 index d027d6de..676e7c4c 100644 --- a/app/docker/Dockerfile.remote_syslog2 +++ b/app/docker/Dockerfile.remote_syslog2 @@ -1,7 +1,8 @@ FROM golang:latest -RUN go get -d -v github.com/papertrail/remote_syslog2 \ - && go install github.com/papertrail/remote_syslog2 +RUN go mod init nekroze/dab/remote_syslog2 && \ + go get -d -v github.com/papertrail/remote_syslog2 && \ + go install github.com/papertrail/remote_syslog2 COPY configs/remote_syslog2.yml /etc/log_files.yml diff --git a/app/docker/Dockerfile.sam b/app/docker/Dockerfile.sam index 03a3c028..468b686d 100644 --- a/app/docker/Dockerfile.sam +++ b/app/docker/Dockerfile.sam @@ -1,3 +1,3 @@ FROM python:3 -RUN pip install awscli aws-sam-cli +RUN pip install awscliv2 aws-sam-cli diff --git a/app/docker/Dockerfile.vault b/app/docker/Dockerfile.vault index 837e996f..3bc7b7d7 100644 --- a/app/docker/Dockerfile.vault +++ b/app/docker/Dockerfile.vault @@ -1,5 +1,5 @@ ARG VAULT_TAG=latest -FROM "vault:$VAULT_TAG" +FROM "hashicorp/vault:$VAULT_TAG" COPY configs/vault.hcl /vault/config/ diff --git a/app/docker/Dockerfile.xsstrike b/app/docker/Dockerfile.xsstrike index af0f78b1..13e20fff 100644 --- a/app/docker/Dockerfile.xsstrike +++ b/app/docker/Dockerfile.xsstrike @@ -1,6 +1,6 @@ FROM alpine:latest -RUN apk add --no-cache ca-certificates python3 py3-pip git \ +RUN apk add --no-cache ca-certificates python3 py3-pip git \ && update-ca-certificates ARG XSSTRIKE_VERSION=3.0.3 @@ -12,6 +12,6 @@ RUN mkdir -p /opt \ && git checkout ${XSSTRIKE_VERSION} \ && chmod +x xsstrike.py -RUN pip3 install -r /opt/xsstrike/requirements.txt +RUN pip3 install --break-system-packages -r /opt/xsstrike/requirements.txt ENTRYPOINT ["/opt/xsstrike/xsstrike.py"] diff --git a/app/docker/configs/docker-gen/templates/telegraf.conf.tmpl b/app/docker/configs/docker-gen/templates/telegraf.conf.tmpl index 21f4ac6f..817a8286 100644 --- a/app/docker/configs/docker-gen/templates/telegraf.conf.tmpl +++ b/app/docker/configs/docker-gen/templates/telegraf.conf.tmpl @@ -62,7 +62,7 @@ ## Precision will NOT be used for service inputs. It is up to each individual ## service input to set the timestamp at the appropriate precision. ## Valid time units are "ns", "us" (or "µs"), "ms", "s". - precision = "s" + precision = "1s" ## Logging configuration: ## Run telegraf with debug log messages. @@ -112,8 +112,8 @@ # timeout = "5s" ## HTTP Basic Auth - # username = "telegraf" - # password = "metricsmetricsmetricsmetrics" + username = "root" + password = "root" ## HTTP User-Agent # user_agent = "telegraf" @@ -508,7 +508,7 @@ # # ## Whether to report for each container per-device blkio (8:0, 8:1...) and # ## network (eth0, eth1, ...) stats or not -# perdevice = true +# perdevice_include = true # ## Whether to report for each container total blkio and network stats or not # total = false # ## Which environment variables should we use as a tag @@ -587,7 +587,7 @@ # HTTP/HTTPS request given an address a method and a timeout [[inputs.http_response]] ## Server address (default http://localhost) - address = "http://tick:8888" + urls = ["http://tick:8888"] ## Set http_proxy (telegraf uses the system wide proxy settings if it's is not set) # http_proxy = "http://localhost:8888" @@ -922,7 +922,7 @@ ############################################################################### # Influx HTTP write listener -[[inputs.http_listener]] +[[inputs.http_listener_v2]] ## Address and port to host HTTP listener on service_address = ":8086" @@ -1006,7 +1006,7 @@ ## Parses tags in the datadog statsd format ## http://docs.datadoghq.com/guides/dogstatsd/ - parse_data_dog_tags = true + datadog_extensions = true ## Statsd data translation templates, more info can be read here: ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md#graphite diff --git a/app/docker/docker-compose.adminer.yml b/app/docker/docker-compose.adminer.yml index cac64738..30e9927e 100644 --- a/app/docker/docker-compose.adminer.yml +++ b/app/docker/docker-compose.adminer.yml @@ -25,5 +25,5 @@ networks: default: name: dab_apps lab: - external: - name: lab + external: true + name: lab diff --git a/app/docker/docker-compose.ansible.yml b/app/docker/docker-compose.ansible.yml index 786eda36..e35737b6 100644 --- a/app/docker/docker-compose.ansible.yml +++ b/app/docker/docker-compose.ansible.yml @@ -8,7 +8,7 @@ services: context: . dockerfile: Dockerfile.ansible args: - - "ANSIBLE_VERSION=${DAB_APPS_ANSIBLE_VERSION:-2.7.1}" + - "ANSIBLE_VERSION=${DAB_APPS_ANSIBLE_VERSION:-2.11.0}" labels: description: 'Automated configuration management' env_file: @@ -33,8 +33,7 @@ services: volumes: logs: - external: - name: dab_logs + name: dab_logs networks: default: diff --git a/app/docker/docker-compose.aws.yml b/app/docker/docker-compose.aws.yml index c58c79ab..ed08b570 100644 --- a/app/docker/docker-compose.aws.yml +++ b/app/docker/docker-compose.aws.yml @@ -19,7 +19,7 @@ services: - "$HOST_PWD:$HOST_PWD" working_dir: "$HOST_PWD" entrypoint: - - /usr/local/bin/aws + - /usr/local/bin/awsv2 command: '--help' networks: diff --git a/app/docker/docker-compose.burrow.yml b/app/docker/docker-compose.burrow.yml deleted file mode 100644 index 542a703c..00000000 --- a/app/docker/docker-compose.burrow.yml +++ /dev/null @@ -1,37 +0,0 @@ -version: '3.5' - -services: - - burrow: - container_name: dab_burrow - image: 'nekroze/burrow:latest' - labels: - description: 'Kafka Consumer Lag Checking' - com.centurylinklabs.watchtower.enable: 'true' - env_file: - - /tmp/denvmux/burrow.env - environment: - BURROW_ZOOKEEPER_SERVERS: "${DAB_APPS_BURROW_TARGET_ZOOKEEPER:-zookeeper}:2181" - BURROW_CLUSTER_LOCAL_SERVERS: "${DAB_APPS_BURROW_TARGET_KAFKA:-kafka}:9092" - BURROW_CONSUMER_LOCAL_SERVERS: "${DAB_APPS_BURROW_TARGET_KAFKA:-kafka}:9092" - BURROW_CONSUMER_LOCAL_GROUP-BLACKLIST: '^(console-consumer-|python-kafka-consumer-).*$$' - BURROW_CONSUMER_LOCAL_ZK_SERVERS: "${DAB_APPS_BURROW_TARGET_ZOOKEEPER:-zookeeper}:2181" - BURROW_CONSUMER_LOCAL_ZK_GROUP-BLACKLIST: '^(console-consumer-|python-kafka-consumer-).*$$' - depends_on: - - kafka - - zookeeper - networks: - - default - - lab - expose: - - 8000 - ports: - - 8000 - restart: on-failure - -networks: - default: - name: dab_apps - lab: - external: - name: lab diff --git a/app/docker/docker-compose.consul.yml b/app/docker/docker-compose.consul.yml index 945c9681..e44ca0cc 100644 --- a/app/docker/docker-compose.consul.yml +++ b/app/docker/docker-compose.consul.yml @@ -4,7 +4,7 @@ services: consul: container_name: dab_consul - image: "consul:${DAB_APPS_CONSUL_TAG:-latest}" + image: "hashicorp/consul:${DAB_APPS_CONSUL_TAG:-latest}" restart: on-failure labels: description: 'Services discovery and key value store' diff --git a/app/docker/docker-compose.couchdb.yml b/app/docker/docker-compose.couchdb.yml index d8444c74..f372425b 100644 --- a/app/docker/docker-compose.couchdb.yml +++ b/app/docker/docker-compose.couchdb.yml @@ -28,5 +28,5 @@ networks: default: name: dab_apps lab: - external: - name: lab + external: true + name: lab diff --git a/app/docker/docker-compose.deck-chores.yml b/app/docker/docker-compose.deck-chores.yml index aac3b3b2..20e0e3ac 100644 --- a/app/docker/docker-compose.deck-chores.yml +++ b/app/docker/docker-compose.deck-chores.yml @@ -4,7 +4,7 @@ services: deck-chores: container_name: dab_deck-chores - image: "funkyfuture/deck-chores:${DAB_APPS_DECK_CHORES_LABEL:-latest}" + image: "ghcr.io/funkyfuture/deck-chores:${DAB_APPS_DECK_CHORES_LABEL:-1}" network_mode: none restart: always labels: diff --git a/app/docker/docker-compose.elasticsearch.yml b/app/docker/docker-compose.elasticsearch.yml index bfefed9a..e8c855a3 100644 --- a/app/docker/docker-compose.elasticsearch.yml +++ b/app/docker/docker-compose.elasticsearch.yml @@ -30,5 +30,5 @@ networks: default: name: dab_apps lab: - external: - name: lab + external: true + name: lab diff --git a/app/docker/docker-compose.gaia.yml b/app/docker/docker-compose.gaia.yml index 0670ea38..f5e50f0d 100644 --- a/app/docker/docker-compose.gaia.yml +++ b/app/docker/docker-compose.gaia.yml @@ -30,5 +30,5 @@ networks: default: name: dab_apps lab: - external: - name: lab + external: true + name: lab diff --git a/app/docker/docker-compose.influxdb.yml b/app/docker/docker-compose.influxdb.yml index 062724ce..a9378055 100644 --- a/app/docker/docker-compose.influxdb.yml +++ b/app/docker/docker-compose.influxdb.yml @@ -4,7 +4,7 @@ services: influxdb: container_name: dab_influxdb - image: "influxdb:${DAB_APPS_INFLUXDB_TAG:-alpine}" + image: "influxdb:${DAB_APPS_INFLUXDB_TAG:-1.8-alpine}" restart: on-failure labels: description: 'Time series database from the TICK stack' @@ -17,6 +17,7 @@ services: INFLUXDB_HTTP_PPROF_ENABLED: 'false' volumes: - influxdb:/var/lib/influxdb + - /var/run/docker.sock:/var/run/docker.sock:ro healthcheck: test: 'wget --spider http://localhost:8086/ping || exit 1' interval: 30s @@ -35,5 +36,5 @@ networks: default: name: dab_apps lab: - external: - name: lab + external: true + name: lab diff --git a/app/docker/docker-compose.kafka.yml b/app/docker/docker-compose.kafka.yml index 4738e4cf..032ebc06 100644 --- a/app/docker/docker-compose.kafka.yml +++ b/app/docker/docker-compose.kafka.yml @@ -26,5 +26,5 @@ networks: default: name: dab_apps lab: - external: - name: lab + external: true + name: lab diff --git a/app/docker/docker-compose.kafkacat.yml b/app/docker/docker-compose.kafkacat.yml index 2696cca3..afacfa67 100644 --- a/app/docker/docker-compose.kafkacat.yml +++ b/app/docker/docker-compose.kafkacat.yml @@ -21,5 +21,5 @@ networks: default: name: dab_apps lab: - external: - name: lab + external: true + name: lab diff --git a/app/docker/docker-compose.kafkaview.yml b/app/docker/docker-compose.kafkaview.yml index 0d5282ff..443e63f3 100644 --- a/app/docker/docker-compose.kafkaview.yml +++ b/app/docker/docker-compose.kafkaview.yml @@ -25,5 +25,5 @@ networks: default: name: dab_apps lab: - external: - name: lab + external: true + name: lab diff --git a/app/docker/docker-compose.kubernetes.yml b/app/docker/docker-compose.kubernetes.yml index 018a5f54..33ad9fc8 100644 --- a/app/docker/docker-compose.kubernetes.yml +++ b/app/docker/docker-compose.kubernetes.yml @@ -55,5 +55,5 @@ networks: default: name: dab_apps lab: - external: - name: lab + external: true + name: lab diff --git a/app/docker/docker-compose.localstack.yml b/app/docker/docker-compose.localstack.yml index 7a2df22e..c29ba71d 100644 --- a/app/docker/docker-compose.localstack.yml +++ b/app/docker/docker-compose.localstack.yml @@ -25,7 +25,7 @@ services: LAMBDA_DOCKER_NETWORK: 'lab' DOCKER_HOST: 'unix:///var/run/docker.sock' tmpfs: - - /tmp/localstack + - /tmp volumes: - '/var/run/docker.sock:/var/run/docker.sock' @@ -33,5 +33,5 @@ networks: default: name: dab_apps lab: - external: - name: lab + external: true + name: lab diff --git a/app/docker/docker-compose.mailhog.yml b/app/docker/docker-compose.mailhog.yml index cfb4c753..adf3ae05 100644 --- a/app/docker/docker-compose.mailhog.yml +++ b/app/docker/docker-compose.mailhog.yml @@ -33,5 +33,5 @@ networks: default: name: dab_apps lab: - external: - name: lab + external: true + name: lab diff --git a/app/docker/docker-compose.memcached.yml b/app/docker/docker-compose.memcached.yml index 4c3c7045..cf83a533 100644 --- a/app/docker/docker-compose.memcached.yml +++ b/app/docker/docker-compose.memcached.yml @@ -22,5 +22,5 @@ networks: default: name: dab_apps lab: - external: - name: lab + external: true + name: lab diff --git a/app/docker/docker-compose.minio.yml b/app/docker/docker-compose.minio.yml index 62213493..daef6eb3 100644 --- a/app/docker/docker-compose.minio.yml +++ b/app/docker/docker-compose.minio.yml @@ -36,5 +36,5 @@ networks: default: name: dab_apps lab: - external: - name: lab + external: true + name: lab diff --git a/app/docker/docker-compose.mitmproxy.yml b/app/docker/docker-compose.mitmproxy.yml index 4832a612..71f18cb4 100644 --- a/app/docker/docker-compose.mitmproxy.yml +++ b/app/docker/docker-compose.mitmproxy.yml @@ -32,5 +32,5 @@ services: networks: lab: - external: - name: lab + external: true + name: lab diff --git a/app/docker/docker-compose.mysql.yml b/app/docker/docker-compose.mysql.yml index 4b8f4cd8..326d1c48 100644 --- a/app/docker/docker-compose.mysql.yml +++ b/app/docker/docker-compose.mysql.yml @@ -29,5 +29,5 @@ networks: default: name: dab_apps lab: - external: - name: lab + external: true + name: lab diff --git a/app/docker/docker-compose.neo4j.yml b/app/docker/docker-compose.neo4j.yml index f098160f..25a29da5 100644 --- a/app/docker/docker-compose.neo4j.yml +++ b/app/docker/docker-compose.neo4j.yml @@ -4,7 +4,7 @@ services: neo4j: container_name: dab_neo4j - image: "neo4j:${DAB_APPS_NEO4j_TAG:-3.3}" + image: "neo4j:${DAB_APPS_NEO4j_TAG:-4.4}" labels: description: 'Robust graph database' com.centurylinklabs.watchtower.enable: 'true' @@ -31,5 +31,5 @@ networks: default: name: dab_apps lab: - external: - name: lab + name: lab + external: true diff --git a/app/docker/docker-compose.nikto.yml b/app/docker/docker-compose.nikto.yml index 6e942618..08024b25 100644 --- a/app/docker/docker-compose.nikto.yml +++ b/app/docker/docker-compose.nikto.yml @@ -18,7 +18,7 @@ services: networks: lab: - external: - name: lab + external: true + name: lab default: name: dab_apps diff --git a/app/docker/docker-compose.pgadmin.yml b/app/docker/docker-compose.pgadmin.yml index 367aa031..7e8cd0a2 100644 --- a/app/docker/docker-compose.pgadmin.yml +++ b/app/docker/docker-compose.pgadmin.yml @@ -31,5 +31,5 @@ networks: default: name: dab_apps lab: - external: - name: lab + external: true + name: lab diff --git a/app/docker/docker-compose.postgres.yml b/app/docker/docker-compose.postgres.yml index b45f34e5..2ebd1f35 100644 --- a/app/docker/docker-compose.postgres.yml +++ b/app/docker/docker-compose.postgres.yml @@ -36,5 +36,5 @@ networks: default: name: dab_apps lab: - external: - name: lab + external: true + name: lab diff --git a/app/docker/docker-compose.redis.yml b/app/docker/docker-compose.redis.yml index c64deef9..1dacad86 100644 --- a/app/docker/docker-compose.redis.yml +++ b/app/docker/docker-compose.redis.yml @@ -31,5 +31,5 @@ networks: default: name: dab_apps lab: - external: - name: lab + external: true + name: lab diff --git a/app/docker/docker-compose.remote-syslog2.yml b/app/docker/docker-compose.remote-syslog2.yml index 9692dcfc..635676dd 100644 --- a/app/docker/docker-compose.remote-syslog2.yml +++ b/app/docker/docker-compose.remote-syslog2.yml @@ -21,8 +21,7 @@ services: volumes: logs: - external: - name: dab_logs + name: dab_logs networks: default: diff --git a/app/docker/docker-compose.selenium.yml b/app/docker/docker-compose.selenium.yml index eea95139..8aed723b 100644 --- a/app/docker/docker-compose.selenium.yml +++ b/app/docker/docker-compose.selenium.yml @@ -29,5 +29,5 @@ networks: default: name: dab_apps lab: - external: - name: lab + external: true + name: lab diff --git a/app/docker/docker-compose.serveo.yml b/app/docker/docker-compose.serveo.yml index dfda7bf9..f19e985a 100644 --- a/app/docker/docker-compose.serveo.yml +++ b/app/docker/docker-compose.serveo.yml @@ -27,5 +27,5 @@ services: networks: default: - external: - name: lab + external: true + name: lab diff --git a/app/docker/docker-compose.sqliv.yml b/app/docker/docker-compose.sqliv.yml index b7b736bb..a1d98489 100644 --- a/app/docker/docker-compose.sqliv.yml +++ b/app/docker/docker-compose.sqliv.yml @@ -20,5 +20,5 @@ networks: default: name: dab_apps lab: - external: - name: lab + external: true + name: lab diff --git a/app/docker/docker-compose.telegraf.yml b/app/docker/docker-compose.telegraf.yml index 4bf5f386..380e5ada 100644 --- a/app/docker/docker-compose.telegraf.yml +++ b/app/docker/docker-compose.telegraf.yml @@ -29,6 +29,8 @@ services: interval: 30s timeout: 10s retries: 3 + user: root + entrypoint: telegraf tmpfs: - /tmp @@ -39,6 +41,6 @@ networks: default: name: dab_apps lab: - external: - name: lab + external: true + name: lab diff --git a/app/docker/docker-compose.traefik.yml b/app/docker/docker-compose.traefik.yml index 33d056de..449d1dd5 100644 --- a/app/docker/docker-compose.traefik.yml +++ b/app/docker/docker-compose.traefik.yml @@ -36,6 +36,6 @@ services: networks: default: - external: - name: lab + external: true + name: lab diff --git a/app/docker/docker-compose.vyne.yml b/app/docker/docker-compose.vyne.yml deleted file mode 100644 index 3d76bfc5..00000000 --- a/app/docker/docker-compose.vyne.yml +++ /dev/null @@ -1,25 +0,0 @@ -version: '3.5' - -services: - - vyne: - container_name: dab_vyne - image: "vyneco/vyne:${DAB_APPS_VYNE_TAG:-latest}" - labels: - description: 'A platform for automating integration between services' - com.centurylinklabs.watchtower.enable: 'true' - restart: on-failure - expose: - - 9022 - ports: - - 9022 - environment: - PROFILE: 'embedded-discovery' - env_file: - - /tmp/denvmux/vyne.env - tmpfs: - - /tmp - -networks: - default: - name: dab_apps diff --git a/app/docker/docker-compose.xsstrike.yml b/app/docker/docker-compose.xsstrike.yml index 54f7b8aa..cee8bffb 100644 --- a/app/docker/docker-compose.xsstrike.yml +++ b/app/docker/docker-compose.xsstrike.yml @@ -22,5 +22,5 @@ networks: default: name: dab_apps lab: - external: - name: lab + external: true + name: lab diff --git a/app/lib/docker.sh b/app/lib/docker.sh index 074de87d..4c3c8bd4 100644 --- a/app/lib/docker.sh +++ b/app/lib/docker.sh @@ -7,7 +7,7 @@ dpose_all() { app_envs_to_files_muxing env COMPOSE_PROJECT_NAME=dab \ COMPOSE_FILE="$(find "$DAB/docker" -type f -name 'docker-compose.*.yml' | tr '\n' ':' | sed 's/:$//')" \ - docker-compose --project-directory "$DAB/docker" "$@" + docker compose --project-directory "$DAB/docker" "$@" [ "${DAB_PROFILING:-false}" = 'false' ] || echo "[PROFILE] $(date '+%s.%N') [STOP] dpose_all $*" } @@ -31,7 +31,7 @@ dpose() { shift env COMPOSE_PROJECT_NAME=dab \ COMPOSE_FILE="$(get_docker_compose_files_for_app "$app")" \ - docker-compose --project-directory "$DAB/docker" "$@" 3>&1 1>&2 2>&3 | sed '/If you removed or renamed this service in your compose file, you can run this command with the --remove-orphans flag to clean it up/d' + docker compose --project-directory "$DAB/docker" "$@" 3>&1 1>&2 2>&3 | sed '/If you removed or renamed this service in your compose file, you can run this command with the --remove-orphans flag to clean it up/d' [ "${DAB_PROFILING:-false}" = 'false' ] || echo "[PROFILE] $(date '+%s.%N') [STOP] dpose $*" } diff --git a/completion/go.mod b/completion/go.mod index de9b82ba..82299dd5 100644 --- a/completion/go.mod +++ b/completion/go.mod @@ -1,7 +1,18 @@ module github.com/Nekroze/dab/completion +go 1.22.1 + require ( github.com/mitchellh/go-homedir v1.0.0 github.com/posener/complete v1.2.1 github.com/valyala/quicktemplate v1.0.2 ) + +require ( + github.com/hashicorp/errwrap v1.0.0 // indirect + github.com/hashicorp/go-multierror v1.0.0 // indirect + github.com/klauspost/compress v1.4.0 // indirect + github.com/klauspost/cpuid v0.0.0-20180405133222-e7e905edc00e // indirect + github.com/valyala/bytebufferpool v1.0.0 // indirect + github.com/valyala/fasthttp v0.0.0-20180905170723-c6fd90e432cc // indirect +) diff --git a/scripts/build.sh b/scripts/build.sh index af6bbe7a..d77c0682 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -6,4 +6,4 @@ export COMPOSE_PROJECT_NAME='dab' export COMPOSE_FILE="tests/docker-compose.yml:tests/docker-compose.${TEST_DOCKER:=local}.yml" # Build just the dab image and clean up. -docker-compose build --force-rm --pull dab +docker compose build --force-rm --pull dab diff --git a/scripts/render-tour.sh b/scripts/render-tour.sh index b8a3bc47..3dd045f0 100755 --- a/scripts/render-tour.sh +++ b/scripts/render-tour.sh @@ -5,25 +5,25 @@ set -eux export TEST_DOCKER='dind' export COMPOSE_PROJECT_NAME='dab' export COMPOSE_FILE="tests/docker-compose.yml:tests/docker-compose.$TEST_DOCKER.yml" -trap 'docker-compose down' EXIT +trap 'docker compose down' EXIT # Start the docker in docker daemon, isolating it from the host. -docker-compose up -d --remove-orphans docker +docker compose up -d --remove-orphans docker # Ensure the dab image is built from the code -docker-compose run --rm build -docker-compose build tourist +docker compose run --rm build +docker compose build tourist # Ensure output will not be filled/slowed with progress indicators -docker-compose run --rm tourist 'docker pull nekroze/containaruba:alpine' -docker-compose run --rm tourist "dab apps update vaultbot" +docker compose run --rm tourist 'docker pull nekroze/containaruba:alpine' +docker compose run --rm tourist "dab apps update vaultbot" for app in $(grep -E 'dab apps \w+ \w+' tests/tour.sh | awk -vORS=' ' '{ print $4; }' | uniq); do - docker-compose run --rm tourist "dab apps update $app" + docker compose run --rm tourist "dab apps update $app" done -docker-compose run --rm tourist 'rm -rf ~/.config/dab' +docker compose run --rm tourist 'rm -rf ~/.config/dab' # Record tour -docker-compose run --rm tourist +docker compose run --rm tourist # Ensure you own the newly rendered tour if [ ! -w app/tour.asciinema.json ]; then diff --git a/scripts/test.sh b/scripts/test.sh index ba4d453f..23ddd2c8 100755 --- a/scripts/test.sh +++ b/scripts/test.sh @@ -8,31 +8,31 @@ export COMPOSE_FILE="tests/docker-compose.yml:tests/docker-compose.${TEST_DOCKER echo echo Docker Compose Config echo -docker-compose config +docker compose config echo # Cleanup first -docker-compose down --volumes +docker compose down --volumes # Pull/build the latest test images. -docker-compose pull tests || true +docker compose pull tests || true # Ensure the mess we are about to make will be somewhat cleaned up -trap 'docker-compose down' EXIT +trap 'docker compose down' EXIT if [ "$TEST_DOCKER" = 'local' ]; then # Cleanup previous test space [ -d /tmp/dab ] && sudo rm -rf /tmp/dab elif [ "$TEST_DOCKER" = 'dind' ]; then # run build container to get the image in dind. - docker-compose run --rm build + docker compose run --rm build # Start the docker in docker daemon, isolating it from the host. - docker-compose up -d --remove-orphans docker + docker compose up -d --remove-orphans docker fi # Create new test space mkdir -p /tmp/dab/test_results # run tests container and pass any params to this script to cucumber. -docker-compose run tests --tags="${TEST_TAGS:-not @none}" --order=random "$@" +docker compose run tests --tags="${TEST_TAGS:-not @none}" --order=random "$@" diff --git a/tests/features/apps.feature b/tests/features/apps.feature index ceb7336e..dab8f72b 100644 --- a/tests/features/apps.feature +++ b/tests/features/apps.feature @@ -44,7 +44,7 @@ Feature: Subcommand: dab apps Given I run `dab apps start ` And it should pass matching: """ - ^ is available at https?://([0-9]+\.){3}[0-9]+:[0-9]+$ + ^ is available at https?://([0-9]+.){3}[0-9]+:[0-9]+$ """ And I successfully run `docker ps` And it should pass with "dab_" @@ -166,7 +166,7 @@ Feature: Subcommand: dab apps | traefik | DAB_APPS_TRAEFIK_TAG | v1.7 | @smoke - Scenario: Can view the docker-compose config for a app + Scenario: Can view the docker compose config for a app When I run `dab apps config vault` Then it should pass with "description:" diff --git a/tests/tour.sh b/tests/tour.sh index 06d05f57..d98f33f7 100644 --- a/tests/tour.sh +++ b/tests/tour.sh @@ -72,7 +72,7 @@ ls ~/dab/subcommander dab repo entrypoint create subcommander test dab repo entrypoint list subcommander # Now we have a script where we can place the build incantation -dab config set repo/subcommander/entrypoint/test docker-compose run tests +dab config set repo/subcommander/entrypoint/test docker compose run tests # We can put anything we want in these entrypoints # We can even run dab if we wanted to use apps for example # Now after making several epic improvements we can... From 29074132456f7a2a1ecade44b2785c3c0ef12d8b Mon Sep 17 00:00:00 2001 From: Dean Stalker Date: Mon, 25 Mar 2024 12:25:35 +1000 Subject: [PATCH 04/40] Fix executable bit for docker compose --- .circleci/config.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 883f857c..66fd23bf 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -91,7 +91,8 @@ jobs: command: | DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker} mkdir -p $DOCKER_CONFIG/cli-plugins - curl -SL https://github.com/docker/compose/releases/download/v2.25.0/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose + curl -SL https://github.com/docker/compose/releases/download/v2.25.0/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose + chmod +x "$DOCKER_CONFIG/cli-plugins/docker-compose" - run: name: Build Image From f1e79122bdde3fd5f7923f10115f8bab33b235fb Mon Sep 17 00:00:00 2001 From: Dean Stalker Date: Mon, 25 Mar 2024 12:33:39 +1000 Subject: [PATCH 05/40] Use cimg/node for ci --- .circleci/config.yml | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 66fd23bf..22f60a04 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -71,7 +71,7 @@ jobs: 'Danger Automated Code Review': docker: - - image: circleci/node:latest + - image: cimg/node:latest steps: - checkout @@ -86,14 +86,6 @@ jobs: - checkout - - run: - name: Install Docker Compose v2 - command: | - DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker} - mkdir -p $DOCKER_CONFIG/cli-plugins - curl -SL https://github.com/docker/compose/releases/download/v2.25.0/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose - chmod +x "$DOCKER_CONFIG/cli-plugins/docker-compose" - - run: name: Build Image command: ./scripts/build.sh From 80de496f8d38993061ab20ecb3d70567b62593fe Mon Sep 17 00:00:00 2001 From: Dean Stalker Date: Mon, 25 Mar 2024 12:36:56 +1000 Subject: [PATCH 06/40] Update docker image for node --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 22f60a04..98a111ec 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -71,7 +71,7 @@ jobs: 'Danger Automated Code Review': docker: - - image: cimg/node:latest + - image: cimg/node:lts steps: - checkout From b5cf6c01075097d8da68a95a344c94f1951cb486 Mon Sep 17 00:00:00 2001 From: Dean Stalker Date: Mon, 25 Mar 2024 12:38:46 +1000 Subject: [PATCH 07/40] Remove docker compose install, should be baked in the cimg already --- .circleci/config.yml | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 98a111ec..cfe458a0 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -131,13 +131,6 @@ jobs: - checkout - - run: - name: Install Docker Compose v2 - command: | - DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker} - mkdir -p $DOCKER_CONFIG/cli-plugins - curl -SL https://github.com/docker/compose/releases/download/v2.25.0/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose - - run: name: UX Regression Tests command: | @@ -158,13 +151,6 @@ jobs: - checkout - - run: - name: Install Docker Compose v2 - command: | - DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker} - mkdir -p $DOCKER_CONFIG/cli-plugins - curl -SL https://github.com/docker/compose/releases/download/v2.25.0/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose - - run: name: Profile command: | From b0b7c95725a1956c501de73caec2a3eebebc6407 Mon Sep 17 00:00:00 2001 From: Dean Stalker Date: Mon, 25 Mar 2024 12:49:50 +1000 Subject: [PATCH 08/40] Use asciinema apk package --- Dockerfile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 12075519..8ca0e64a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -69,9 +69,8 @@ LABEL org.label-schema.schema-version="1.0" \ # they are to be kept at a lower layer for caching. RUN apk add --no-cache --virtual .toolchain \ python3-dev libffi-dev openssl-dev build-base \ - && apk add --no-cache docker-cli docker-cli-compose python3 py3-pip py3-cryptography \ + && apk add --no-cache asciinema docker-cli docker-cli-compose python3 py3-pip py3-cryptography \ && rm -f /usr/bin/dockerd /usr/bin/docker-containerd* \ - && pip3 install asciinema \ && apk del .toolchain \ && rm -rf ~/.cache From 45c4fc10030d32c5f50e59255797998419ad9172 Mon Sep 17 00:00:00 2001 From: Dean Stalker Date: Mon, 25 Mar 2024 13:09:56 +1000 Subject: [PATCH 09/40] Force install yq 3.4 to retain compatibility. --- Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 8ca0e64a..3b6e168f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -76,7 +76,8 @@ RUN apk add --no-cache --virtual .toolchain \ # Misc tools required for scripts. RUN apk add --no-cache git openssh tree util-linux jq nss-tools multitail ca-certificates highlight libintl entr postgresql-client task bash \ - && pip3 install yq \ + && wget -O /usr/bin/yq https://github.com/mikefarah/yq/releases/download/3.4.1/yq_linux_amd64 \ + && chmod +x /usr/bin/yq \ && echo "check_mail:0" >> /etc/multitail.conf \ && chmod 666 /etc/passwd From fd4ecefd601d30964c3566643b13a460eb5a0d43 Mon Sep 17 00:00:00 2001 From: Dean Stalker Date: Mon, 25 Mar 2024 13:19:20 +1000 Subject: [PATCH 10/40] Fix compgen and goarch for darwin --- Dockerfile | 5 +++-- scripts/compgen.sh | 5 +---- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index 3b6e168f..ceaeff76 100644 --- a/Dockerfile +++ b/Dockerfile @@ -19,8 +19,9 @@ RUN cd ../ \ ENV CGO_ENABLED=0 \ GOARCH=386 -RUN GOOS=linux go build -a -installsuffix cgo -ldflags='-w -s' -o /usr/bin/dab-completion-linux . -RUN GOOS=darwin go build -a -installsuffix cgo -ldflags='-w -s' -o /usr/bin/dab-completion-darwin . +RUN GOOS=linux GOARCH=amd64 go build -a -installsuffix cgo -ldflags='-w -s' -o /usr/bin/dab-completion-linux . +RUN GOOS=darwin GOARCH=amd64 go build -a -installsuffix cgo -ldflags='-w -s' -o /usr/bin/dab-completion-darwin . +RUN GOOS=darwin GOARCH=arm64 go build -a -installsuffix cgo -ldflags='-w -s' -o /usr/bin/dab-completion-m1 . # This phase generates versioning artifacts from git. diff --git a/scripts/compgen.sh b/scripts/compgen.sh index 1f48a923..c62bfb1a 100755 --- a/scripts/compgen.sh +++ b/scripts/compgen.sh @@ -1,12 +1,9 @@ #!/bin/sh set -eu -export GO111MODULE=off - -go get -v -u github.com/valyala/quicktemplate/qtc +go install github.com/valyala/quicktemplate/qtc@latest cd completion -export GO111MODULE=on go mod download go generate -v ./templates From 39c2752159edb1a901e3dc77e74d25820134e700 Mon Sep 17 00:00:00 2001 From: Dean Stalker Date: Mon, 25 Mar 2024 13:47:55 +1000 Subject: [PATCH 11/40] Fix compgen (make it compatible with current golangci-lint and go version) --- .circleci/config.yml | 2 +- Dockerfile | 6 +++--- completion/go.mod | 5 +---- completion/go.sum | 25 +++++++++++++++++++------ completion/tools.go | 8 ++++++++ scripts/compgen.sh | 4 +++- 6 files changed, 35 insertions(+), 15 deletions(-) create mode 100644 completion/tools.go diff --git a/.circleci/config.yml b/.circleci/config.yml index cfe458a0..7d1c45b7 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -52,7 +52,7 @@ jobs: GolangCI-Lint: docker: - - image: golangci/golangci-lint:v1.15.0 + - image: golangci/golangci-lint:v1.57.1 steps: - checkout diff --git a/Dockerfile b/Dockerfile index ceaeff76..aae10c15 100644 --- a/Dockerfile +++ b/Dockerfile @@ -17,10 +17,10 @@ RUN cd ../ \ && ./compgen.sh ENV CGO_ENABLED=0 \ - GOARCH=386 + GOARCH=amd64 -RUN GOOS=linux GOARCH=amd64 go build -a -installsuffix cgo -ldflags='-w -s' -o /usr/bin/dab-completion-linux . -RUN GOOS=darwin GOARCH=amd64 go build -a -installsuffix cgo -ldflags='-w -s' -o /usr/bin/dab-completion-darwin . +RUN GOOS=linux go build -a -installsuffix cgo -ldflags='-w -s' -o /usr/bin/dab-completion-linux . +RUN GOOS=darwin go build -a -installsuffix cgo -ldflags='-w -s' -o /usr/bin/dab-completion-darwin . RUN GOOS=darwin GOARCH=arm64 go build -a -installsuffix cgo -ldflags='-w -s' -o /usr/bin/dab-completion-m1 . diff --git a/completion/go.mod b/completion/go.mod index 82299dd5..96033e51 100644 --- a/completion/go.mod +++ b/completion/go.mod @@ -5,14 +5,11 @@ go 1.22.1 require ( github.com/mitchellh/go-homedir v1.0.0 github.com/posener/complete v1.2.1 - github.com/valyala/quicktemplate v1.0.2 + github.com/valyala/quicktemplate v1.7.0 ) require ( github.com/hashicorp/errwrap v1.0.0 // indirect github.com/hashicorp/go-multierror v1.0.0 // indirect - github.com/klauspost/compress v1.4.0 // indirect - github.com/klauspost/cpuid v0.0.0-20180405133222-e7e905edc00e // indirect github.com/valyala/bytebufferpool v1.0.0 // indirect - github.com/valyala/fasthttp v0.0.0-20180905170723-c6fd90e432cc // indirect ) diff --git a/completion/go.sum b/completion/go.sum index a4d272ad..ae39ecfc 100644 --- a/completion/go.sum +++ b/completion/go.sum @@ -1,16 +1,29 @@ -github.com/Nekroze/dab/completion v0.0.0-20190307220551-e67f922d78f0 h1:RrVsU8pUNyR1SSrsPL4SOmzdklGTvlz3SgG1K34LtG8= +github.com/andybalholm/brotli v1.0.2/go.mod h1:loMXtMfwqflxFJPmdbJO0a3KNoPuLBgiu3qAvBg8x/Y= +github.com/andybalholm/brotli v1.0.3/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= +github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/hashicorp/errwrap v1.0.0 h1:hLrqtEDnRye3+sgx6z4qVLNuviH3MR5aQ0ykNJa/UYA= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/go-multierror v1.0.0 h1:iVjPR7a6H0tWELX5NxNe7bYopibicUzc7uPribsnS6o= github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= -github.com/klauspost/compress v1.4.0/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= -github.com/klauspost/cpuid v0.0.0-20180405133222-e7e905edc00e/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= +github.com/klauspost/compress v1.13.4/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= +github.com/klauspost/compress v1.13.5/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= github.com/mitchellh/go-homedir v1.0.0 h1:vKb8ShqSby24Yrqr/yDYkuFz8d0WUjys40rvnGC8aR0= github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/posener/complete v1.2.1 h1:LrvDIY//XNo65Lq84G/akBuMGlawHvGBABv8f/ZN6DI= github.com/posener/complete v1.2.1/go.mod h1:6gapUrK/U1TAN7ciCoNRIdVC5sbdBTUh1DKN0g6uH7E= github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= -github.com/valyala/fasthttp v0.0.0-20180905170723-c6fd90e432cc/go.mod h1:+g/po7GqyG5E+1CNgquiIxJnsXEi5vwFn5weFujbO78= -github.com/valyala/quicktemplate v1.0.2 h1:ZeVRKan1W/25u5f9ilDo5HWtdxD+QxR10WrZwxqLM54= -github.com/valyala/quicktemplate v1.0.2/go.mod h1:KZAB+RlYlfNtBUGQMzIrnE8uuNgD2SbUn5CpZyod0sk= +github.com/valyala/fasthttp v1.30.0/go.mod h1:2rsYD01CKFrjjsvFxx75KlEUNpWNBY9JWD3K/7o2Cus= +github.com/valyala/quicktemplate v1.7.0 h1:LUPTJmlVcb46OOUY3IeD9DojFpAVbsG+5WFTcjMJzCM= +github.com/valyala/quicktemplate v1.7.0/go.mod h1:sqKJnoaOF88V07vkO+9FL8fb9uZg/VPSJnLYn+LmLk8= +github.com/valyala/tcplisten v1.0.0/go.mod h1:T0xQ8SeCZGxckz9qRXTfG43PvQ/mcWh7FwZEA7Ioqkc= +golang.org/x/crypto v0.0.0-20210513164829-c07d793c2f9a/go.mod h1:P+XmwS30IXTQdn5tA2iutPOUgjI07+tq3H3K9MVA1s8= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210510120150-4163338589ed/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= diff --git a/completion/tools.go b/completion/tools.go new file mode 100644 index 00000000..05877baa --- /dev/null +++ b/completion/tools.go @@ -0,0 +1,8 @@ +//go:build tools +// +build tools + +package main + +import ( + _ "github.com/valyala/quicktemplate/qtc" +) diff --git a/scripts/compgen.sh b/scripts/compgen.sh index c62bfb1a..45a66d7e 100755 --- a/scripts/compgen.sh +++ b/scripts/compgen.sh @@ -1,7 +1,9 @@ #!/bin/sh set -eu -go install github.com/valyala/quicktemplate/qtc@latest +tools=$(go list -f '{{range .Imports}}{{.}}@latest{{end}}' completion/tools.go) +echo "$tools" +go install "$tools" cd completion go mod download From 524bcc6a8a626f10d6d473facf87379c7ef4926a Mon Sep 17 00:00:00 2001 From: Dean Stalker Date: Mon, 25 Mar 2024 13:53:22 +1000 Subject: [PATCH 12/40] Fix invalid deadline flag --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 7d1c45b7..3dd2471b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -66,7 +66,7 @@ jobs: name: check command: | ./scripts/compgen.sh - cd completion && golangci-lint run --deadline 4m --enable-all --disable dupl,lll,gochecknoglobals,gochecknoinits + cd completion && golangci-lint run --timeout 4m --enable-all --disable dupl,lll,gochecknoglobals,gochecknoinits 'Danger Automated Code Review': From 86981163f8d41a95fe3aeb23889e33a7b05cabb6 Mon Sep 17 00:00:00 2001 From: Dean Stalker Date: Mon, 25 Mar 2024 14:17:52 +1000 Subject: [PATCH 13/40] Fix up golangci-lint and compgen app --- completion/config.go | 14 +++++++------- completion/gen/main.go | 19 +++++++++++-------- completion/generic.go | 2 ++ completion/go.mod | 2 +- completion/go.sum | 14 ++++++++++++-- completion/groups.go | 4 ++-- completion/repos.go | 7 ++++--- 7 files changed, 39 insertions(+), 23 deletions(-) diff --git a/completion/config.go b/completion/config.go index 719a0dd1..2e3207f1 100644 --- a/completion/config.go +++ b/completion/config.go @@ -9,9 +9,10 @@ import ( "github.com/posener/complete" ) -var dabRepoPath string -var dabConfPath string -var home string +var ( + dabConfPath string + home string +) func init() { var err error @@ -21,13 +22,9 @@ func init() { } dabConfPath = filepath.Join(home, ".config/dab") - dabRepoPath = filepath.Join(home, "dab") if val := os.Getenv("DAB_CONF_PATH"); val != "" { dabConfPath = val } - if val := os.Getenv("DAB_REPO_PATH"); val != "" { - dabRepoPath = val - } } func predictConfigKeys(args complete.Args) []string { @@ -45,16 +42,19 @@ func getCompletedFragmentChildren(input string) (out []string) { return err } out = append(out, strings.TrimPrefix(path, dir+"/")) + return nil }) if err != nil { panic(err) } + return out } func getCompletedFragment(input string) string { parts := strings.Split(input, "/") completed := parts[:len(parts)-1] + return strings.Join(completed, "/") } diff --git a/completion/gen/main.go b/completion/gen/main.go index f1d5aa04..25dd2d70 100644 --- a/completion/gen/main.go +++ b/completion/gen/main.go @@ -3,7 +3,7 @@ package main import ( "bufio" "flag" - "io/ioutil" + "io/fs" "os" "sort" "strings" @@ -11,26 +11,29 @@ import ( "github.com/Nekroze/dab/completion/templates" ) -var searchDir string -var outFile string +var ( + searchDir string + outFile string +) func main() { flag.StringVar(&searchDir, "search", "../app/docker/", "directory to search for apps in") flag.StringVar(&outFile, "out", "apps.go", "filename to write out to") flag.Parse() - files, err := ioutil.ReadDir(searchDir) + files, err := os.ReadDir(searchDir) if err != nil { panic(err) } apps := []string{} for _, f := range files { - if !isApp(f) { + fileinfo, _ := f.Info() + if !isApp(fileinfo) { continue } - apps = append(apps, getAppName(f)) + apps = append(apps, getAppName(fileinfo)) } sort.Strings(apps) @@ -49,11 +52,11 @@ func main() { w.Flush() } -func getAppName(f os.FileInfo) string { +func getAppName(f fs.FileInfo) string { return strings.Split(f.Name(), ".")[1] } -func isApp(f os.FileInfo) bool { +func isApp(f fs.FileInfo) bool { parts := strings.Split(f.Name(), ".") if len(parts) != 3 { diff --git a/completion/generic.go b/completion/generic.go index 99b776bf..2f0ecac9 100644 --- a/completion/generic.go +++ b/completion/generic.go @@ -25,6 +25,7 @@ func (p predictGeneric) activeLevel(current int) bool { return true } } + return false } @@ -32,5 +33,6 @@ func (p predictGeneric) Predict(args complete.Args) []string { if !p.activeLevel(len(args.Completed)) { return nil } + return p.predict(args) } diff --git a/completion/go.mod b/completion/go.mod index 96033e51..49b752f4 100644 --- a/completion/go.mod +++ b/completion/go.mod @@ -4,7 +4,7 @@ go 1.22.1 require ( github.com/mitchellh/go-homedir v1.0.0 - github.com/posener/complete v1.2.1 + github.com/posener/complete v1.2.3 github.com/valyala/quicktemplate v1.7.0 ) diff --git a/completion/go.sum b/completion/go.sum index ae39ecfc..2f181fd4 100644 --- a/completion/go.sum +++ b/completion/go.sum @@ -1,5 +1,7 @@ github.com/andybalholm/brotli v1.0.2/go.mod h1:loMXtMfwqflxFJPmdbJO0a3KNoPuLBgiu3qAvBg8x/Y= github.com/andybalholm/brotli v1.0.3/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= +github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/hashicorp/errwrap v1.0.0 h1:hLrqtEDnRye3+sgx6z4qVLNuviH3MR5aQ0ykNJa/UYA= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -9,8 +11,13 @@ github.com/klauspost/compress v1.13.4/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8 github.com/klauspost/compress v1.13.5/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= github.com/mitchellh/go-homedir v1.0.0 h1:vKb8ShqSby24Yrqr/yDYkuFz8d0WUjys40rvnGC8aR0= github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/posener/complete v1.2.1 h1:LrvDIY//XNo65Lq84G/akBuMGlawHvGBABv8f/ZN6DI= -github.com/posener/complete v1.2.1/go.mod h1:6gapUrK/U1TAN7ciCoNRIdVC5sbdBTUh1DKN0g6uH7E= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/posener/complete v1.2.3 h1:NP0eAhjcjImqslEwo/1hq7gpajME0fTLTezBKDqfXqo= +github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= github.com/valyala/fasthttp v1.30.0/go.mod h1:2rsYD01CKFrjjsvFxx75KlEUNpWNBY9JWD3K/7o2Cus= @@ -27,3 +34,6 @@ golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9sn golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= diff --git a/completion/groups.go b/completion/groups.go index def0972d..d18b255d 100644 --- a/completion/groups.go +++ b/completion/groups.go @@ -1,7 +1,6 @@ package main import ( - "io/ioutil" "os" "github.com/posener/complete" @@ -12,7 +11,7 @@ func predictGroups(_ complete.Args) (out []string) { if _, err := os.Stat(dir); os.IsNotExist(err) { panic(err) } - files, err := ioutil.ReadDir(dir) + files, err := os.ReadDir(dir) if err != nil { panic(err) } @@ -22,5 +21,6 @@ func predictGroups(_ complete.Args) (out []string) { out = append(out, f.Name()) } } + return out } diff --git a/completion/repos.go b/completion/repos.go index c5fd8775..9fb66b44 100644 --- a/completion/repos.go +++ b/completion/repos.go @@ -1,7 +1,6 @@ package main import ( - "io/ioutil" "os" "path" @@ -13,7 +12,7 @@ func predictRepos(_ complete.Args) (out []string) { if _, err := os.Stat(dir); os.IsNotExist(err) { return nil } - files, err := ioutil.ReadDir(dir) + files, err := os.ReadDir(dir) if err != nil { panic(err) } @@ -23,6 +22,7 @@ func predictRepos(_ complete.Args) (out []string) { out = append(out, f.Name()) } } + return out } @@ -31,7 +31,7 @@ func predictEntrypoint(a complete.Args) (out []string) { if _, err := os.Stat(dir); os.IsNotExist(err) { return nil } - files, err := ioutil.ReadDir(dir) + files, err := os.ReadDir(dir) if err != nil { panic(err) } @@ -41,5 +41,6 @@ func predictEntrypoint(a complete.Args) (out []string) { out = append(out, f.Name()) } } + return out } From 4c5471c2f40a574e2356f0383ef91499f23182cf Mon Sep 17 00:00:00 2001 From: Dean Stalker Date: Mon, 25 Mar 2024 14:17:52 +1000 Subject: [PATCH 14/40] Fix up golangci-lint and compgen app --- .circleci/config.yml | 2 +- completion/config.go | 14 +++++++------- completion/gen/main.go | 19 +++++++++++-------- completion/generic.go | 2 ++ completion/go.mod | 2 +- completion/go.sum | 14 ++++++++++++-- completion/groups.go | 4 ++-- completion/repos.go | 7 ++++--- 8 files changed, 40 insertions(+), 24 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 3dd2471b..a0b9fdb4 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -66,7 +66,7 @@ jobs: name: check command: | ./scripts/compgen.sh - cd completion && golangci-lint run --timeout 4m --enable-all --disable dupl,lll,gochecknoglobals,gochecknoinits + cd completion && golangci-lint run --timeout 4m --enable-all --disable dupl,lll,gochecknoglobals,gochecknoinits,depguard,exhaustivestruct,exhaustruct,gomnd,varnamelen,nonamedreturns,wsl,ireturn 'Danger Automated Code Review': diff --git a/completion/config.go b/completion/config.go index 719a0dd1..2e3207f1 100644 --- a/completion/config.go +++ b/completion/config.go @@ -9,9 +9,10 @@ import ( "github.com/posener/complete" ) -var dabRepoPath string -var dabConfPath string -var home string +var ( + dabConfPath string + home string +) func init() { var err error @@ -21,13 +22,9 @@ func init() { } dabConfPath = filepath.Join(home, ".config/dab") - dabRepoPath = filepath.Join(home, "dab") if val := os.Getenv("DAB_CONF_PATH"); val != "" { dabConfPath = val } - if val := os.Getenv("DAB_REPO_PATH"); val != "" { - dabRepoPath = val - } } func predictConfigKeys(args complete.Args) []string { @@ -45,16 +42,19 @@ func getCompletedFragmentChildren(input string) (out []string) { return err } out = append(out, strings.TrimPrefix(path, dir+"/")) + return nil }) if err != nil { panic(err) } + return out } func getCompletedFragment(input string) string { parts := strings.Split(input, "/") completed := parts[:len(parts)-1] + return strings.Join(completed, "/") } diff --git a/completion/gen/main.go b/completion/gen/main.go index f1d5aa04..25dd2d70 100644 --- a/completion/gen/main.go +++ b/completion/gen/main.go @@ -3,7 +3,7 @@ package main import ( "bufio" "flag" - "io/ioutil" + "io/fs" "os" "sort" "strings" @@ -11,26 +11,29 @@ import ( "github.com/Nekroze/dab/completion/templates" ) -var searchDir string -var outFile string +var ( + searchDir string + outFile string +) func main() { flag.StringVar(&searchDir, "search", "../app/docker/", "directory to search for apps in") flag.StringVar(&outFile, "out", "apps.go", "filename to write out to") flag.Parse() - files, err := ioutil.ReadDir(searchDir) + files, err := os.ReadDir(searchDir) if err != nil { panic(err) } apps := []string{} for _, f := range files { - if !isApp(f) { + fileinfo, _ := f.Info() + if !isApp(fileinfo) { continue } - apps = append(apps, getAppName(f)) + apps = append(apps, getAppName(fileinfo)) } sort.Strings(apps) @@ -49,11 +52,11 @@ func main() { w.Flush() } -func getAppName(f os.FileInfo) string { +func getAppName(f fs.FileInfo) string { return strings.Split(f.Name(), ".")[1] } -func isApp(f os.FileInfo) bool { +func isApp(f fs.FileInfo) bool { parts := strings.Split(f.Name(), ".") if len(parts) != 3 { diff --git a/completion/generic.go b/completion/generic.go index 99b776bf..2f0ecac9 100644 --- a/completion/generic.go +++ b/completion/generic.go @@ -25,6 +25,7 @@ func (p predictGeneric) activeLevel(current int) bool { return true } } + return false } @@ -32,5 +33,6 @@ func (p predictGeneric) Predict(args complete.Args) []string { if !p.activeLevel(len(args.Completed)) { return nil } + return p.predict(args) } diff --git a/completion/go.mod b/completion/go.mod index 96033e51..49b752f4 100644 --- a/completion/go.mod +++ b/completion/go.mod @@ -4,7 +4,7 @@ go 1.22.1 require ( github.com/mitchellh/go-homedir v1.0.0 - github.com/posener/complete v1.2.1 + github.com/posener/complete v1.2.3 github.com/valyala/quicktemplate v1.7.0 ) diff --git a/completion/go.sum b/completion/go.sum index ae39ecfc..2f181fd4 100644 --- a/completion/go.sum +++ b/completion/go.sum @@ -1,5 +1,7 @@ github.com/andybalholm/brotli v1.0.2/go.mod h1:loMXtMfwqflxFJPmdbJO0a3KNoPuLBgiu3qAvBg8x/Y= github.com/andybalholm/brotli v1.0.3/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= +github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/hashicorp/errwrap v1.0.0 h1:hLrqtEDnRye3+sgx6z4qVLNuviH3MR5aQ0ykNJa/UYA= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -9,8 +11,13 @@ github.com/klauspost/compress v1.13.4/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8 github.com/klauspost/compress v1.13.5/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= github.com/mitchellh/go-homedir v1.0.0 h1:vKb8ShqSby24Yrqr/yDYkuFz8d0WUjys40rvnGC8aR0= github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/posener/complete v1.2.1 h1:LrvDIY//XNo65Lq84G/akBuMGlawHvGBABv8f/ZN6DI= -github.com/posener/complete v1.2.1/go.mod h1:6gapUrK/U1TAN7ciCoNRIdVC5sbdBTUh1DKN0g6uH7E= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/posener/complete v1.2.3 h1:NP0eAhjcjImqslEwo/1hq7gpajME0fTLTezBKDqfXqo= +github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= github.com/valyala/fasthttp v1.30.0/go.mod h1:2rsYD01CKFrjjsvFxx75KlEUNpWNBY9JWD3K/7o2Cus= @@ -27,3 +34,6 @@ golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9sn golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= diff --git a/completion/groups.go b/completion/groups.go index def0972d..d18b255d 100644 --- a/completion/groups.go +++ b/completion/groups.go @@ -1,7 +1,6 @@ package main import ( - "io/ioutil" "os" "github.com/posener/complete" @@ -12,7 +11,7 @@ func predictGroups(_ complete.Args) (out []string) { if _, err := os.Stat(dir); os.IsNotExist(err) { panic(err) } - files, err := ioutil.ReadDir(dir) + files, err := os.ReadDir(dir) if err != nil { panic(err) } @@ -22,5 +21,6 @@ func predictGroups(_ complete.Args) (out []string) { out = append(out, f.Name()) } } + return out } diff --git a/completion/repos.go b/completion/repos.go index c5fd8775..9fb66b44 100644 --- a/completion/repos.go +++ b/completion/repos.go @@ -1,7 +1,6 @@ package main import ( - "io/ioutil" "os" "path" @@ -13,7 +12,7 @@ func predictRepos(_ complete.Args) (out []string) { if _, err := os.Stat(dir); os.IsNotExist(err) { return nil } - files, err := ioutil.ReadDir(dir) + files, err := os.ReadDir(dir) if err != nil { panic(err) } @@ -23,6 +22,7 @@ func predictRepos(_ complete.Args) (out []string) { out = append(out, f.Name()) } } + return out } @@ -31,7 +31,7 @@ func predictEntrypoint(a complete.Args) (out []string) { if _, err := os.Stat(dir); os.IsNotExist(err) { return nil } - files, err := ioutil.ReadDir(dir) + files, err := os.ReadDir(dir) if err != nil { panic(err) } @@ -41,5 +41,6 @@ func predictEntrypoint(a complete.Args) (out []string) { out = append(out, f.Name()) } } + return out } From 870d2e6a0684b35981f2e583e70b0ae14e221c22 Mon Sep 17 00:00:00 2001 From: Dean Stalker Date: Mon, 25 Mar 2024 14:24:31 +1000 Subject: [PATCH 15/40] Bump From dd5b7ae17caebc2ce0cfad67bd4a0394d400cbd3 Mon Sep 17 00:00:00 2001 From: Dean Stalker Date: Mon, 25 Mar 2024 14:25:44 +1000 Subject: [PATCH 16/40] Bump --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index a0b9fdb4..481540b1 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -66,7 +66,7 @@ jobs: name: check command: | ./scripts/compgen.sh - cd completion && golangci-lint run --timeout 4m --enable-all --disable dupl,lll,gochecknoglobals,gochecknoinits,depguard,exhaustivestruct,exhaustruct,gomnd,varnamelen,nonamedreturns,wsl,ireturn + cd completion && golangci-lint run --timeout 4m --enable-all --disable dupl,lll,gochecknoglobals,gochecknoinits,depguard,exhaustivestruct,exhaustruct,gomnd,varnamelen,nonamedreturns,wsl,ireturn,gofumpt 'Danger Automated Code Review': From a5005e53f6d93c669dc6e5e2e2bef5c4fca54f57 Mon Sep 17 00:00:00 2001 From: Dean Stalker Date: Mon, 25 Mar 2024 14:27:42 +1000 Subject: [PATCH 17/40] Set docker build progress to plain --- scripts/build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/build.sh b/scripts/build.sh index d77c0682..4825aa56 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -6,4 +6,4 @@ export COMPOSE_PROJECT_NAME='dab' export COMPOSE_FILE="tests/docker-compose.yml:tests/docker-compose.${TEST_DOCKER:=local}.yml" # Build just the dab image and clean up. -docker compose build --force-rm --pull dab +docker compose build --progress plain --force-rm --pull dab From 3c860e32516ac5995b4c15999b0d44e811527ed3 Mon Sep 17 00:00:00 2001 From: Dean Stalker Date: Mon, 25 Mar 2024 14:42:10 +1000 Subject: [PATCH 18/40] Fix yq syntax to mikefarah's latest version, and not hte jq hacked python version --- Dockerfile | 4 +--- app/lib/docker.sh | 4 ++-- app/subcommands/apps/list | 2 +- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index aae10c15..2b400982 100644 --- a/Dockerfile +++ b/Dockerfile @@ -76,9 +76,7 @@ RUN apk add --no-cache --virtual .toolchain \ && rm -rf ~/.cache # Misc tools required for scripts. -RUN apk add --no-cache git openssh tree util-linux jq nss-tools multitail ca-certificates highlight libintl entr postgresql-client task bash \ - && wget -O /usr/bin/yq https://github.com/mikefarah/yq/releases/download/3.4.1/yq_linux_amd64 \ - && chmod +x /usr/bin/yq \ +RUN apk add --no-cache git openssh tree util-linux jq nss-tools multitail ca-certificates highlight libintl entr postgresql-client task bash yq \ && echo "check_mail:0" >> /etc/multitail.conf \ && chmod 666 /etc/passwd diff --git a/app/lib/docker.sh b/app/lib/docker.sh index 4c3c8bd4..1d03072b 100644 --- a/app/lib/docker.sh +++ b/app/lib/docker.sh @@ -42,7 +42,7 @@ get_app_dependencies() { file="$DAB/docker/docker-compose.$app.yml" [ -f "$file" ] || return 0 - val="$(yq -r ".services[\"$app\"].depends_on" <"$file")" + val="$(yq ".services[\"$app\"].depends_on" <"$file")" [ "$val" != "null" ] || return 0 echo "$val" | sed -e '1d' -e '$d' | cut -d '"' -f 2 @@ -52,7 +52,7 @@ get_app_label_value() { app="$1" label="$2" default="${3:-}" - val="$(yq -r ".services[\"$app\"].labels.$label" <"$DAB/docker/docker-compose.$app.yml")" + val="$(yq ".services[\"$app\"].labels.$label" <"$DAB/docker/docker-compose.$app.yml")" [ "$val" != "null" ] || val="$default" [ -z "$val" ] || echo "$val" } diff --git a/app/subcommands/apps/list b/app/subcommands/apps/list index 2254e550..f013c892 100755 --- a/app/subcommands/apps/list +++ b/app/subcommands/apps/list @@ -12,7 +12,7 @@ compose_to_apps_data() { tmp="$(mktemp)" dpose_all config >"$tmp" - yq -r '.services | to_entries[] | "\(.key)`\(.value.labels.description)"' <"$tmp" + yq '.services | to_entries[] | "\(.key)`\(.value.labels.description)"' <"$tmp" export DAB_PROFILING="$PROFILING" } From e75524e9491dfc572137162813ac6df49417b653 Mon Sep 17 00:00:00 2001 From: Dean Stalker Date: Mon, 25 Mar 2024 14:57:41 +1000 Subject: [PATCH 19/40] Fix dab apps list yq syntax --- app/subcommands/apps/list | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/subcommands/apps/list b/app/subcommands/apps/list index f013c892..905e8d74 100755 --- a/app/subcommands/apps/list +++ b/app/subcommands/apps/list @@ -12,7 +12,7 @@ compose_to_apps_data() { tmp="$(mktemp)" dpose_all config >"$tmp" - yq '.services | to_entries[] | "\(.key)`\(.value.labels.description)"' <"$tmp" + yq '.services | to_entries | .[] | .key + "`" + .value.labels.description + ""' <"$tmp" export DAB_PROFILING="$PROFILING" } From 4d5d100f3f1de1043a6a7f918d9078bf2f66c7d9 Mon Sep 17 00:00:00 2001 From: Dean Stalker Date: Mon, 25 Mar 2024 15:06:29 +1000 Subject: [PATCH 20/40] Remove clean column from dab repo report --- app/subcommands/repo/report | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/subcommands/repo/report b/app/subcommands/repo/report index bf533904..3e35cb69 100755 --- a/app/subcommands/repo/report +++ b/app/subcommands/repo/report @@ -59,4 +59,4 @@ for repo in $repos; do repo_row "$repo" "$clean" "$uptodate" done -printf '\n%b\n' "$(echo "$repo_data" | column -s'\`' -o' │ ' -t -N REPO,CLEAN,UPTODATE -R clean | colorize_stdin_glyphs)" +printf '\n%b\n' "$(echo "$repo_data" | column -s'\`' -o' │ ' -t -N REPO,CLEAN,UPTODATE | colorize_stdin_glyphs)" From acd81ff36d0969edcfa30dd268ff09e9982792c5 Mon Sep 17 00:00:00 2001 From: Dean Stalker Date: Mon, 25 Mar 2024 15:29:08 +1000 Subject: [PATCH 21/40] Fix docker dependency check --- app/lib/docker.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/lib/docker.sh b/app/lib/docker.sh index 1d03072b..16afb194 100644 --- a/app/lib/docker.sh +++ b/app/lib/docker.sh @@ -42,17 +42,17 @@ get_app_dependencies() { file="$DAB/docker/docker-compose.$app.yml" [ -f "$file" ] || return 0 - val="$(yq ".services[\"$app\"].depends_on" <"$file")" + val="$(yq e ".services[\"$app\"].depends_on | .[]" <"$file")" [ "$val" != "null" ] || return 0 - echo "$val" | sed -e '1d' -e '$d' | cut -d '"' -f 2 + echo "$val" } get_app_label_value() { app="$1" label="$2" default="${3:-}" - val="$(yq ".services[\"$app\"].labels.$label" <"$DAB/docker/docker-compose.$app.yml")" + val="$(yq e ".services[\"$app\"].labels.$label" <"$DAB/docker/docker-compose.$app.yml")" [ "$val" != "null" ] || val="$default" [ -z "$val" ] || echo "$val" } From 5ec1bc22344ab9a46142a612ccbf1914bb428c1a Mon Sep 17 00:00:00 2001 From: Dean Stalker Date: Mon, 25 Mar 2024 15:39:44 +1000 Subject: [PATCH 22/40] Fix column handling, should always be the same case as the referenced column --- app/subcommands/repo/list | 2 +- app/subcommands/repo/report | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/subcommands/repo/list b/app/subcommands/repo/list index 7e08ede4..6110788b 100755 --- a/app/subcommands/repo/list +++ b/app/subcommands/repo/list @@ -22,4 +22,4 @@ for repo in $repos; do repo_row "$repo" "$status" "$site" done -printf '%b\n' "$(echo "$repo_data" | column -s'\`' -o' │ ' -t -N REPO,STATUS,SITE -R status | colorize_stdin_glyphs)" +printf '%b\n' "$(echo "$repo_data" | column -s'\`' -o' │ ' -t -N REPO,STATUS,SITE -R STATUS | colorize_stdin_glyphs)" diff --git a/app/subcommands/repo/report b/app/subcommands/repo/report index 3e35cb69..e191ac65 100755 --- a/app/subcommands/repo/report +++ b/app/subcommands/repo/report @@ -59,4 +59,4 @@ for repo in $repos; do repo_row "$repo" "$clean" "$uptodate" done -printf '\n%b\n' "$(echo "$repo_data" | column -s'\`' -o' │ ' -t -N REPO,CLEAN,UPTODATE | colorize_stdin_glyphs)" +printf '\n%b\n' "$(echo "$repo_data" | column -s'\`' -o' │ ' -t -N REPO,CLEAN,UPTODATE -R CLEAN | colorize_stdin_glyphs)" From e5ed230486f1853967817dd56300f15e0d31e17f Mon Sep 17 00:00:00 2001 From: Dean Stalker Date: Tue, 26 Mar 2024 09:10:03 +1000 Subject: [PATCH 23/40] Debugging network recreate issue --- .gitignore | 2 ++ scripts/build.sh | 2 +- tests/docker-compose.yml | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 2cb9a791..4c4766e3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ +.idea + /tests/vendor /tests/node_modules /completion/completion diff --git a/scripts/build.sh b/scripts/build.sh index 4825aa56..5df520ac 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -6,4 +6,4 @@ export COMPOSE_PROJECT_NAME='dab' export COMPOSE_FILE="tests/docker-compose.yml:tests/docker-compose.${TEST_DOCKER:=local}.yml" # Build just the dab image and clean up. -docker compose build --progress plain --force-rm --pull dab +docker compose --progress plain build --force-rm --pull dab diff --git a/tests/docker-compose.yml b/tests/docker-compose.yml index e4414893..4efaafd7 100644 --- a/tests/docker-compose.yml +++ b/tests/docker-compose.yml @@ -22,7 +22,7 @@ services: stdin_open: true build: - image: docker/compose:1.23.2 + image: docker:25.0.5-cli command: build --force-rm --pull dab working_dir: /opt/dab/tests volumes: From 522b7428f1cf37a589ee2e712c3f59155958fd84 Mon Sep 17 00:00:00 2001 From: Dean Stalker Date: Tue, 26 Mar 2024 09:21:32 +1000 Subject: [PATCH 24/40] Fix expected Building text --- tests/features/apps.feature | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/features/apps.feature b/tests/features/apps.feature index dab8f72b..25564250 100644 --- a/tests/features/apps.feature +++ b/tests/features/apps.feature @@ -22,7 +22,7 @@ Feature: Subcommand: dab apps When I run `dab apps update ` Then it should pass with "Pulling" - And the output should contain "Building" + And the output should contain "load build context" Examples: | APP | From f1964a6dfc331d865f55c18e8842f74d774e909c Mon Sep 17 00:00:00 2001 From: Dean Stalker Date: Tue, 26 Mar 2024 09:46:44 +1000 Subject: [PATCH 25/40] See if artifacts tell me anything about whoami failure --- .circleci/config.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 481540b1..0c130922 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -105,6 +105,9 @@ jobs: - store_test_results: path: /tmp/dab/test_results + - store_artifacts: + path: /tmp/dab/test_results + - run: name: Clear test results when: on_fail From 4e14e31a4b22bdcb3a454072af76256df17dbdc1 Mon Sep 17 00:00:00 2001 From: Dean Stalker Date: Tue, 26 Mar 2024 10:03:52 +1000 Subject: [PATCH 26/40] Remove artifacts, didn't help with debugging --- .circleci/config.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 0c130922..481540b1 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -105,9 +105,6 @@ jobs: - store_test_results: path: /tmp/dab/test_results - - store_artifacts: - path: /tmp/dab/test_results - - run: name: Clear test results when: on_fail From eb7115def2b1eaf2d90b0c7583e770971a59ad9a Mon Sep 17 00:00:00 2001 From: Steve Taylor Date: Mon, 11 Mar 2024 16:14:41 +1000 Subject: [PATCH 27/40] Add docker-cli-buildx * Add docker-cli-buildx * Get cyberchef and remote_syslog2 working again --- Dockerfile | 6 +++--- app/docker/Dockerfile.cyberchef | 5 ++++- app/docker/Dockerfile.remote_syslog2 | 3 +-- tests/Dockerfile.tourist | 2 +- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/Dockerfile b/Dockerfile index 606cf185..b9b3ea52 100644 --- a/Dockerfile +++ b/Dockerfile @@ -69,15 +69,15 @@ LABEL org.label-schema.schema-version="1.0" \ # they are to be kept at a lower layer for caching. RUN apk add --no-cache --virtual .toolchain \ python3-dev libffi-dev openssl-dev build-base \ - && apk add --no-cache docker-cli docker-cli-compose python3 py3-pip py3-cryptography \ + && apk add --no-cache docker-cli docker-cli-buildx docker-cli-compose python3 py3-pip py3-cryptography \ && rm -f /usr/bin/dockerd /usr/bin/docker-containerd* \ - && pip3 install "docker-compose>=1.24.0,<1.25.0" asciinema \ + && pip3 install --break-system-packages "docker-compose>=1.24.0,<1.25.0" asciinema \ && apk del .toolchain \ && rm -rf ~/.cache # Misc tools required for scripts. RUN apk add --no-cache git openssh tree util-linux jq nss-tools multitail ca-certificates highlight libintl entr postgresql-client task bash \ - && pip3 install yq \ + && pip3 install --break-system-packages yq \ && echo "check_mail:0" >> /etc/multitail.conf \ && chmod 666 /etc/passwd diff --git a/app/docker/Dockerfile.cyberchef b/app/docker/Dockerfile.cyberchef index a6a4cea1..d7e949e6 100644 --- a/app/docker/Dockerfile.cyberchef +++ b/app/docker/Dockerfile.cyberchef @@ -1,4 +1,7 @@ ARG NGINX_TAG=alpine FROM "nginx:$NGINX_TAG" -ADD --chown=nginx:nginx https://gchq.github.io/CyberChef/cyberchef.htm /usr/share/nginx/html/index.html +WORKDIR /usr/share/nginx/html + +RUN wget -qO- https://github.com/gchq/CyberChef/releases/download/v10.8.2/CyberChef_v10.8.2.zip \ + | busybox unzip - && chown nginx:nginx * -R diff --git a/app/docker/Dockerfile.remote_syslog2 b/app/docker/Dockerfile.remote_syslog2 index d027d6de..d0ca4e7d 100644 --- a/app/docker/Dockerfile.remote_syslog2 +++ b/app/docker/Dockerfile.remote_syslog2 @@ -1,7 +1,6 @@ FROM golang:latest -RUN go get -d -v github.com/papertrail/remote_syslog2 \ - && go install github.com/papertrail/remote_syslog2 +RUN go install github.com/papertrail/remote_syslog2 COPY configs/remote_syslog2.yml /etc/log_files.yml diff --git a/tests/Dockerfile.tourist b/tests/Dockerfile.tourist index fc0a68d4..753a3428 100644 --- a/tests/Dockerfile.tourist +++ b/tests/Dockerfile.tourist @@ -21,7 +21,7 @@ RUN apt-get update \ && rm -rf /var/lib/apt/lists/* RUN pip2 install PyYAML spielbash \ - && pip3 install "asciinema==1.4.0" + && pip3 install --break-system-packages "asciinema==1.4.0" WORKDIR /root From 3351a267a4ff8fbe8ba6705aece0328872ccbf79 Mon Sep 17 00:00:00 2001 From: Dean Stalker Date: Fri, 22 Mar 2024 11:25:41 +1000 Subject: [PATCH 28/40] Update DAB Apps - Use docker compose v2 for builds - Update a large list of dependencies to fix a number of orchestrations for the apps --- .circleci/config.yml | 30 ++++++++++++++++++++++++++++++ Dockerfile | 2 +- completion/go.mod | 9 +++++++++ 3 files changed, 40 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 481540b1..a403abaa 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -87,6 +87,16 @@ jobs: - checkout - run: +<<<<<<< HEAD +======= + name: Install Docker Compose v2 + command: | + DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker} + mkdir -p $DOCKER_CONFIG/cli-plugins + curl -SL https://github.com/docker/compose/releases/download/v2.25.0/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose + + - run: +>>>>>>> b3c7f28 (Update DAB Apps) name: Build Image command: ./scripts/build.sh @@ -132,6 +142,16 @@ jobs: - checkout - run: +<<<<<<< HEAD +======= + name: Install Docker Compose v2 + command: | + DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker} + mkdir -p $DOCKER_CONFIG/cli-plugins + curl -SL https://github.com/docker/compose/releases/download/v2.25.0/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose + + - run: +>>>>>>> b3c7f28 (Update DAB Apps) name: UX Regression Tests command: | ./scripts/build.sh @@ -152,6 +172,16 @@ jobs: - checkout - run: +<<<<<<< HEAD +======= + name: Install Docker Compose v2 + command: | + DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker} + mkdir -p $DOCKER_CONFIG/cli-plugins + curl -SL https://github.com/docker/compose/releases/download/v2.25.0/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose + + - run: +>>>>>>> b3c7f28 (Update DAB Apps) name: Profile command: | ./scripts/build.sh diff --git a/Dockerfile b/Dockerfile index 8d804030..e07e8806 100644 --- a/Dockerfile +++ b/Dockerfile @@ -72,7 +72,7 @@ RUN apk add --no-cache --virtual .toolchain \ python3-dev libffi-dev openssl-dev build-base \ && apk add --no-cache docker-cli docker-cli-buildx docker-cli-compose python3 py3-pip py3-cryptography \ && rm -f /usr/bin/dockerd /usr/bin/docker-containerd* \ - && pip3 install --break-system-packages "docker-compose>=1.24.0,<1.25.0" asciinema \ + && pip3 install asciinema \ && apk del .toolchain \ && rm -rf ~/.cache diff --git a/completion/go.mod b/completion/go.mod index 49b752f4..812c0c71 100644 --- a/completion/go.mod +++ b/completion/go.mod @@ -13,3 +13,12 @@ require ( github.com/hashicorp/go-multierror v1.0.0 // indirect github.com/valyala/bytebufferpool v1.0.0 // indirect ) + +require ( + github.com/hashicorp/errwrap v1.0.0 // indirect + github.com/hashicorp/go-multierror v1.0.0 // indirect + github.com/klauspost/compress v1.4.0 // indirect + github.com/klauspost/cpuid v0.0.0-20180405133222-e7e905edc00e // indirect + github.com/valyala/bytebufferpool v1.0.0 // indirect + github.com/valyala/fasthttp v0.0.0-20180905170723-c6fd90e432cc // indirect +) From 8329771c47db9166fb573af2624d83139b5a8ab2 Mon Sep 17 00:00:00 2001 From: Dean Stalker Date: Mon, 25 Mar 2024 12:49:50 +1000 Subject: [PATCH 29/40] Use asciinema apk package --- Dockerfile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index e07e8806..76d7d4b9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -70,9 +70,8 @@ LABEL org.label-schema.schema-version="1.0" \ # they are to be kept at a lower layer for caching. RUN apk add --no-cache --virtual .toolchain \ python3-dev libffi-dev openssl-dev build-base \ - && apk add --no-cache docker-cli docker-cli-buildx docker-cli-compose python3 py3-pip py3-cryptography \ + && apk add --no-cache asciinema docker-cli docker-cli-buildx docker-cli-compose python3 py3-pip py3-cryptography \ && rm -f /usr/bin/dockerd /usr/bin/docker-containerd* \ - && pip3 install asciinema \ && apk del .toolchain \ && rm -rf ~/.cache From 23bf676503887be43828f81b7bc8f649a10dd41c Mon Sep 17 00:00:00 2001 From: Dean Stalker Date: Mon, 25 Mar 2024 13:09:56 +1000 Subject: [PATCH 30/40] Force install yq 3.4 to retain compatibility. --- Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 76d7d4b9..4e3d57a9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -77,7 +77,8 @@ RUN apk add --no-cache --virtual .toolchain \ # Misc tools required for scripts. RUN apk add --no-cache git openssh tree util-linux jq nss-tools multitail ca-certificates highlight libintl entr postgresql-client task bash \ - && pip3 install --break-system-packages yq \ + && wget -O /usr/bin/yq https://github.com/mikefarah/yq/releases/download/3.4.1/yq_linux_amd64 \ + && chmod +x /usr/bin/yq \ && echo "check_mail:0" >> /etc/multitail.conf \ && chmod 666 /etc/passwd From 52c0d32e53aef96699e282a35ddfd96b1c625e1a Mon Sep 17 00:00:00 2001 From: Dean Stalker Date: Mon, 25 Mar 2024 14:24:31 +1000 Subject: [PATCH 31/40] Bump From 12d35b62b1cb186727ab257fa9763e93f8239793 Mon Sep 17 00:00:00 2001 From: Dean Stalker Date: Wed, 29 May 2024 10:29:42 +1000 Subject: [PATCH 32/40] Fix merge conflict artifacts --- .circleci/config.yml | 9 --------- 1 file changed, 9 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index a403abaa..4ff2628e 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -87,8 +87,6 @@ jobs: - checkout - run: -<<<<<<< HEAD -======= name: Install Docker Compose v2 command: | DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker} @@ -96,7 +94,6 @@ jobs: curl -SL https://github.com/docker/compose/releases/download/v2.25.0/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose - run: ->>>>>>> b3c7f28 (Update DAB Apps) name: Build Image command: ./scripts/build.sh @@ -142,8 +139,6 @@ jobs: - checkout - run: -<<<<<<< HEAD -======= name: Install Docker Compose v2 command: | DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker} @@ -151,7 +146,6 @@ jobs: curl -SL https://github.com/docker/compose/releases/download/v2.25.0/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose - run: ->>>>>>> b3c7f28 (Update DAB Apps) name: UX Regression Tests command: | ./scripts/build.sh @@ -172,8 +166,6 @@ jobs: - checkout - run: -<<<<<<< HEAD -======= name: Install Docker Compose v2 command: | DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker} @@ -181,7 +173,6 @@ jobs: curl -SL https://github.com/docker/compose/releases/download/v2.25.0/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose - run: ->>>>>>> b3c7f28 (Update DAB Apps) name: Profile command: | ./scripts/build.sh From 143bebcb03a56d24faef019eb2222ed6053f603e Mon Sep 17 00:00:00 2001 From: Dean Stalker Date: Wed, 29 May 2024 10:34:37 +1000 Subject: [PATCH 33/40] Fix docker compose plugin installation Use the official method to install docker compose v2 --- .circleci/config.yml | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 4ff2628e..c1f006a4 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -89,9 +89,10 @@ jobs: - run: name: Install Docker Compose v2 command: | - DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker} - mkdir -p $DOCKER_CONFIG/cli-plugins - curl -SL https://github.com/docker/compose/releases/download/v2.25.0/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose + curl -sSL "https://github.com/docker/compose/releases/download/${COMPOSE_VERSION}/docker-compose-$(uname -s)-$(uname -m)" -o ~/docker-compose + mkdir -p ~/.docker/cli-plugins + chmod +x ~/docker-compose + mv ~/docker-compose ~/.docker/cli-plugins/docker-compose - run: name: Build Image @@ -141,9 +142,10 @@ jobs: - run: name: Install Docker Compose v2 command: | - DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker} - mkdir -p $DOCKER_CONFIG/cli-plugins - curl -SL https://github.com/docker/compose/releases/download/v2.25.0/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose + curl -sSL "https://github.com/docker/compose/releases/download/${COMPOSE_VERSION}/docker-compose-$(uname -s)-$(uname -m)" -o ~/docker-compose + mkdir -p ~/.docker/cli-plugins + chmod +x ~/docker-compose + mv ~/docker-compose ~/.docker/cli-plugins/docker-compose - run: name: UX Regression Tests @@ -168,9 +170,10 @@ jobs: - run: name: Install Docker Compose v2 command: | - DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker} - mkdir -p $DOCKER_CONFIG/cli-plugins - curl -SL https://github.com/docker/compose/releases/download/v2.25.0/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose + curl -sSL "https://github.com/docker/compose/releases/download/${COMPOSE_VERSION}/docker-compose-$(uname -s)-$(uname -m)" -o ~/docker-compose + mkdir -p ~/.docker/cli-plugins + chmod +x ~/docker-compose + mv ~/docker-compose ~/.docker/cli-plugins/docker-compose - run: name: Profile From dda21d21acd58fa769021b43b443ab98b2fca05e Mon Sep 17 00:00:00 2001 From: Dean Stalker Date: Wed, 29 May 2024 10:37:31 +1000 Subject: [PATCH 34/40] Remove --progress arg when building dab image --- scripts/build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/build.sh b/scripts/build.sh index 5df520ac..1a1d0cd1 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -6,4 +6,4 @@ export COMPOSE_PROJECT_NAME='dab' export COMPOSE_FILE="tests/docker-compose.yml:tests/docker-compose.${TEST_DOCKER:=local}.yml" # Build just the dab image and clean up. -docker compose --progress plain build --force-rm --pull dab +docker compose buildx --force-rm --pull dab From 63e37bedfa129265f4c2c14cf4b50411dde54745 Mon Sep 17 00:00:00 2001 From: Dean Stalker Date: Wed, 29 May 2024 10:38:45 +1000 Subject: [PATCH 35/40] Use build to build dab --- scripts/build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/build.sh b/scripts/build.sh index 1a1d0cd1..d77c0682 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -6,4 +6,4 @@ export COMPOSE_PROJECT_NAME='dab' export COMPOSE_FILE="tests/docker-compose.yml:tests/docker-compose.${TEST_DOCKER:=local}.yml" # Build just the dab image and clean up. -docker compose buildx --force-rm --pull dab +docker compose build --force-rm --pull dab From ca85e60b23e5861dd1b44972550797a283f1170e Mon Sep 17 00:00:00 2001 From: Dean Stalker Date: Wed, 29 May 2024 10:42:11 +1000 Subject: [PATCH 36/40] Set docker compose version to 2.27.0 --- .circleci/config.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index c1f006a4..1d5e92f7 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -89,7 +89,7 @@ jobs: - run: name: Install Docker Compose v2 command: | - curl -sSL "https://github.com/docker/compose/releases/download/${COMPOSE_VERSION}/docker-compose-$(uname -s)-$(uname -m)" -o ~/docker-compose + curl -sSL "https://github.com/docker/compose/releases/download/v2.27.0/docker-compose-$(uname -s)-$(uname -m)" -o ~/docker-compose mkdir -p ~/.docker/cli-plugins chmod +x ~/docker-compose mv ~/docker-compose ~/.docker/cli-plugins/docker-compose @@ -142,7 +142,7 @@ jobs: - run: name: Install Docker Compose v2 command: | - curl -sSL "https://github.com/docker/compose/releases/download/${COMPOSE_VERSION}/docker-compose-$(uname -s)-$(uname -m)" -o ~/docker-compose + curl -sSL "https://github.com/docker/compose/releases/download/v2.27.0/docker-compose-$(uname -s)-$(uname -m)" -o ~/docker-compose mkdir -p ~/.docker/cli-plugins chmod +x ~/docker-compose mv ~/docker-compose ~/.docker/cli-plugins/docker-compose @@ -170,7 +170,7 @@ jobs: - run: name: Install Docker Compose v2 command: | - curl -sSL "https://github.com/docker/compose/releases/download/${COMPOSE_VERSION}/docker-compose-$(uname -s)-$(uname -m)" -o ~/docker-compose + curl -sSL "https://github.com/docker/compose/releases/download/v2.27.0/docker-compose-$(uname -s)-$(uname -m)" -o ~/docker-compose mkdir -p ~/.docker/cli-plugins chmod +x ~/docker-compose mv ~/docker-compose ~/.docker/cli-plugins/docker-compose From acde1796e69286b3c2bf676ec2dd4faf10db4354 Mon Sep 17 00:00:00 2001 From: Dean Stalker Date: Wed, 29 May 2024 10:53:39 +1000 Subject: [PATCH 37/40] Remove versions from docker-compose The version directives are obsolote in docker compose v2 --- app/docker/docker-compose.adminer.yml | 3 +-- app/docker/docker-compose.ansible.yml | 3 +-- app/docker/docker-compose.aws.yml | 3 +-- app/docker/docker-compose.ballerina.yml | 3 +-- app/docker/docker-compose.cartography.yml | 3 +-- app/docker/docker-compose.cfssl.yml | 3 +-- app/docker/docker-compose.chronograf.yml | 3 +-- app/docker/docker-compose.consul.yml | 3 +-- app/docker/docker-compose.couchdb.yml | 3 +-- app/docker/docker-compose.cyberchef.yml | 3 +-- app/docker/docker-compose.deck-chores.yml | 3 +-- app/docker/docker-compose.dive.yml | 3 +-- app/docker/docker-compose.docker-gen.yml | 3 +-- app/docker/docker-compose.elasticsearch.yml | 3 +-- app/docker/docker-compose.fn.yml | 3 +-- app/docker/docker-compose.gaia.yml | 3 +-- app/docker/docker-compose.go.yml | 3 +-- app/docker/docker-compose.grafana.yml | 3 +-- app/docker/docker-compose.huginn.yml | 3 +-- app/docker/docker-compose.influxdb.yml | 3 +-- app/docker/docker-compose.kafka-rest.yml | 3 +-- app/docker/docker-compose.kafka-topics-ui.yml | 3 +-- app/docker/docker-compose.kafka.yml | 3 +-- app/docker/docker-compose.kafkacat.yml | 3 +-- app/docker/docker-compose.kafkaview.yml | 3 +-- app/docker/docker-compose.kapacitor.yml | 3 +-- app/docker/docker-compose.kibana.yml | 3 +-- app/docker/docker-compose.kubernetes.yml | 3 +-- app/docker/docker-compose.localstack.yml | 3 +-- app/docker/docker-compose.logspout.yml | 3 +-- app/docker/docker-compose.mailhog.yml | 3 +-- app/docker/docker-compose.memcached.yml | 3 +-- app/docker/docker-compose.minio.yml | 3 +-- app/docker/docker-compose.mitmproxy.yml | 3 +-- app/docker/docker-compose.mysql.yml | 3 +-- app/docker/docker-compose.nats.yml | 3 +-- app/docker/docker-compose.neo4j.yml | 3 +-- app/docker/docker-compose.nikto.yml | 3 +-- app/docker/docker-compose.node.yml | 4 +--- app/docker/docker-compose.npm.yml | 3 +-- app/docker/docker-compose.ntopng.yml | 3 +-- app/docker/docker-compose.openvas.yml | 3 +-- app/docker/docker-compose.pgadmin.yml | 3 +-- app/docker/docker-compose.pgweb.yml | 3 +-- app/docker/docker-compose.portainer.yml | 3 +-- app/docker/docker-compose.postgres.yml | 3 +-- app/docker/docker-compose.redis.yml | 3 +-- app/docker/docker-compose.remote-syslog2.yml | 3 +-- app/docker/docker-compose.sam.yml | 3 +-- app/docker/docker-compose.selenium.yml | 3 +-- app/docker/docker-compose.serveo.yml | 3 +-- app/docker/docker-compose.shell.yml | 3 +-- app/docker/docker-compose.sqliv.yml | 3 +-- app/docker/docker-compose.sysdig.yml | 3 +-- app/docker/docker-compose.telegraf.yml | 3 +-- app/docker/docker-compose.terraform.yml | 3 +-- app/docker/docker-compose.traefik.yml | 3 +-- app/docker/docker-compose.vault.yml | 3 +-- app/docker/docker-compose.vaultbot.yml | 3 +-- app/docker/docker-compose.watchtower.yml | 3 +-- app/docker/docker-compose.xsstrike.yml | 3 +-- app/docker/docker-compose.zookeeper.yml | 3 +-- completion/go.mod | 7 ++----- completion/go.sum | 1 + tests/docker-compose.dind.yml | 3 +-- tests/docker-compose.local.yml | 3 +-- tests/docker-compose.yml | 3 +-- 67 files changed, 68 insertions(+), 136 deletions(-) diff --git a/app/docker/docker-compose.adminer.yml b/app/docker/docker-compose.adminer.yml index 30e9927e..255eca37 100644 --- a/app/docker/docker-compose.adminer.yml +++ b/app/docker/docker-compose.adminer.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: adminer: diff --git a/app/docker/docker-compose.ansible.yml b/app/docker/docker-compose.ansible.yml index e35737b6..9f464663 100644 --- a/app/docker/docker-compose.ansible.yml +++ b/app/docker/docker-compose.ansible.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: ansible: diff --git a/app/docker/docker-compose.aws.yml b/app/docker/docker-compose.aws.yml index ed08b570..1686850d 100644 --- a/app/docker/docker-compose.aws.yml +++ b/app/docker/docker-compose.aws.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: aws: diff --git a/app/docker/docker-compose.ballerina.yml b/app/docker/docker-compose.ballerina.yml index cc21542f..7b70050c 100644 --- a/app/docker/docker-compose.ballerina.yml +++ b/app/docker/docker-compose.ballerina.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: ballerina: diff --git a/app/docker/docker-compose.cartography.yml b/app/docker/docker-compose.cartography.yml index 7150c464..88a5b137 100644 --- a/app/docker/docker-compose.cartography.yml +++ b/app/docker/docker-compose.cartography.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: cartography: diff --git a/app/docker/docker-compose.cfssl.yml b/app/docker/docker-compose.cfssl.yml index 954a4841..6cbe30fa 100644 --- a/app/docker/docker-compose.cfssl.yml +++ b/app/docker/docker-compose.cfssl.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: cfssl: diff --git a/app/docker/docker-compose.chronograf.yml b/app/docker/docker-compose.chronograf.yml index 839c5cf4..3da771d9 100644 --- a/app/docker/docker-compose.chronograf.yml +++ b/app/docker/docker-compose.chronograf.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: chronograf: diff --git a/app/docker/docker-compose.consul.yml b/app/docker/docker-compose.consul.yml index e44ca0cc..0d7556c4 100644 --- a/app/docker/docker-compose.consul.yml +++ b/app/docker/docker-compose.consul.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: consul: diff --git a/app/docker/docker-compose.couchdb.yml b/app/docker/docker-compose.couchdb.yml index f372425b..33780aec 100644 --- a/app/docker/docker-compose.couchdb.yml +++ b/app/docker/docker-compose.couchdb.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: couchdb: diff --git a/app/docker/docker-compose.cyberchef.yml b/app/docker/docker-compose.cyberchef.yml index 3bb6600e..5a9b4c3f 100644 --- a/app/docker/docker-compose.cyberchef.yml +++ b/app/docker/docker-compose.cyberchef.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: cyberchef: diff --git a/app/docker/docker-compose.deck-chores.yml b/app/docker/docker-compose.deck-chores.yml index 20e0e3ac..7940d15a 100644 --- a/app/docker/docker-compose.deck-chores.yml +++ b/app/docker/docker-compose.deck-chores.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: deck-chores: diff --git a/app/docker/docker-compose.dive.yml b/app/docker/docker-compose.dive.yml index 468f3518..a9f30c09 100644 --- a/app/docker/docker-compose.dive.yml +++ b/app/docker/docker-compose.dive.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: dive: diff --git a/app/docker/docker-compose.docker-gen.yml b/app/docker/docker-compose.docker-gen.yml index 846ee006..b75bda9d 100644 --- a/app/docker/docker-compose.docker-gen.yml +++ b/app/docker/docker-compose.docker-gen.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: docker-gen: diff --git a/app/docker/docker-compose.elasticsearch.yml b/app/docker/docker-compose.elasticsearch.yml index e8c855a3..2a490669 100644 --- a/app/docker/docker-compose.elasticsearch.yml +++ b/app/docker/docker-compose.elasticsearch.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: elasticsearch: diff --git a/app/docker/docker-compose.fn.yml b/app/docker/docker-compose.fn.yml index 4318c2df..6e61b8f3 100644 --- a/app/docker/docker-compose.fn.yml +++ b/app/docker/docker-compose.fn.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: fn: diff --git a/app/docker/docker-compose.gaia.yml b/app/docker/docker-compose.gaia.yml index f5e50f0d..af4f9556 100644 --- a/app/docker/docker-compose.gaia.yml +++ b/app/docker/docker-compose.gaia.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: gaia: diff --git a/app/docker/docker-compose.go.yml b/app/docker/docker-compose.go.yml index 25cc8e79..3f22a4b9 100644 --- a/app/docker/docker-compose.go.yml +++ b/app/docker/docker-compose.go.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: go: diff --git a/app/docker/docker-compose.grafana.yml b/app/docker/docker-compose.grafana.yml index b8a315cc..9e4638b5 100644 --- a/app/docker/docker-compose.grafana.yml +++ b/app/docker/docker-compose.grafana.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: grafana: diff --git a/app/docker/docker-compose.huginn.yml b/app/docker/docker-compose.huginn.yml index 3da2733f..282971ed 100644 --- a/app/docker/docker-compose.huginn.yml +++ b/app/docker/docker-compose.huginn.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: huginn: diff --git a/app/docker/docker-compose.influxdb.yml b/app/docker/docker-compose.influxdb.yml index a9378055..f6333822 100644 --- a/app/docker/docker-compose.influxdb.yml +++ b/app/docker/docker-compose.influxdb.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: influxdb: diff --git a/app/docker/docker-compose.kafka-rest.yml b/app/docker/docker-compose.kafka-rest.yml index d0e70130..f7642a24 100644 --- a/app/docker/docker-compose.kafka-rest.yml +++ b/app/docker/docker-compose.kafka-rest.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: kafka-rest: diff --git a/app/docker/docker-compose.kafka-topics-ui.yml b/app/docker/docker-compose.kafka-topics-ui.yml index cdbaf590..6caab4b7 100644 --- a/app/docker/docker-compose.kafka-topics-ui.yml +++ b/app/docker/docker-compose.kafka-topics-ui.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: kafka-topics-ui: diff --git a/app/docker/docker-compose.kafka.yml b/app/docker/docker-compose.kafka.yml index 032ebc06..10d708a2 100644 --- a/app/docker/docker-compose.kafka.yml +++ b/app/docker/docker-compose.kafka.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: kafka: diff --git a/app/docker/docker-compose.kafkacat.yml b/app/docker/docker-compose.kafkacat.yml index afacfa67..f7bca051 100644 --- a/app/docker/docker-compose.kafkacat.yml +++ b/app/docker/docker-compose.kafkacat.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: kafkacat: diff --git a/app/docker/docker-compose.kafkaview.yml b/app/docker/docker-compose.kafkaview.yml index 443e63f3..28c434c3 100644 --- a/app/docker/docker-compose.kafkaview.yml +++ b/app/docker/docker-compose.kafkaview.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: kafkaview: diff --git a/app/docker/docker-compose.kapacitor.yml b/app/docker/docker-compose.kapacitor.yml index 5b929cba..18913201 100644 --- a/app/docker/docker-compose.kapacitor.yml +++ b/app/docker/docker-compose.kapacitor.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: kapacitor: diff --git a/app/docker/docker-compose.kibana.yml b/app/docker/docker-compose.kibana.yml index 76a404ca..6d3ef0af 100644 --- a/app/docker/docker-compose.kibana.yml +++ b/app/docker/docker-compose.kibana.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: kibana: diff --git a/app/docker/docker-compose.kubernetes.yml b/app/docker/docker-compose.kubernetes.yml index 33ad9fc8..dec8b352 100644 --- a/app/docker/docker-compose.kubernetes.yml +++ b/app/docker/docker-compose.kubernetes.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: kubernetes: diff --git a/app/docker/docker-compose.localstack.yml b/app/docker/docker-compose.localstack.yml index c29ba71d..3fb64532 100644 --- a/app/docker/docker-compose.localstack.yml +++ b/app/docker/docker-compose.localstack.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: localstack: diff --git a/app/docker/docker-compose.logspout.yml b/app/docker/docker-compose.logspout.yml index 7a125615..8a85b880 100644 --- a/app/docker/docker-compose.logspout.yml +++ b/app/docker/docker-compose.logspout.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: logspout: diff --git a/app/docker/docker-compose.mailhog.yml b/app/docker/docker-compose.mailhog.yml index adf3ae05..5cb2a7d7 100644 --- a/app/docker/docker-compose.mailhog.yml +++ b/app/docker/docker-compose.mailhog.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: mailhog: diff --git a/app/docker/docker-compose.memcached.yml b/app/docker/docker-compose.memcached.yml index cf83a533..ebe6a00d 100644 --- a/app/docker/docker-compose.memcached.yml +++ b/app/docker/docker-compose.memcached.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: memcached: diff --git a/app/docker/docker-compose.minio.yml b/app/docker/docker-compose.minio.yml index daef6eb3..92b9c359 100644 --- a/app/docker/docker-compose.minio.yml +++ b/app/docker/docker-compose.minio.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: minio: diff --git a/app/docker/docker-compose.mitmproxy.yml b/app/docker/docker-compose.mitmproxy.yml index df662228..5afab785 100644 --- a/app/docker/docker-compose.mitmproxy.yml +++ b/app/docker/docker-compose.mitmproxy.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: mitmproxy: diff --git a/app/docker/docker-compose.mysql.yml b/app/docker/docker-compose.mysql.yml index 326d1c48..02c80629 100644 --- a/app/docker/docker-compose.mysql.yml +++ b/app/docker/docker-compose.mysql.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: mysql: diff --git a/app/docker/docker-compose.nats.yml b/app/docker/docker-compose.nats.yml index f0878150..1d85656e 100644 --- a/app/docker/docker-compose.nats.yml +++ b/app/docker/docker-compose.nats.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: nats: diff --git a/app/docker/docker-compose.neo4j.yml b/app/docker/docker-compose.neo4j.yml index 25a29da5..8721a618 100644 --- a/app/docker/docker-compose.neo4j.yml +++ b/app/docker/docker-compose.neo4j.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: neo4j: diff --git a/app/docker/docker-compose.nikto.yml b/app/docker/docker-compose.nikto.yml index 08024b25..f2679630 100644 --- a/app/docker/docker-compose.nikto.yml +++ b/app/docker/docker-compose.nikto.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: nikto: diff --git a/app/docker/docker-compose.node.yml b/app/docker/docker-compose.node.yml index 82952434..44bf3898 100644 --- a/app/docker/docker-compose.node.yml +++ b/app/docker/docker-compose.node.yml @@ -1,6 +1,4 @@ -version: '3.5' - -services: +---services: node: container_name: dab_nodejs diff --git a/app/docker/docker-compose.npm.yml b/app/docker/docker-compose.npm.yml index 97e98010..e37080b9 100644 --- a/app/docker/docker-compose.npm.yml +++ b/app/docker/docker-compose.npm.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: npm: diff --git a/app/docker/docker-compose.ntopng.yml b/app/docker/docker-compose.ntopng.yml index 684f7d78..bff7606d 100644 --- a/app/docker/docker-compose.ntopng.yml +++ b/app/docker/docker-compose.ntopng.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: ntopng: diff --git a/app/docker/docker-compose.openvas.yml b/app/docker/docker-compose.openvas.yml index ab980d30..49a6bd86 100644 --- a/app/docker/docker-compose.openvas.yml +++ b/app/docker/docker-compose.openvas.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: openvas: diff --git a/app/docker/docker-compose.pgadmin.yml b/app/docker/docker-compose.pgadmin.yml index 7e8cd0a2..0c86787e 100644 --- a/app/docker/docker-compose.pgadmin.yml +++ b/app/docker/docker-compose.pgadmin.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: pgadmin: diff --git a/app/docker/docker-compose.pgweb.yml b/app/docker/docker-compose.pgweb.yml index b32db943..ec326482 100644 --- a/app/docker/docker-compose.pgweb.yml +++ b/app/docker/docker-compose.pgweb.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: pgweb: diff --git a/app/docker/docker-compose.portainer.yml b/app/docker/docker-compose.portainer.yml index 4d6a2724..5f207980 100644 --- a/app/docker/docker-compose.portainer.yml +++ b/app/docker/docker-compose.portainer.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: portainer: diff --git a/app/docker/docker-compose.postgres.yml b/app/docker/docker-compose.postgres.yml index 2ebd1f35..03de8bc4 100644 --- a/app/docker/docker-compose.postgres.yml +++ b/app/docker/docker-compose.postgres.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: postgres: diff --git a/app/docker/docker-compose.redis.yml b/app/docker/docker-compose.redis.yml index 1dacad86..34007c04 100644 --- a/app/docker/docker-compose.redis.yml +++ b/app/docker/docker-compose.redis.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: redis: diff --git a/app/docker/docker-compose.remote-syslog2.yml b/app/docker/docker-compose.remote-syslog2.yml index 635676dd..f42a38ac 100644 --- a/app/docker/docker-compose.remote-syslog2.yml +++ b/app/docker/docker-compose.remote-syslog2.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: remote-syslog2: diff --git a/app/docker/docker-compose.sam.yml b/app/docker/docker-compose.sam.yml index a33d753e..db72320b 100644 --- a/app/docker/docker-compose.sam.yml +++ b/app/docker/docker-compose.sam.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: sam: diff --git a/app/docker/docker-compose.selenium.yml b/app/docker/docker-compose.selenium.yml index 8aed723b..ab1666e6 100644 --- a/app/docker/docker-compose.selenium.yml +++ b/app/docker/docker-compose.selenium.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: selenium: diff --git a/app/docker/docker-compose.serveo.yml b/app/docker/docker-compose.serveo.yml index f19e985a..d6fc798d 100644 --- a/app/docker/docker-compose.serveo.yml +++ b/app/docker/docker-compose.serveo.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: serveo: diff --git a/app/docker/docker-compose.shell.yml b/app/docker/docker-compose.shell.yml index ef4711e1..69567f12 100644 --- a/app/docker/docker-compose.shell.yml +++ b/app/docker/docker-compose.shell.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: shell: diff --git a/app/docker/docker-compose.sqliv.yml b/app/docker/docker-compose.sqliv.yml index a1d98489..2f336e7c 100644 --- a/app/docker/docker-compose.sqliv.yml +++ b/app/docker/docker-compose.sqliv.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: sqliv: diff --git a/app/docker/docker-compose.sysdig.yml b/app/docker/docker-compose.sysdig.yml index 0865ab85..1c2ccba6 100644 --- a/app/docker/docker-compose.sysdig.yml +++ b/app/docker/docker-compose.sysdig.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: sysdig: diff --git a/app/docker/docker-compose.telegraf.yml b/app/docker/docker-compose.telegraf.yml index 380e5ada..dacdf3e4 100644 --- a/app/docker/docker-compose.telegraf.yml +++ b/app/docker/docker-compose.telegraf.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: telegraf: diff --git a/app/docker/docker-compose.terraform.yml b/app/docker/docker-compose.terraform.yml index be7d3166..7615f8d7 100644 --- a/app/docker/docker-compose.terraform.yml +++ b/app/docker/docker-compose.terraform.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: terraform: diff --git a/app/docker/docker-compose.traefik.yml b/app/docker/docker-compose.traefik.yml index 449d1dd5..8bf35b1f 100644 --- a/app/docker/docker-compose.traefik.yml +++ b/app/docker/docker-compose.traefik.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: traefik: diff --git a/app/docker/docker-compose.vault.yml b/app/docker/docker-compose.vault.yml index fa8eb80d..f72d86b3 100644 --- a/app/docker/docker-compose.vault.yml +++ b/app/docker/docker-compose.vault.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: vault: diff --git a/app/docker/docker-compose.vaultbot.yml b/app/docker/docker-compose.vaultbot.yml index 0b448aca..2eeaf727 100644 --- a/app/docker/docker-compose.vaultbot.yml +++ b/app/docker/docker-compose.vaultbot.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: vaultbot: diff --git a/app/docker/docker-compose.watchtower.yml b/app/docker/docker-compose.watchtower.yml index 95961dc7..502d8d4c 100644 --- a/app/docker/docker-compose.watchtower.yml +++ b/app/docker/docker-compose.watchtower.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: watchtower: diff --git a/app/docker/docker-compose.xsstrike.yml b/app/docker/docker-compose.xsstrike.yml index cee8bffb..884f05ba 100644 --- a/app/docker/docker-compose.xsstrike.yml +++ b/app/docker/docker-compose.xsstrike.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: xsstrike: diff --git a/app/docker/docker-compose.zookeeper.yml b/app/docker/docker-compose.zookeeper.yml index aa0fce70..d9c2c080 100644 --- a/app/docker/docker-compose.zookeeper.yml +++ b/app/docker/docker-compose.zookeeper.yml @@ -1,5 +1,4 @@ -version: '3.5' - +--- services: zookeeper: diff --git a/completion/go.mod b/completion/go.mod index 812c0c71..49d425a2 100644 --- a/completion/go.mod +++ b/completion/go.mod @@ -15,10 +15,7 @@ require ( ) require ( - github.com/hashicorp/errwrap v1.0.0 // indirect - github.com/hashicorp/go-multierror v1.0.0 // indirect - github.com/klauspost/compress v1.4.0 // indirect + github.com/klauspost/compress v1.13.5 // indirect github.com/klauspost/cpuid v0.0.0-20180405133222-e7e905edc00e // indirect - github.com/valyala/bytebufferpool v1.0.0 // indirect - github.com/valyala/fasthttp v0.0.0-20180905170723-c6fd90e432cc // indirect + github.com/valyala/fasthttp v1.30.0 // indirect ) diff --git a/completion/go.sum b/completion/go.sum index 2f181fd4..9ceee91e 100644 --- a/completion/go.sum +++ b/completion/go.sum @@ -9,6 +9,7 @@ github.com/hashicorp/go-multierror v1.0.0 h1:iVjPR7a6H0tWELX5NxNe7bYopibicUzc7uP github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= github.com/klauspost/compress v1.13.4/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= github.com/klauspost/compress v1.13.5/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= +github.com/klauspost/cpuid v0.0.0-20180405133222-e7e905edc00e/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= github.com/mitchellh/go-homedir v1.0.0 h1:vKb8ShqSby24Yrqr/yDYkuFz8d0WUjys40rvnGC8aR0= github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= diff --git a/tests/docker-compose.dind.yml b/tests/docker-compose.dind.yml index ec704ba6..0a052dac 100644 --- a/tests/docker-compose.dind.yml +++ b/tests/docker-compose.dind.yml @@ -1,5 +1,4 @@ -version: '3.2' - +--- services: dab: diff --git a/tests/docker-compose.local.yml b/tests/docker-compose.local.yml index 46ba00fb..097039c8 100644 --- a/tests/docker-compose.local.yml +++ b/tests/docker-compose.local.yml @@ -1,5 +1,4 @@ -version: '3.2' - +--- services: tests: diff --git a/tests/docker-compose.yml b/tests/docker-compose.yml index 4efaafd7..6b5781ea 100644 --- a/tests/docker-compose.yml +++ b/tests/docker-compose.yml @@ -1,5 +1,4 @@ -version: '3.2' - +--- services: dab: From 76d0a042b54977ccc44cc4c83378d4ddd110cc34 Mon Sep 17 00:00:00 2001 From: Dean Stalker Date: Wed, 29 May 2024 10:58:08 +1000 Subject: [PATCH 38/40] Reinstate python yq args --- app/lib/docker.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/lib/docker.sh b/app/lib/docker.sh index 16afb194..20ecba17 100644 --- a/app/lib/docker.sh +++ b/app/lib/docker.sh @@ -42,7 +42,7 @@ get_app_dependencies() { file="$DAB/docker/docker-compose.$app.yml" [ -f "$file" ] || return 0 - val="$(yq e ".services[\"$app\"].depends_on | .[]" <"$file")" + val="$(yq -r ".services[\"$app\"].depends_on | .[]" <"$file")" [ "$val" != "null" ] || return 0 echo "$val" @@ -52,7 +52,7 @@ get_app_label_value() { app="$1" label="$2" default="${3:-}" - val="$(yq e ".services[\"$app\"].labels.$label" <"$DAB/docker/docker-compose.$app.yml")" + val="$(yq -r ".services[\"$app\"].labels.$label" <"$DAB/docker/docker-compose.$app.yml")" [ "$val" != "null" ] || val="$default" [ -z "$val" ] || echo "$val" } From b10ef906b5d8f6f1b28e783fb34cc464b4191070 Mon Sep 17 00:00:00 2001 From: Dean Stalker Date: Wed, 29 May 2024 11:02:08 +1000 Subject: [PATCH 39/40] Type in docker-compose node yml --- app/docker/docker-compose.node.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/docker/docker-compose.node.yml b/app/docker/docker-compose.node.yml index 44bf3898..84294d9a 100644 --- a/app/docker/docker-compose.node.yml +++ b/app/docker/docker-compose.node.yml @@ -1,4 +1,5 @@ ----services: +--- +services: node: container_name: dab_nodejs From 494dfe09c2ff662262d448410d33e7d67c362dbc Mon Sep 17 00:00:00 2001 From: Dean Stalker Date: Wed, 29 May 2024 11:12:42 +1000 Subject: [PATCH 40/40] Fix mikefarah yq install and use v4.44.1 --- Dockerfile | 2 +- app/lib/docker.sh | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index 4e3d57a9..3352a4ea 100644 --- a/Dockerfile +++ b/Dockerfile @@ -77,7 +77,7 @@ RUN apk add --no-cache --virtual .toolchain \ # Misc tools required for scripts. RUN apk add --no-cache git openssh tree util-linux jq nss-tools multitail ca-certificates highlight libintl entr postgresql-client task bash \ - && wget -O /usr/bin/yq https://github.com/mikefarah/yq/releases/download/3.4.1/yq_linux_amd64 \ + && wget -O /usr/bin/yq https://github.com/mikefarah/yq/releases/download/v4.44.1/yq_linux_amd64 \ && chmod +x /usr/bin/yq \ && echo "check_mail:0" >> /etc/multitail.conf \ && chmod 666 /etc/passwd diff --git a/app/lib/docker.sh b/app/lib/docker.sh index 20ecba17..16afb194 100644 --- a/app/lib/docker.sh +++ b/app/lib/docker.sh @@ -42,7 +42,7 @@ get_app_dependencies() { file="$DAB/docker/docker-compose.$app.yml" [ -f "$file" ] || return 0 - val="$(yq -r ".services[\"$app\"].depends_on | .[]" <"$file")" + val="$(yq e ".services[\"$app\"].depends_on | .[]" <"$file")" [ "$val" != "null" ] || return 0 echo "$val" @@ -52,7 +52,7 @@ get_app_label_value() { app="$1" label="$2" default="${3:-}" - val="$(yq -r ".services[\"$app\"].labels.$label" <"$DAB/docker/docker-compose.$app.yml")" + val="$(yq e ".services[\"$app\"].labels.$label" <"$DAB/docker/docker-compose.$app.yml")" [ "$val" != "null" ] || val="$default" [ -z "$val" ] || echo "$val" }