spaceforge 1.1.7__tar.gz → 1.2.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 (78) hide show
  1. {spaceforge-1.1.7/spaceforge.egg-info → spaceforge-1.2.1}/PKG-INFO +2 -1
  2. spaceforge-1.2.1/linting/__init__.py +1 -0
  3. spaceforge-1.2.1/linting/spaceforge_checker.py +75 -0
  4. {spaceforge-1.1.7 → spaceforge-1.2.1}/plugins/checkov/plugin.py +3 -4
  5. {spaceforge-1.1.7 → spaceforge-1.2.1}/plugins/checkov/plugin.yaml +6 -8
  6. {spaceforge-1.1.7 → spaceforge-1.2.1}/plugins/enviroment_manager/plugin.py +3 -2
  7. {spaceforge-1.1.7 → spaceforge-1.2.1}/plugins/enviroment_manager/plugin.yaml +6 -4
  8. {spaceforge-1.1.7 → spaceforge-1.2.1}/plugins/envsubst/plugin.py +1 -2
  9. {spaceforge-1.1.7 → spaceforge-1.2.1}/plugins/envsubst/plugin.yaml +2 -4
  10. {spaceforge-1.1.7 → spaceforge-1.2.1}/plugins/infracost/plugin.py +2 -1
  11. {spaceforge-1.1.7 → spaceforge-1.2.1}/plugins/infracost/plugin.yaml +4 -2
  12. {spaceforge-1.1.7 → spaceforge-1.2.1}/plugins/opentofu-tracing/plugin.py +17 -11
  13. {spaceforge-1.1.7 → spaceforge-1.2.1}/plugins/opentofu-tracing/plugin.yaml +34 -22
  14. {spaceforge-1.1.7 → spaceforge-1.2.1}/plugins/sops/plugin.py +1 -3
  15. {spaceforge-1.1.7 → spaceforge-1.2.1}/plugins/sops/plugin.yaml +2 -6
  16. {spaceforge-1.1.7 → spaceforge-1.2.1}/plugins/terrascan/plugin.py +4 -4
  17. {spaceforge-1.1.7 → spaceforge-1.2.1}/plugins/terrascan/plugin.yaml +7 -8
  18. {spaceforge-1.1.7 → spaceforge-1.2.1}/plugins/trivy/plugin.py +4 -4
  19. {spaceforge-1.1.7 → spaceforge-1.2.1}/plugins/trivy/plugin.yaml +7 -8
  20. {spaceforge-1.1.7 → spaceforge-1.2.1}/plugins/trufflehog/plugin.py +4 -4
  21. {spaceforge-1.1.7 → spaceforge-1.2.1}/plugins/trufflehog/plugin.yaml +8 -8
  22. {spaceforge-1.1.7 → spaceforge-1.2.1}/plugins/wiz/plugin.py +3 -3
  23. {spaceforge-1.1.7 → spaceforge-1.2.1}/plugins/wiz/plugin.yaml +6 -6
  24. {spaceforge-1.1.7 → spaceforge-1.2.1}/pyproject.toml +16 -1
  25. {spaceforge-1.1.7 → spaceforge-1.2.1}/spaceforge/_version_scm.py +3 -3
  26. {spaceforge-1.1.7 → spaceforge-1.2.1}/spaceforge/cls.py +31 -3
  27. {spaceforge-1.1.7 → spaceforge-1.2.1}/spaceforge/conftest.py +1 -0
  28. {spaceforge-1.1.7 → spaceforge-1.2.1}/spaceforge/schema.json +21 -2
  29. spaceforge-1.2.1/spaceforge/test_cls.py +102 -0
  30. {spaceforge-1.1.7 → spaceforge-1.2.1}/spaceforge/test_generator.py +6 -1
  31. {spaceforge-1.1.7 → spaceforge-1.2.1}/spaceforge/test_generator_parameters.py +2 -0
  32. {spaceforge-1.1.7 → spaceforge-1.2.1/spaceforge.egg-info}/PKG-INFO +2 -1
  33. {spaceforge-1.1.7 → spaceforge-1.2.1}/spaceforge.egg-info/SOURCES.txt +3 -0
  34. {spaceforge-1.1.7 → spaceforge-1.2.1}/spaceforge.egg-info/requires.txt +1 -0
  35. {spaceforge-1.1.7 → spaceforge-1.2.1}/test.sh +15 -1
  36. spaceforge-1.2.1/validate_plugins.py +70 -0
  37. spaceforge-1.1.7/spaceforge/test_cls.py +0 -17
  38. {spaceforge-1.1.7 → spaceforge-1.2.1}/.github/workflows/ci.yml +0 -0
  39. {spaceforge-1.1.7 → spaceforge-1.2.1}/.github/workflows/release.yml +0 -0
  40. {spaceforge-1.1.7 → spaceforge-1.2.1}/.gitignore +0 -0
  41. {spaceforge-1.1.7 → spaceforge-1.2.1}/CONTRIBUTING.md +0 -0
  42. {spaceforge-1.1.7 → spaceforge-1.2.1}/LICENSE +0 -0
  43. {spaceforge-1.1.7 → spaceforge-1.2.1}/MANIFEST.in +0 -0
  44. {spaceforge-1.1.7 → spaceforge-1.2.1}/README.md +0 -0
  45. {spaceforge-1.1.7 → spaceforge-1.2.1}/go.mod +0 -0
  46. {spaceforge-1.1.7 → spaceforge-1.2.1}/plugins/checkov/README.md +0 -0
  47. {spaceforge-1.1.7 → spaceforge-1.2.1}/plugins/checkov/requirements.txt +0 -0
  48. {spaceforge-1.1.7 → spaceforge-1.2.1}/plugins/enviroment_manager/requirements.txt +0 -0
  49. {spaceforge-1.1.7 → spaceforge-1.2.1}/plugins/sops/requirements.txt +0 -0
  50. {spaceforge-1.1.7 → spaceforge-1.2.1}/plugins/terrascan/README.md +0 -0
  51. {spaceforge-1.1.7 → spaceforge-1.2.1}/plugins/trivy/README.md +0 -0
  52. {spaceforge-1.1.7 → spaceforge-1.2.1}/plugins/trufflehog/README.md +0 -0
  53. {spaceforge-1.1.7 → spaceforge-1.2.1}/regenerate_plugins.sh +0 -0
  54. {spaceforge-1.1.7 → spaceforge-1.2.1}/setup.cfg +0 -0
  55. {spaceforge-1.1.7 → spaceforge-1.2.1}/spaceforge/README.md +0 -0
  56. {spaceforge-1.1.7 → spaceforge-1.2.1}/spaceforge/__init__.py +0 -0
  57. {spaceforge-1.1.7 → spaceforge-1.2.1}/spaceforge/__main__.py +0 -0
  58. {spaceforge-1.1.7 → spaceforge-1.2.1}/spaceforge/_version.py +0 -0
  59. {spaceforge-1.1.7 → spaceforge-1.2.1}/spaceforge/generator.py +0 -0
  60. {spaceforge-1.1.7 → spaceforge-1.2.1}/spaceforge/plugin.py +0 -0
  61. {spaceforge-1.1.7 → spaceforge-1.2.1}/spaceforge/runner.py +0 -0
  62. {spaceforge-1.1.7 → spaceforge-1.2.1}/spaceforge/templates/binary_install.sh.j2 +0 -0
  63. {spaceforge-1.1.7 → spaceforge-1.2.1}/spaceforge/templates/ensure_spaceforge_and_run.sh.j2 +0 -0
  64. {spaceforge-1.1.7 → spaceforge-1.2.1}/spaceforge/test_generator_binaries.py +0 -0
  65. {spaceforge-1.1.7 → spaceforge-1.2.1}/spaceforge/test_generator_core.py +0 -0
  66. {spaceforge-1.1.7 → spaceforge-1.2.1}/spaceforge/test_generator_hooks.py +0 -0
  67. {spaceforge-1.1.7 → spaceforge-1.2.1}/spaceforge/test_plugin.py +0 -0
  68. {spaceforge-1.1.7 → spaceforge-1.2.1}/spaceforge/test_plugin_file_operations.py +0 -0
  69. {spaceforge-1.1.7 → spaceforge-1.2.1}/spaceforge/test_plugin_hooks.py +0 -0
  70. {spaceforge-1.1.7 → spaceforge-1.2.1}/spaceforge/test_plugin_inheritance.py +0 -0
  71. {spaceforge-1.1.7 → spaceforge-1.2.1}/spaceforge/test_runner.py +0 -0
  72. {spaceforge-1.1.7 → spaceforge-1.2.1}/spaceforge/test_runner_cli.py +0 -0
  73. {spaceforge-1.1.7 → spaceforge-1.2.1}/spaceforge/test_runner_core.py +0 -0
  74. {spaceforge-1.1.7 → spaceforge-1.2.1}/spaceforge/test_runner_execution.py +0 -0
  75. {spaceforge-1.1.7 → spaceforge-1.2.1}/spaceforge.egg-info/dependency_links.txt +0 -0
  76. {spaceforge-1.1.7 → spaceforge-1.2.1}/spaceforge.egg-info/entry_points.txt +0 -0
  77. {spaceforge-1.1.7 → spaceforge-1.2.1}/spaceforge.egg-info/top_level.txt +0 -0
  78. {spaceforge-1.1.7 → spaceforge-1.2.1}/templates.go +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: spaceforge
3
- Version: 1.1.7
3
+ Version: 1.2.1
4
4
  Summary: A Python framework for building Spacelift plugins
5
5
  Author-email: Spacelift <support@spacelift.io>
6
6
  Maintainer-email: Spacelift <support@spacelift.io>
@@ -34,6 +34,7 @@ Requires-Dist: pytest-cov; extra == "dev"
34
34
  Requires-Dist: black; extra == "dev"
35
35
  Requires-Dist: isort; extra == "dev"
36
36
  Requires-Dist: mypy; extra == "dev"
37
+ Requires-Dist: pylint; extra == "dev"
37
38
  Requires-Dist: types-PyYAML; extra == "dev"
38
39
  Requires-Dist: setuptools-scm[toml]>=6.2; extra == "dev"
39
40
  Requires-Dist: autoflake; extra == "dev"
@@ -0,0 +1 @@
1
+ """Custom linting tools for Spaceforge plugins."""
@@ -0,0 +1,75 @@
1
+ """Custom pylint checker for Spaceforge plugin conventions."""
2
+
3
+ import os
4
+ from typing import TYPE_CHECKING
5
+
6
+ from pylint.checkers import BaseChecker
7
+
8
+ if TYPE_CHECKING:
9
+ from pylint.lint import PyLinter
10
+
11
+
12
+ class SpaceforgePluginChecker(BaseChecker):
13
+ """Checker for Spaceforge plugin naming conventions."""
14
+
15
+ name = "spaceforge-plugin"
16
+ msgs = {
17
+ "E9001": (
18
+ "Plugin name '%s' should start with a capital letter",
19
+ "plugin-name-not-capitalized",
20
+ "The __plugin_name__ attribute must start with a capital letter for consistency.",
21
+ ),
22
+ "E9002": (
23
+ "Plugin class '%s' must have a docstring",
24
+ "plugin-missing-docstring",
25
+ "All plugin classes extending SpaceforgePlugin must have a docstring explaining what the plugin does.",
26
+ ),
27
+ }
28
+
29
+ def visit_classdef(self, node):
30
+ """Check class definitions that extend SpaceforgePlugin."""
31
+ # Skip test files
32
+ filename = os.path.basename(node.root().file)
33
+ if filename.startswith("test_") or filename == "conftest.py":
34
+ return
35
+
36
+ # Check if this class extends SpaceforgePlugin
37
+ if not any(
38
+ base.name == "SpaceforgePlugin"
39
+ for base in node.bases
40
+ if hasattr(base, "name")
41
+ ):
42
+ return
43
+
44
+ # Check if the plugin class has a docstring
45
+ # In astroid, docstrings are stored in the doc_node attribute
46
+ if not node.doc_node:
47
+ self.add_message(
48
+ "plugin-missing-docstring",
49
+ node=node,
50
+ args=(node.name,),
51
+ )
52
+
53
+ # Look for __plugin_name__ attribute in the class body
54
+ for item in node.body:
55
+ if (
56
+ hasattr(item, "targets")
57
+ and len(item.targets) == 1
58
+ and hasattr(item.targets[0], "name")
59
+ and item.targets[0].name == "__plugin_name__"
60
+ ):
61
+ # Get the value of __plugin_name__
62
+ if hasattr(item.value, "value") and isinstance(item.value.value, str):
63
+ plugin_name = item.value.value
64
+ if plugin_name and not plugin_name[0].isupper():
65
+ self.add_message(
66
+ "plugin-name-not-capitalized",
67
+ node=item,
68
+ args=(plugin_name,),
69
+ )
70
+ break
71
+
72
+
73
+ def register(linter: "PyLinter") -> None:
74
+ """Register the checker with pylint."""
75
+ linter.register_checker(SpaceforgePluginChecker(linter))
@@ -6,8 +6,6 @@ from spaceforge import Context, Parameter, Policy, SpaceforgePlugin, Variable
6
6
 
7
7
  class CheckovPlugin(SpaceforgePlugin):
8
8
  """
9
- Checkov Security Scanner Plugin
10
-
11
9
  This plugin runs Checkov security scanning on Terraform/OpenTofu configurations
12
10
  during the after_plan hook and reports findings with detailed resource-level
13
11
  information.
@@ -77,9 +75,9 @@ class CheckovPlugin(SpaceforgePlugin):
77
75
  ```
78
76
  """
79
77
 
80
- __plugin_name__ = "checkov"
78
+ __plugin_name__ = "Checkov"
81
79
  __author__ = "Spacelift"
82
- __version__ = "1.0.2"
80
+ __version__ = "1.0.3"
83
81
  __labels__ = ["security", "terraform"]
84
82
 
85
83
  __parameters__ = [
@@ -88,6 +86,7 @@ class CheckovPlugin(SpaceforgePlugin):
88
86
  id="checkov_additional_args",
89
87
  description="Additional command-line arguments to pass to Checkov (e.g., --check HIGH,CRITICAL or --skip-check CKV_AWS_123)",
90
88
  default="",
89
+ type="string",
91
90
  required=False,
92
91
  )
93
92
  ]
@@ -1,8 +1,6 @@
1
- name: checkov
2
- version: 1.0.2
1
+ name: Checkov
2
+ version: 1.0.3
3
3
  description: |-
4
- Checkov Security Scanner Plugin
5
-
6
4
  This plugin runs Checkov security scanning on Terraform/OpenTofu configurations
7
5
  during the after_plan hook and reports findings with detailed resource-level
8
6
  information.
@@ -77,6 +75,7 @@ labels:
77
75
  parameters:
78
76
  - name: Additional Arguments
79
77
  description: Additional command-line arguments to pass to Checkov (e.g., --check HIGH,CRITICAL or --skip-check CKV_AWS_123)
78
+ type: string
80
79
  sensitive: false
81
80
  required: false
82
81
  default: ''
@@ -103,8 +102,6 @@ contexts:
103
102
 
104
103
  class CheckovPlugin(SpaceforgePlugin):
105
104
  """
106
- Checkov Security Scanner Plugin
107
-
108
105
  This plugin runs Checkov security scanning on Terraform/OpenTofu configurations
109
106
  during the after_plan hook and reports findings with detailed resource-level
110
107
  information.
@@ -174,9 +171,9 @@ contexts:
174
171
  ```
175
172
  """
176
173
 
177
- __plugin_name__ = "checkov"
174
+ __plugin_name__ = "Checkov"
178
175
  __author__ = "Spacelift"
179
- __version__ = "1.0.2"
176
+ __version__ = "1.0.3"
180
177
  __labels__ = ["security", "terraform"]
181
178
 
182
179
  __parameters__ = [
@@ -185,6 +182,7 @@ contexts:
185
182
  id="checkov_additional_args",
186
183
  description="Additional command-line arguments to pass to Checkov (e.g., --check HIGH,CRITICAL or --skip-check CKV_AWS_123)",
187
184
  default="",
185
+ type="string",
188
186
  required=False,
189
187
  )
190
188
  ]
@@ -7,7 +7,6 @@ from spaceforge import Context, MountedFile, Parameter, SpaceforgePlugin, Variab
7
7
 
8
8
  class EnvironmentManagerPlugin(SpaceforgePlugin):
9
9
  """
10
- # Spacelift Environment Variable Manager
11
10
  This plugin allows you to manage Spacelift environment variables using a centralized YAML configuration file for multiple stacks.
12
11
 
13
12
  ## Features
@@ -106,7 +105,7 @@ class EnvironmentManagerPlugin(SpaceforgePlugin):
106
105
  # Plugin metadata
107
106
  __plugin_name__ = "Environment Manager"
108
107
  __labels__ = ["management", "infrastructure"]
109
- __version__ = "1.0.2"
108
+ __version__ = "1.0.3"
110
109
  __author__ = "Spacelift Team"
111
110
 
112
111
  __parameters__ = [
@@ -114,12 +113,14 @@ class EnvironmentManagerPlugin(SpaceforgePlugin):
114
113
  name="Spacelift API key ID",
115
114
  id="spacelift_api_key_id",
116
115
  description="The API key that will trigger the stack previews",
116
+ type="string",
117
117
  required=True,
118
118
  ),
119
119
  Parameter(
120
120
  name="Spacelift API key secret",
121
121
  id="spacelift_api_key_secret",
122
122
  description="The API key secret that will trigger the stack previews",
123
+ type="string",
123
124
  required=True,
124
125
  sensitive=True,
125
126
  ),
@@ -1,7 +1,6 @@
1
1
  name: Environment Manager
2
- version: 1.0.2
2
+ version: 1.0.3
3
3
  description: |-
4
- # Spacelift Environment Variable Manager
5
4
  This plugin allows you to manage Spacelift environment variables using a centralized YAML configuration file for multiple stacks.
6
5
 
7
6
  ## Features
@@ -102,11 +101,13 @@ labels:
102
101
  parameters:
103
102
  - name: Spacelift API key ID
104
103
  description: The API key that will trigger the stack previews
104
+ type: string
105
105
  sensitive: false
106
106
  required: true
107
107
  id: spacelift_api_key_id
108
108
  - name: Spacelift API key secret
109
109
  description: The API key secret that will trigger the stack previews
110
+ type: string
110
111
  sensitive: true
111
112
  required: true
112
113
  id: spacelift_api_key_secret
@@ -161,7 +162,6 @@ contexts:
161
162
 
162
163
  class EnvironmentManagerPlugin(SpaceforgePlugin):
163
164
  """
164
- # Spacelift Environment Variable Manager
165
165
  This plugin allows you to manage Spacelift environment variables using a centralized YAML configuration file for multiple stacks.
166
166
 
167
167
  ## Features
@@ -260,7 +260,7 @@ contexts:
260
260
  # Plugin metadata
261
261
  __plugin_name__ = "Environment Manager"
262
262
  __labels__ = ["management", "infrastructure"]
263
- __version__ = "1.0.2"
263
+ __version__ = "1.0.3"
264
264
  __author__ = "Spacelift Team"
265
265
 
266
266
  __parameters__ = [
@@ -268,12 +268,14 @@ contexts:
268
268
  name="Spacelift API key ID",
269
269
  id="spacelift_api_key_id",
270
270
  description="The API key that will trigger the stack previews",
271
+ type="string",
271
272
  required=True,
272
273
  ),
273
274
  Parameter(
274
275
  name="Spacelift API key secret",
275
276
  id="spacelift_api_key_secret",
276
277
  description="The API key secret that will trigger the stack previews",
278
+ type="string",
277
279
  required=True,
278
280
  sensitive=True,
279
281
  ),
@@ -3,7 +3,6 @@ from spaceforge import Binary, Context, SpaceforgePlugin
3
3
 
4
4
  class EnvsubstPlugin(SpaceforgePlugin):
5
5
  """
6
- # Plugin Envsubst
7
6
  This plugin allows the use of environment variables in Kubernetes manifests.
8
7
 
9
8
  ## Usage
@@ -28,7 +27,7 @@ class EnvsubstPlugin(SpaceforgePlugin):
28
27
  # Plugin metadata
29
28
  __plugin_name__ = "Envsubst"
30
29
  __labels__ = ["kubernetes", "environment"]
31
- __version__ = "1.0.2"
30
+ __version__ = "1.0.3"
32
31
  __author__ = "Spacelift Team"
33
32
 
34
33
  __binaries__ = [
@@ -1,7 +1,6 @@
1
1
  name: Envsubst
2
- version: 1.0.2
2
+ version: 1.0.3
3
3
  description: |-
4
- # Plugin Envsubst
5
4
  This plugin allows the use of environment variables in Kubernetes manifests.
6
5
 
7
6
  ## Usage
@@ -37,7 +36,6 @@ contexts:
37
36
 
38
37
  class EnvsubstPlugin(SpaceforgePlugin):
39
38
  """
40
- # Plugin Envsubst
41
39
  This plugin allows the use of environment variables in Kubernetes manifests.
42
40
 
43
41
  ## Usage
@@ -62,7 +60,7 @@ contexts:
62
60
  # Plugin metadata
63
61
  __plugin_name__ = "Envsubst"
64
62
  __labels__ = ["kubernetes", "environment"]
65
- __version__ = "1.0.2"
63
+ __version__ = "1.0.3"
66
64
  __author__ = "Spacelift Team"
67
65
 
68
66
  __binaries__ = [
@@ -9,7 +9,7 @@ class InfracostPlugin(SpaceforgePlugin):
9
9
  # Plugin metadata
10
10
  __plugin_name__ = "Infracost"
11
11
  __labels__ = ["cost estimation", "infrastructure"]
12
- __version__ = "1.0.1"
12
+ __version__ = "1.0.2"
13
13
  __author__ = "Spacelift Team"
14
14
 
15
15
  __parameters__ = [
@@ -17,6 +17,7 @@ class InfracostPlugin(SpaceforgePlugin):
17
17
  name="Infracost API Key",
18
18
  id="infracost_api_key",
19
19
  description="The API key for Infracost authentication",
20
+ type="string",
20
21
  required=True,
21
22
  sensitive=True,
22
23
  )
@@ -1,5 +1,5 @@
1
1
  name: Infracost
2
- version: 1.0.1
2
+ version: 1.0.2
3
3
  description: A plugin for integrating with Infracost to estimate costs of infrastructure changes.
4
4
  author: Spacelift Team
5
5
  labels:
@@ -8,6 +8,7 @@ labels:
8
8
  parameters:
9
9
  - name: Infracost API Key
10
10
  description: The API key for Infracost authentication
11
+ type: string
11
12
  sensitive: true
12
13
  required: true
13
14
  id: infracost_api_key
@@ -32,7 +33,7 @@ contexts:
32
33
  # Plugin metadata
33
34
  __plugin_name__ = "Infracost"
34
35
  __labels__ = ["cost estimation", "infrastructure"]
35
- __version__ = "1.0.1"
36
+ __version__ = "1.0.2"
36
37
  __author__ = "Spacelift Team"
37
38
 
38
39
  __parameters__ = [
@@ -40,6 +41,7 @@ contexts:
40
41
  name="Infracost API Key",
41
42
  id="infracost_api_key",
42
43
  description="The API key for Infracost authentication",
44
+ type="string",
43
45
  required=True,
44
46
  sensitive=True,
45
47
  )
@@ -9,8 +9,6 @@ from spaceforge import Binary, Context, Parameter, SpaceforgePlugin, Variable
9
9
 
10
10
  class OpenTofuTracingPlugin(SpaceforgePlugin):
11
11
  """
12
- # OpenTofu Tracing Plugin
13
-
14
12
  This plugin enables OpenTelemetry tracing for OpenTofu operations in Spacelift using Tracedown.
15
13
 
16
14
  ## Overview
@@ -49,7 +47,7 @@ class OpenTofuTracingPlugin(SpaceforgePlugin):
49
47
  # Plugin metadata
50
48
  __plugin_name__ = "OpenTofu Tracing"
51
49
  __labels__ = ["opentofu", "observability", "tracing"]
52
- __version__ = "2.0.1"
50
+ __version__ = "2.0.2"
53
51
  __author__ = "Spacelift Team"
54
52
 
55
53
  __binaries__ = [
@@ -64,31 +62,39 @@ class OpenTofuTracingPlugin(SpaceforgePlugin):
64
62
 
65
63
  __parameters__ = [
66
64
  Parameter(
67
- name="Output File (str: traces.md)",
65
+ name="Output File",
68
66
  id="output_file",
69
67
  description="Path where the markdown report will be generated",
70
- required=True,
68
+ default="traces.md",
69
+ type="string",
70
+ required=False,
71
71
  sensitive=False,
72
72
  ),
73
73
  Parameter(
74
- name="Max Traces (int: 10000)",
74
+ name="Max Traces",
75
75
  id="max_traces",
76
76
  description="Maximum number of trace batches to store",
77
- required=True,
77
+ default=10000,
78
+ type="number",
79
+ required=False,
78
80
  sensitive=False,
79
81
  ),
80
82
  Parameter(
81
- name="Max Memory MB (int: 500)",
83
+ name="Max Memory MB",
82
84
  id="max_memory_mb",
83
85
  description="Memory limit in MB",
84
- required=True,
86
+ default=500,
87
+ type="number",
88
+ required=False,
85
89
  sensitive=False,
86
90
  ),
87
91
  Parameter(
88
- name="Summary Mode (bool: false)",
92
+ name="Summary Mode",
89
93
  id="summary_mode",
90
94
  description="Enable summary mode for large traces (set to 'true' to enable)",
91
- required=True,
95
+ default=False,
96
+ type="boolean",
97
+ required=False,
92
98
  sensitive=False,
93
99
  ),
94
100
  ]
@@ -1,8 +1,6 @@
1
1
  name: OpenTofu Tracing
2
- version: 2.0.1
2
+ version: 2.0.2
3
3
  description: |-
4
- # OpenTofu Tracing Plugin
5
-
6
4
  This plugin enables OpenTelemetry tracing for OpenTofu operations in Spacelift using Tracedown.
7
5
 
8
6
  ## Overview
@@ -42,25 +40,33 @@ labels:
42
40
  - observability
43
41
  - tracing
44
42
  parameters:
45
- - name: 'Output File (str: traces.md)'
43
+ - name: Output File
46
44
  description: Path where the markdown report will be generated
45
+ type: string
47
46
  sensitive: false
48
- required: true
47
+ required: false
48
+ default: traces.md
49
49
  id: output_file
50
- - name: 'Max Traces (int: 10000)'
50
+ - name: Max Traces
51
51
  description: Maximum number of trace batches to store
52
+ type: number
52
53
  sensitive: false
53
- required: true
54
+ required: false
55
+ default: 10000
54
56
  id: max_traces
55
- - name: 'Max Memory MB (int: 500)'
57
+ - name: Max Memory MB
56
58
  description: Memory limit in MB
59
+ type: number
57
60
  sensitive: false
58
- required: true
61
+ required: false
62
+ default: 500
59
63
  id: max_memory_mb
60
- - name: 'Summary Mode (bool: false)'
64
+ - name: Summary Mode
61
65
  description: Enable summary mode for large traces (set to 'true' to enable)
66
+ type: boolean
62
67
  sensitive: false
63
- required: true
68
+ required: false
69
+ default: false
64
70
  id: summary_mode
65
71
  contexts:
66
72
  - name_prefix: opentofu-tracing
@@ -101,8 +107,6 @@ contexts:
101
107
 
102
108
  class OpenTofuTracingPlugin(SpaceforgePlugin):
103
109
  """
104
- # OpenTofu Tracing Plugin
105
-
106
110
  This plugin enables OpenTelemetry tracing for OpenTofu operations in Spacelift using Tracedown.
107
111
 
108
112
  ## Overview
@@ -141,7 +145,7 @@ contexts:
141
145
  # Plugin metadata
142
146
  __plugin_name__ = "OpenTofu Tracing"
143
147
  __labels__ = ["opentofu", "observability", "tracing"]
144
- __version__ = "2.0.1"
148
+ __version__ = "2.0.2"
145
149
  __author__ = "Spacelift Team"
146
150
 
147
151
  __binaries__ = [
@@ -156,31 +160,39 @@ contexts:
156
160
 
157
161
  __parameters__ = [
158
162
  Parameter(
159
- name="Output File (str: traces.md)",
163
+ name="Output File",
160
164
  id="output_file",
161
165
  description="Path where the markdown report will be generated",
162
- required=True,
166
+ default="traces.md",
167
+ type="string",
168
+ required=False,
163
169
  sensitive=False,
164
170
  ),
165
171
  Parameter(
166
- name="Max Traces (int: 10000)",
172
+ name="Max Traces",
167
173
  id="max_traces",
168
174
  description="Maximum number of trace batches to store",
169
- required=True,
175
+ default=10000,
176
+ type="number",
177
+ required=False,
170
178
  sensitive=False,
171
179
  ),
172
180
  Parameter(
173
- name="Max Memory MB (int: 500)",
181
+ name="Max Memory MB",
174
182
  id="max_memory_mb",
175
183
  description="Memory limit in MB",
176
- required=True,
184
+ default=500,
185
+ type="number",
186
+ required=False,
177
187
  sensitive=False,
178
188
  ),
179
189
  Parameter(
180
- name="Summary Mode (bool: false)",
190
+ name="Summary Mode",
181
191
  id="summary_mode",
182
192
  description="Enable summary mode for large traces (set to 'true' to enable)",
183
- required=True,
193
+ default=False,
194
+ type="boolean",
195
+ required=False,
184
196
  sensitive=False,
185
197
  ),
186
198
  ]
@@ -8,8 +8,6 @@ from spaceforge import Binary, SpaceforgePlugin
8
8
 
9
9
  class SopsPlugin(SpaceforgePlugin):
10
10
  """
11
- # Plugin Sops
12
-
13
11
  This adds the `SOPS` plugin to your Spacelift account.
14
12
  It will decrypt an arbitrary number of files based on config you set.
15
13
 
@@ -41,7 +39,7 @@ class SopsPlugin(SpaceforgePlugin):
41
39
  # Plugin metadata
42
40
  __plugin_name__ = "Sops"
43
41
  __labels__ = ["secrets management", "encryption"]
44
- __version__ = "1.0.2"
42
+ __version__ = "1.0.3"
45
43
  __author__ = "Spacelift Team"
46
44
 
47
45
  __binaries__ = [
@@ -1,8 +1,6 @@
1
1
  name: Sops
2
- version: 1.0.2
2
+ version: 1.0.3
3
3
  description: |-
4
- # Plugin Sops
5
-
6
4
  This adds the `SOPS` plugin to your Spacelift account.
7
5
  It will decrypt an arbitrary number of files based on config you set.
8
6
 
@@ -55,8 +53,6 @@ contexts:
55
53
 
56
54
  class SopsPlugin(SpaceforgePlugin):
57
55
  """
58
- # Plugin Sops
59
-
60
56
  This adds the `SOPS` plugin to your Spacelift account.
61
57
  It will decrypt an arbitrary number of files based on config you set.
62
58
 
@@ -88,7 +84,7 @@ contexts:
88
84
  # Plugin metadata
89
85
  __plugin_name__ = "Sops"
90
86
  __labels__ = ["secrets management", "encryption"]
91
- __version__ = "1.0.2"
87
+ __version__ = "1.0.3"
92
88
  __author__ = "Spacelift Team"
93
89
 
94
90
  __binaries__ = [
@@ -6,8 +6,6 @@ from spaceforge import Binary, Context, Parameter, Policy, SpaceforgePlugin, Var
6
6
 
7
7
  class TerrascanPlugin(SpaceforgePlugin):
8
8
  """
9
- Terrascan security scanner plugin for Spacelift.
10
-
11
9
  The Terrascan plugin scans your Infrastructure as Code for security and compliance
12
10
  violations and generates a detailed report with findings categorized by severity.
13
11
 
@@ -58,8 +56,8 @@ class TerrascanPlugin(SpaceforgePlugin):
58
56
  - [Terrascan GitHub Repository](https://github.com/tenable/terrascan)
59
57
  """
60
58
 
61
- __plugin_name__ = "terrascan"
62
- __version__ = "1.0.2"
59
+ __plugin_name__ = "Terrascan"
60
+ __version__ = "1.0.3"
63
61
  __author__ = "Spacelift"
64
62
  __labels__ = ["security", "terraform", "cloudformation", "kubernetes"]
65
63
 
@@ -78,7 +76,9 @@ class TerrascanPlugin(SpaceforgePlugin):
78
76
  name="Additional Arguments",
79
77
  id="terrascan_additional_args",
80
78
  description="Additional command-line arguments to pass to Terrascan",
79
+ type="string",
81
80
  default="",
81
+ required=False,
82
82
  ),
83
83
  ]
84
84
 
@@ -1,8 +1,6 @@
1
- name: terrascan
2
- version: 1.0.2
1
+ name: Terrascan
2
+ version: 1.0.3
3
3
  description: |-
4
- Terrascan security scanner plugin for Spacelift.
5
-
6
4
  The Terrascan plugin scans your Infrastructure as Code for security and compliance
7
5
  violations and generates a detailed report with findings categorized by severity.
8
6
 
@@ -60,6 +58,7 @@ labels:
60
58
  parameters:
61
59
  - name: Additional Arguments
62
60
  description: Additional command-line arguments to pass to Terrascan
61
+ type: string
63
62
  sensitive: false
64
63
  required: false
65
64
  default: ''
@@ -82,8 +81,6 @@ contexts:
82
81
 
83
82
  class TerrascanPlugin(SpaceforgePlugin):
84
83
  """
85
- Terrascan security scanner plugin for Spacelift.
86
-
87
84
  The Terrascan plugin scans your Infrastructure as Code for security and compliance
88
85
  violations and generates a detailed report with findings categorized by severity.
89
86
 
@@ -134,8 +131,8 @@ contexts:
134
131
  - [Terrascan GitHub Repository](https://github.com/tenable/terrascan)
135
132
  """
136
133
 
137
- __plugin_name__ = "terrascan"
138
- __version__ = "1.0.2"
134
+ __plugin_name__ = "Terrascan"
135
+ __version__ = "1.0.3"
139
136
  __author__ = "Spacelift"
140
137
  __labels__ = ["security", "terraform", "cloudformation", "kubernetes"]
141
138
 
@@ -154,7 +151,9 @@ contexts:
154
151
  name="Additional Arguments",
155
152
  id="terrascan_additional_args",
156
153
  description="Additional command-line arguments to pass to Terrascan",
154
+ type="string",
157
155
  default="",
156
+ required=False,
158
157
  ),
159
158
  ]
160
159