The ioc install/start/restart logic moves out of the ansible playbooks and the 'agebd ioc ...' cli into scripts run by the gitea runner: - ioc-install.sh / ioc-restart.sh run on the runner itself - ioc-start.sh triggers the shellbox commands over ssh - ioc-for-services.sh runs an action for one or all services They read the deployed ioc files from /sls instead of cloning the repo on the target host, so a service has to be deployed before its ioc can be installed. The deploy script therefore also takes over the environment suffix renaming of the subs/parameters files that ansible used to do, and the workflow steps are ordered deploy -> install. The commented-out ioc placeholders in the add-new-service workflow are filled in, and a manually triggered 'Ioc' workflow replaces the removed cli commands. With this, nothing uses ansible anymore, so the ansible dir, the cli ioc commands and the ansible dependencies are removed. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PJTevZiSsHepW2xnJGQY49
71 lines
1.2 KiB
TOML
71 lines
1.2 KiB
TOML
[project]
|
|
name = "agebd-cli"
|
|
version = "0.1.0"
|
|
description = "CLI for SLS HLA Framework"
|
|
requires-python = "==3.10.*"
|
|
authors = [
|
|
{ name = "Benjamin Labrecque" }
|
|
]
|
|
|
|
dependencies = [
|
|
"agebd",
|
|
"copier>=9.10.3",
|
|
"pydantic>=2.13.4",
|
|
"pydantic-settings>=2.14.2",
|
|
"pytest-mock>=3.15.1",
|
|
"pyyaml>=6.0.3",
|
|
"typer>=0.23.2",
|
|
]
|
|
|
|
# Dev dependencies
|
|
[dependency-groups]
|
|
dev = [
|
|
"ipython>=8.39.0",
|
|
"pyright>=1.1.410",
|
|
"pytest>=8.4.2",
|
|
"pytest-env>=1.7.0",
|
|
"pytest-mock>=3.15.1",
|
|
"ruff>=0.15.19",
|
|
]
|
|
|
|
[tool.uv.sources]
|
|
agebd = { path = "../packages/agebd", editable = true }
|
|
|
|
[build-system]
|
|
requires = ["setuptools", "wheel"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project.scripts]
|
|
agebd = "main:cli"
|
|
|
|
[tool.setuptools]
|
|
package-dir = {"" = "src"}
|
|
|
|
[tool.setuptools.packages.find]
|
|
where = ["src"]
|
|
|
|
[tool.uv]
|
|
package = true
|
|
|
|
[tool.pytest.ini_options]
|
|
# avoid pytest running tests inside tests/fixtures
|
|
testpaths = ["tests/tests"]
|
|
|
|
[tool.ruff]
|
|
include = [
|
|
"src/**/*.py",
|
|
"tests/**/*.py",
|
|
]
|
|
line-length = 100
|
|
|
|
[tool.ruff.lint]
|
|
extend-select = [
|
|
# use isort to sort imports
|
|
"I",
|
|
# remove unused imports
|
|
# "F401",
|
|
]
|
|
|
|
[tool.ruff.lint.isort]
|
|
known-first-party = ["agebd"]
|