Skip to content

Commit

Permalink
upgrade to irods v4.3.3 (#16)
Browse files Browse the repository at this point in the history
  • Loading branch information
mikkonie committed Sep 19, 2024
1 parent 2c21c4b commit 11c8b5d
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 7 deletions.
13 changes: 8 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ The code is based on [hurngchunlee/docker-irods](https://github.com/hurngchunlee

The image contains features specific to our [SODAR](https://github.com/bihealth/sodar-server) system, but using them is optional and the image also works as a generic iRODS server.

Images are built and tagged for a specific iRODS release. The most recent build is tested to be compatible with iRODS version `4.3.1`. Our goal is to keep up with the most recent major release of iRODS. Updates for older major versions will not be made.
Images are built and tagged for a specific iRODS release. The most recent build is tested to be compatible with iRODS version `4.3.3`. Our goal is to keep up with the most recent major release of iRODS. Updates for older major versions will not be made.

**NOTE:** Images built for iRODS v4.3.x are **not** compatible with iRODS v4.2 or below. See below for instructions on upgrading from an older iRODS v4.2 build of this image.

Expand Down Expand Up @@ -36,7 +36,8 @@ iRODS can be run in either "provider" mode, which installs an iCAT catalogue ser

| Variable name | Default Value | Role |
|----------------------------------|----------------------------------|------------|
| IRODS_PKG_VERSION | 4.3.1 | both |
| IRODS_PKG_VERSION | 4.3.3 | both |
| IRODS_PYTHON_RULE_ENGINE_VERSION | 4.3.3.0-0+4.3.3 | both |
| IRODS_ROLE | provider | both |
| IRODS_HOST_NAME | localhost | both |
| IRODS_SERVICE_ACCOUNT_USER | irods | both |
Expand Down Expand Up @@ -74,7 +75,7 @@ iRODS can be run in either "provider" mode, which installs an iCAT catalogue ser

## SSSD Support

In addition to the base image, we provide the images `${VERSION}-sssd` (e.g., `4.3.1-1-sssd`) which have SSSD installed.
In addition to the base image, we provide the images `${VERSION}-sssd` (e.g., `4.3.3-1-sssd`) which have SSSD installed.
You will have to share `/var/lib/sss` between the SSSD container and iRODS so both containers can communicate.

In our installations, we run [bihealth/sssd-docker](https://github.com/bihealth/sssd-docker) in a second container.
Expand All @@ -97,7 +98,9 @@ To build the image, use the following command:

```
bash
$ IRODS_PKG_VERSION=x.x.x BUILD_VERSION=y ./build.sh
$ IRODS_PKG_VERSION=x.x.x IRODS_PYTHON_RULE_ENGINE_VERSION=y.y.y BUILD_VERSION=z ./build.sh
```

Releases and images are tagged with the iRODS server version followed by the image build version. This means that e.g. the initial release for iRODS `4.3.1` will be tagged as `4.3.1-1`. Fixes or improvements to that release would then be published as `4.3.1-2`.
Releases and images are tagged with the iRODS server version followed by the image build version. This means that e.g. the initial release for iRODS `4.3.3` will be tagged as `4.3.3-1`. Fixes or improvements to that release would then be published as `4.3.3-2`.

Note that if you are providing a non-default iRODS version, you will also have to provide the `irods-rule-engine-plugin-python` version number with the `IRODS_PYTHON_RULE_ENGINE_VERSION` env var. This package does not follow the same versioning conventions as the main iRODS packages. The value is expected to be the full version name *without* the `~focal` suffix. You can find the available versions e.g. by running `apt-cache madison irods-rule-engine-plugin-python`.
5 changes: 5 additions & 0 deletions build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,20 @@

export REPO=ghcr.io/bihealth/irods-docker
export IRODS_PKG_VERSION=${IRODS_PKG_VERSION-4.3.1}
export IRODS_PYTHON_RULE_ENGINE_VERSION=${IRODS_PYTHON_RULE_ENGINE_VERSION-4.3.1.0}
export BUILD_VERSION=${BUILD_VERSION-1}

docker build \
-t "${REPO}:${IRODS_PKG_VERSION}-${BUILD_VERSION}" \
--build-arg IRODS_PKG_VERSION=${IRODS_PKG_VERSION} \
--build-arg IRODS_PYTHON_RULE_ENGINE_VERSION=${IRODS_PYTHON_RULE_ENGINE_VERSION} \
--target main \
docker

docker build \
-t "${REPO}:${IRODS_PKG_VERSION}-${BUILD_VERSION}-sssd" \
--build-arg IRODS_PKG_VERSION=${IRODS_PKG_VERSION} \
--build-arg IRODS_PYTHON_RULE_ENGINE_VERSION=${IRODS_PYTHON_RULE_ENGINE_VERSION} \
--target sssd \
docker

Expand Down
6 changes: 4 additions & 2 deletions docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,12 @@ LABEL org.opencontainers.image.authors="Manuel Holtgrewe <manuel.holtgrewe@bih-c
LABEL org.opencontainers.image.source https://github.com/bihealth/irods-docker

ARG DEBIAN_FRONTEND=noninteractive
ARG IRODS_PKG_VERSION="4.3.3"
ARG IRODS_PKG_SUFFIX="-0~focal"
ARG IRODS_PYTHON_RULE_ENGINE_VERSION="4.3.3.0-0+4.3.3"

# Environment variables for container runtime
ENV IRODS_PKG_VERSION=4.3.1 \
ENV IRODS_PKG_VERSION=$IRODS_PKG_VERSION \
IRODS_ROLE=provider \
IRODS_HOST_NAME=localhost \
IRODS_SERVICE_ACCOUNT_USER=irods \
Expand Down Expand Up @@ -71,7 +73,7 @@ RUN apt-get install -y irods-runtime=${IRODS_PKG_VERSION}${IRODS_PKG_SUFFIX} \
irods-database-plugin-postgres=${IRODS_PKG_VERSION}${IRODS_PKG_SUFFIX} \
irods-icommands=${IRODS_PKG_VERSION}${IRODS_PKG_SUFFIX} \
irods-dev=${IRODS_PKG_VERSION}${IRODS_PKG_SUFFIX} \
irods-rule-engine-plugin-python=${IRODS_PKG_VERSION}.0${IRODS_PKG_SUFFIX}
irods-rule-engine-plugin-python=${IRODS_PYTHON_RULE_ENGINE_VERSION}~focal
RUN useradd -d /var/lib/irods ${IRODS_SERVICE_ACCOUNT_USER}

# Copy rule-engine installer
Expand Down

0 comments on commit 11c8b5d

Please sign in to comment.