edge-containers-cli 3.1.0__tar.gz → 3.1.1__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 (90) hide show
  1. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/.github/workflows/_release.yml +1 -1
  2. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/PKG-INFO +1 -1
  3. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/src/edge_containers_cli/_version.py +2 -2
  4. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/src/edge_containers_cli/cmds/local_commands.py +26 -22
  5. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/src/edge_containers_cli.egg-info/PKG-INFO +1 -1
  6. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/tests/data/local.yaml +37 -9
  7. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/.copier-answers.yml +0 -0
  8. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/.devcontainer/devcontainer.json +0 -0
  9. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/.github/CONTRIBUTING.md +0 -0
  10. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/.github/actions/install_requirements/action.yml +0 -0
  11. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/.github/dependabot.yml +0 -0
  12. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/.github/pages/index.html +0 -0
  13. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/.github/pages/make_switcher.py +0 -0
  14. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/.github/workflows/_check.yml +0 -0
  15. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/.github/workflows/_dist.yml +0 -0
  16. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/.github/workflows/_pypi.yml +0 -0
  17. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/.github/workflows/_sys_test.yml +0 -0
  18. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/.github/workflows/_test.yml +0 -0
  19. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/.github/workflows/_tox.yml +0 -0
  20. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/.github/workflows/ci.yml +0 -0
  21. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/.gitignore +0 -0
  22. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/.pre-commit-config.yaml +0 -0
  23. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/.vscode/extensions.json +0 -0
  24. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/.vscode/launch.json +0 -0
  25. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/.vscode/settings.json +0 -0
  26. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/.vscode/tasks.json +0 -0
  27. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/Dockerfile +0 -0
  28. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/LICENSE +0 -0
  29. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/README.md +0 -0
  30. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/catalog-info.yaml +0 -0
  31. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/docs/conf.py +0 -0
  32. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/docs/developer/explanations/decisions/0001-record-architecture-decisions.rst +0 -0
  33. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/docs/developer/explanations/decisions/0002-switched-to-pip-skeleton.rst +0 -0
  34. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/docs/developer/explanations/decisions.rst +0 -0
  35. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/docs/developer/how-to/build-docs.rst +0 -0
  36. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/docs/developer/how-to/contribute.rst +0 -0
  37. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/docs/developer/how-to/lint.rst +0 -0
  38. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/docs/developer/how-to/make-release.rst +0 -0
  39. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/docs/developer/how-to/pin-requirements.rst +0 -0
  40. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/docs/developer/how-to/run-tests.rst +0 -0
  41. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/docs/developer/how-to/static-analysis.rst +0 -0
  42. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/docs/developer/how-to/test-container.rst +0 -0
  43. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/docs/developer/how-to/update-tools.rst +0 -0
  44. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/docs/developer/index.rst +0 -0
  45. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/docs/developer/reference/standards.rst +0 -0
  46. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/docs/developer/tutorials/dev-install.rst +0 -0
  47. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/docs/genindex.rst +0 -0
  48. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/docs/images/dls-favicon.ico +0 -0
  49. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/docs/images/dls-logo.svg +0 -0
  50. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/docs/index.rst +0 -0
  51. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/docs/user/explanations/docs-structure.rst +0 -0
  52. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/docs/user/how-to/run-container.rst +0 -0
  53. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/docs/user/index.rst +0 -0
  54. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/docs/user/reference/api.rst +0 -0
  55. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/docs/user/tutorials/installation.rst +0 -0
  56. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/pyproject.toml +0 -0
  57. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/setup.cfg +0 -0
  58. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/src/edge_containers_cli/__init__.py +0 -0
  59. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/src/edge_containers_cli/__main__.py +0 -0
  60. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/src/edge_containers_cli/autocomplete.py +0 -0
  61. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/src/edge_containers_cli/cmds/__init__.py +0 -0
  62. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/src/edge_containers_cli/cmds/cli.py +0 -0
  63. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/src/edge_containers_cli/cmds/helm.py +0 -0
  64. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/src/edge_containers_cli/cmds/k8s_commands.py +0 -0
  65. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/src/edge_containers_cli/cmds/kubectl.py +0 -0
  66. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/src/edge_containers_cli/docker.py +0 -0
  67. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/src/edge_containers_cli/git.py +0 -0
  68. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/src/edge_containers_cli/globals.py +0 -0
  69. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/src/edge_containers_cli/logging.py +0 -0
  70. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/src/edge_containers_cli/shell.py +0 -0
  71. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/src/edge_containers_cli/utils.py +0 -0
  72. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/src/edge_containers_cli.egg-info/SOURCES.txt +0 -0
  73. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/src/edge_containers_cli.egg-info/dependency_links.txt +0 -0
  74. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/src/edge_containers_cli.egg-info/entry_points.txt +0 -0
  75. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/src/edge_containers_cli.egg-info/requires.txt +0 -0
  76. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/src/edge_containers_cli.egg-info/top_level.txt +0 -0
  77. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/tests/__init__.py +0 -0
  78. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/tests/conftest.py +0 -0
  79. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/tests/data/autocomplete.yaml +0 -0
  80. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/tests/data/example-ibek-config/ioc.db +0 -0
  81. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/tests/data/example-ibek-config/ioc.yaml +0 -0
  82. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/tests/data/ioc.yaml +0 -0
  83. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/tests/data/services/bl45p-ea-ioc-01/config/ioc.yaml +0 -0
  84. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/tests/data/services/bl45p-ea-ioc-01/pretend_helm.tgz +0 -0
  85. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/tests/data/services/bl45p-ea-ioc-01/values.yaml +0 -0
  86. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/tests/test_autocomplete.py +0 -0
  87. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/tests/test_cli.py +0 -0
  88. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/tests/test_ioc.py +0 -0
  89. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/tests/test_local.py +0 -0
  90. {edge-containers-cli-3.1.0 → edge-containers-cli-3.1.1}/tests/test_system.py +0 -0
@@ -23,7 +23,7 @@ jobs:
23
23
  - name: Create GitHub Release
24
24
  # We pin to the SHA, not the tag, for security reasons.
25
25
  # https://docs.github.com/en/actions/learn-github-actions/security-hardening-for-github-actions#using-third-party-actions
26
- uses: softprops/action-gh-release@de2c0eb89ae2a093876385947365aca7b0e5f844 # v0.1.15
26
+ uses: softprops/action-gh-release@9d7c94cfd0a1f3ed45544c887983e9fa900f0564 # v0.1.15
27
27
  with:
28
28
  prerelease: ${{ contains(github.ref_name, 'a') || contains(github.ref_name, 'b') || contains(github.ref_name, 'rc') }}
29
29
  files: "*"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: edge-containers-cli
3
- Version: 3.1.0
3
+ Version: 3.1.1
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
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '3.1.0'
16
- __version_tuple__ = version_tuple = (3, 1, 0)
15
+ __version__ = version = '3.1.1'
16
+ __version_tuple__ = version_tuple = (3, 1, 1)
@@ -165,42 +165,46 @@ class LocalCommands:
165
165
  def ps(self, all: bool, wide: bool):
166
166
  all_arg = " --all" if all else ""
167
167
 
168
- # Retrieve data (json option exposes more data than table)
169
- result_json = shell.run_command(
170
- f"{self.docker.docker} ps{all_arg} --filter label=is_IOC=true "
171
- f"--format json",
168
+ # List services
169
+ avail_services = shell.run_command(
170
+ f"{self.docker.docker} ps{all_arg} -q --filter label=is_IOC=true",
172
171
  interactive=False,
173
172
  )
174
- log.debug(result_json)
175
- if not self.docker.is_docker:
176
- services_dicts = json.load(StringIO(str(result_json)))
177
- else:
178
- # Docker does not format as a list of json but per line
179
- services_dicts = []
180
- for line in str(result_json).strip().split("\n"):
181
- services_dicts.append(json.load(StringIO(line)))
182
173
 
183
- if not services_dicts:
174
+ if not avail_services:
184
175
  if all_arg:
185
176
  print("No deployed services found")
186
177
  else:
187
178
  print("No running services found")
188
179
  raise typer.Exit()
189
180
 
181
+ # Retrieve data
182
+ result_json = shell.run_command(
183
+ f"{self.docker.docker} inspect "
184
+ f"$({self.docker.docker} ps{all_arg} -q --filter label=is_IOC=true)",
185
+ interactive=False,
186
+ )
187
+ log.debug(result_json)
188
+ services_dicts = json.load(StringIO(str(result_json)))
189
+
190
190
  select_data = []
191
191
  for service in services_dicts:
192
+ # Make docker output look like podman
193
+ if self.docker.is_docker:
194
+ service["Name"] = service["Name"][1:] # inspect leads name with /
195
+
192
196
  # Note if adding more keys that there are differences
193
- # between what is given between docker and podman
197
+ # between what is available between docker and podman
194
198
  select_data.append(
195
199
  {
196
- "name": service["Names"][0],
197
- "version": service["Labels"]["version"],
198
- "running": service["State"] == "running",
199
- "restarts": service["Restarts"],
200
- "deployed": service["CreatedAt"][:19]
201
- if self.docker.is_docker
202
- else datetime.fromtimestamp(service["Created"]),
203
- "image": service["Image"],
200
+ "name": service["Name"],
201
+ "version": service["Config"]["Labels"]["version"],
202
+ "running": "true" if service["State"]["Running"] else "false",
203
+ "restarts": service["RestartCount"],
204
+ "deployed": datetime.strptime(
205
+ service["Created"].split(".")[0], "%Y-%m-%dT%H:%M:%S"
206
+ ),
207
+ "image": service["Config"]["Image"],
204
208
  }
205
209
  )
206
210
  log.debug(select_data)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: edge-containers-cli
3
- Version: 3.1.0
3
+ Version: 3.1.1
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
@@ -100,16 +100,44 @@ stop:
100
100
  rsp: True
101
101
 
102
102
  ps:
103
- - cmd: docker ps --filter label=is_IOC=true --format json
103
+ - cmd: docker ps -q --filter label=is_IOC=true
104
+ rsp: |
105
+ 0
106
+ 1
107
+ - cmd: docker inspect $(docker ps -q --filter label=is_IOC=true)
104
108
  rsp: >
105
- {
106
- "CreatedAt":"",
107
- "Image": "",
108
- "Labels":{"version":""},
109
- "Names":[""],
110
- "State":"",
111
- "Restarts":""
112
- }
109
+ [
110
+ {
111
+ "Created": "2024-03-19T11:10:53.736808252Z",
112
+ "State": {
113
+ "Running": true
114
+ },
115
+ "Name": "/bl01t-ea-test-01",
116
+ "RestartCount": 0,
117
+ "Config": {
118
+ "Image": "ghcr.io/test",
119
+ "Labels": {
120
+ "is_IOC": "true",
121
+ "version": "0"
122
+ }
123
+ }
124
+ },
125
+ {
126
+ "Created": "2024-03-19T11:10:53.736808252Z",
127
+ "State": {
128
+ "Running": true
129
+ },
130
+ "Name": "/bl01t-ea-test-02",
131
+ "RestartCount": 0,
132
+ "Config": {
133
+ "Image": "ghcr.io/test",
134
+ "Labels": {
135
+ "is_IOC": "true",
136
+ "version": "0"
137
+ }
138
+ }
139
+ }
140
+ ]
113
141
 
114
142
  validate:
115
143
  - cmd: docker run --rm -w .* -v .*:.* -v \/tmp:\/tmp ghcr.io\/epics-containers\/yajsv -v .*:.* -s \/tmp\/ec_tests\/schema.json .*/bl45p-ea-ioc-01\/config\/ioc.yaml