labops 0.1.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. labops-0.1.4/.devcontainer/devcontainer.json +43 -0
  2. labops-0.1.4/.github/dependabot.yml +12 -0
  3. labops-0.1.4/.github/workflows/publish.yml +43 -0
  4. labops-0.1.4/.github/workflows/release_please.yml +19 -0
  5. labops-0.1.4/.gitignore +52 -0
  6. labops-0.1.4/.pre-commit-config.yaml +30 -0
  7. labops-0.1.4/.python-version +1 -0
  8. labops-0.1.4/.release-please-manifest.json +3 -0
  9. labops-0.1.4/CHANGELOG.md +30 -0
  10. labops-0.1.4/LICENSE +674 -0
  11. labops-0.1.4/PKG-INFO +45 -0
  12. labops-0.1.4/README.md +32 -0
  13. labops-0.1.4/ansible/playbooks/host/setup/alpine.yml +18 -0
  14. labops-0.1.4/ansible/playbooks/host/setup/common.yml +26 -0
  15. labops-0.1.4/ansible/playbooks/host/setup/debian.yml +17 -0
  16. labops-0.1.4/ansible/playbooks/host/setup/redhat.yml +17 -0
  17. labops-0.1.4/ansible/playbooks/host/setup.yml +4 -0
  18. labops-0.1.4/ansible/playbooks/host/update/alpine.yml +9 -0
  19. labops-0.1.4/ansible/playbooks/host/update/debian.yml +9 -0
  20. labops-0.1.4/ansible/playbooks/host/update/redhat.yml +10 -0
  21. labops-0.1.4/ansible/playbooks/host/update.yml +3 -0
  22. labops-0.1.4/ansible/requirements.yml +3 -0
  23. labops-0.1.4/justfile +24 -0
  24. labops-0.1.4/labops_cli.py +257 -0
  25. labops-0.1.4/models/inputConf/YamlRoot.py +9 -0
  26. labops-0.1.4/models/inputConf/creds.py +26 -0
  27. labops-0.1.4/models/inputConf/hosts.py +45 -0
  28. labops-0.1.4/models/inputConf/settings.py +20 -0
  29. labops-0.1.4/pyproject.toml +41 -0
  30. labops-0.1.4/release-please-config.json +14 -0
  31. labops-0.1.4/src/host/__init__.py +13 -0
  32. labops-0.1.4/src/host/find.py +29 -0
  33. labops-0.1.4/src/host/setup.py +74 -0
  34. labops-0.1.4/src/host/update.py +52 -0
  35. labops-0.1.4/src/utils/__init__.py +0 -0
  36. labops-0.1.4/src/utils/ansible_runner.py +28 -0
  37. labops-0.1.4/src/utils/yaml_validator.py +24 -0
  38. labops-0.1.4/src/vm/__init__.py +11 -0
  39. labops-0.1.4/src/vm/find.py +40 -0
  40. labops-0.1.4/test-samples/docker/homeassistant/docker-compose.yaml +0 -0
  41. labops-0.1.4/test-samples/docker/nebula-sync/docker-compose.yaml +0 -0
  42. labops-0.1.4/test-samples/docker/nginx/docker-compose.yaml +0 -0
  43. labops-0.1.4/test-samples/homelab-complete.yml +100 -0
  44. labops-0.1.4/test-samples/homelab-test.yml +18 -0
  45. labops-0.1.4/uv.lock +622 -0
@@ -0,0 +1,43 @@
1
+ // For format details, see https://aka.ms/devcontainer.json. For config options, see the
2
+ // README at: https://github.com/devcontainers/templates/tree/main/src/python
3
+ {
4
+ "name": "Python 3",
5
+ // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
6
+ "image": "mcr.microsoft.com/devcontainers/python:3-3.14-trixie",
7
+ "runArgs": [
8
+ "--network=host"
9
+ ],
10
+ "features": {
11
+ "ghcr.io/devcontainers/features/sshd:1": {},
12
+ "ghcr.io/va-h/devcontainers-features/uv:1": {},
13
+ "ghcr.io/guiyomh/features/just:0": {}
14
+ },
15
+
16
+ // Mount local SSH keys to target, so connection can be tested in devcontainer
17
+ "mounts": [
18
+ "source=${localEnv:HOME}${localEnv:USERPROFILE}/.ssh/id_homelab,target=/home/vscode/.ssh/id_homelab,type=bind,readonly",
19
+ "source=${localEnv:HOME}${localEnv:USERPROFILE}/.ssh/id_homelab.pub,target=/home/vscode/.ssh/id_homelab.pub,type=bind,readonly"
20
+ ],
21
+
22
+ // Features to add to the dev container. More info: https://containers.dev/features.
23
+ // "features": {},
24
+
25
+ // Use 'forwardPorts' to make a list of ports inside the container available locally.
26
+ // "forwardPorts": [],
27
+
28
+ // Use 'postCreateCommand' to run commands after the container is created.
29
+ // "postCreateCommand": "pip3 install --user -r requirements.txt",
30
+
31
+ // Configure tool-specific properties.
32
+ // "customizations": {},
33
+ "customizations": {
34
+ "vscode": {
35
+ "extensions": [
36
+ "astral-sh.ty",
37
+ "charliermarsh.ruff"
38
+ ]
39
+ }
40
+ }
41
+ // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
42
+ // "remoteUser": "root"
43
+ }
@@ -0,0 +1,12 @@
1
+ # To get started with Dependabot version updates, you'll need to specify which
2
+ # package ecosystems to update and where the package manifests are located.
3
+ # Please see the documentation for more information:
4
+ # https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
5
+ # https://containers.dev/guide/dependabot
6
+
7
+ version: 2
8
+ updates:
9
+ - package-ecosystem: "devcontainers"
10
+ directory: "/"
11
+ schedule:
12
+ interval: weekly
@@ -0,0 +1,43 @@
1
+ name: Publish
2
+
3
+ on:
4
+ release:
5
+ types: [published]
6
+
7
+ jobs:
8
+ uv-example:
9
+ name: python
10
+ runs-on: ubuntu-latest
11
+
12
+ environment:
13
+ name: pypi
14
+ permissions:
15
+ id-token: write
16
+ contents: read
17
+
18
+ steps:
19
+ - uses: actions/checkout@v6
20
+
21
+ - name: "Set up Python"
22
+ uses: actions/setup-python@v6
23
+ with:
24
+ python-version-file: "pyproject.toml"
25
+
26
+ - name: Install uv
27
+ uses: astral-sh/setup-uv@v7
28
+ with:
29
+ enable-cache: true
30
+
31
+ - name: Install the project
32
+ run: uv sync --all-extras --dev
33
+
34
+
35
+ - name: Build
36
+ run: uv build
37
+ # Check that basic features work and we didn't miss to include crucial files
38
+ #- name: Smoke test (wheel)
39
+ # run: uv run --isolated --no-project --with dist/*.whl tests/smoke_test.py
40
+ #- name: Smoke test (source distribution)
41
+ # run: uv run --isolated --no-project --with dist/*.tar.gz tests/smoke_test.py
42
+ - name: Publish
43
+ run: uv publish
@@ -0,0 +1,19 @@
1
+ on:
2
+ push:
3
+ branches:
4
+ - main
5
+
6
+ permissions:
7
+ contents: write
8
+ pull-requests: write
9
+ issues: write
10
+
11
+ name: Release Please
12
+
13
+ jobs:
14
+ release-please:
15
+ runs-on: ubuntu-latest
16
+ steps:
17
+ - uses: googleapis/release-please-action@v4
18
+ with:
19
+ token: ${{ secrets.ACTIONS_TOKEN }}
@@ -0,0 +1,52 @@
1
+ # Ansible Artifacts
2
+ .ansible-autogenerate/
3
+ artifacts
4
+ inventory
5
+ env
6
+ .ruff_cache
7
+
8
+ # Byte-compiled / optimized / DLL files
9
+ __pycache__/
10
+ *.py[cod]
11
+ *$py.class
12
+
13
+ # Environments
14
+ .env
15
+ .venv
16
+
17
+ # Distribution / packaging
18
+ .Python
19
+ build/
20
+ develop-eggs/
21
+ dist/
22
+ downloads/
23
+ eggs/
24
+ .eggs/
25
+ lib/
26
+ lib64/
27
+ parts/
28
+ sdist/
29
+ var/
30
+ wheels/
31
+ *.egg-info/
32
+ .installed.cfg
33
+ *.egg
34
+
35
+
36
+ # Unit test / coverage reports
37
+ htmlcov/
38
+ .tox/
39
+ .coverage
40
+ .coverage.*
41
+ .cache
42
+ nosetests.xml
43
+ coverage.xml
44
+ *.cover
45
+ .hypothesis/
46
+ .pytest_cache/
47
+
48
+ # IDE specific files
49
+ .idea/
50
+ .vscode/
51
+ *.swp
52
+ *.swo
@@ -0,0 +1,30 @@
1
+ default_install_hook_types:
2
+ - pre-commit
3
+ - commit-msg
4
+
5
+ repos:
6
+ - repo: https://github.com/compilerla/conventional-pre-commit
7
+ rev: v4.4.0
8
+ hooks:
9
+ - id: conventional-pre-commit
10
+ stages: [commit-msg]
11
+ args: [--strict, --verbose]
12
+
13
+ - repo: local
14
+ hooks:
15
+ - id: ruff
16
+ name: ruff annotation check
17
+ entry: ruff
18
+ args: [check, --select, ANN]
19
+ language: python
20
+ additional_dependencies: [ruff]
21
+ types: [python]
22
+ stages: [pre-commit]
23
+ - id: ty
24
+ name: ty type check
25
+ entry: ty
26
+ args: [check]
27
+ language: python
28
+ additional_dependencies: [ty]
29
+ types: [python]
30
+ stages: [pre-commit]
@@ -0,0 +1 @@
1
+ 3.14
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.1.4"
3
+ }
@@ -0,0 +1,30 @@
1
+ # Changelog
2
+
3
+ ## [0.1.4](https://github.com/FreezeManny/labops/compare/labops-v0.1.3...labops-v0.1.4) (2026-04-19)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * updated cli-text ([5dfeefc](https://github.com/FreezeManny/labops/commit/5dfeefcdf0b3e31bafde56408a090798a423db48))
9
+
10
+ ## [0.1.3](https://github.com/FreezeManny/labops/compare/labops-v0.1.2...labops-v0.1.3) (2026-04-19)
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+ * added more typing ([560d5e9](https://github.com/FreezeManny/labops/commit/560d5e96fcb98d0fc4d7ef6b40e7a99a46478efc))
16
+
17
+ ## [0.1.2](https://github.com/FreezeManny/labops/compare/labops-v0.1.1...labops-v0.1.2) (2026-04-19)
18
+
19
+
20
+ ### Bug Fixes
21
+
22
+ * update uv.lock ([5140fab](https://github.com/FreezeManny/labops/commit/5140fab45bee0f1dfafcf39ec2b05a49c099efc3))
23
+
24
+ ## [0.1.1](https://github.com/FreezeManny/labops/compare/labops-v0.1.0...labops-v0.1.1) (2026-04-19)
25
+
26
+
27
+ ### Bug Fixes
28
+
29
+ * changed name ([8e252ee](https://github.com/FreezeManny/labops/commit/8e252eefdcfd9613dd88f0491f7eb3582aff0a0e))
30
+ * changed name ([58a8bfc](https://github.com/FreezeManny/labops/commit/58a8bfcc7f7d2e556dd1335543fc8893aae3589a))