gilt

Actions Status Black PyTest PyPI Package Documentation Status Repository License

gilt - A GIT layering tool.

Quick Start

Install gilt using pip:

$ pip install python-gilt

Overlay remote repositories and/or files into the destinations provided.

$ gilt --debug overlay

Alternatives

  • Repo

  • Git submodules

  • Git subtree

  • Go Gilt - An indirect port of Gilt to Golang (WIP)

License

MIT

The logo is licensed under the Creative Commons NoDerivatives 4.0 License. If you have some other use in mind, contact us.

Usage:

Overlay a remote repository into the destination provided.

gilt.yml
  - git: https://github.com/retr0h/ansible-etcd.git
    version: master
    dst: roles/retr0h.ansible-etcd/
$ gilt overlay

Overlay files from a remote repository into the destinations provided.

gilt.yml
  - git: https://github.com/lorin/openstack-ansible-modules.git
    version: master
    files:
      - src: "*_manage"
        dst: library/
      - src: nova_quota
        dst: library/
      - src: neutron_router
        dst: library/neutron_router.py
$ gilt overlay

Overlay a directory from a remote repository into the destination provided.

gilt.yml
  - git: https://github.com/blueboxgroup/ursula.git
    version: master
    files:
      - src: roles/logging
        dst: roles/blueboxgroup.logging/
$ gilt overlay

Optionally, override gilt’s cache location (defaults to ~/.gilt):

$ export GILT_CACHE_DIRECTORY=~/my-gilt-cache

Overlay files and a directory and run post-overlay commands.

gilt.yml
  - git: https://github.com/example/subproject.git
    version: master
    files:
      - src: subtool/test
        dst: ext/subtool.test/
        post_commands:
          - make

  - git: https://github.com/example/subtool2.git
    version: master
    dst: ext/subtool2/
    post_commands:
      - make
$ gilt overlay

Display the git commands being executed.

$ gilt --debug overlay

Use an alternate config file (default gilt.yml).

$ gilt --config /path/to/gilt.yml overlay

Molecule

Integrates with Molecule as an Ansible Galaxy CLI replacement. Update molecule.yml with the following.

---
dependency:
  name: shell
  command: gilt overlay

Indices and tables