Skip to main content

Build Status codecov.io PyPI version

Docker With GitLab Secrets

Wraps Docker to run with GitLab build variables.

Installation

Prerequisites: - Python >= 3.6 - docker

Stable releases can be installed via PyPI:

$ pip3 install dockerwithgitlabsecrets

Bleeding edge versions can be installed directly from GitHub:

$ pip3 install git+https://github.com/wtsi-hgi/docker-with-gitlab-secrets.git@commit_id_or_branch_or_tag#egg=dockerwithgitlabsecrets

Usage

Wrap your prefixed Docker command with:

usage: docker-with-gitlab-secrets [-h] [--dwgs-config DWGS_CONFIG]
                                  [--dwgs-project DWGS_PROJECT]
                                  [--env-file ENV_FILE]

Docker With GitLab Secrets

optional arguments:
  -h, --help            show this help message and exit
  --dwgs-config DWGS_CONFIG
                        location of the configuration file (will default to
                        /root/.dwgs-config.yml)
  --dwgs-project DWGS_PROJECT
                        GitLab project (if not namespaced in the form
                        "namespace/project", the default namespace defined in
                        the configuration file will be used). If not defined,
                        the default project in the configuration file will be
                        used
  --env-file ENV_FILE   Docker argument in which this program wants to know
                        about - see: https://docs.docker.com/engine/reference/
                        commandline/run/#set-environment-variables--e---env---
                        env-file

Examples

Run a new container with secrets from a GitLab project:

docker-with-gitlab-secrets --dwgs-config my-config.yml --dwgs-project my-project \
    run --rm alpine printenv GITLAB_SECRET

Wrapping unrelated Docker commands will still work:

docker-with-gitlab-secrets --dwgs-config my-config.yml \
    version

Configuration

Example:

gitlab:
  url: https://gitlab.example.com
  token: my-token
  project: hgi-systems  # Optional default project, which will be overriden by if `dwgs-project` is specified
  namespace: hgi        # Optional default namespace

Known Issues

  • Interactive ``run`` commands are not yet supported. You can work around this for the time being by running a container with the wrapper non-interactively and then connecting to it without the wrapper using docker exec.

  • Docker cannot pass newlines in variables via `–env-file`` <https://github.com/moby/moby/issues/12997>`__. Therefore multiline GitLab variables with have their line-breaks escaped to \n.

Metadata

Release files for dockerwithgitlabsecrets 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dockerwithgitlabsecrets 0.1.2
File Size Uploaded
dockerwithgitlabsecrets-0.1.2.tar.gz 7.7 kB Details

Release files / dockerwithgitlabsecrets-0.1.2.tar.gz

Download URL dockerwithgitlabsecrets-0.1.2.tar.gz
Size 7.7 kB
Tags Source
SHA-256 checksum
How to use checksums
b202f437305e5c11ad0b7ef8d89e5e671dfd745f8ebe1114d64764eb29876ae8
BLAKE2b-256 checksum
How to use checksums
fe8da6febf35e592b245501064d1da1331cae70f3a5e21fbbfd14552f4df765a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

2.0.1

1 release file

2.0.0

1 release file

1.0.0

1 release file

This release

0.1.2 This release

1 release file

0.1.1

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page