Skip to main content

Declarative parametrization, extension and validation of Inmanta DSL models.

Project description

GitOps module

pypi version build status

This package is an integration module that is meant to be used with the inmanta orchestrator: https://docs.inmanta.com

It allows you to easily parametrize a model by defining slices, and then instantiating as many slices as you need to by simply creating json or yaml files in the project repository. This module aims at enabling its users to manage an infra in a "Git-Ops" fashion. Key ideas are:

  1. Declarative Configuration: The desired state of your infrastructure and applications is described in a declarative format (json/yaml files) within a Git repository.
  2. Version Control: Git serves as the central source of truth, meaning all changes are committed to the repository, providing a complete history of the system's evolution.
  3. Automated Synchronization: The orchestrator continuously monitors the Git repository and pulls in new updates.
  4. Pull Requests for Changes: When you want to make a change, you create a pull request to modify the Git repository.
  5. Deployment & Reconciliation: Once the pull request is approved and merged, the orchestrator automatically pulls the changes and deploys them to the live environment, ensuring the actual system state matches the desired state in Git.

All of this is already natively supported by the orchestrator by modifying the main.cf file of a project. This works but scales poorly and it is not possible to track deleted items, this modules aims at addressing these limitations.

More details about the design in the docs folder.

Running tests

  1. Set up a new virtual environment, then install the module in it. The first line assumes you have virtualenvwrapper installed. If you don't, you can replace it with python3 -m venv .env && source .env/bin/activate.
mkvirtualenv inmanta-test -p python3 -a .
pip install -e . -c requirements.txt -r requirements.dev.txt
  1. Run tests
pytest tests

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

inmanta_module_git_ops-0.1.4.tar.gz (36.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

inmanta_module_git_ops-0.1.4-py3-none-any.whl (29.0 kB view details)

Uploaded Python 3

File details

Details for the file inmanta_module_git_ops-0.1.4.tar.gz.

File metadata

  • Download URL: inmanta_module_git_ops-0.1.4.tar.gz
  • Upload date:
  • Size: 36.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for inmanta_module_git_ops-0.1.4.tar.gz
Algorithm Hash digest
SHA256 f3fe8429078679662a75c24a88b2e0c0eb1c6f3d29625030786b7591aab03889
MD5 4473e56162eaabc9d40d7d44beb2daa3
BLAKE2b-256 92d7da761393d648048284b9a4c374601da26a88bcab6a56c00f73772bd03761

See more details on using hashes here.

Provenance

The following attestation bundles were made for inmanta_module_git_ops-0.1.4.tar.gz:

Publisher: continuous-delivery.yml on edvgui/inmanta-module-git-ops

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file inmanta_module_git_ops-0.1.4-py3-none-any.whl.

File metadata

File hashes

Hashes for inmanta_module_git_ops-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 a6b9a1ee2793839fc4f1a49056342d1a6d7af6b09758b670e7ebb73dba009d68
MD5 5b3c3d84a17cd8404273c39f6b7ac757
BLAKE2b-256 7521cb46f1b67721bd5a24dd6cf701c5d9c6a9dc729af1b37c35f99cbe99e6ad

See more details on using hashes here.

Provenance

The following attestation bundles were made for inmanta_module_git_ops-0.1.4-py3-none-any.whl:

Publisher: continuous-delivery.yml on edvgui/inmanta-module-git-ops

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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