edge-containers-cli 3.5.3__tar.gz → 3.5.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 (107) hide show
  1. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/PKG-INFO +1 -1
  2. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/src/edge_containers_cli/_version.py +2 -2
  3. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/src/edge_containers_cli/cmds/k8s_commands.py +4 -2
  4. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/src/edge_containers_cli/cmds/local_commands.py +18 -1
  5. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/src/edge_containers_cli.egg-info/PKG-INFO +1 -1
  6. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/tests/data/local.yaml +2 -2
  7. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/.copier-answers.yml +0 -0
  8. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/.devcontainer/devcontainer.json +0 -0
  9. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/.github/CONTRIBUTING.md +0 -0
  10. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/.github/actions/install_requirements/action.yml +0 -0
  11. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/.github/dependabot.yml +0 -0
  12. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/.github/pages/index.html +0 -0
  13. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/.github/pages/make_switcher.py +0 -0
  14. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/.github/workflows/_check.yml +0 -0
  15. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/.github/workflows/_dist.yml +0 -0
  16. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/.github/workflows/_pypi.yml +0 -0
  17. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/.github/workflows/_release.yml +0 -0
  18. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/.github/workflows/_sys_test.yml +0 -0
  19. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/.github/workflows/_test.yml +0 -0
  20. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/.github/workflows/_tox.yml +0 -0
  21. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/.github/workflows/ci.yml +0 -0
  22. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/.gitignore +0 -0
  23. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/.pre-commit-config.yaml +0 -0
  24. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/.vscode/extensions.json +0 -0
  25. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/.vscode/launch.json +0 -0
  26. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/.vscode/settings.json +0 -0
  27. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/.vscode/tasks.json +0 -0
  28. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/Dockerfile +0 -0
  29. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/LICENSE +0 -0
  30. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/README.md +0 -0
  31. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/catalog-info.yaml +0 -0
  32. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/docs/conf.py +0 -0
  33. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/docs/developer/explanations/decisions/0001-record-architecture-decisions.rst +0 -0
  34. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/docs/developer/explanations/decisions/0002-switched-to-pip-skeleton.rst +0 -0
  35. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/docs/developer/explanations/decisions.rst +0 -0
  36. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/docs/developer/how-to/build-docs.rst +0 -0
  37. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/docs/developer/how-to/contribute.rst +0 -0
  38. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/docs/developer/how-to/lint.rst +0 -0
  39. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/docs/developer/how-to/make-release.rst +0 -0
  40. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/docs/developer/how-to/pin-requirements.rst +0 -0
  41. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/docs/developer/how-to/run-tests.rst +0 -0
  42. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/docs/developer/how-to/static-analysis.rst +0 -0
  43. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/docs/developer/how-to/test-container.rst +0 -0
  44. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/docs/developer/how-to/update-tools.rst +0 -0
  45. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/docs/developer/index.rst +0 -0
  46. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/docs/developer/reference/standards.rst +0 -0
  47. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/docs/developer/tutorials/dev-install.rst +0 -0
  48. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/docs/genindex.rst +0 -0
  49. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/docs/images/dls-favicon.ico +0 -0
  50. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/docs/images/dls-logo.svg +0 -0
  51. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/docs/index.rst +0 -0
  52. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/docs/user/explanations/docs-structure.rst +0 -0
  53. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/docs/user/how-to/run-container.rst +0 -0
  54. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/docs/user/index.rst +0 -0
  55. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/docs/user/reference/api.rst +0 -0
  56. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/docs/user/tutorials/installation.rst +0 -0
  57. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/pyproject.toml +0 -0
  58. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/setup.cfg +0 -0
  59. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/src/edge_containers_cli/__init__.py +0 -0
  60. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/src/edge_containers_cli/__main__.py +0 -0
  61. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/src/edge_containers_cli/autocomplete.py +0 -0
  62. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/src/edge_containers_cli/cmds/__init__.py +0 -0
  63. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/src/edge_containers_cli/cmds/cli.py +0 -0
  64. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/src/edge_containers_cli/cmds/commands.py +0 -0
  65. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/src/edge_containers_cli/cmds/helm.py +0 -0
  66. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/src/edge_containers_cli/cmds/kubectl.py +0 -0
  67. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/src/edge_containers_cli/cmds/monitor.py +0 -0
  68. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/src/edge_containers_cli/cmds/monitor.tcss +0 -0
  69. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/src/edge_containers_cli/docker.py +0 -0
  70. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/src/edge_containers_cli/git.py +0 -0
  71. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/src/edge_containers_cli/globals.py +0 -0
  72. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/src/edge_containers_cli/logging.py +0 -0
  73. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/src/edge_containers_cli/shell.py +0 -0
  74. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/src/edge_containers_cli/utils.py +0 -0
  75. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/src/edge_containers_cli.egg-info/SOURCES.txt +0 -0
  76. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/src/edge_containers_cli.egg-info/dependency_links.txt +0 -0
  77. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/src/edge_containers_cli.egg-info/entry_points.txt +0 -0
  78. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/src/edge_containers_cli.egg-info/requires.txt +0 -0
  79. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/src/edge_containers_cli.egg-info/top_level.txt +0 -0
  80. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/tests/__init__.py +0 -0
  81. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/tests/conftest.py +0 -0
  82. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/tests/data/autocomplete.yaml +0 -0
  83. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/tests/data/bl01t/.copier-answers.yml +0 -0
  84. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/tests/data/bl01t/.github/dependabot.yml +0 -0
  85. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/tests/data/bl01t/.github/workflows/ci_verify.sh +0 -0
  86. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/tests/data/bl01t/.github/workflows/verify.yml +0 -0
  87. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/tests/data/bl01t/.gitignore +0 -0
  88. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/tests/data/bl01t/LICENSE +0 -0
  89. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/tests/data/bl01t/README.md +0 -0
  90. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/tests/data/bl01t/environment.sh +0 -0
  91. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/tests/data/bl01t/helm/shared/Chart.yaml +0 -0
  92. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/tests/data/bl01t/helm/shared/README.md +0 -0
  93. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/tests/data/bl01t/helm/shared/values.yaml +0 -0
  94. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/tests/data/bl01t/include/iocs/Chart.yaml +0 -0
  95. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/tests/data/bl01t/include/iocs/templates/configmap.yaml +0 -0
  96. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/tests/data/bl01t/services/bl01t-ea-test-01/Chart.yaml +0 -0
  97. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/tests/data/bl01t/services/bl01t-ea-test-01/config/ioc.db +0 -0
  98. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/tests/data/bl01t/services/bl01t-ea-test-01/config/ioc.yaml +0 -0
  99. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/tests/data/bl01t/services/bl01t-ea-test-01/pretend_helm.tgz +0 -0
  100. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/tests/data/bl01t/services/bl01t-ea-test-01/values.yaml +0 -0
  101. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/tests/data/bl01t/update-helm +0 -0
  102. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/tests/data/ioc.yaml +0 -0
  103. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/tests/test_autocomplete.py +0 -0
  104. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/tests/test_cli.py +0 -0
  105. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/tests/test_ioc.py +0 -0
  106. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/tests/test_local.py +0 -0
  107. {edge_containers_cli-3.5.3 → edge_containers_cli-3.5.4}/tests/test_system.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: edge-containers-cli
3
- Version: 3.5.3
3
+ Version: 3.5.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
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '3.5.3'
16
- __version_tuple__ = version_tuple = (3, 5, 3)
15
+ __version__ = version = '3.5.4'
16
+ __version_tuple__ = version_tuple = (3, 5, 4)
@@ -194,7 +194,9 @@ class K8sCommands(Commands):
194
194
  has_header=False,
195
195
  new_columns=["name", "running", "restarts"],
196
196
  )
197
- services_df = services_df.join(gtpo_df, on="name", how="left")
197
+ services_df = services_df.join(
198
+ gtpo_df, on="name", how="left", coalesce=True
199
+ )
198
200
  services_df = services_df.with_columns(
199
201
  polars.col("running").replace({"Running": True}, default=False),
200
202
  polars.col("restarts").fill_null(0),
@@ -214,7 +216,7 @@ class K8sCommands(Commands):
214
216
  helm_df = polars.read_json(StringIO(str(helm_out)))
215
217
  helm_df = helm_df.rename({"app_version": "version", "updated": "deployed"})
216
218
  helm_df = helm_df.with_columns(polars.col("deployed").str.slice(0, 19))
217
- services_df = services_df.join(helm_df, on="name", how="left")
219
+ services_df = services_df.join(helm_df, on="name", how="left", coalesce=True)
218
220
  log.debug(services_df)
219
221
 
220
222
  # Arrange columns
@@ -10,6 +10,7 @@ tool like Portainer is a decent workflow.
10
10
  """
11
11
 
12
12
  import json
13
+ import os
13
14
  import re
14
15
  import tempfile
15
16
  from datetime import datetime
@@ -84,9 +85,25 @@ class LocalCommands(Commands):
84
85
 
85
86
  vol = f"-v {volume}:{globals.IOC_CONFIG_FOLDER}"
86
87
  label = f"-l is_IOC=true -l version={version}"
87
- cmd = f"run -dit --net host --restart unless-stopped {label} {vol} {args}"
88
88
  dest = "busybox:copyto"
89
89
 
90
+ # use environment to configure volumes and user id
91
+ data_folder = os.getenv("EC_LOCAL_DATA_FOLDER")
92
+ if data_folder:
93
+ vol = vol + f" -v {data_folder}:{data_folder}"
94
+ opi_folder = os.getenv("EC_LOCAL_OPI_FOLDER")
95
+ if opi_folder:
96
+ vol = vol + f" -v {opi_folder}:/epics/opi"
97
+
98
+ user_id = os.getenv("EC_LOCAL_USER_ID")
99
+ ids = f"-u {user_id}" if user_id else ""
100
+ group_id = os.getenv("EC_LOCAL_GROUP_ID")
101
+ if group_id:
102
+ cmd = f"{ids} -g {group_id}"
103
+
104
+ cmd = f"run -dit --net host --restart unless-stopped {label} {vol} {args} {ids}"
105
+ cmd = cmd.strip()
106
+
90
107
  # get the config into the volume before launching the IOC container
91
108
  shell.run_command(f"{self.docker.docker} rm -f busybox", interactive=False)
92
109
  shell.run_command(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: edge-containers-cli
3
- Version: 3.5.3
3
+ Version: 3.5.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
@@ -37,7 +37,7 @@ deploy_local:
37
37
  rsp: ""
38
38
  - cmd: docker rm -f busybox
39
39
  rsp: ""
40
- - cmd: docker run -dit --net host --restart unless-stopped -l is_IOC=true -l version=.* -v bl01t-ea-test-01_config:\/epics\/ioc\/config\/ --name bl01t-ea-test-01 ghcr.io\/epics-containers\/ioc-adsimdetector-runtime:2024.4.1
40
+ - cmd: docker run -dit --net host --restart unless-stopped -l is_IOC=true -l version=.* -v bl01t-ea-test-01_config:\/epics\/ioc\/config\/ --name bl01t-ea-test-01 ghcr.io\/epics-containers\/ioc-adsimdetector-runtime:2024.4.1
41
41
  rsp: True
42
42
  - cmd: docker ps -f name=bl01t-ea-test-01 --format .*
43
43
  rsp: bl01t-ea-test-01
@@ -64,7 +64,7 @@ deploy:
64
64
  rsp: ""
65
65
  - cmd: docker rm -f busybox
66
66
  rsp: ""
67
- - cmd: docker run -dit --net host --restart unless-stopped -l is_IOC=true -l version=2.0 -v bl01t-ea-test-01_config:/epics/ioc/config/ --name bl01t-ea-test-01 ghcr.io/epics-containers/ioc-adsimdetector-runtime:2024.4.1
67
+ - cmd: docker run -dit --net host --restart unless-stopped -l is_IOC=true -l version=2.0 -v bl01t-ea-test-01_config:/epics/ioc/config/ --name bl01t-ea-test-01 ghcr.io/epics-containers/ioc-adsimdetector-runtime:2024.4.1
68
68
  rsp: True
69
69
  - cmd: docker ps -f name=bl01t-ea-test-01 --format .*
70
70
  rsp: bl01t-ea-test-01