Metadata-Version: 1.1
Name: condor-git-config
Version: 0.0.3
Summary: dynamically configure an HTCondor node from a git repository
Home-page: https://github.com/maxfischer2781/condor-git-config
Author: Max Fischer
Author-email: maxfischer2781@gmail.com
License: MIT
Description: ##################
        condor-config-hook
        ##################
        
        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:
        
        .. code:: python
        
            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.
        
        Installation
        ------------
        
        Installation provides the ``condor-git-config`` executable.
        All other dependencies are installed automatically.
        
        Stable release version
        
        .. code:: bash
        
            pip3 install condor_git_config
        
        Current development version
        
        .. code:: bash
        
            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](https://docs.python.org/3/library/argparse.html#fromfile-prefix-chars)
        to read arguments from files.
        This allows you to prepare options externally
        
        .. code::
        
            echo $(hostname -d) >> /etc/mycloud/domain
        
        and have them used dynamically to adjust configuration
        
        .. code::
        
            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:
        
        .. code::
        
            |- 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:
        
        .. code::
        
            --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``:
        
        .. code::
        
            # aaaron-cloud.cfg
            include : $(GIT_CONFIG_CACHE_PATH)/overwrites.cfg
            include : $(GIT_CONFIG_CACHE_PATH)/proxy.cfg
Keywords: htcondor condor configuration
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: Topic :: System :: Monitoring
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
