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.
- labops-0.1.4/.devcontainer/devcontainer.json +43 -0
- labops-0.1.4/.github/dependabot.yml +12 -0
- labops-0.1.4/.github/workflows/publish.yml +43 -0
- labops-0.1.4/.github/workflows/release_please.yml +19 -0
- labops-0.1.4/.gitignore +52 -0
- labops-0.1.4/.pre-commit-config.yaml +30 -0
- labops-0.1.4/.python-version +1 -0
- labops-0.1.4/.release-please-manifest.json +3 -0
- labops-0.1.4/CHANGELOG.md +30 -0
- labops-0.1.4/LICENSE +674 -0
- labops-0.1.4/PKG-INFO +45 -0
- labops-0.1.4/README.md +32 -0
- labops-0.1.4/ansible/playbooks/host/setup/alpine.yml +18 -0
- labops-0.1.4/ansible/playbooks/host/setup/common.yml +26 -0
- labops-0.1.4/ansible/playbooks/host/setup/debian.yml +17 -0
- labops-0.1.4/ansible/playbooks/host/setup/redhat.yml +17 -0
- labops-0.1.4/ansible/playbooks/host/setup.yml +4 -0
- labops-0.1.4/ansible/playbooks/host/update/alpine.yml +9 -0
- labops-0.1.4/ansible/playbooks/host/update/debian.yml +9 -0
- labops-0.1.4/ansible/playbooks/host/update/redhat.yml +10 -0
- labops-0.1.4/ansible/playbooks/host/update.yml +3 -0
- labops-0.1.4/ansible/requirements.yml +3 -0
- labops-0.1.4/justfile +24 -0
- labops-0.1.4/labops_cli.py +257 -0
- labops-0.1.4/models/inputConf/YamlRoot.py +9 -0
- labops-0.1.4/models/inputConf/creds.py +26 -0
- labops-0.1.4/models/inputConf/hosts.py +45 -0
- labops-0.1.4/models/inputConf/settings.py +20 -0
- labops-0.1.4/pyproject.toml +41 -0
- labops-0.1.4/release-please-config.json +14 -0
- labops-0.1.4/src/host/__init__.py +13 -0
- labops-0.1.4/src/host/find.py +29 -0
- labops-0.1.4/src/host/setup.py +74 -0
- labops-0.1.4/src/host/update.py +52 -0
- labops-0.1.4/src/utils/__init__.py +0 -0
- labops-0.1.4/src/utils/ansible_runner.py +28 -0
- labops-0.1.4/src/utils/yaml_validator.py +24 -0
- labops-0.1.4/src/vm/__init__.py +11 -0
- labops-0.1.4/src/vm/find.py +40 -0
- labops-0.1.4/test-samples/docker/homeassistant/docker-compose.yaml +0 -0
- labops-0.1.4/test-samples/docker/nebula-sync/docker-compose.yaml +0 -0
- labops-0.1.4/test-samples/docker/nginx/docker-compose.yaml +0 -0
- labops-0.1.4/test-samples/homelab-complete.yml +100 -0
- labops-0.1.4/test-samples/homelab-test.yml +18 -0
- 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 }}
|
labops-0.1.4/.gitignore
ADDED
|
@@ -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,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))
|