diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 68512ca..ae97426 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -187,6 +187,7 @@ zammad-docker-build: variables: DOCKER_NS: ${CI_REGISTRY}/digiresilience/link/link-stack/zammad DOCKERFILE_PATH: ./docker/zammad/Dockerfile + DOCKER_CONTEXT: ./docker/zammad zammad-docker-release: extends: .docker-release diff --git a/apps/leafcutter/Makefile b/apps/leafcutter/Makefile deleted file mode 100644 index 7ab9a76..0000000 --- a/apps/leafcutter/Makefile +++ /dev/null @@ -1,49 +0,0 @@ -PACKAGE_NAME ?= $(shell jq -r '.name' package.json) -PACKAGE_VERSION?= $(shell jq -r '.version' package.json) -BUILD_DATE ?=$(shell date -u +"%Y-%m-%dT%H:%M:%SZ") -DOCKER_ARGS ?= -DOCKER_NS ?= registry.gitlab.com/digiresilience/link/link-stack/${PACKAGE_NAME} -DOCKER_TAG ?= test -DOCKER_BUILD := docker build ${DOCKER_ARGS} --build-arg BUILD_DATE=${BUILD_DATE} -DOCKER_BUILD_FRESH := ${DOCKER_BUILD} --pull --no-cache -DOCKER_BUILD_ARGS := --build-arg VCS_REF=${CI_COMMIT_SHORT_SHA} -DOCKER_PUSH := docker push -DOCKER_BUILD_TAG := ${DOCKER_NS}:${DOCKER_TAG} -HELM_CHANNEL ?= stable -HELM_CHART_NAME ?= ${PACKAGE_NAME} -HELM_CHART_VERSION ?= ${PACKAGE_VERSION} - -.PHONY: .npmrc -.EXPORT_ALL_VARIABLES: - -.npmrc: -ifdef CI_JOB_TOKEN - echo '@guardianproject-ops:registry=https://gitlab.com/api/v4/packages/npm/' > .npmrc - echo '@digiresilience:registry=https://gitlab.com/api/v4/packages/npm/' >> .npmrc - echo '//gitlab.com/api/v4/packages/npm/:_authToken=${CI_JOB_TOKEN}' >> .npmrc - echo '//gitlab.com/api/v4/projects/:_authToken=${CI_JOB_TOKEN}' >> .npmrc - echo '//gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}' >> .npmrc -endif - -docker/build: .npmrc - DOCKER_BUILDKIT=1 ${DOCKER_BUILD} ${DOCKER_BUILD_ARGS} -t ${DOCKER_BUILD_TAG} ${PWD} - -docker/build-fresh: .npmrc - DOCKER_BUILDKIT=1 ${DOCKER_BUILD_FRESH} ${DOCKER_BUILD_ARGS} -t ${DOCKER_BUILD_TAG} ${PWD} - -docker/add-tag: - docker pull ${DOCKER_NS}:${DOCKER_TAG} - docker tag ${DOCKER_NS}:${DOCKER_TAG} ${DOCKER_NS}:${DOCKER_TAG_NEW} - docker push ${DOCKER_NS}:${DOCKER_TAG_NEW} - -docker/push: - ${DOCKER_PUSH} ${DOCKER_BUILD_TAG} - -docker/build-push: docker/build docker/push -docker/build-fresh-push: docker/build-fresh docker/push - -helm/build: - helm package ${PWD}/charts/ -helm/push: - curl --request POST --user gitlab-ci-token:${CI_JOB_TOKEN} --form "chart=@${PWD}/${HELM_CHART_NAME}-${HELM_CHART_VERSION}.tgz" "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/helm/api/${HELM_CHANNEL}/charts" -helm/build-push: helm/build helm/push diff --git a/apps/link/Makefile b/apps/link/Makefile deleted file mode 100644 index 416a9bb..0000000 --- a/apps/link/Makefile +++ /dev/null @@ -1,40 +0,0 @@ -PACKAGE_NAME ?= $(shell jq -r '.name' package.json) -PACKAGE_VERSION?= $(shell jq -r '.version' package.json) -BUILD_DATE ?=$(shell date -u +"%Y-%m-%dT%H:%M:%SZ") -DOCKER_ARGS ?= -DOCKER_NS ?= registry.gitlab.com/digiresilience/link/link-stack/${PACKAGE_NAME} -DOCKER_TAG ?= test -DOCKER_BUILD := docker build ${DOCKER_ARGS} --build-arg BUILD_DATE=${BUILD_DATE} -DOCKER_BUILD_FRESH := ${DOCKER_BUILD} --pull --no-cache -DOCKER_BUILD_ARGS := --build-arg VCS_REF=${CI_COMMIT_SHORT_SHA} -DOCKER_PUSH := docker push -DOCKER_BUILD_TAG := ${DOCKER_NS}:${DOCKER_TAG} - -.PHONY: .npmrc -.EXPORT_ALL_VARIABLES: - -.npmrc: -ifdef CI_JOB_TOKEN - echo '@guardianproject-ops:registry=https://gitlab.com/api/v4/packages/npm/' > .npmrc - echo '@digiresilience:registry=https://gitlab.com/api/v4/packages/npm/' >> .npmrc - echo '//gitlab.com/api/v4/packages/npm/:_authToken=${CI_JOB_TOKEN}' >> .npmrc - echo '//gitlab.com/api/v4/projects/:_authToken=${CI_JOB_TOKEN}' >> .npmrc - echo '//gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}' >> .npmrc -endif - -docker/build: .npmrc - DOCKER_BUILDKIT=1 ${DOCKER_BUILD} ${DOCKER_BUILD_ARGS} -t ${DOCKER_BUILD_TAG} ${PWD} - -docker/build-fresh: .npmrc - DOCKER_BUILDKIT=1 ${DOCKER_BUILD_FRESH} ${DOCKER_BUILD_ARGS} -t ${DOCKER_BUILD_TAG} ${PWD} - -docker/add-tag: - docker pull ${DOCKER_NS}:${DOCKER_TAG} - docker tag ${DOCKER_NS}:${DOCKER_TAG} ${DOCKER_NS}:${DOCKER_TAG_NEW} - docker push ${DOCKER_NS}:${DOCKER_TAG_NEW} - -docker/push: - ${DOCKER_PUSH} ${DOCKER_BUILD_TAG} - -docker/build-push: docker/build docker/push -docker/build-fresh-push: docker/build-fresh docker/push diff --git a/apps/metamigo-cli/Dockerfile b/apps/metamigo-cli/Dockerfile index 7263c57..d8b93a8 100644 --- a/apps/metamigo-cli/Dockerfile +++ b/apps/metamigo-cli/Dockerfile @@ -8,7 +8,6 @@ WORKDIR ${APP_DIR} COPY . . RUN turbo prune --scope=@digiresilience/metamigo-cli --docker - FROM base AS installer ARG APP_DIR=/opt/metamigo-cli WORKDIR ${APP_DIR} diff --git a/apps/metamigo-cli/Makefile b/apps/metamigo-cli/Makefile deleted file mode 100644 index da4a0b2..0000000 --- a/apps/metamigo-cli/Makefile +++ /dev/null @@ -1,40 +0,0 @@ -PACKAGE_NAME ?= $(shell jq -r '.name' package.json) -PACKAGE_VERSION?= $(shell jq -r '.version' package.json) -BUILD_DATE ?=$(shell date -u +"%Y-%m-%dT%H:%M:%SZ") -DOCKER_ARGS ?= -DOCKER_NS ?= registry.gitlab.com/digiresilience/link/link-stack/metamigo -DOCKER_TAG ?= test -DOCKER_BUILD := docker build ${DOCKER_ARGS} --build-arg BUILD_DATE=${BUILD_DATE} -DOCKER_BUILD_FRESH := ${DOCKER_BUILD} --pull --no-cache -DOCKER_BUILD_ARGS := --build-arg VCS_REF=${CI_COMMIT_SHORT_SHA} -DOCKER_PUSH := docker push -DOCKER_BUILD_TAG := ${DOCKER_NS}:${DOCKER_TAG} - -.PHONY: .npmrc -.EXPORT_ALL_VARIABLES: - -.npmrc: -ifdef CI_JOB_TOKEN - echo '@guardianproject-ops:registry=https://gitlab.com/api/v4/packages/npm/' > .npmrc - echo '@digiresilience:registry=https://gitlab.com/api/v4/packages/npm/' >> .npmrc - echo '//gitlab.com/api/v4/packages/npm/:_authToken=${CI_JOB_TOKEN}' >> .npmrc - echo '//gitlab.com/api/v4/projects/:_authToken=${CI_JOB_TOKEN}' >> .npmrc - echo '//gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}' >> .npmrc -endif - -docker/build: .npmrc - DOCKER_BUILDKIT=1 ${DOCKER_BUILD} ${DOCKER_BUILD_ARGS} -t ${DOCKER_BUILD_TAG} ${PWD} - -docker/build-fresh: .npmrc - DOCKER_BUILDKIT=1 ${DOCKER_BUILD_FRESH} ${DOCKER_BUILD_ARGS} -t ${DOCKER_BUILD_TAG} ${PWD} - -docker/add-tag: - docker pull ${DOCKER_NS}:${DOCKER_TAG} - docker tag ${DOCKER_NS}:${DOCKER_TAG} ${DOCKER_NS}:${DOCKER_TAG_NEW} - docker push ${DOCKER_NS}:${DOCKER_TAG_NEW} - -docker/push: - ${DOCKER_PUSH} ${DOCKER_BUILD_TAG} - -docker/build-push: docker/build docker/push -docker/build-fresh-push: docker/build-fresh docker/push diff --git a/apps/metamigo-cli/docker-entrypoint.sh b/apps/metamigo-cli/docker-entrypoint.sh deleted file mode 100644 index 13f558f..0000000 --- a/apps/metamigo-cli/docker-entrypoint.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/env bash -set -e - -if [[ "$1" == "api" ]]; then - echo "docker-entrypoint: starting api server" - ./cli db -- migrate - exec dumb-init ./cli api -elif [[ "$1" == "worker" ]]; then - echo "docker-entrypoint: starting worker" - exec dumb-init ./cli worker -elif [[ "$1" == "cli" ]]; then - echo "docker-entrypoint: starting frontend" - shift 1 - exec ./cli "$@" -else - echo "docker-entrypoint: missing argument, one of: api, worker, frontend, cli" - exit 1 -fi diff --git a/apps/metamigo-frontend/Dockerfile b/apps/metamigo-frontend/Dockerfile deleted file mode 100644 index 9963dd8..0000000 --- a/apps/metamigo-frontend/Dockerfile +++ /dev/null @@ -1,52 +0,0 @@ -FROM node:20 as base - -FROM base AS builder -ARG APP_DIR=/opt/metamigo-frontend -RUN mkdir -p ${APP_DIR}/ -RUN npm i -g turbo -WORKDIR ${APP_DIR} -COPY . . -RUN turbo prune --scope=@digiresilience/metamigo-frontend --docker - - -FROM base AS installer -ARG APP_DIR=/opt/metamigo-frontend -WORKDIR ${APP_DIR} -COPY .gitignore .gitignore -COPY --from=builder ${APP_DIR}/out/json/ . -COPY --from=builder ${APP_DIR}/out/package-lock.json ./package-lock.json -RUN npm ci --omit=dev - -COPY --from=builder ${APP_DIR}/out/full/ . -RUN npm i -g turbo -RUN turbo run build --filter=metamigo-frontend - -FROM base AS runner -ARG APP_DIR=/opt/metamigo-frontend -WORKDIR ${APP_DIR}/ -ARG BUILD_DATE -ARG VERSION -LABEL maintainer="Darren Clarke " -LABEL org.label-schema.build-date=$BUILD_DATE -LABEL org.label-schema.version=$VERSION -ENV APP_DIR ${APP_DIR} -RUN DEBIAN_FRONTEND=noninteractive apt-get update && \ - apt-get install -y --no-install-recommends \ - dumb-init -RUN mkdir -p ${APP_DIR} -RUN chown -R node ${APP_DIR}/ - -USER node -WORKDIR ${APP_DIR} -COPY --from=installer ${APP_DIR}/node_modules/ ./node_modules/ -COPY --from=installer ${APP_DIR}/packages/ ./packages/ -COPY --from=installer ${APP_DIR}/apps/metamigo-frontend/ ./apps/metamigo-frontend/ -COPY --from=installer ${APP_DIR}/package.json ./package.json -USER root -WORKDIR ${APP_DIR}/apps/metamigo-frontend/ -RUN chmod +x docker-entrypoint.sh -USER node -EXPOSE 3000 -ENV PORT 3000 -ENV NODE_ENV production -ENTRYPOINT ["/opt/metamigo-frontend/apps/metamigo-frontend/docker-entrypoint.sh"] diff --git a/apps/metamigo-frontend/docker-entrypoint.sh b/apps/metamigo-frontend/docker-entrypoint.sh deleted file mode 100644 index 669df4b..0000000 --- a/apps/metamigo-frontend/docker-entrypoint.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash - -set -e -echo "starting metamigo-frontend" -exec dumb-init npm run start diff --git a/docker/zammad/.gitignore b/docker/zammad/.gitignore index ea4c204..81c87b7 100644 --- a/docker/zammad/.gitignore +++ b/docker/zammad/.gitignore @@ -1,5 +1,5 @@ docker-compose-test.yml *.zpm *.zip -addons +addons/* !addons/.gitkeep diff --git a/docker/zammad/.gitlab-ci.yml b/docker/zammad/.gitlab-ci.yml deleted file mode 100644 index a498562..0000000 --- a/docker/zammad/.gitlab-ci.yml +++ /dev/null @@ -1,35 +0,0 @@ ---- -image: docker:git -services: - - docker:dind - -stages: - - build - - release - - trigger - -before_script: - - apk add --update make curl unzip findutils - - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - - export CI_JOB_TIMESTAMP=$(date --utc +"%Y-%m-%d") - -build: - stage: build - variables: - DOCKER_NS: $CI_REGISTRY_IMAGE - DOCKER_TAG: ${CI_COMMIT_SHORT_SHA} - script: - - make build-push - -release: - stage: release - variables: - DOCKER_NS: $CI_REGISTRY_IMAGE - DOCKER_TAG: ${CI_COMMIT_SHORT_SHA} - DOCKER_TAG_NEW: ${CI_COMMIT_REF_NAME} - only: - - main - - develop - script: - - make add-tag - diff --git a/docker/zammad/Makefile b/docker/zammad/Makefile deleted file mode 100644 index 433098e..0000000 --- a/docker/zammad/Makefile +++ /dev/null @@ -1,77 +0,0 @@ -UPSTREAM_BRANCH ?= main -UPSTREAM_JOB ?= build -ADDONS := 16838842 23149108 -BUILD_DATE ?=$(shell date -u +”%Y-%m-%dT%H:%M:%SZ”) -DOCKER_ARGS ?= -PROJECT_URL ?= https://github.com/zammad/zammad.git -ZAMMAD_TAG ?= stable-4.1 -DOCKER_NS ?= registry.gitlab.com/digiresilience/link/docker-zammad -DOCKER_TAG ?= ${ZAMMAD_TAG} -DOCKER_BUILD := docker build ${DOCKER_ARGS} -DOCKER_BUILD_FRESH := ${DOCKER_BUILD} --pull --no-cache -DOCKER_BUILD_ARGS := --build-arg PROJECT_URL=${PROJECT_URL} --build-arg ZAMMAD_GIT_TAG=${ZAMMAD_TAG} --build-arg BUILD_DATE=${BUILD_DATE} -DOCKER_PUSH := docker push -DOCKER_BUILD_TAG := ${DOCKER_NS}:${DOCKER_TAG} - -.PHONY: zammad clean env - -env: - @echo - @echo - @echo Build Environment - @echo --------------------------- - @echo "DOCKER_NS=${DOCKER_NS}" - @echo "DOCKER_TAG=${DOCKER_TAG}" - @echo "DOCKER_TAG_NEW=${DOCKER_TAG_NEW}" - @echo "DOCKER_ARGS=${DOCKER_ARGS}" - @echo "UPSTREAM_BRANCH=${UPSTREAM_BRANCH}" - @echo "UPSTREAM_JOB=${UPSTREAM_JOB}" - @echo "ZAMMAD_TAG=${ZAMMAD_TAG}" - @echo "PROJECT_URL=${PROJECT_URL}" - @echo --------------------------- - @echo - @echo - -build: addons env - ${DOCKER_BUILD} ${DOCKER_BUILD_ARGS} -t ${DOCKER_BUILD_TAG} ${PWD} - -build-fresh: addons env - ${DOCKER_BUILD_FRESH} ${DOCKER_BUILD_ARGS} -t ${DOCKER_BUILD_TAG} ${PWD} - -push: - ${DOCKER_PUSH} ${DOCKER_BUILD_TAG} - -build-push: build push -build-fresh-push: build-fresh push - -add-tag: env - docker pull ${DOCKER_NS}:${DOCKER_TAG} - docker tag ${DOCKER_NS}:${DOCKER_TAG} ${DOCKER_NS}:${DOCKER_TAG_NEW} - docker push ${DOCKER_NS}:${DOCKER_TAG_NEW} - -keys: - gpg2 --batch --keyserver "ha.pool.sks-keyservers.net" --recv-keys "B42F6819007F00F88E364FD4036A9C25BF357DD4" - gpg2 --batch --keyserver "ha.pool.sks-keyservers.net" --recv-keys "9185813DDCCD789E5D4BA51B884B649C340C81F4" - gpg2 --export --armor "B42F6819007F00F88E364FD4036A9C25BF357DD4" > keys.asc - gpg2 --export --armor "9185813DDCCD789E5D4BA51B884B649C340C81F4" >> keys.asc - -$(ADDONS): - @echo Fetching addon "https://gitlab.com/api/v4/projects/$@/jobs/artifacts/${UPSTREAM_BRANCH}/download?job=${UPSTREAM_JOB}&job_token=redacted" - @curl ${ACCESS_HEADER} -s -L "https://gitlab.com/api/v4/projects/$@/jobs/artifacts/${UPSTREAM_BRANCH}/download?job=${UPSTREAM_JOB}&job_token=${CI_JOB_TOKEN}" --output $@.zip - unzip -o -d addons $@.zip - -fetch-addons: $(ADDONS) - -# note: do not use find -exec, it eats errors -install-addons: - mkdir -p auto_install - @find addons -type f -iname "*.szpm" -print0 | xargs -0 -I '{}' cp {} ./auto_install/ - @find ./auto_install/ -depth -name "*.szpm" -print0 | xargs -0 -I '{}' sh -c 'mv "$$1" "$${1%.szpm}.zpm"' _ {} - @echo - @echo - @echo "Installed addons:" - @find ./auto_install/ -iname "*zpm" - @echo - @echo - -addons: fetch-addons install-addons