feat: allow for custom registry
This patch adds a simple CLI which can mirror all the images needed
as well as allow for simple override for `atmosphere_image_repository`
for all images.
diff --git a/pyproject.toml b/pyproject.toml
index 4d90329..96292e7 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -6,39 +6,59 @@
readme = "README.md"
[tool.poetry.scripts]
+atmosphere = "atmosphere.cmd.cli:main"
atmosphere-operator = "atmosphere.cmd.operator:main"
[tool.poetry.dependencies]
python = "^3.10"
-schematics = "^2.1.1"
-pykube-ng = "^22.7.0"
-structlog = "^22.1.0"
-rich = "^12.5.1"
-better-exceptions = "^0.3.3"
-mergedeep = "^1.3.4"
-taskflow = "^5.0.0"
-eventlet = "^0.33.1"
-tomli = "^2.0.1"
-tomli-w = "^1.0.0"
-jmespath = "^1.0.1"
-jsonnet = "^0.18.0"
-kopf = {extras = ["uvloop"], version = "^1.36.0"}
-openstacksdk = "^0.103.0"
-certbuilder = "^0.14.2"
+click = "^8.1.3"
+schematics = { version = "^2.1.1", optional = true }
+pykube-ng = { version = "^22.7.0", optional = true }
+structlog = { version = "^22.1.0", optional = true }
+mergedeep = { version = "^1.3.4", optional = true }
+taskflow = { version = "^5.0.0", optional = true }
+eventlet = { version = "^0.33.1", optional = true }
+tomli = { version = "^2.0.1", optional = true }
+jsonnet = { version = "^0.18.0", optional = true }
+kopf = { version = "^1.36.0", optional = true, extras = ["uvloop"] }
+openstacksdk = { version = "^0.103.0", optional = true }
+certbuilder = { version = "^0.14.2", optional = true }
+"oslo.log" = "^5.0.2"
+"oslo.config" = "^9.0.0"
+"oslo.concurrency" = "^5.0.1"
+docker-image-py = "^0.1.12"
+
+[tool.poetry.extras]
+operator = [
+ "schematics",
+ "pykube-ng",
+ "structlog",
+ "rich",
+ "better-exceptions",
+ "mergedeep",
+ "taskflow",
+ "eventlet",
+ "tomli",
+ "jsonnet",
+ "kopf",
+ "openstacksdk",
+ "certbuilder",
+]
[tool.poetry.group.dev.dependencies]
-pytest = "^7.1.3"
-pytest-mock = "^3.8.2"
-pytest-cov = "^3.0.0"
-pytest-kind = "^22.9.0"
+ansible-core = "^2.13.4"
flake8 = "^5.0.4"
flake8-isort = "^4.2.0"
-python-on-whales = "^0.52.0"
Jinja2 = "^3.1.2"
jinja2-base64-filters = "^0.1.4"
molecule = "^4.0.1"
-ansible-core = "^2.13.4"
-
+jmespath = "^1.0.1"
+pytest = "^7.1.3"
+pytest-cov = "^3.0.0"
+pytest-kind = "^22.9.0"
+pytest-mock = "^3.8.2"
+python-on-whales = "^0.52.0"
+tomli-w = "^1.0.0"
[tool.poetry.group.docs.dependencies]
mkdocs-material = "^8.5.7"
@@ -51,10 +71,7 @@
profile = "black"
[tool.pytest.ini_options]
-addopts = [
- "--cov=atmosphere",
- "--cov-report=term-missing",
-]
+addopts = ["--cov=atmosphere", "--cov-report=term-missing"]
filterwarnings = [
"ignore::DeprecationWarning",
"ignore::schematics.deprecated.SchematicsDeprecationWarning",