diff --git a/.coveragerc b/.coveragerc
new file mode 100644
index 0000000..120af01
--- /dev/null
+++ b/.coveragerc
@@ -0,0 +1,2 @@
+[run]
+omit = atmosphere/tests/*
diff --git a/.gitignore b/.gitignore
index 8b7f63a..c56d48e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,3 +10,6 @@
 molecule/default/host_vars/*
 !molecule/default/host_vars/.gitkeep
 *.tar.gz
+__pycache__
+.pytest*
+.coverage
diff --git a/atmosphere/deploy.py b/atmosphere/deploy.py
new file mode 100644
index 0000000..be76d36
--- /dev/null
+++ b/atmosphere/deploy.py
@@ -0,0 +1,6 @@
+from atmosphere.models.openstack_helm import values
+
+
+def run(api, config):
+    if config.memcached:
+        values.Values.for_chart("memcached", config).apply(api)
diff --git a/atmosphere/models/__init__.py b/atmosphere/models/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/atmosphere/models/__init__.py
diff --git a/atmosphere/models/base.py b/atmosphere/models/base.py
new file mode 100644
index 0000000..025ba20
--- /dev/null
+++ b/atmosphere/models/base.py
@@ -0,0 +1,6 @@
+from schematics import models
+
+
+class Model(models.Model):
+    class Options:
+        serialize_when_none = False
diff --git a/atmosphere/models/conf.py b/atmosphere/models/conf.py
new file mode 100644
index 0000000..869b982
--- /dev/null
+++ b/atmosphere/models/conf.py
@@ -0,0 +1,39 @@
+import toml
+
+from schematics import types
+
+from atmosphere.models import base
+
+
+class ServiceConfig(base.Model):
+    enabled = types.BooleanType(default=True)
+    overrides = types.DictType(types.BaseType)
+
+
+class MemcachedImagesConfig(base.Model):
+    memcached = types.StringType(default="quay.io/vexxhost/memcached:1.6.9")
+    prometheus_memcached_exporter = types.StringType(
+        default="quay.io/vexxhost/memcached-exporter:v0.9.0-1"
+    )
+
+
+class MemcachedServiceConfig(ServiceConfig):
+    images = types.ModelType(MemcachedImagesConfig, default=MemcachedImagesConfig())
+    secret_key = types.StringType(required=True)
+
+
+class AtmosphereConfig(base.Model):
+    memcached = types.ModelType(
+        MemcachedServiceConfig, default=MemcachedServiceConfig()
+    )
+
+
+def from_toml(data):
+    cfg = AtmosphereConfig(toml.loads(data), validate=True)
+    cfg.validate()
+    return cfg
+
+
+def from_file(path):
+    with open(path) as f:
+        return from_toml(f.read())
diff --git a/atmosphere/models/openstack_helm/endpoints.py b/atmosphere/models/openstack_helm/endpoints.py
new file mode 100644
index 0000000..82519a6
--- /dev/null
+++ b/atmosphere/models/openstack_helm/endpoints.py
@@ -0,0 +1,79 @@
+from schematics import types
+
+from atmosphere.models import base
+
+
+class Endpoint(base.Model):
+    pass
+
+
+class EndpointHosts(base.Model):
+    default = types.StringType()
+
+
+class OsloCacheEndpointAuth(base.Model):
+    memcache_secret_key = types.StringType(required=True)
+
+
+class OsloCacheEndpoint(Endpoint):
+    auth = types.ModelType(OsloCacheEndpointAuth)
+
+    @classmethod
+    def for_chart(cls, chart, config):
+        return cls(
+            {
+                "auth": OsloCacheEndpointAuth(
+                    {
+                        "memcache_secret_key": config.memcached.secret_key,
+                    }
+                )
+            }
+        )
+
+
+class OsloDbEndpointHosts(EndpointHosts):
+    default = types.StringType(default="percona-xtradb-haproxy")
+
+
+class OsloDbEndpointAuthUser(base.Model):
+    username = types.StringType()
+    password = types.StringType()
+
+
+class OsloDbEndpointAuth(base.Model):
+    keystone = types.ModelType(OsloDbEndpointAuthUser)
+
+
+class OsloDbEndpoint(Endpoint):
+    auth = types.ModelType(OsloDbEndpointAuth)
+    hosts = types.ModelType(OsloDbEndpointHosts, default=OsloDbEndpointHosts())
+
+    @classmethod
+    def for_chart(cls, chart, config):
+        pass
+
+
+class Endpoints(base.Model):
+    oslo_cache = types.ModelType(OsloCacheEndpoint)
+    oslo_db = types.ModelType(OsloDbEndpoint)
+
+    MAPPINGS = {
+        "oslo_cache": OsloCacheEndpoint,
+        "oslo_db": OsloDbEndpoint,
+    }
+
+    ENDPOINTS = {
+        "memcached": ["oslo_cache", "oslo_db"],
+    }
+
+    @classmethod
+    def for_chart(cls, chart, config):
+        endpoint = cls()
+
+        for endpoint_name in cls.ENDPOINTS[chart]:
+            endpoint[endpoint_name] = cls.MAPPINGS[endpoint_name].for_chart(
+                chart, config
+            )
+        endpoint.validate()
+
+        return endpoint
diff --git a/atmosphere/models/openstack_helm/images.py b/atmosphere/models/openstack_helm/images.py
new file mode 100644
index 0000000..f807395
--- /dev/null
+++ b/atmosphere/models/openstack_helm/images.py
@@ -0,0 +1,38 @@
+from schematics import types
+
+from atmosphere.models import base
+
+
+class ImagesTags(base.Model):
+    pass
+
+
+class MemcachedImagesTags(ImagesTags):
+    memcached = types.StringType(required=True)
+    prometheus_memcached_exporter = types.StringType(required=True)
+
+    @classmethod
+    def for_chart(cls, chart, config):
+        return cls(
+            {
+                "memcached": config.memcached.images.memcached,
+                "prometheus_memcached_exporter": config.memcached.images.prometheus_memcached_exporter,
+            }
+        )
+
+
+class Images(base.Model):
+    pull_policy = types.StringType(default="Always")
+    tags = types.ModelType(ImagesTags)
+
+    MAPPINGS = {
+        "memcached": MemcachedImagesTags,
+    }
+
+    @classmethod
+    def for_chart(cls, chart, config):
+        return cls(
+            {
+                "tags": cls.MAPPINGS[chart].for_chart(chart, config),
+            }
+        )
diff --git a/atmosphere/models/openstack_helm/monitoring.py b/atmosphere/models/openstack_helm/monitoring.py
new file mode 100644
index 0000000..c508f3c
--- /dev/null
+++ b/atmosphere/models/openstack_helm/monitoring.py
@@ -0,0 +1,24 @@
+from schematics import types
+
+from atmosphere.models import base
+
+
+class PrometheusMonitoring(base.Model):
+    enabled = types.BooleanType()
+
+
+class Monitoring(base.Model):
+    prometheus = types.ModelType(PrometheusMonitoring)
+
+    @classmethod
+    def for_chart(cls, chart, config):
+        if chart == "memcached":
+            return Monitoring(
+                {
+                    "prometheus": PrometheusMonitoring(
+                        {
+                            "enabled": True,
+                        }
+                    )
+                }
+            )
diff --git a/atmosphere/models/openstack_helm/values.py b/atmosphere/models/openstack_helm/values.py
new file mode 100644
index 0000000..7b8accb
--- /dev/null
+++ b/atmosphere/models/openstack_helm/values.py
@@ -0,0 +1,59 @@
+import base64
+
+from schematics import types
+from schematics.transforms import blacklist
+import yaml
+import pykube
+
+from atmosphere.models import base
+from atmosphere.models.openstack_helm import endpoints
+from atmosphere.models.openstack_helm import images
+from atmosphere.models.openstack_helm import monitoring
+
+
+class Values(base.Model):
+    chart = types.StringType(required=True)
+
+    endpoints = types.ModelType(endpoints.Endpoints)
+    images = types.ModelType(images.Images)
+    monitoring = types.ModelType(monitoring.Monitoring)
+
+    class Options:
+        roles = {"default": blacklist("chart")}
+
+    @classmethod
+    def for_chart(cls, chart, config):
+        return cls(
+            {
+                "chart": chart,
+                "endpoints": endpoints.Endpoints.for_chart(chart, config),
+                "images": images.Images.for_chart(chart, config),
+                "monitoring": monitoring.Monitoring.for_chart(chart, config),
+            }
+        )
+
+    def secret(self):
+        values = yaml.dump(self.to_native(), default_flow_style=False)
+
+        return {
+            "apiVersion": "v1",
+            "kind": "Secret",
+            "metadata": {
+                "name": f"atmosphere-{self.chart}",
+                "namespace": "openstack",
+            },
+            "data": {
+                "values.yaml": base64.b64encode(values.encode("utf-8")).decode("utf-8"),
+            },
+        }
+
+    def apply(self, api):
+        resource = self.secret()
+        secret = pykube.Secret(api, resource)
+        
+        if secret.exists() != True:
+            secret.create()
+
+        if secret.obj["data"] != resource['data']:
+            secret.obj["data"] = resource['data']
+            secret.update()
diff --git a/atmosphere/operator.py b/atmosphere/operator.py
new file mode 100644
index 0000000..553d53f
--- /dev/null
+++ b/atmosphere/operator.py
@@ -0,0 +1,6 @@
+import kopf
+
+
+@kopf.on.event("secret", field="metadata.name", value="atmosphere-config")
+def secret_event_handler(body, **kwargs):
+    print(body)
diff --git a/atmosphere/shell.py b/atmosphere/shell.py
new file mode 100644
index 0000000..ebfc23f
--- /dev/null
+++ b/atmosphere/shell.py
@@ -0,0 +1,20 @@
+import click
+import pykube
+
+from atmosphere.models import conf
+from atmosphere import deploy
+
+
+@click.command()
+@click.option("--config", help="Path to Atmosphere config file", required=True)
+def deploy(config):
+    config = conf.from_file(config)
+
+    kube_config = pykube.KubeConfig.from_env()
+    api = pykube.HTTPClient(kube_config)
+
+    deploy.run(api, config)
+
+
+if __name__ == "__main__":
+    deploy()
diff --git a/atmosphere/tests/e2e/__init__.py b/atmosphere/tests/e2e/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/atmosphere/tests/e2e/__init__.py
diff --git a/atmosphere/tests/e2e/test_operator.py b/atmosphere/tests/e2e/test_operator.py
new file mode 100644
index 0000000..6992361
--- /dev/null
+++ b/atmosphere/tests/e2e/test_operator.py
@@ -0,0 +1 @@
+# TODO: e2e with kind
diff --git a/atmosphere/tests/integration/__init__.py b/atmosphere/tests/integration/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/atmosphere/tests/integration/__init__.py
diff --git a/atmosphere/tests/integration/test_kind.py b/atmosphere/tests/integration/test_kind.py
new file mode 100644
index 0000000..305af36
--- /dev/null
+++ b/atmosphere/tests/integration/test_kind.py
@@ -0,0 +1,47 @@
+import pykube
+
+from atmosphere import deploy
+from atmosphere.models import conf
+from atmosphere.models.openstack_helm import values
+
+
+def test_kubernetes_version(kind_cluster):
+    assert kind_cluster.api.version == ("1", "25")
+
+
+def test_deployment(kind_cluster, tmp_path):
+    kind_cluster.kubectl("create", "namespace", "openstack")
+
+    initial_path = tmp_path / "config-initial.toml"
+    initial_path.write_text(
+        """
+    [memcached]
+    secret_key = "secret"
+    """
+    )
+
+    config = conf.from_file(initial_path)
+    deploy.run(kind_cluster.api, config)
+
+    initial_memcache_secret = pykube.Secret(
+        kind_cluster.api, values.Values.for_chart("memcached", config).secret()
+    )
+    assert initial_memcache_secret.exists()
+
+    updated_path = tmp_path / "config-updated.toml"
+    updated_path.write_text(
+        """
+    [memcached]
+    secret_key = "not-secret"
+    """
+    )
+
+    config = conf.from_file(updated_path)
+    deploy.run(kind_cluster.api, config)
+
+    updated_memcache_secret = pykube.Secret(
+        kind_cluster.api, values.Values.for_chart("memcached", config).secret()
+    )
+    assert updated_memcache_secret.exists()
+
+    assert initial_memcache_secret.obj["data"] != updated_memcache_secret.obj["data"]
diff --git a/atmosphere/tests/unit/models/openstack_helm/test_endpoints.py b/atmosphere/tests/unit/models/openstack_helm/test_endpoints.py
new file mode 100644
index 0000000..93516ba
--- /dev/null
+++ b/atmosphere/tests/unit/models/openstack_helm/test_endpoints.py
@@ -0,0 +1,29 @@
+import uuid
+import pytest
+
+from schematics import exceptions
+
+from atmosphere.models import conf
+from atmosphere.models.openstack_helm import endpoints as osh_endpoints
+
+
+def test_endpoint_for_chart_memcached():
+    data = conf.AtmosphereConfig.get_mock_object()
+    data.memcached.secret_key = "foobar"
+    endpoints = osh_endpoints.Endpoints.for_chart("memcached", data)
+
+    assert {
+        "oslo_cache": {
+            "auth": {
+                "memcache_secret_key": "foobar",
+            }
+        }
+    } == endpoints.to_primitive()
+
+
+def test_endpoint_for_chart_memcached_with_no_secret_key():
+    data = conf.AtmosphereConfig.get_mock_object()
+    data.memcached.secret_key = None
+
+    with pytest.raises(exceptions.DataError):
+        osh_endpoints.Endpoints.for_chart("memcached", data)
diff --git a/atmosphere/tests/unit/models/openstack_helm/test_images.py b/atmosphere/tests/unit/models/openstack_helm/test_images.py
new file mode 100644
index 0000000..fb5caf2
--- /dev/null
+++ b/atmosphere/tests/unit/models/openstack_helm/test_images.py
@@ -0,0 +1,33 @@
+import uuid
+
+from atmosphere.models import conf
+from atmosphere.models.openstack_helm import images as osh_images
+
+
+def test_images_for_chart_memcached_with_defaults():
+    data = conf.AtmosphereConfig.get_mock_object()
+    images = osh_images.Images.for_chart("memcached", data)
+
+    assert {
+        "pull_policy": "Always",
+        "tags": {
+            "memcached": data.memcached.images.memcached,
+            "prometheus_memcached_exporter": data.memcached.images.prometheus_memcached_exporter,
+        },
+    }, images.to_primitive()
+
+
+def test_images_for_chart_memcached_with_overrides():
+    data = conf.AtmosphereConfig.get_mock_object()
+    data.memcached.images.memcached = "foo"
+    data.memcached.images.prometheus_memcached_exporter = "bar"
+
+    images = osh_images.Images.for_chart("memcached", data)
+
+    assert {
+        "pull_policy": "Always",
+        "tags": {
+            "memcached": "foo",
+            "prometheus_memcached_exporter": "bar",
+        },
+    }, images.to_primitive()
diff --git a/atmosphere/tests/unit/models/openstack_helm/test_values.py b/atmosphere/tests/unit/models/openstack_helm/test_values.py
new file mode 100644
index 0000000..0223ae5
--- /dev/null
+++ b/atmosphere/tests/unit/models/openstack_helm/test_values.py
@@ -0,0 +1,118 @@
+import pytest
+import pykube
+
+from atmosphere.models import conf
+from atmosphere.models.openstack_helm import values as osh_values
+
+
+class TestMemcachedValues:
+    def test_values_for_chart(self):
+        data = conf.AtmosphereConfig.get_mock_object()
+        data.memcached.secret_key = "foobar"
+
+        values = osh_values.Values.for_chart("memcached", data)
+
+        assert {
+            "endpoints": {"oslo_cache": {"auth": {"memcache_secret_key": "foobar"}}},
+            "images": {
+                "pull_policy": "Always",
+                "tags": {
+                    "memcached": data.memcached.images.memcached,
+                    "prometheus_memcached_exporter": data.memcached.images.prometheus_memcached_exporter,
+                },
+            },
+            "monitoring": {
+                "prometheus": {
+                    "enabled": True,
+                }
+            },
+        } == values.to_primitive()
+
+    def test_apply_for_chart_with_no_existing_config(self, mocker):
+        data = conf.AtmosphereConfig.get_mock_object()
+        data.memcached.secret_key = "foobar"
+
+        values = osh_values.Values.for_chart("memcached", data)
+
+        api = mocker.MagicMock()
+
+        mocked_secret = mocker.MagicMock()
+        mocked_secret.obj = values.secret()
+        mocked_secret.exists.return_value = False
+
+        mocked_secret_class = mocker.patch("pykube.Secret")
+        mocked_secret_class.return_value = mocked_secret
+
+        values.apply(api)
+
+        mocked_secret_class.assert_called_once_with(api, values.secret())
+        mocked_secret.exists.assert_called_once()
+        mocked_secret.create.assert_called_once()
+        mocked_secret.update.assert_not_called()
+
+    def test_apply_for_chart_with_no_config_change(self, mocker):
+        data = conf.AtmosphereConfig.get_mock_object()
+        data.memcached.secret_key = "foobar"
+
+        values = osh_values.Values.for_chart("memcached", data)
+
+        api = mocker.MagicMock()
+
+        mocked_secret = mocker.MagicMock()
+        mocked_secret.obj = values.secret()
+        mocked_secret.exists.return_value = True
+
+        mocked_secret_class = mocker.patch("pykube.Secret")
+        mocked_secret_class.return_value = mocked_secret
+
+        values.apply(api)
+
+        mocked_secret_class.assert_called_once_with(api, values.secret())
+        mocked_secret.exists.assert_called_once()
+        mocked_secret.create.assert_not_called()
+        mocked_secret.update.assert_not_called()
+
+    def test_apply_for_chart_with_config_change(self, mocker):
+        data = conf.AtmosphereConfig.get_mock_object()
+        data.memcached.secret_key = "foobar"
+
+        old_values = osh_values.Values.for_chart("memcached", data)
+
+        data.memcached.secret_key = "barfoo"
+        new_values = osh_values.Values.for_chart("memcached", data)
+
+        api = mocker.MagicMock()
+
+        mocked_secret = mocker.MagicMock()
+        mocked_secret.obj = old_values.secret()
+        mocked_secret.exists.return_value = True
+
+        mocked_secret_class = mocker.patch("pykube.Secret")
+        mocked_secret_class.return_value = mocked_secret
+
+        new_values.apply(api)
+
+        mocked_secret_class.assert_called_once_with(api, new_values.secret())
+        mocked_secret.exists.assert_called_once()
+        mocked_secret.create.assert_not_called()
+        mocked_secret.update.assert_called_once()
+
+    def test_apply_for_chart_with_unknown_failure(self, mocker):
+        data = conf.AtmosphereConfig.get_mock_object()
+        data.memcached.secret_key = "foobar"
+
+        values = osh_values.Values.for_chart("memcached", data)
+
+        api = mocker.MagicMock()
+        mocked_secret = mocker.MagicMock()
+        mocked_secret.obj = values.secret()
+        mocked_secret.exists.side_effect = pykube.exceptions.KubernetesError
+
+        mocked_secret_class = mocker.patch("pykube.Secret")
+        mocked_secret_class.return_value = mocked_secret
+
+        with pytest.raises(pykube.exceptions.KubernetesError):
+            values.apply(api)
+
+        mocked_secret_class.assert_called_once_with(api, values.secret())
+        mocked_secret.exists.assert_called_once()
diff --git a/atmosphere/tests/unit/models/test_config.py b/atmosphere/tests/unit/models/test_config.py
new file mode 100644
index 0000000..dff8510
--- /dev/null
+++ b/atmosphere/tests/unit/models/test_config.py
@@ -0,0 +1,54 @@
+import pytest
+import uuid
+
+from schematics import exceptions
+
+from atmosphere.models import conf
+
+MEMCACHE_SECRET_KEY = uuid.uuid4().hex
+
+VALID_CONFIG = f"""
+[memcached]
+secret_key = "{MEMCACHE_SECRET_KEY}"
+"""
+
+
+def test_from_toml_with_valid_configuration():
+    try:
+        data = conf.from_toml(VALID_CONFIG)
+    except:
+        pytest.fail("Failed to parse valid configuration")
+
+    assert data.memcached.secret_key == MEMCACHE_SECRET_KEY
+
+
+def test_from_toml_with_invalid_configuration():
+    with pytest.raises(exceptions.DataError):
+        data = conf.from_toml("")
+
+
+def test_from_file_with_valid_configuration(tmp_path):
+    path = tmp_path / "config.toml"
+    path.write_text(VALID_CONFIG)
+
+    try:
+        data = conf.from_file(path)
+    except:
+        pytest.fail("Failed to parse valid configuration")
+
+    assert data.memcached.secret_key == MEMCACHE_SECRET_KEY
+
+
+def test_from_file_with_invalid_configuration(tmp_path):
+    path = tmp_path / "config.toml"
+    path.write_text("")
+
+    with pytest.raises(exceptions.DataError):
+        data = conf.from_file(path)
+
+
+def test_from_file_with_missing_file(tmp_path):
+    path = tmp_path / "config.toml"
+
+    with pytest.raises(FileNotFoundError):
+        data = conf.from_file(path)
diff --git a/poetry.lock b/poetry.lock
new file mode 100644
index 0000000..380be36
--- /dev/null
+++ b/poetry.lock
@@ -0,0 +1,421 @@
+[[package]]
+name = "attrs"
+version = "22.1.0"
+description = "Classes Without Boilerplate"
+category = "dev"
+optional = false
+python-versions = ">=3.5"
+
+[package.extras]
+dev = ["cloudpickle", "coverage[toml] (>=5.0.2)", "furo", "hypothesis", "mypy (>=0.900,!=0.940)", "pre-commit", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "sphinx", "sphinx-notfound-page", "zope.interface"]
+docs = ["furo", "sphinx", "sphinx-notfound-page", "zope.interface"]
+tests = ["cloudpickle", "coverage[toml] (>=5.0.2)", "hypothesis", "mypy (>=0.900,!=0.940)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "zope.interface"]
+tests_no_zope = ["cloudpickle", "coverage[toml] (>=5.0.2)", "hypothesis", "mypy (>=0.900,!=0.940)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins"]
+
+[[package]]
+name = "certifi"
+version = "2022.9.14"
+description = "Python package for providing Mozilla's CA Bundle."
+category = "main"
+optional = false
+python-versions = ">=3.6"
+
+[[package]]
+name = "charset-normalizer"
+version = "2.1.1"
+description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet."
+category = "main"
+optional = false
+python-versions = ">=3.6.0"
+
+[package.extras]
+unicode_backport = ["unicodedata2"]
+
+[[package]]
+name = "colorama"
+version = "0.4.5"
+description = "Cross-platform colored terminal text."
+category = "dev"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
+
+[[package]]
+name = "coverage"
+version = "6.4.4"
+description = "Code coverage measurement for Python"
+category = "dev"
+optional = false
+python-versions = ">=3.7"
+
+[package.dependencies]
+tomli = {version = "*", optional = true, markers = "python_full_version <= \"3.11.0a6\" and extra == \"toml\""}
+
+[package.extras]
+toml = ["tomli"]
+
+[[package]]
+name = "idna"
+version = "3.4"
+description = "Internationalized Domain Names in Applications (IDNA)"
+category = "main"
+optional = false
+python-versions = ">=3.5"
+
+[[package]]
+name = "iniconfig"
+version = "1.1.1"
+description = "iniconfig: brain-dead simple config-ini parsing"
+category = "dev"
+optional = false
+python-versions = "*"
+
+[[package]]
+name = "packaging"
+version = "21.3"
+description = "Core utilities for Python packages"
+category = "dev"
+optional = false
+python-versions = ">=3.6"
+
+[package.dependencies]
+pyparsing = ">=2.0.2,<3.0.5 || >3.0.5"
+
+[[package]]
+name = "pluggy"
+version = "1.0.0"
+description = "plugin and hook calling mechanisms for python"
+category = "dev"
+optional = false
+python-versions = ">=3.6"
+
+[package.extras]
+dev = ["pre-commit", "tox"]
+testing = ["pytest", "pytest-benchmark"]
+
+[[package]]
+name = "py"
+version = "1.11.0"
+description = "library with cross-python path, ini-parsing, io, code, log facilities"
+category = "dev"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
+
+[[package]]
+name = "pykube-ng"
+version = "22.7.0"
+description = "Python client library for Kubernetes"
+category = "main"
+optional = false
+python-versions = ">=3.8,<4"
+
+[package.dependencies]
+pyyaml = "*"
+requests = ">=2.12"
+urllib3 = ">=1.26.9"
+
+[package.extras]
+gcp = ["google-auth", "jsonpath-ng"]
+oidc = ["requests-oauthlib (>=1.3.0,<2.0.0)"]
+
+[[package]]
+name = "pyparsing"
+version = "3.0.9"
+description = "pyparsing module - Classes and methods to define and execute parsing grammars"
+category = "dev"
+optional = false
+python-versions = ">=3.6.8"
+
+[package.extras]
+diagrams = ["jinja2", "railroad-diagrams"]
+
+[[package]]
+name = "pytest"
+version = "7.1.3"
+description = "pytest: simple powerful testing with Python"
+category = "dev"
+optional = false
+python-versions = ">=3.7"
+
+[package.dependencies]
+attrs = ">=19.2.0"
+colorama = {version = "*", markers = "sys_platform == \"win32\""}
+iniconfig = "*"
+packaging = "*"
+pluggy = ">=0.12,<2.0"
+py = ">=1.8.2"
+tomli = ">=1.0.0"
+
+[package.extras]
+testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "xmlschema"]
+
+[[package]]
+name = "pytest-cov"
+version = "3.0.0"
+description = "Pytest plugin for measuring coverage."
+category = "dev"
+optional = false
+python-versions = ">=3.6"
+
+[package.dependencies]
+coverage = {version = ">=5.2.1", extras = ["toml"]}
+pytest = ">=4.6"
+
+[package.extras]
+testing = ["fields", "hunter", "process-tests", "pytest-xdist", "six", "virtualenv"]
+
+[[package]]
+name = "pytest-kind"
+version = "22.9.0"
+description = "Kubernetes test support with KIND for pytest"
+category = "dev"
+optional = false
+python-versions = ">=3.7"
+
+[package.dependencies]
+pykube-ng = ">=0.30"
+
+[[package]]
+name = "pytest-mock"
+version = "3.8.2"
+description = "Thin-wrapper around the mock package for easier use with pytest"
+category = "dev"
+optional = false
+python-versions = ">=3.7"
+
+[package.dependencies]
+pytest = ">=5.0"
+
+[package.extras]
+dev = ["pre-commit", "pytest-asyncio", "tox"]
+
+[[package]]
+name = "PyYAML"
+version = "6.0"
+description = "YAML parser and emitter for Python"
+category = "main"
+optional = false
+python-versions = ">=3.6"
+
+[[package]]
+name = "requests"
+version = "2.28.1"
+description = "Python HTTP for Humans."
+category = "main"
+optional = false
+python-versions = ">=3.7, <4"
+
+[package.dependencies]
+certifi = ">=2017.4.17"
+charset-normalizer = ">=2,<3"
+idna = ">=2.5,<4"
+urllib3 = ">=1.21.1,<1.27"
+
+[package.extras]
+socks = ["PySocks (>=1.5.6,!=1.5.7)"]
+use_chardet_on_py3 = ["chardet (>=3.0.2,<6)"]
+
+[[package]]
+name = "schematics"
+version = "2.1.1"
+description = "Python Data Structures for Humans"
+category = "main"
+optional = false
+python-versions = "*"
+
+[[package]]
+name = "tomli"
+version = "2.0.1"
+description = "A lil' TOML parser"
+category = "dev"
+optional = false
+python-versions = ">=3.7"
+
+[[package]]
+name = "urllib3"
+version = "1.26.12"
+description = "HTTP library with thread-safe connection pooling, file post, and more."
+category = "main"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, <4"
+
+[package.extras]
+brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)", "brotlipy (>=0.6.0)"]
+secure = ["certifi", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "ipaddress", "pyOpenSSL (>=0.14)", "urllib3-secure-extra"]
+socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"]
+
+[metadata]
+lock-version = "1.1"
+python-versions = "^3.10"
+content-hash = "5c1cfa45619c49a96407337026b89fe242627373afde440cc3633bb679acc566"
+
+[metadata.files]
+attrs = [
+    {file = "attrs-22.1.0-py2.py3-none-any.whl", hash = "sha256:86efa402f67bf2df34f51a335487cf46b1ec130d02b8d39fd248abfd30da551c"},
+    {file = "attrs-22.1.0.tar.gz", hash = "sha256:29adc2665447e5191d0e7c568fde78b21f9672d344281d0c6e1ab085429b22b6"},
+]
+certifi = [
+    {file = "certifi-2022.9.14-py3-none-any.whl", hash = "sha256:e232343de1ab72c2aa521b625c80f699e356830fd0e2c620b465b304b17b0516"},
+    {file = "certifi-2022.9.14.tar.gz", hash = "sha256:36973885b9542e6bd01dea287b2b4b3b21236307c56324fcc3f1160f2d655ed5"},
+]
+charset-normalizer = [
+    {file = "charset-normalizer-2.1.1.tar.gz", hash = "sha256:5a3d016c7c547f69d6f81fb0db9449ce888b418b5b9952cc5e6e66843e9dd845"},
+    {file = "charset_normalizer-2.1.1-py3-none-any.whl", hash = "sha256:83e9a75d1911279afd89352c68b45348559d1fc0506b054b346651b5e7fee29f"},
+]
+colorama = [
+    {file = "colorama-0.4.5-py2.py3-none-any.whl", hash = "sha256:854bf444933e37f5824ae7bfc1e98d5bce2ebe4160d46b5edf346a89358e99da"},
+    {file = "colorama-0.4.5.tar.gz", hash = "sha256:e6c6b4334fc50988a639d9b98aa429a0b57da6e17b9a44f0451f930b6967b7a4"},
+]
+coverage = [
+    {file = "coverage-6.4.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e7b4da9bafad21ea45a714d3ea6f3e1679099e420c8741c74905b92ee9bfa7cc"},
+    {file = "coverage-6.4.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fde17bc42e0716c94bf19d92e4c9f5a00c5feb401f5bc01101fdf2a8b7cacf60"},
+    {file = "coverage-6.4.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cdbb0d89923c80dbd435b9cf8bba0ff55585a3cdb28cbec65f376c041472c60d"},
+    {file = "coverage-6.4.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:67f9346aeebea54e845d29b487eb38ec95f2ecf3558a3cffb26ee3f0dcc3e760"},
+    {file = "coverage-6.4.4-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42c499c14efd858b98c4e03595bf914089b98400d30789511577aa44607a1b74"},
+    {file = "coverage-6.4.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:c35cca192ba700979d20ac43024a82b9b32a60da2f983bec6c0f5b84aead635c"},
+    {file = "coverage-6.4.4-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:9cc4f107009bca5a81caef2fca843dbec4215c05e917a59dec0c8db5cff1d2aa"},
+    {file = "coverage-6.4.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:5f444627b3664b80d078c05fe6a850dd711beeb90d26731f11d492dcbadb6973"},
+    {file = "coverage-6.4.4-cp310-cp310-win32.whl", hash = "sha256:66e6df3ac4659a435677d8cd40e8eb1ac7219345d27c41145991ee9bf4b806a0"},
+    {file = "coverage-6.4.4-cp310-cp310-win_amd64.whl", hash = "sha256:35ef1f8d8a7a275aa7410d2f2c60fa6443f4a64fae9be671ec0696a68525b875"},
+    {file = "coverage-6.4.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c1328d0c2f194ffda30a45f11058c02410e679456276bfa0bbe0b0ee87225fac"},
+    {file = "coverage-6.4.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:61b993f3998ee384935ee423c3d40894e93277f12482f6e777642a0141f55782"},
+    {file = "coverage-6.4.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d5dd4b8e9cd0deb60e6fcc7b0647cbc1da6c33b9e786f9c79721fd303994832f"},
+    {file = "coverage-6.4.4-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7026f5afe0d1a933685d8f2169d7c2d2e624f6255fb584ca99ccca8c0e966fd7"},
+    {file = "coverage-6.4.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:9c7b9b498eb0c0d48b4c2abc0e10c2d78912203f972e0e63e3c9dc21f15abdaa"},
+    {file = "coverage-6.4.4-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:ee2b2fb6eb4ace35805f434e0f6409444e1466a47f620d1d5763a22600f0f892"},
+    {file = "coverage-6.4.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:ab066f5ab67059d1f1000b5e1aa8bbd75b6ed1fc0014559aea41a9eb66fc2ce0"},
+    {file = "coverage-6.4.4-cp311-cp311-win32.whl", hash = "sha256:9d6e1f3185cbfd3d91ac77ea065d85d5215d3dfa45b191d14ddfcd952fa53796"},
+    {file = "coverage-6.4.4-cp311-cp311-win_amd64.whl", hash = "sha256:e3d3c4cc38b2882f9a15bafd30aec079582b819bec1b8afdbde8f7797008108a"},
+    {file = "coverage-6.4.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:a095aa0a996ea08b10580908e88fbaf81ecf798e923bbe64fb98d1807db3d68a"},
+    {file = "coverage-6.4.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ef6f44409ab02e202b31a05dd6666797f9de2aa2b4b3534e9d450e42dea5e817"},
+    {file = "coverage-6.4.4-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4b7101938584d67e6f45f0015b60e24a95bf8dea19836b1709a80342e01b472f"},
+    {file = "coverage-6.4.4-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:14a32ec68d721c3d714d9b105c7acf8e0f8a4f4734c811eda75ff3718570b5e3"},
+    {file = "coverage-6.4.4-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:6a864733b22d3081749450466ac80698fe39c91cb6849b2ef8752fd7482011f3"},
+    {file = "coverage-6.4.4-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:08002f9251f51afdcc5e3adf5d5d66bb490ae893d9e21359b085f0e03390a820"},
+    {file = "coverage-6.4.4-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:a3b2752de32c455f2521a51bd3ffb53c5b3ae92736afde67ce83477f5c1dd928"},
+    {file = "coverage-6.4.4-cp37-cp37m-win32.whl", hash = "sha256:f855b39e4f75abd0dfbcf74a82e84ae3fc260d523fcb3532786bcbbcb158322c"},
+    {file = "coverage-6.4.4-cp37-cp37m-win_amd64.whl", hash = "sha256:ee6ae6bbcac0786807295e9687169fba80cb0617852b2fa118a99667e8e6815d"},
+    {file = "coverage-6.4.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:564cd0f5b5470094df06fab676c6d77547abfdcb09b6c29c8a97c41ad03b103c"},
+    {file = "coverage-6.4.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:cbbb0e4cd8ddcd5ef47641cfac97d8473ab6b132dd9a46bacb18872828031685"},
+    {file = "coverage-6.4.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6113e4df2fa73b80f77663445be6d567913fb3b82a86ceb64e44ae0e4b695de1"},
+    {file = "coverage-6.4.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8d032bfc562a52318ae05047a6eb801ff31ccee172dc0d2504614e911d8fa83e"},
+    {file = "coverage-6.4.4-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e431e305a1f3126477abe9a184624a85308da8edf8486a863601d58419d26ffa"},
+    {file = "coverage-6.4.4-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:cf2afe83a53f77aec067033199797832617890e15bed42f4a1a93ea24794ae3e"},
+    {file = "coverage-6.4.4-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:783bc7c4ee524039ca13b6d9b4186a67f8e63d91342c713e88c1865a38d0892a"},
+    {file = "coverage-6.4.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:ff934ced84054b9018665ca3967fc48e1ac99e811f6cc99ea65978e1d384454b"},
+    {file = "coverage-6.4.4-cp38-cp38-win32.whl", hash = "sha256:e1fabd473566fce2cf18ea41171d92814e4ef1495e04471786cbc943b89a3781"},
+    {file = "coverage-6.4.4-cp38-cp38-win_amd64.whl", hash = "sha256:4179502f210ebed3ccfe2f78bf8e2d59e50b297b598b100d6c6e3341053066a2"},
+    {file = "coverage-6.4.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:98c0b9e9b572893cdb0a00e66cf961a238f8d870d4e1dc8e679eb8bdc2eb1b86"},
+    {file = "coverage-6.4.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:fc600f6ec19b273da1d85817eda339fb46ce9eef3e89f220055d8696e0a06908"},
+    {file = "coverage-6.4.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7a98d6bf6d4ca5c07a600c7b4e0c5350cd483c85c736c522b786be90ea5bac4f"},
+    {file = "coverage-6.4.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:01778769097dbd705a24e221f42be885c544bb91251747a8a3efdec6eb4788f2"},
+    {file = "coverage-6.4.4-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dfa0b97eb904255e2ab24166071b27408f1f69c8fbda58e9c0972804851e0558"},
+    {file = "coverage-6.4.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:fcbe3d9a53e013f8ab88734d7e517eb2cd06b7e689bedf22c0eb68db5e4a0a19"},
+    {file = "coverage-6.4.4-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:15e38d853ee224e92ccc9a851457fb1e1f12d7a5df5ae44544ce7863691c7a0d"},
+    {file = "coverage-6.4.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:6913dddee2deff8ab2512639c5168c3e80b3ebb0f818fed22048ee46f735351a"},
+    {file = "coverage-6.4.4-cp39-cp39-win32.whl", hash = "sha256:354df19fefd03b9a13132fa6643527ef7905712109d9c1c1903f2133d3a4e145"},
+    {file = "coverage-6.4.4-cp39-cp39-win_amd64.whl", hash = "sha256:1238b08f3576201ebf41f7c20bf59baa0d05da941b123c6656e42cdb668e9827"},
+    {file = "coverage-6.4.4-pp36.pp37.pp38-none-any.whl", hash = "sha256:f67cf9f406cf0d2f08a3515ce2db5b82625a7257f88aad87904674def6ddaec1"},
+    {file = "coverage-6.4.4.tar.gz", hash = "sha256:e16c45b726acb780e1e6f88b286d3c10b3914ab03438f32117c4aa52d7f30d58"},
+]
+idna = [
+    {file = "idna-3.4-py3-none-any.whl", hash = "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"},
+    {file = "idna-3.4.tar.gz", hash = "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"},
+]
+iniconfig = [
+    {file = "iniconfig-1.1.1-py2.py3-none-any.whl", hash = "sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3"},
+    {file = "iniconfig-1.1.1.tar.gz", hash = "sha256:bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32"},
+]
+packaging = [
+    {file = "packaging-21.3-py3-none-any.whl", hash = "sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522"},
+    {file = "packaging-21.3.tar.gz", hash = "sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb"},
+]
+pluggy = [
+    {file = "pluggy-1.0.0-py2.py3-none-any.whl", hash = "sha256:74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3"},
+    {file = "pluggy-1.0.0.tar.gz", hash = "sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159"},
+]
+py = [
+    {file = "py-1.11.0-py2.py3-none-any.whl", hash = "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378"},
+    {file = "py-1.11.0.tar.gz", hash = "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719"},
+]
+pykube-ng = [
+    {file = "pykube-ng-22.7.0.tar.gz", hash = "sha256:1d59564485eea86677c695cc0724b4998bc5ff0b69e37d21fa8bf36379b683ce"},
+    {file = "pykube_ng-22.7.0-py3-none-any.whl", hash = "sha256:b804e1f1ded3ec202b97837517a40f4f0a13278236452fa09b9186a447187c8a"},
+]
+pyparsing = [
+    {file = "pyparsing-3.0.9-py3-none-any.whl", hash = "sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc"},
+    {file = "pyparsing-3.0.9.tar.gz", hash = "sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb"},
+]
+pytest = [
+    {file = "pytest-7.1.3-py3-none-any.whl", hash = "sha256:1377bda3466d70b55e3f5cecfa55bb7cfcf219c7964629b967c37cf0bda818b7"},
+    {file = "pytest-7.1.3.tar.gz", hash = "sha256:4f365fec2dff9c1162f834d9f18af1ba13062db0c708bf7b946f8a5c76180c39"},
+]
+pytest-cov = [
+    {file = "pytest-cov-3.0.0.tar.gz", hash = "sha256:e7f0f5b1617d2210a2cabc266dfe2f4c75a8d32fb89eafb7ad9d06f6d076d470"},
+    {file = "pytest_cov-3.0.0-py3-none-any.whl", hash = "sha256:578d5d15ac4a25e5f961c938b85a05b09fdaae9deef3bb6de9a6e766622ca7a6"},
+]
+pytest-kind = [
+    {file = "pytest-kind-22.9.0.tar.gz", hash = "sha256:e329763bf90f2f6a8ca65f37044f4e61f8437f77c63e2de1d2da23e4e0e99b1a"},
+    {file = "pytest_kind-22.9.0-py3-none-any.whl", hash = "sha256:9a9b693400a60822b10f3419e4f6862b5e85410af4a6780ebf0aea5878e15b26"},
+]
+pytest-mock = [
+    {file = "pytest-mock-3.8.2.tar.gz", hash = "sha256:77f03f4554392558700295e05aed0b1096a20d4a60a4f3ddcde58b0c31c8fca2"},
+    {file = "pytest_mock-3.8.2-py3-none-any.whl", hash = "sha256:8a9e226d6c0ef09fcf20c94eb3405c388af438a90f3e39687f84166da82d5948"},
+]
+PyYAML = [
+    {file = "PyYAML-6.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d4db7c7aef085872ef65a8fd7d6d09a14ae91f691dec3e87ee5ee0539d516f53"},
+    {file = "PyYAML-6.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9df7ed3b3d2e0ecfe09e14741b857df43adb5a3ddadc919a2d94fbdf78fea53c"},
+    {file = "PyYAML-6.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:77f396e6ef4c73fdc33a9157446466f1cff553d979bd00ecb64385760c6babdc"},
+    {file = "PyYAML-6.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a80a78046a72361de73f8f395f1f1e49f956c6be882eed58505a15f3e430962b"},
+    {file = "PyYAML-6.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f84fbc98b019fef2ee9a1cb3ce93e3187a6df0b2538a651bfb890254ba9f90b5"},
+    {file = "PyYAML-6.0-cp310-cp310-win32.whl", hash = "sha256:2cd5df3de48857ed0544b34e2d40e9fac445930039f3cfe4bcc592a1f836d513"},
+    {file = "PyYAML-6.0-cp310-cp310-win_amd64.whl", hash = "sha256:daf496c58a8c52083df09b80c860005194014c3698698d1a57cbcfa182142a3a"},
+    {file = "PyYAML-6.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d4b0ba9512519522b118090257be113b9468d804b19d63c71dbcf4a48fa32358"},
+    {file = "PyYAML-6.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:81957921f441d50af23654aa6c5e5eaf9b06aba7f0a19c18a538dc7ef291c5a1"},
+    {file = "PyYAML-6.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:afa17f5bc4d1b10afd4466fd3a44dc0e245382deca5b3c353d8b757f9e3ecb8d"},
+    {file = "PyYAML-6.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dbad0e9d368bb989f4515da330b88a057617d16b6a8245084f1b05400f24609f"},
+    {file = "PyYAML-6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:432557aa2c09802be39460360ddffd48156e30721f5e8d917f01d31694216782"},
+    {file = "PyYAML-6.0-cp311-cp311-win32.whl", hash = "sha256:bfaef573a63ba8923503d27530362590ff4f576c626d86a9fed95822a8255fd7"},
+    {file = "PyYAML-6.0-cp311-cp311-win_amd64.whl", hash = "sha256:01b45c0191e6d66c470b6cf1b9531a771a83c1c4208272ead47a3ae4f2f603bf"},
+    {file = "PyYAML-6.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:897b80890765f037df3403d22bab41627ca8811ae55e9a722fd0392850ec4d86"},
+    {file = "PyYAML-6.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50602afada6d6cbfad699b0c7bb50d5ccffa7e46a3d738092afddc1f9758427f"},
+    {file = "PyYAML-6.0-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:48c346915c114f5fdb3ead70312bd042a953a8ce5c7106d5bfb1a5254e47da92"},
+    {file = "PyYAML-6.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:98c4d36e99714e55cfbaaee6dd5badbc9a1ec339ebfc3b1f52e293aee6bb71a4"},
+    {file = "PyYAML-6.0-cp36-cp36m-win32.whl", hash = "sha256:0283c35a6a9fbf047493e3a0ce8d79ef5030852c51e9d911a27badfde0605293"},
+    {file = "PyYAML-6.0-cp36-cp36m-win_amd64.whl", hash = "sha256:07751360502caac1c067a8132d150cf3d61339af5691fe9e87803040dbc5db57"},
+    {file = "PyYAML-6.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:819b3830a1543db06c4d4b865e70ded25be52a2e0631ccd2f6a47a2822f2fd7c"},
+    {file = "PyYAML-6.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:473f9edb243cb1935ab5a084eb238d842fb8f404ed2193a915d1784b5a6b5fc0"},
+    {file = "PyYAML-6.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0ce82d761c532fe4ec3f87fc45688bdd3a4c1dc5e0b4a19814b9009a29baefd4"},
+    {file = "PyYAML-6.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:231710d57adfd809ef5d34183b8ed1eeae3f76459c18fb4a0b373ad56bedcdd9"},
+    {file = "PyYAML-6.0-cp37-cp37m-win32.whl", hash = "sha256:c5687b8d43cf58545ade1fe3e055f70eac7a5a1a0bf42824308d868289a95737"},
+    {file = "PyYAML-6.0-cp37-cp37m-win_amd64.whl", hash = "sha256:d15a181d1ecd0d4270dc32edb46f7cb7733c7c508857278d3d378d14d606db2d"},
+    {file = "PyYAML-6.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0b4624f379dab24d3725ffde76559cff63d9ec94e1736b556dacdfebe5ab6d4b"},
+    {file = "PyYAML-6.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:213c60cd50106436cc818accf5baa1aba61c0189ff610f64f4a3e8c6726218ba"},
+    {file = "PyYAML-6.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9fa600030013c4de8165339db93d182b9431076eb98eb40ee068700c9c813e34"},
+    {file = "PyYAML-6.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:277a0ef2981ca40581a47093e9e2d13b3f1fbbeffae064c1d21bfceba2030287"},
+    {file = "PyYAML-6.0-cp38-cp38-win32.whl", hash = "sha256:d4eccecf9adf6fbcc6861a38015c2a64f38b9d94838ac1810a9023a0609e1b78"},
+    {file = "PyYAML-6.0-cp38-cp38-win_amd64.whl", hash = "sha256:1e4747bc279b4f613a09eb64bba2ba602d8a6664c6ce6396a4d0cd413a50ce07"},
+    {file = "PyYAML-6.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:055d937d65826939cb044fc8c9b08889e8c743fdc6a32b33e2390f66013e449b"},
+    {file = "PyYAML-6.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e61ceaab6f49fb8bdfaa0f92c4b57bcfbea54c09277b1b4f7ac376bfb7a7c174"},
+    {file = "PyYAML-6.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d67d839ede4ed1b28a4e8909735fc992a923cdb84e618544973d7dfc71540803"},
+    {file = "PyYAML-6.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cba8c411ef271aa037d7357a2bc8f9ee8b58b9965831d9e51baf703280dc73d3"},
+    {file = "PyYAML-6.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:40527857252b61eacd1d9af500c3337ba8deb8fc298940291486c465c8b46ec0"},
+    {file = "PyYAML-6.0-cp39-cp39-win32.whl", hash = "sha256:b5b9eccad747aabaaffbc6064800670f0c297e52c12754eb1d976c57e4f74dcb"},
+    {file = "PyYAML-6.0-cp39-cp39-win_amd64.whl", hash = "sha256:b3d267842bf12586ba6c734f89d1f5b871df0273157918b0ccefa29deb05c21c"},
+    {file = "PyYAML-6.0.tar.gz", hash = "sha256:68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2"},
+]
+requests = [
+    {file = "requests-2.28.1-py3-none-any.whl", hash = "sha256:8fefa2a1a1365bf5520aac41836fbee479da67864514bdb821f31ce07ce65349"},
+    {file = "requests-2.28.1.tar.gz", hash = "sha256:7c5599b102feddaa661c826c56ab4fee28bfd17f5abca1ebbe3e7f19d7c97983"},
+]
+schematics = [
+    {file = "schematics-2.1.1-py2.py3-none-any.whl", hash = "sha256:be2d451bfb86789975e5ec0864aec569b63cea9010f0d24cbbd992a4e564c647"},
+    {file = "schematics-2.1.1.tar.gz", hash = "sha256:34c87f51a25063bb498ae1cc201891b134cfcb329baf9e9f4f3ae869b767560f"},
+]
+tomli = [
+    {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"},
+    {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"},
+]
+urllib3 = [
+    {file = "urllib3-1.26.12-py2.py3-none-any.whl", hash = "sha256:b930dd878d5a8afb066a637fbb35144fe7901e3b209d1cd4f524bd0e9deee997"},
+    {file = "urllib3-1.26.12.tar.gz", hash = "sha256:3fa96cf423e6987997fc326ae8df396db2a8b7c667747d47ddd8ecba91f4a74e"},
+]
diff --git a/pyproject.toml b/pyproject.toml
index 5d7bf33..cbadbca 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,2 +1,32 @@
-[tool.isort]
-profile = "black"
+name = "atmosphere"
+
+[tool.poetry]
+name = "atmosphere"
+version = "0.1.0"
+description = ""
+authors = ["Mohammed Naser <mnaser@vexxhost.com>"]
+readme = "README.md"
+
+[tool.poetry.dependencies]
+python = "^3.10"
+schematics = "^2.1.1"
+pykube-ng = "^22.7.0"
+
+[tool.poetry.group.dev.dependencies]
+pytest = "^7.1.3"
+pytest-mock = "^3.8.2"
+pytest-cov = "^3.0.0"
+pytest-kind = "^22.9.0"
+
+[build-system]
+requires = ["poetry-core"]
+build-backend = "poetry.core.masonry.api"
+
+[tool.pytest.ini_options]
+addopts = [
+  "--cov=atmosphere",
+  "--cov-report=term-missing",
+]
+filterwarnings = [
+  "ignore::schematics.deprecated.SchematicsDeprecationWarning"
+]
