GitOps Configserver
Inspired by puppet, kustomized and GitOps practices.
Planned features
- multitenant templates
- hieradata variables
- template plugins
- flask rest service
- gitsync for config repository synchronization in web mode
Usage
$ python -m gitops_server.cli config_gen -h
usage: cli.py config_gen [-h] --config_dir CONFIG_DIR
options:
-h, --help show this help message and exit
--config_dir CONFIG_DIR
Config directory
Example target repository:
- see
configdirectory for example configuration with templates, - https://github.com/pprzetacznik/gitops-configserver-tests
$ python -m gitops_server.cli server --config_dir=config
...
$ curl http://localhost:8002/configs
{"tenants":["tenant1"]}
Using cli for generating config
$ pip install -e .
$ gitops-configserver \
template_gen \
--config_dir=resources/test_config \
--tenant_name=tenant2 \
--template_name=build_variants.yaml \
--facts='{"environment": "test"}' > result1.txt
$ cat result1.txt
build:
my_application:
- env: test
os: ubuntu22.04
python: 3.12
- env: test
os: ubuntu22.04
python: 3.13
- env: test
os: ubuntu24.04
python: 3.12
- env: test
os: ubuntu24.04
python: 3.13
- env: dev
os: ubuntu18.04
python: python3.8
Setting up GitHub tokens
- Go to Setting -> Developer Settings -> Fine-grained personal access tokens
- Create a token with following settings:
Only select repositoriesand select your repositoryRepository permissionsand selectContent
Set the token as $GH_PAT in your local environment.
Publish new release
$ git tag v1.0
$ git push origin v1.0
Metadata
Release files for gitops-configserver 1.4.20250413150319
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| gitops_configserver-1.4.20250413150319.tar.gz | 11.7 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| gitops_configserver-1.4.20250413150319-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 27.6 kB
Release files / gitops_configserver-1.4.20250413150319.tar.gz
| Download URL | gitops_configserver-1.4.20250413150319.tar.gz |
|---|---|
| Size | 11.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a848082d67e6790d4e0e44f32cba8dd9d78083780ed9dfeee014a86540e105f5
|
|
BLAKE2b-256 checksum How to use checksums |
4143ab91698d4c714305bbd8424bc8edaca845745c51d3879df5c2481c215992
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Release files / gitops_configserver-1.4.20250413150319-py3-none-any.whl
| Download URL | gitops_configserver-1.4.20250413150319-py3-none-any.whl |
|---|---|
| Size | 15.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b10d855a48194f97def0881965fe1573ba9c24f3d6136e105295fe484ac4a51b
|
|
BLAKE2b-256 checksum How to use checksums |
e0a2fc185149e7e71bd32a721163125e56cd832216b0ae3a6d179c1bd7b7f837
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Security for gitops-configserver 1.4.20250413150319
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.