edge-containers-cli 4.4.3__tar.gz → 4.4.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 (108) hide show
  1. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/PKG-INFO +1 -1
  2. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/src/edge_containers_cli/_version.py +2 -2
  3. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/src/edge_containers_cli/cli.py +1 -1
  4. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/src/edge_containers_cli/cmds/argo_commands.py +10 -2
  5. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/src/edge_containers_cli/cmds/k8s_commands.py +1 -1
  6. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/src/edge_containers_cli/git.py +17 -0
  7. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/src/edge_containers_cli.egg-info/PKG-INFO +1 -1
  8. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/tests/data/argocd.yaml +2 -0
  9. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/.copier-answers.yml +0 -0
  10. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/.devcontainer/devcontainer.json +0 -0
  11. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/.dockerignore +0 -0
  12. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/.github/CONTRIBUTING.md +0 -0
  13. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  14. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/.github/ISSUE_TEMPLATE/issue.md +0 -0
  15. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md +0 -0
  16. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/.github/actions/install_requirements/action.yml +0 -0
  17. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/.github/dependabot.yml +0 -0
  18. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/.github/pages/index.html +0 -0
  19. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/.github/pages/make_switcher.py +0 -0
  20. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/.github/workflows/_check.yml +0 -0
  21. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/.github/workflows/_container.yml +0 -0
  22. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/.github/workflows/_dist.yml +0 -0
  23. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/.github/workflows/_pypi.yml +0 -0
  24. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/.github/workflows/_release.yml +0 -0
  25. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/.github/workflows/_test.yml +0 -0
  26. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/.github/workflows/_tox.yml +0 -0
  27. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/.github/workflows/ci.yml +0 -0
  28. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/.gitignore +0 -0
  29. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/.pre-commit-config.yaml +0 -0
  30. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/.vscode/extensions.json +0 -0
  31. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/.vscode/launch.json +0 -0
  32. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/.vscode/settings.json +0 -0
  33. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/.vscode/tasks.json +0 -0
  34. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/Dockerfile +0 -0
  35. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/LICENSE +0 -0
  36. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/README.md +0 -0
  37. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/docs/conf.py +0 -0
  38. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/docs/developer/explanations/decisions/0001-record-architecture-decisions.rst +0 -0
  39. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/docs/developer/explanations/decisions/0002-switched-to-pip-skeleton.rst +0 -0
  40. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/docs/developer/explanations/decisions.rst +0 -0
  41. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/docs/developer/how-to/build-docs.rst +0 -0
  42. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/docs/developer/how-to/contribute.rst +0 -0
  43. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/docs/developer/how-to/lint.rst +0 -0
  44. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/docs/developer/how-to/make-release.rst +0 -0
  45. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/docs/developer/how-to/pin-requirements.rst +0 -0
  46. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/docs/developer/how-to/run-tests.rst +0 -0
  47. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/docs/developer/how-to/static-analysis.rst +0 -0
  48. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/docs/developer/how-to/test-container.rst +0 -0
  49. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/docs/developer/how-to/update-tools.rst +0 -0
  50. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/docs/developer/index.rst +0 -0
  51. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/docs/developer/reference/standards.rst +0 -0
  52. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/docs/developer/tutorials/dev-install.rst +0 -0
  53. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/docs/genindex.rst +0 -0
  54. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/docs/images/dls-favicon.ico +0 -0
  55. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/docs/images/dls-logo.svg +0 -0
  56. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/docs/images/ec-logs.png +0 -0
  57. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/docs/images/ec-web.png +0 -0
  58. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/docs/index.rst +0 -0
  59. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/docs/user/explanations/docs-structure.rst +0 -0
  60. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/docs/user/how-to/run-container.rst +0 -0
  61. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/docs/user/index.rst +0 -0
  62. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/docs/user/reference/api.rst +0 -0
  63. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/docs/user/tutorials/installation.rst +0 -0
  64. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/pyproject.toml +0 -0
  65. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/setup.cfg +0 -0
  66. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/src/edge_containers_cli/__init__.py +0 -0
  67. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/src/edge_containers_cli/__main__.py +0 -0
  68. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/src/edge_containers_cli/autocomplete.py +0 -0
  69. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/src/edge_containers_cli/backend.py +0 -0
  70. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/src/edge_containers_cli/cmds/__init__.py +0 -0
  71. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/src/edge_containers_cli/cmds/commands.py +0 -0
  72. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/src/edge_containers_cli/cmds/demo_commands.py +0 -0
  73. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/src/edge_containers_cli/cmds/helm.py +0 -0
  74. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/src/edge_containers_cli/cmds/monitor.py +0 -0
  75. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/src/edge_containers_cli/cmds/monitor.tcss +0 -0
  76. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/src/edge_containers_cli/definitions.py +0 -0
  77. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/src/edge_containers_cli/globals.py +0 -0
  78. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/src/edge_containers_cli/logging.py +0 -0
  79. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/src/edge_containers_cli/shell.py +0 -0
  80. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/src/edge_containers_cli/utils.py +0 -0
  81. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/src/edge_containers_cli.egg-info/SOURCES.txt +0 -0
  82. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/src/edge_containers_cli.egg-info/dependency_links.txt +0 -0
  83. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/src/edge_containers_cli.egg-info/entry_points.txt +0 -0
  84. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/src/edge_containers_cli.egg-info/requires.txt +0 -0
  85. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/src/edge_containers_cli.egg-info/top_level.txt +0 -0
  86. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/tests/__init__.py +0 -0
  87. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/tests/conftest.py +0 -0
  88. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/tests/data/bl01t-deployment/apps/values.yaml +0 -0
  89. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/tests/data/bl01t-services/services/bl01t-ea-test-01/Chart.yaml +0 -0
  90. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/tests/data/bl01t-services/services/bl01t-ea-test-01/config/ioc.db +0 -0
  91. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/tests/data/bl01t-services/services/bl01t-ea-test-01/config/ioc.yaml +0 -0
  92. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/tests/data/bl01t-services/services/bl01t-ea-test-01/templates/configmap.yaml +0 -0
  93. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/tests/data/bl01t-services/services/bl01t-ea-test-01/values.yaml +0 -0
  94. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/tests/data/bl01t-services/services/bl01t-ea-test-02/Chart.yaml +0 -0
  95. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/tests/data/bl01t-services/services/bl01t-ea-test-02/values.yaml +0 -0
  96. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/tests/data/bl01t-services/services/dls-aravis/Chart.yaml +0 -0
  97. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/tests/data/bl01t-services/services/dls-aravis/config/ioc.yaml +0 -0
  98. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/tests/data/bl01t-services/services/dls-aravis/templates/configmap.yaml +0 -0
  99. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/tests/data/bl01t-services/services/dls-aravis/values.yaml +0 -0
  100. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/tests/data/bl01t-services/services/values.yaml +0 -0
  101. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/tests/data/cli.yaml +0 -0
  102. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/tests/data/k8s.yaml +0 -0
  103. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/tests/data/yaml.yaml +0 -0
  104. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/tests/test_argocd.py +0 -0
  105. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/tests/test_cli.py +0 -0
  106. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/tests/test_demo.py +0 -0
  107. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/tests/test_k8s.py +0 -0
  108. {edge_containers_cli-4.4.3 → edge_containers_cli-4.4.4}/tests/test_unit.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: edge-containers-cli
3
- Version: 4.4.3
3
+ Version: 4.4.4
4
4
  Summary: CLI for deploying and managing epics containers IOCs and services
5
5
  Author-email: Giles Knap <giles.knap@gmail.com>
6
6
  License: Apache License
@@ -17,5 +17,5 @@ __version__: str
17
17
  __version_tuple__: VERSION_TUPLE
18
18
  version_tuple: VERSION_TUPLE
19
19
 
20
- __version__ = version = '4.4.3'
21
- __version_tuple__ = version_tuple = (4, 4, 3)
20
+ __version__ = version = '4.4.4'
21
+ __version_tuple__ = version_tuple = (4, 4, 4)
@@ -99,7 +99,7 @@ def deploy(
99
99
  def confirm_callback(svc_version):
100
100
  confirmation(
101
101
  f"Deploy {service_name.lower()} "
102
- f"of version `{svc_version}` to target `{backend.commands.target}`",
102
+ f" version `{svc_version}` to target `{backend.commands.target}`",
103
103
  yes,
104
104
  )
105
105
 
@@ -21,7 +21,7 @@ from edge_containers_cli.cmds.commands import (
21
21
  ServicesSchema,
22
22
  )
23
23
  from edge_containers_cli.definitions import ECContext
24
- from edge_containers_cli.git import del_key, set_value
24
+ from edge_containers_cli.git import check_exists, del_key, set_value
25
25
  from edge_containers_cli.logging import log
26
26
  from edge_containers_cli.shell import ShellError, shell
27
27
  from edge_containers_cli.utils import YamlTypes
@@ -142,9 +142,17 @@ class ArgoCommands(Commands):
142
142
  push_remove_key(self.target, f"ec_services.{service_name}")
143
143
 
144
144
  def deploy(self, service_name, version, args, confirm_callback=None) -> None:
145
- latest_version = self._get_latest_version(service_name)
146
145
  if not version:
146
+ latest_version = self._get_latest_version(service_name)
147
147
  version = latest_version
148
+
149
+ service_path = Path(globals.SERVICES_DIR) / service_name
150
+ if not check_exists(service_path, self.repo, version):
151
+ raise CommandError(
152
+ f"Service '{service_name}' not found in repo "
153
+ f"'{self.repo}' with branch/tag '{version}'"
154
+ )
155
+
148
156
  if confirm_callback:
149
157
  confirm_callback(version)
150
158
  deploy_dict: YamlTypes = {"enabled": True, "targetRevision": version}
@@ -52,8 +52,8 @@ class K8sCommands(Commands):
52
52
  )
53
53
 
54
54
  def deploy(self, service_name, version, args, confirm_callback=None):
55
- latest_version = self._get_latest_version(service_name)
56
55
  if not version:
56
+ latest_version = self._get_latest_version(service_name)
57
57
  version = latest_version
58
58
 
59
59
  chart = Helm(
@@ -234,3 +234,20 @@ def list_instances(
234
234
  sorted_list = natsorted(svc_list)[::-1]
235
235
  services_df = polars.from_dict({"version": sorted_list})
236
236
  return services_df
237
+
238
+
239
+ def check_exists(path: Path, repo: str, tag: str) -> bool:
240
+ """
241
+ Check if a path exists within the given repository and tag/branch.
242
+ """
243
+ with new_workdir() as working_dir:
244
+ try:
245
+ shell.run_command(f"git clone {repo} -b {tag} {working_dir}")
246
+ except ShellError:
247
+ log.debug(f"Branch or tag '{tag}' does not exist in repo '{repo}'.")
248
+ return False
249
+ full_path = Path(working_dir) / path
250
+ if not full_path.exists():
251
+ log.debug(f"'{path}' does not exist in repo '{repo}', tag {tag}.")
252
+ return False
253
+ return True
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: edge-containers-cli
3
- Version: 4.4.3
3
+ Version: 4.4.4
4
4
  Summary: CLI for deploying and managing epics containers IOCs and services
5
5
  Author-email: Giles Knap <giles.knap@gmail.com>
6
6
  License: Apache License
@@ -64,6 +64,8 @@ deploy:
64
64
  - cmd: git ls-tree -r 2.0
65
65
  rsp: |
66
66
  100644 blob b7b39845b55fb4d45d58ba86ef4527917877d556 services/bl01t-ea-test-01/Chart.yaml
67
+ - cmd: git clone https://github.com/epics-containers/bl01t-services -b 1.0 /tmp/ec_tests
68
+ rsp: ""
67
69
  - cmd: argocd app get namespace/bl01t
68
70
  rsp: |
69
71
  spec: