From 0889e0093bff9fe643ca3474f2f466b10e4251e8 Mon Sep 17 00:00:00 2001 From: Alexis Lucattini Date: Mon, 2 Sep 2024 18:28:33 +1000 Subject: [PATCH 1/2] Added ici-uploader as a multi-arch image --- repositories/ici-uploader/4.0.3/Dockerfile | 56 +++++++++++++++++++ .../4.0.3/ici-uploader.amd64.tar.gz | 3 + .../4.0.3/ici-uploader.arm64.tar.gz | 3 + .../ici-uploader/4.0.3/ici-uploader.sh | 7 +++ 4 files changed, 69 insertions(+) create mode 100644 repositories/ici-uploader/4.0.3/Dockerfile create mode 100644 repositories/ici-uploader/4.0.3/ici-uploader.amd64.tar.gz create mode 100644 repositories/ici-uploader/4.0.3/ici-uploader.arm64.tar.gz create mode 100644 repositories/ici-uploader/4.0.3/ici-uploader.sh diff --git a/repositories/ici-uploader/4.0.3/Dockerfile b/repositories/ici-uploader/4.0.3/Dockerfile new file mode 100644 index 0000000..f8d3dae --- /dev/null +++ b/repositories/ici-uploader/4.0.3/Dockerfile @@ -0,0 +1,56 @@ +FROM alpine:3 + +# ARGS +# Target platform (linux/amd64, linux/arm64) +ARG TARGETPLATFORM + +# For the ici-uploader +ARG ICI_HOME="/usr/local/bin/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 "${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/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}" From 63132018c2983c570ef66f66b63e9e5f21080f87 Mon Sep 17 00:00:00 2001 From: Alexis Lucattini Date: Mon, 2 Sep 2024 18:40:08 +1000 Subject: [PATCH 2/2] Add readme test directory error --- repositories/ici-uploader/4.0.3/Dockerfile | 5 +- repositories/ici-uploader/4.0.3/Readme.md | 64 ++++++++++++++++++++++ 2 files changed, 66 insertions(+), 3 deletions(-) create mode 100644 repositories/ici-uploader/4.0.3/Readme.md diff --git a/repositories/ici-uploader/4.0.3/Dockerfile b/repositories/ici-uploader/4.0.3/Dockerfile index f8d3dae..e10214f 100644 --- a/repositories/ici-uploader/4.0.3/Dockerfile +++ b/repositories/ici-uploader/4.0.3/Dockerfile @@ -5,8 +5,7 @@ FROM alpine:3 ARG TARGETPLATFORM # For the ici-uploader -ARG ICI_HOME="/usr/local/bin/share/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 @@ -30,7 +29,7 @@ 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}/" && \ +RUN ls "${ICI_HOME}" && chmod a+r "${ICI_HOME}/" && \ chmod a+x "${ICI_HOME}/ici-uploader" && \ chmod a+x "/usr/local/bin/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