Skip to main content
Help us improve PyPI by participating in user testing. All experience levels needed!

Wraps Docker to run with GitLab build variables

Project description

|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 <https://pypi.python.org/pypi/dockerwithgitlabsecrets>`__:

.. code:: bash

$ pip install dockerwithgitlabsecrets

Bleeding edge versions can be installed directly from GitHub:

.. code:: bash

$ pip 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:

.. code:: bash

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
/Users/cn13/.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

Examples
~~~~~~~~

Run a new container with secrets from a GitLab project:

.. code:: bash

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:

.. code:: bash

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

Run a container interactively that will have secrets from a GitLab
project in the environment:

.. code:: bash

docker-with-gitlab-secrets --dwgs-config my-config.yml --dwgs-project my-project \
run --rm -it ubuntu

Configuration
-------------

Example:

.. code:: yml

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
------------

- 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.

.. |Build Status| image:: https://travis-ci.org/wtsi-hgi/docker-with-gitlab-secrets.svg
:target: https://travis-ci.org/wtsi-hgi/docker-with-gitlab-secrets
.. |codecov.io| image:: https://codecov.io/gh/wtsi-hgi/docker-with-gitlab-secrets/graph/badge.svg
:target: https://codecov.io/github/wtsi-hgi/docker-with-gitlab-secrets
.. |PyPI version| image:: https://badge.fury.io/py/dockerwithgitlabsecrets.svg
:target: https://badge.fury.io/py/dockerwithgitlabsecrets

Project details


Release history Release notifications

This version
History Node

2.0.1

History Node

2.0.0

History Node

1.0.0

History Node

0.1.2

History Node

0.1.1

History Node

0.1.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
dockerwithgitlabsecrets-2.0.1.tar.gz (8.6 kB) Copy SHA256 hash SHA256 Source None May 17, 2017

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page