spaceforge 0.0.16__tar.gz → 0.0.17__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 (57) hide show
  1. {spaceforge-0.0.16 → spaceforge-0.0.17}/PKG-INFO +1 -1
  2. {spaceforge-0.0.16 → spaceforge-0.0.17}/plugins/enviroment_manager/plugin.py +1 -1
  3. {spaceforge-0.0.16 → spaceforge-0.0.17}/plugins/enviroment_manager/plugin.yaml +1 -1
  4. {spaceforge-0.0.16 → spaceforge-0.0.17}/spaceforge/_version_scm.py +3 -3
  5. {spaceforge-0.0.16 → spaceforge-0.0.17}/spaceforge/plugin.py +11 -8
  6. {spaceforge-0.0.16 → spaceforge-0.0.17}/spaceforge/test_plugin.py +7 -7
  7. {spaceforge-0.0.16 → spaceforge-0.0.17}/spaceforge.egg-info/PKG-INFO +1 -1
  8. {spaceforge-0.0.16 → spaceforge-0.0.17}/.github/workflows/ci.yml +0 -0
  9. {spaceforge-0.0.16 → spaceforge-0.0.17}/.github/workflows/release.yml +0 -0
  10. {spaceforge-0.0.16 → spaceforge-0.0.17}/.gitignore +0 -0
  11. {spaceforge-0.0.16 → spaceforge-0.0.17}/LICENSE +0 -0
  12. {spaceforge-0.0.16 → spaceforge-0.0.17}/MANIFEST.in +0 -0
  13. {spaceforge-0.0.16 → spaceforge-0.0.17}/README.md +0 -0
  14. {spaceforge-0.0.16 → spaceforge-0.0.17}/go.mod +0 -0
  15. {spaceforge-0.0.16 → spaceforge-0.0.17}/plugins/enviroment_manager/requirements.txt +0 -0
  16. {spaceforge-0.0.16 → spaceforge-0.0.17}/plugins/infracost/plugin.py +0 -0
  17. {spaceforge-0.0.16 → spaceforge-0.0.17}/plugins/infracost/plugin.yaml +0 -0
  18. {spaceforge-0.0.16 → spaceforge-0.0.17}/plugins/sops/plugin.py +0 -0
  19. {spaceforge-0.0.16 → spaceforge-0.0.17}/plugins/sops/plugin.yaml +0 -0
  20. {spaceforge-0.0.16 → spaceforge-0.0.17}/plugins/sops/requirements.txt +0 -0
  21. {spaceforge-0.0.16 → spaceforge-0.0.17}/plugins/wiz/plugin.py +0 -0
  22. {spaceforge-0.0.16 → spaceforge-0.0.17}/plugins/wiz/plugin.yaml +0 -0
  23. {spaceforge-0.0.16 → spaceforge-0.0.17}/pyproject.toml +0 -0
  24. {spaceforge-0.0.16 → spaceforge-0.0.17}/setup.cfg +0 -0
  25. {spaceforge-0.0.16 → spaceforge-0.0.17}/setup.py +0 -0
  26. {spaceforge-0.0.16 → spaceforge-0.0.17}/spaceforge/README.md +0 -0
  27. {spaceforge-0.0.16 → spaceforge-0.0.17}/spaceforge/__init__.py +0 -0
  28. {spaceforge-0.0.16 → spaceforge-0.0.17}/spaceforge/__main__.py +0 -0
  29. {spaceforge-0.0.16 → spaceforge-0.0.17}/spaceforge/_version.py +0 -0
  30. {spaceforge-0.0.16 → spaceforge-0.0.17}/spaceforge/cls.py +0 -0
  31. {spaceforge-0.0.16 → spaceforge-0.0.17}/spaceforge/conftest.py +0 -0
  32. {spaceforge-0.0.16 → spaceforge-0.0.17}/spaceforge/generator.py +0 -0
  33. {spaceforge-0.0.16 → spaceforge-0.0.17}/spaceforge/runner.py +0 -0
  34. {spaceforge-0.0.16 → spaceforge-0.0.17}/spaceforge/schema.json +0 -0
  35. {spaceforge-0.0.16 → spaceforge-0.0.17}/spaceforge/templates/binary_install.sh.j2 +0 -0
  36. {spaceforge-0.0.16 → spaceforge-0.0.17}/spaceforge/templates/ensure_spaceforge_and_run.sh.j2 +0 -0
  37. {spaceforge-0.0.16 → spaceforge-0.0.17}/spaceforge/test_cls.py +0 -0
  38. {spaceforge-0.0.16 → spaceforge-0.0.17}/spaceforge/test_generator.py +0 -0
  39. {spaceforge-0.0.16 → spaceforge-0.0.17}/spaceforge/test_generator_binaries.py +0 -0
  40. {spaceforge-0.0.16 → spaceforge-0.0.17}/spaceforge/test_generator_core.py +0 -0
  41. {spaceforge-0.0.16 → spaceforge-0.0.17}/spaceforge/test_generator_hooks.py +0 -0
  42. {spaceforge-0.0.16 → spaceforge-0.0.17}/spaceforge/test_generator_parameters.py +0 -0
  43. {spaceforge-0.0.16 → spaceforge-0.0.17}/spaceforge/test_plugin_file_operations.py +0 -0
  44. {spaceforge-0.0.16 → spaceforge-0.0.17}/spaceforge/test_plugin_hooks.py +0 -0
  45. {spaceforge-0.0.16 → spaceforge-0.0.17}/spaceforge/test_plugin_inheritance.py +0 -0
  46. {spaceforge-0.0.16 → spaceforge-0.0.17}/spaceforge/test_runner.py +0 -0
  47. {spaceforge-0.0.16 → spaceforge-0.0.17}/spaceforge/test_runner_cli.py +0 -0
  48. {spaceforge-0.0.16 → spaceforge-0.0.17}/spaceforge/test_runner_core.py +0 -0
  49. {spaceforge-0.0.16 → spaceforge-0.0.17}/spaceforge/test_runner_execution.py +0 -0
  50. {spaceforge-0.0.16 → spaceforge-0.0.17}/spaceforge.egg-info/SOURCES.txt +0 -0
  51. {spaceforge-0.0.16 → spaceforge-0.0.17}/spaceforge.egg-info/dependency_links.txt +0 -0
  52. {spaceforge-0.0.16 → spaceforge-0.0.17}/spaceforge.egg-info/entry_points.txt +0 -0
  53. {spaceforge-0.0.16 → spaceforge-0.0.17}/spaceforge.egg-info/not-zip-safe +0 -0
  54. {spaceforge-0.0.16 → spaceforge-0.0.17}/spaceforge.egg-info/requires.txt +0 -0
  55. {spaceforge-0.0.16 → spaceforge-0.0.17}/spaceforge.egg-info/top_level.txt +0 -0
  56. {spaceforge-0.0.16 → spaceforge-0.0.17}/templates.go +0 -0
  57. {spaceforge-0.0.16 → spaceforge-0.0.17}/test.sh +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: spaceforge
3
- Version: 0.0.16
3
+ Version: 0.0.17
4
4
  Summary: A Python framework for building Spacelift plugins
5
5
  Home-page: https://github.com/spacelift-io/plugins
6
6
  Author: Spacelift
@@ -255,7 +255,7 @@ resource "spacelift_environment_variable" "__this" {
255
255
  if "errors" in response:
256
256
  self.logger.error(f"Error triggering stack preview for {stack_id}:", response["errors"])
257
257
  else:
258
- url = f"https://{self.spacelift_domain}/stack/{stack_id}/run/{response['data']['runTrigger']['id']}"
258
+ url = f"{self.spacelift_domain}/stack/{stack_id}/run/{response['data']['runTrigger']['id']}"
259
259
  markdown.append(f"- Triggered [stack preview]({url}) for {stack_id} with commit {tracked_commit}.")
260
260
 
261
261
  if len(markdown) > 0:
@@ -409,7 +409,7 @@ contexts:
409
409
  if "errors" in response:
410
410
  self.logger.error(f"Error triggering stack preview for {stack_id}:", response["errors"])
411
411
  else:
412
- url = f"https://{self.spacelift_domain}/stack/{stack_id}/run/{response['data']['runTrigger']['id']}"
412
+ url = f"{self.spacelift_domain}/stack/{stack_id}/run/{response['data']['runTrigger']['id']}"
413
413
  markdown.append(f"- Triggered [stack preview]({url}) for {stack_id} with commit {tracked_commit}.")
414
414
 
415
415
  if len(markdown) > 0:
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '0.0.16'
32
- __version_tuple__ = version_tuple = (0, 0, 16)
31
+ __version__ = version = '0.0.17'
32
+ __version_tuple__ = version_tuple = (0, 0, 17)
33
33
 
34
- __commit_id__ = commit_id = 'g11adf16b1'
34
+ __commit_id__ = commit_id = 'gad9a26e5d'
@@ -35,19 +35,22 @@ class SpaceforgePlugin(ABC):
35
35
  self._run_id = os.environ.get("TF_VAR_spacelift_run_id", "local")
36
36
  self._is_local = self._run_id == "local"
37
37
  self.logger = self._setup_logger()
38
+ self.spacelift_domain = os.environ.get(
39
+ "TF_VAR_spacelift_graphql_endpoint", ""
40
+ ).replace("/graphql", "")
38
41
 
39
42
  self._api_token = os.environ.get("SPACELIFT_API_TOKEN") or False
40
- self.spacelift_domain = (
43
+ self._api_endpoint = (
41
44
  os.environ.get("TF_VAR_spacelift_graphql_endpoint") or False
42
45
  )
43
- self._api_enabled = bool(self._api_token and self.spacelift_domain)
46
+ self._api_enabled = bool(self._api_token and self._api_endpoint)
44
47
  self._workspace_root = os.getcwd()
45
48
  self._spacelift_markdown_endpoint = None
46
49
  self._markdown_endpoint_token = os.environ.get("SPACELIFT_API_TOKEN") or False
47
50
 
48
51
  # This should be the last thing we do in the constructor
49
52
  # because we set api_enabled to false if the domain is set up incorrectly.
50
- if self.spacelift_domain and isinstance(self.spacelift_domain, str):
53
+ if self._api_endpoint and isinstance(self._api_endpoint, str):
51
54
  # this must occur after we check if spacelift domain is false
52
55
  # because the domain could be set but not start with https://
53
56
  # if self.spacelift_domain.startswith("https://"):
@@ -60,7 +63,7 @@ class SpaceforgePlugin(ABC):
60
63
  # self._api_enabled = False
61
64
 
62
65
  if self._api_enabled:
63
- self._spacelift_markdown_endpoint = self.spacelift_domain.replace(
66
+ self._spacelift_markdown_endpoint = self._api_endpoint.replace(
64
67
  "/graphql", "/worker/plugin_logs_url"
65
68
  )
66
69
 
@@ -127,12 +130,12 @@ class SpaceforgePlugin(ABC):
127
130
  }
128
131
 
129
132
  req = urllib.request.Request(
130
- self.spacelift_domain, # type: ignore[arg-type]
133
+ self._api_endpoint, # type: ignore[arg-type]
131
134
  json.dumps(data).encode("utf-8"),
132
135
  headers,
133
136
  )
134
137
 
135
- self.logger.debug(f"Sending request to url: {self.spacelift_domain}")
138
+ self.logger.debug(f"Sending request to url: {self._api_endpoint}")
136
139
  try:
137
140
  with urllib.request.urlopen(req) as response:
138
141
  resp: Dict[str, Any] = json.loads(response.read().decode("utf-8"))
@@ -249,12 +252,12 @@ class SpaceforgePlugin(ABC):
249
252
  data["variables"] = variables
250
253
 
251
254
  req = urllib.request.Request(
252
- self.spacelift_domain, # type: ignore[arg-type]
255
+ self._api_endpoint, # type: ignore[arg-type]
253
256
  json.dumps(data).encode("utf-8"),
254
257
  headers,
255
258
  )
256
259
 
257
- self.logger.debug(f"Sending request to url: {self.spacelift_domain}")
260
+ self.logger.debug(f"Sending request to url: {self._api_endpoint}")
258
261
  try:
259
262
  with urllib.request.urlopen(req) as response:
260
263
  resp: Dict[str, Any] = json.loads(response.read().decode("utf-8"))
@@ -21,7 +21,7 @@
21
21
  #
22
22
  # # Assert
23
23
  # assert plugin._api_token is False
24
- # assert plugin.spacelift_domain is False
24
+ # assert plugin._api_endpoint is False
25
25
  # assert plugin._api_enabled is False
26
26
  # assert plugin._workspace_root == os.getcwd()
27
27
  # assert isinstance(plugin.logger, logging.Logger)
@@ -36,7 +36,7 @@
36
36
  #
37
37
  # # Assert
38
38
  # assert plugin._api_token == "test_token"
39
- # assert plugin.spacelift_domain == "https://test.spacelift.io"
39
+ # assert plugin._api_endpoint == "https://test.spacelift.io"
40
40
  # assert plugin._api_enabled is True
41
41
  # assert plugin._workspace_root == os.getcwd()
42
42
  #
@@ -53,7 +53,7 @@
53
53
  # plugin = SpaceforgePlugin()
54
54
  #
55
55
  # # Assert
56
- # assert plugin.spacelift_domain == "https://test.spacelift.io"
56
+ # assert plugin._api_endpoint == "https://test.spacelift.io"
57
57
  # assert plugin._api_enabled is True
58
58
  #
59
59
  # def test_should_disable_api_when_domain_has_no_https_prefix(self) -> None:
@@ -69,7 +69,7 @@
69
69
  # plugin = SpaceforgePlugin()
70
70
  #
71
71
  # # Assert
72
- # assert plugin.spacelift_domain == "test.spacelift.io"
72
+ # assert plugin._api_endpoint == "test.spacelift.io"
73
73
  # assert plugin._api_enabled is False
74
74
  #
75
75
  # def test_should_disable_api_when_only_token_provided(self) -> None:
@@ -271,7 +271,7 @@
271
271
  # plugin = SpaceforgePlugin()
272
272
  # plugin._api_enabled = True
273
273
  # plugin._api_token = "test_token"
274
- # plugin.spacelift_domain = "https://test.spacelift.io"
274
+ # plugin._api_endpoint = "https://test.spacelift.io"
275
275
  #
276
276
  # expected_data = {"data": {"test": "result"}}
277
277
  # mock_api_response.read.return_value = json.dumps(expected_data).encode("utf-8")
@@ -305,7 +305,7 @@
305
305
  # plugin = SpaceforgePlugin()
306
306
  # plugin._api_enabled = True
307
307
  # plugin._api_token = "test_token"
308
- # plugin.spacelift_domain = "https://test.spacelift.io"
308
+ # plugin._api_endpoint = "https://test.spacelift.io"
309
309
  #
310
310
  # mock_response_data = {"data": {"test": "result"}}
311
311
  # mock_response = Mock()
@@ -331,7 +331,7 @@
331
331
  # plugin = SpaceforgePlugin()
332
332
  # plugin._api_enabled = True
333
333
  # plugin._api_token = "test_token"
334
- # plugin.spacelift_domain = "https://test.spacelift.io"
334
+ # plugin._api_endpoint = "https://test.spacelift.io"
335
335
  #
336
336
  # mock_response_data = {"errors": [{"message": "Test error"}]}
337
337
  # mock_response = Mock()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: spaceforge
3
- Version: 0.0.16
3
+ Version: 0.0.17
4
4
  Summary: A Python framework for building Spacelift plugins
5
5
  Home-page: https://github.com/spacelift-io/plugins
6
6
  Author: Spacelift
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes