diff --git a/.gitattributes b/.gitattributes index 73fd1fa..7fc8150 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,2 +1,4 @@ *.rpm filter=lfs diff=lfs merge=lfs -text *.bin filter=lfs diff=lfs merge=lfs -text +repositories/ici-uploader/4.0.3/ici-uploader.amd64.tar.gz filter=lfs diff=lfs merge=lfs -text +repositories/ici-uploader/4.0.3/ici-uploader.arm64.tar.gz filter=lfs diff=lfs merge=lfs -text diff --git a/.github/workflows/scatter_build_and_push_to_ghcrio.yml b/.github/workflows/scatter_build_and_push_to_ghcrio.yml index 61feb2b..264028e 100644 --- a/.github/workflows/scatter_build_and_push_to_ghcrio.yml +++ b/.github/workflows/scatter_build_and_push_to_ghcrio.yml @@ -4,6 +4,8 @@ on: push: branches: - "main" + workflow_dispatch: + concurrency: image_builds diff --git a/repositories/ici-uploader/4.0.3/Dockerfile b/repositories/ici-uploader/4.0.3/Dockerfile new file mode 100644 index 0000000..2718738 --- /dev/null +++ b/repositories/ici-uploader/4.0.3/Dockerfile @@ -0,0 +1,55 @@ +FROM alpine:3 + +# ARGS +# Target platform (linux/amd64, linux/arm64) +ARG TARGETPLATFORM + +# For the ici-uploader +ARG ICI_HOME="/usr/local/share/ici-uploader" +# User args (we run from a non-root user) +ARG USER="ici_user" +ARG UID=1000 +ARG GID=1000 +ARG GROUP="ici_user" + +# ENV +ENV ICI_HOME="${ICI_HOME}" + +# RUN +# Install Java +RUN apk update && \ + apk add \ + openjdk11 \ + tar \ + bash && \ + mkdir -p "$(dirname "${ICI_HOME}")" + +# Add and extract tarball +ADD "ici-uploader.${TARGETPLATFORM#linux/}.tar.gz" "${ICI_HOME%ici-uploader}" +ADD "ici-uploader.sh" "/usr/local/bin/ici-uploader" + +# Change permissions +RUN chmod a+r "${ICI_HOME}/" && \ + chmod a+x "${ICI_HOME}/ici-uploader" && \ + chmod a+x "/usr/local/bin/ici-uploader" + +# Add a non-root user +RUN addgroup \ + --system \ + --gid "${GID}" \ + "${GROUP}" && \ + adduser \ + --system \ + --disabled-password \ + --ingroup "${GROUP}" \ + --uid "${UID}" \ + "$USER" + +# Change ownership +USER "$USER" + +# Add a softlink from the user home to the ici-uploader +RUN mkdir -p "/home/${USER}/.illumina/" && \ + ln -s "${ICI_HOME}" "/home/${USER}/.illumina/ici-uploader" + +CMD [ "ici-uploader" ] diff --git a/repositories/ici-uploader/4.0.3/Readme.md b/repositories/ici-uploader/4.0.3/Readme.md new file mode 100644 index 0000000..d4bca43 --- /dev/null +++ b/repositories/ici-uploader/4.0.3/Readme.md @@ -0,0 +1,64 @@ +# Alpine-rsync + +## Version 3.3.0 + +## Package link +[docker-who/alpine-rsync](https://github.com/umccr/docker-who/pkgs/container/alpine-rsync) + +## Platforms +* linux/amd64 +* linux/arm64 + +### Usage + +```bash +docker pull ghcr.io/umccr/ici-uploader:4.0.3 +``` + +### Description +Run the ici-uploader commandline tool without needing to worry about daemons, or even installing this thing!! + +### Example +```bash +docker run --rm -it \ + --workdir "$PWD" \ + --volume "$PWD:$PWD" \ + ici-uploader:4.0.3 \ + ici-uploader help +``` + +Gives + +``` +Usage: ici-uploader.jar [-hV] [--verbose] [--configFile=] [COMMAND] +ICI Command-line Interface (Uploader) for analysis, and file operations + --configFile, --config-file= + [Optional] Path to the uploader configuration file. Defaults to ~/.illumina/ici-uploader/uploader-config.json. + -h, --help Show this help message and exit. + -V, --version Print version information and exit. + --verbose [Optional] Turn on INFO logging. +Commands: + help Displays help information about the specified command + configure Configure ici-uploader tool + case-data Set the metadata for the case via ici-uploader tool + analyses, analysis Upload analyses into Illumina Connected Insights (ICI) + logs, ici-logs Get ICI logs for Illumina Connected Insights (ICI) + files List or download files +``` + +## Configuration File + +The only way to get this is to actually download the installer from the ICI site, this will provide you with the following keys + +```json +[ { + "domain" : null, + "workgroup" : null, + "url" : null, + "apiKey" : null, + "project" : null, + "productKey" : null, + "isCloud" : null, + "isActive" : null +} ] +``` \ No newline at end of file diff --git a/repositories/ici-uploader/4.0.3/ici-uploader.amd64.tar.gz b/repositories/ici-uploader/4.0.3/ici-uploader.amd64.tar.gz new file mode 100644 index 0000000..65747c7 --- /dev/null +++ b/repositories/ici-uploader/4.0.3/ici-uploader.amd64.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:89b7e8633610a4fd2eb1a17b91f55371dc4a914764c6ff1ab997571021e449ff +size 92690120 diff --git a/repositories/ici-uploader/4.0.3/ici-uploader.arm64.tar.gz b/repositories/ici-uploader/4.0.3/ici-uploader.arm64.tar.gz new file mode 100644 index 0000000..5dd7845 --- /dev/null +++ b/repositories/ici-uploader/4.0.3/ici-uploader.arm64.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:883293b624a489a1e6161159d528d4431f93599b04d42864cb5f39b687bee1b9 +size 92690108 diff --git a/repositories/ici-uploader/4.0.3/ici-uploader.sh b/repositories/ici-uploader/4.0.3/ici-uploader.sh new file mode 100644 index 0000000..d68fb66 --- /dev/null +++ b/repositories/ici-uploader/4.0.3/ici-uploader.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +# Start the daemon +"${ICI_HOME}/ici-uploader" start-daemon 1>/dev/null 2>&1 + +# Run the ici-uploader command +"${ICI_HOME}/ici-uploader" "${@:1}"