Skip to main content

dynamically configure an HTCondor node from a git repository

Project description

Hook to dynamically configure an HTCondor node from a git repository.

Hook Overview

The hook is integrated into a Condor config file to perform the following workflow:

  • Fetch a git repository to a local cache

  • Use patterns to select configuration files

  • Dynamically include configuration in condor

To integrate the hook, use the include command syntax in any HTCondor config file:

include command : condor-git-config https://git.mydomain.com/condor-repos/condor-configs.git

Usage Notes

The hook requires at least Python 3.3 to run. A list of options is available by passing -h or --help to the executable.

Installation

Installation provides the condor-git-config executable. All other dependencies are installed automatically.

Stable release version

pip3 install condor_git_config

Current development version

git clone https://github.com/maxfischer2781/condor-git-config.git
./condor-git-config/setup.py install

Argument Files

The condor-git-config executable can use the @ prefix character to read arguments from files. This allows you to prepare options externally

echo $(hostname -d) >> /etc/mycloud/domain

and have them used dynamically to adjust configuration

include command : condor-git-config --branch @/etc/mycloud/domain -- https://git.mydomain.com/condor-repos/condor-configs.git

Configuration Recursion

By default, condor-git-config will not recurse into sub-directories. This allows you to have additional configuration, which is conditionally integrated. For example, consider the following git repository tree:

|- commong.cfg
|- security.cfg
|- aaaron-cloud.cfg
|- aaaron-cloud/
|  |- overwrites.cfg
|  |- proxy.cfg
|- beebee-cloud.cfg

The aaaron-cloud folder will be ignored by default. You can conditionally include the *-cloud.cfg files like this:

--blacklist '.-cloud\.cfg' --whitelist @/etc/mycloud/flavour

This allows you to further include the files in aaaron-cloud by using include in aaaron-cloud.cfg:

# aaaron-cloud.cfg
include : $(GIT_CONFIG_CACHE_PATH)/overwrites.cfg
include : $(GIT_CONFIG_CACHE_PATH)/proxy.cfg

Project details


Download files

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

Source Distribution

condor_git_config-0.1.2.tar.gz (5.8 kB view details)

Uploaded Source

Built Distribution

condor_git_config-0.1.2-py3-none-any.whl (6.0 kB view details)

Uploaded Python 3

File details

Details for the file condor_git_config-0.1.2.tar.gz.

File metadata

  • Download URL: condor_git_config-0.1.2.tar.gz
  • Upload date:
  • Size: 5.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.5

File hashes

Hashes for condor_git_config-0.1.2.tar.gz
Algorithm Hash digest
SHA256 fc300ce39a03e1d31b4b5cd587288e6d0f91bbcfe00becca6e815dcb2bcedcc6
MD5 bad56284bb59a81e495d788a9e594c08
BLAKE2b-256 4574728084d2a0c766a9c2696527af7280d1c63b1fec145c24c4d593d984827f

See more details on using hashes here.

File details

Details for the file condor_git_config-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: condor_git_config-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 6.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.5

File hashes

Hashes for condor_git_config-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 978dbcf144db9a208bcda3d9ec140bce604d5575d6961d0b1a97e9b857a459d6
MD5 9fa8adfa61b295d965191f7549a7faf5
BLAKE2b-256 22f4e7288abbd1462543e8271d59b8e554dbd22129bc0f1ff05819d7e5977bbf

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page