Skip to content

Commit

Permalink
feat: Add server that provides k-apps contents
Browse files Browse the repository at this point in the history
  • Loading branch information
mikolajb committed Sep 30, 2024
1 parent df33375 commit b392a3d
Show file tree
Hide file tree
Showing 3 changed files with 43 additions and 5 deletions.
14 changes: 14 additions & 0 deletions just/test.just
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
test-server:
#!/usr/bin/env bash
set -euox pipefail
CONTAINER_ID=$(just --justfile {{ justfile() }} --working-directory {{ invocation_directory() }} _run_server 2>&1 | tail -n 1)
trap "docker kill ${CONTAINER_ID}" EXIT
curl --no-progress-meter --output /dev/null --retry-connrefused --retry 5 --retry-delay 3 http://localhost:5000/{{ archive_name }}
_run_server: (release-server "false")
docker run \
--env DUFS_TLS_CERT \
--env DUFS_TLS_KEY \
--network=host \
--detach \
{{ server_docker_repository }}:{{ git_tag }}
21 changes: 16 additions & 5 deletions justfile
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ repository := org_name / "kommander-applications"
include_file := justfile_directory() / ".include-airgapped"
exclude_file := justfile_directory() / ".exclude-airgapped"
git_operator_version := env("GIT_OPERATOR_VERSION", "latest")
server_docker_repository := registry / org_name / "kommander-applications-server"

s3_path := "dkp" / git_tag
s3_bucket := "downloads.mesosphere.io"
Expand All @@ -16,12 +17,20 @@ s3_acl := "bucket-owner-full-control"
archive_name := "kommander-applications-" + git_tag+ ".tar.gz"
published_url := "https://downloads.d2iq.com" / s3_path / archive_name

release tmp_dir=`mktemp --directory`: (_prepare-archive tmp_dir)
aws s3 cp --acl {{ s3_acl }} {{ archive_name }} {{ s3_uri }}
release publish="true" tmp_dir=`mktemp --directory`: (_prepare-archive tmp_dir) && _cleanup
if {{ publish }}; then aws s3 cp --acl {{ s3_acl }} {{ archive_name }} {{ s3_uri }}; fi
@echo "Published to {{ published_url }}"

release-oci tmp_dir=`mktemp --directory`: (_prepare-files-for-a-bundle tmp_dir)
cd {{ tmp_dir }} && echo "${DOCKER_PASSWORD}" | oras push --password-stdin --username "${DOCKER_USERNAME}" --verbose {{ registry }}/{{ repository }}:{{ git_tag }} .
release-oci publish="true" tmp_dir=`mktemp --directory`: (_prepare-files-for-a-bundle tmp_dir)
if {{ publish }}; then \
cd {{ tmp_dir }} && echo "${DOCKER_PASSWORD}" | oras push --password-stdin --username "${DOCKER_USERNAME}" --verbose {{ registry }}/{{ repository }}:{{ git_tag }} .;
fi

release-server publish="true" tmp_dir=`mktemp --directory`: (_prepare-archive tmp_dir) && _cleanup
cp {{ archive_name }} ./server/
cd ./server && docker buildx build . --tag {{ server_docker_repository }}:{{ git_tag }} --build-arg ARCHIVE_NAME={{ archive_name }}
rm ./server/{{ archive_name }}
if {{ publish }}; then docker push {{ server_docker_repository }}:{{ git_tag }}; fi

service_version:=`ls services/git-operator/ | grep -E "v?[[:digit:]]\.[[:digit:]]\.[[:digit:]]"`
service_dir:=justfile_directory() / "services/git-operator" / service_version
Expand All @@ -39,5 +48,7 @@ _cleanup:
rm {{ archive_name }}

_prepare-files-for-a-bundle output_dir:
rsync --archive --recursive --files-from={{ include_file }} --exclude-from={{ exclude_file }} {{ justfile_directory() }} {{ output_dir }}
rsync --quiet --archive --recursive --files-from={{ include_file }} --exclude-from={{ exclude_file }} {{ justfile_directory() }} {{ output_dir }}
yq 'del(.resources[] | select(. == "ai-navigator-repos.yaml"))' --inplace {{ output_dir }}/common/helm-repositories/kustomization.yaml

import 'just/test.just'
13 changes: 13 additions & 0 deletions server/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
FROM sigoden/dufs

ARG ARCHIVE_NAME

# Dufs settings:
ENV DUFS_BIND=127.0.0.1
ENV DUFS_PORT=5000
ENV DUFS_TLS_CERT=cert.pem
ENV DUFS_TLS_KEY=key.pem

COPY ${ARCHIVE_NAME} /data/

CMD ["/data"]

0 comments on commit b392a3d

Please sign in to comment.