spaceforge 1.1.7__tar.gz → 1.2.0__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.
- {spaceforge-1.1.7/spaceforge.egg-info → spaceforge-1.2.0}/PKG-INFO +2 -1
- spaceforge-1.2.0/linting/__init__.py +1 -0
- spaceforge-1.2.0/linting/spaceforge_checker.py +75 -0
- {spaceforge-1.1.7 → spaceforge-1.2.0}/plugins/checkov/plugin.py +3 -4
- {spaceforge-1.1.7 → spaceforge-1.2.0}/plugins/checkov/plugin.yaml +6 -8
- {spaceforge-1.1.7 → spaceforge-1.2.0}/plugins/enviroment_manager/plugin.py +3 -2
- {spaceforge-1.1.7 → spaceforge-1.2.0}/plugins/enviroment_manager/plugin.yaml +6 -4
- {spaceforge-1.1.7 → spaceforge-1.2.0}/plugins/envsubst/plugin.py +1 -2
- {spaceforge-1.1.7 → spaceforge-1.2.0}/plugins/envsubst/plugin.yaml +2 -4
- {spaceforge-1.1.7 → spaceforge-1.2.0}/plugins/infracost/plugin.py +2 -1
- {spaceforge-1.1.7 → spaceforge-1.2.0}/plugins/infracost/plugin.yaml +4 -2
- {spaceforge-1.1.7 → spaceforge-1.2.0}/plugins/opentofu-tracing/plugin.py +13 -7
- {spaceforge-1.1.7 → spaceforge-1.2.0}/plugins/opentofu-tracing/plugin.yaml +26 -14
- {spaceforge-1.1.7 → spaceforge-1.2.0}/plugins/sops/plugin.py +1 -3
- {spaceforge-1.1.7 → spaceforge-1.2.0}/plugins/sops/plugin.yaml +2 -6
- {spaceforge-1.1.7 → spaceforge-1.2.0}/plugins/terrascan/plugin.py +4 -4
- {spaceforge-1.1.7 → spaceforge-1.2.0}/plugins/terrascan/plugin.yaml +7 -8
- {spaceforge-1.1.7 → spaceforge-1.2.0}/plugins/trivy/plugin.py +4 -4
- {spaceforge-1.1.7 → spaceforge-1.2.0}/plugins/trivy/plugin.yaml +7 -8
- {spaceforge-1.1.7 → spaceforge-1.2.0}/plugins/trufflehog/plugin.py +4 -4
- {spaceforge-1.1.7 → spaceforge-1.2.0}/plugins/trufflehog/plugin.yaml +8 -8
- {spaceforge-1.1.7 → spaceforge-1.2.0}/plugins/wiz/plugin.py +3 -3
- {spaceforge-1.1.7 → spaceforge-1.2.0}/plugins/wiz/plugin.yaml +6 -6
- {spaceforge-1.1.7 → spaceforge-1.2.0}/pyproject.toml +16 -1
- {spaceforge-1.1.7 → spaceforge-1.2.0}/spaceforge/_version_scm.py +3 -3
- {spaceforge-1.1.7 → spaceforge-1.2.0}/spaceforge/cls.py +31 -3
- {spaceforge-1.1.7 → spaceforge-1.2.0}/spaceforge/conftest.py +1 -0
- {spaceforge-1.1.7 → spaceforge-1.2.0}/spaceforge/schema.json +21 -2
- spaceforge-1.2.0/spaceforge/test_cls.py +102 -0
- {spaceforge-1.1.7 → spaceforge-1.2.0}/spaceforge/test_generator.py +6 -1
- {spaceforge-1.1.7 → spaceforge-1.2.0}/spaceforge/test_generator_parameters.py +2 -0
- {spaceforge-1.1.7 → spaceforge-1.2.0/spaceforge.egg-info}/PKG-INFO +2 -1
- {spaceforge-1.1.7 → spaceforge-1.2.0}/spaceforge.egg-info/SOURCES.txt +3 -0
- {spaceforge-1.1.7 → spaceforge-1.2.0}/spaceforge.egg-info/requires.txt +1 -0
- {spaceforge-1.1.7 → spaceforge-1.2.0}/test.sh +15 -1
- spaceforge-1.2.0/validate_plugins.py +70 -0
- spaceforge-1.1.7/spaceforge/test_cls.py +0 -17
- {spaceforge-1.1.7 → spaceforge-1.2.0}/.github/workflows/ci.yml +0 -0
- {spaceforge-1.1.7 → spaceforge-1.2.0}/.github/workflows/release.yml +0 -0
- {spaceforge-1.1.7 → spaceforge-1.2.0}/.gitignore +0 -0
- {spaceforge-1.1.7 → spaceforge-1.2.0}/CONTRIBUTING.md +0 -0
- {spaceforge-1.1.7 → spaceforge-1.2.0}/LICENSE +0 -0
- {spaceforge-1.1.7 → spaceforge-1.2.0}/MANIFEST.in +0 -0
- {spaceforge-1.1.7 → spaceforge-1.2.0}/README.md +0 -0
- {spaceforge-1.1.7 → spaceforge-1.2.0}/go.mod +0 -0
- {spaceforge-1.1.7 → spaceforge-1.2.0}/plugins/checkov/README.md +0 -0
- {spaceforge-1.1.7 → spaceforge-1.2.0}/plugins/checkov/requirements.txt +0 -0
- {spaceforge-1.1.7 → spaceforge-1.2.0}/plugins/enviroment_manager/requirements.txt +0 -0
- {spaceforge-1.1.7 → spaceforge-1.2.0}/plugins/sops/requirements.txt +0 -0
- {spaceforge-1.1.7 → spaceforge-1.2.0}/plugins/terrascan/README.md +0 -0
- {spaceforge-1.1.7 → spaceforge-1.2.0}/plugins/trivy/README.md +0 -0
- {spaceforge-1.1.7 → spaceforge-1.2.0}/plugins/trufflehog/README.md +0 -0
- {spaceforge-1.1.7 → spaceforge-1.2.0}/regenerate_plugins.sh +0 -0
- {spaceforge-1.1.7 → spaceforge-1.2.0}/setup.cfg +0 -0
- {spaceforge-1.1.7 → spaceforge-1.2.0}/spaceforge/README.md +0 -0
- {spaceforge-1.1.7 → spaceforge-1.2.0}/spaceforge/__init__.py +0 -0
- {spaceforge-1.1.7 → spaceforge-1.2.0}/spaceforge/__main__.py +0 -0
- {spaceforge-1.1.7 → spaceforge-1.2.0}/spaceforge/_version.py +0 -0
- {spaceforge-1.1.7 → spaceforge-1.2.0}/spaceforge/generator.py +0 -0
- {spaceforge-1.1.7 → spaceforge-1.2.0}/spaceforge/plugin.py +0 -0
- {spaceforge-1.1.7 → spaceforge-1.2.0}/spaceforge/runner.py +0 -0
- {spaceforge-1.1.7 → spaceforge-1.2.0}/spaceforge/templates/binary_install.sh.j2 +0 -0
- {spaceforge-1.1.7 → spaceforge-1.2.0}/spaceforge/templates/ensure_spaceforge_and_run.sh.j2 +0 -0
- {spaceforge-1.1.7 → spaceforge-1.2.0}/spaceforge/test_generator_binaries.py +0 -0
- {spaceforge-1.1.7 → spaceforge-1.2.0}/spaceforge/test_generator_core.py +0 -0
- {spaceforge-1.1.7 → spaceforge-1.2.0}/spaceforge/test_generator_hooks.py +0 -0
- {spaceforge-1.1.7 → spaceforge-1.2.0}/spaceforge/test_plugin.py +0 -0
- {spaceforge-1.1.7 → spaceforge-1.2.0}/spaceforge/test_plugin_file_operations.py +0 -0
- {spaceforge-1.1.7 → spaceforge-1.2.0}/spaceforge/test_plugin_hooks.py +0 -0
- {spaceforge-1.1.7 → spaceforge-1.2.0}/spaceforge/test_plugin_inheritance.py +0 -0
- {spaceforge-1.1.7 → spaceforge-1.2.0}/spaceforge/test_runner.py +0 -0
- {spaceforge-1.1.7 → spaceforge-1.2.0}/spaceforge/test_runner_cli.py +0 -0
- {spaceforge-1.1.7 → spaceforge-1.2.0}/spaceforge/test_runner_core.py +0 -0
- {spaceforge-1.1.7 → spaceforge-1.2.0}/spaceforge/test_runner_execution.py +0 -0
- {spaceforge-1.1.7 → spaceforge-1.2.0}/spaceforge.egg-info/dependency_links.txt +0 -0
- {spaceforge-1.1.7 → spaceforge-1.2.0}/spaceforge.egg-info/entry_points.txt +0 -0
- {spaceforge-1.1.7 → spaceforge-1.2.0}/spaceforge.egg-info/top_level.txt +0 -0
- {spaceforge-1.1.7 → spaceforge-1.2.0}/templates.go +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: spaceforge
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.2.0
|
|
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__ = "
|
|
78
|
+
__plugin_name__ = "Checkov"
|
|
81
79
|
__author__ = "Spacelift"
|
|
82
|
-
__version__ = "1.0.
|
|
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:
|
|
2
|
-
version: 1.0.
|
|
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__ = "
|
|
174
|
+
__plugin_name__ = "Checkov"
|
|
178
175
|
__author__ = "Spacelift"
|
|
179
|
-
__version__ = "1.0.
|
|
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.
|
|
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
|
+
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.
|
|
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.
|
|
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
|
+
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
50
|
+
__version__ = "2.0.2"
|
|
53
51
|
__author__ = "Spacelift Team"
|
|
54
52
|
|
|
55
53
|
__binaries__ = [
|
|
@@ -64,30 +62,38 @@ class OpenTofuTracingPlugin(SpaceforgePlugin):
|
|
|
64
62
|
|
|
65
63
|
__parameters__ = [
|
|
66
64
|
Parameter(
|
|
67
|
-
name="Output File
|
|
65
|
+
name="Output File",
|
|
68
66
|
id="output_file",
|
|
69
67
|
description="Path where the markdown report will be generated",
|
|
68
|
+
default="traces.md",
|
|
69
|
+
type="string",
|
|
70
70
|
required=True,
|
|
71
71
|
sensitive=False,
|
|
72
72
|
),
|
|
73
73
|
Parameter(
|
|
74
|
-
name="Max Traces
|
|
74
|
+
name="Max Traces",
|
|
75
75
|
id="max_traces",
|
|
76
76
|
description="Maximum number of trace batches to store",
|
|
77
|
+
default=10000,
|
|
78
|
+
type="number",
|
|
77
79
|
required=True,
|
|
78
80
|
sensitive=False,
|
|
79
81
|
),
|
|
80
82
|
Parameter(
|
|
81
|
-
name="Max Memory MB
|
|
83
|
+
name="Max Memory MB",
|
|
82
84
|
id="max_memory_mb",
|
|
83
85
|
description="Memory limit in MB",
|
|
86
|
+
default=500,
|
|
87
|
+
type="number",
|
|
84
88
|
required=True,
|
|
85
89
|
sensitive=False,
|
|
86
90
|
),
|
|
87
91
|
Parameter(
|
|
88
|
-
name="Summary Mode
|
|
92
|
+
name="Summary Mode",
|
|
89
93
|
id="summary_mode",
|
|
90
94
|
description="Enable summary mode for large traces (set to 'true' to enable)",
|
|
95
|
+
default=False,
|
|
96
|
+
type="boolean",
|
|
91
97
|
required=True,
|
|
92
98
|
sensitive=False,
|
|
93
99
|
),
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
name: OpenTofu Tracing
|
|
2
|
-
version: 2.0.
|
|
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:
|
|
43
|
+
- name: Output File
|
|
46
44
|
description: Path where the markdown report will be generated
|
|
45
|
+
type: string
|
|
47
46
|
sensitive: false
|
|
48
47
|
required: true
|
|
48
|
+
default: traces.md
|
|
49
49
|
id: output_file
|
|
50
|
-
- name:
|
|
50
|
+
- name: Max Traces
|
|
51
51
|
description: Maximum number of trace batches to store
|
|
52
|
+
type: number
|
|
52
53
|
sensitive: false
|
|
53
54
|
required: true
|
|
55
|
+
default: 10000
|
|
54
56
|
id: max_traces
|
|
55
|
-
- name:
|
|
57
|
+
- name: Max Memory MB
|
|
56
58
|
description: Memory limit in MB
|
|
59
|
+
type: number
|
|
57
60
|
sensitive: false
|
|
58
61
|
required: true
|
|
62
|
+
default: 500
|
|
59
63
|
id: max_memory_mb
|
|
60
|
-
- name:
|
|
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
68
|
required: true
|
|
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.
|
|
148
|
+
__version__ = "2.0.2"
|
|
145
149
|
__author__ = "Spacelift Team"
|
|
146
150
|
|
|
147
151
|
__binaries__ = [
|
|
@@ -156,30 +160,38 @@ contexts:
|
|
|
156
160
|
|
|
157
161
|
__parameters__ = [
|
|
158
162
|
Parameter(
|
|
159
|
-
name="Output File
|
|
163
|
+
name="Output File",
|
|
160
164
|
id="output_file",
|
|
161
165
|
description="Path where the markdown report will be generated",
|
|
166
|
+
default="traces.md",
|
|
167
|
+
type="string",
|
|
162
168
|
required=True,
|
|
163
169
|
sensitive=False,
|
|
164
170
|
),
|
|
165
171
|
Parameter(
|
|
166
|
-
name="Max Traces
|
|
172
|
+
name="Max Traces",
|
|
167
173
|
id="max_traces",
|
|
168
174
|
description="Maximum number of trace batches to store",
|
|
175
|
+
default=10000,
|
|
176
|
+
type="number",
|
|
169
177
|
required=True,
|
|
170
178
|
sensitive=False,
|
|
171
179
|
),
|
|
172
180
|
Parameter(
|
|
173
|
-
name="Max Memory MB
|
|
181
|
+
name="Max Memory MB",
|
|
174
182
|
id="max_memory_mb",
|
|
175
183
|
description="Memory limit in MB",
|
|
184
|
+
default=500,
|
|
185
|
+
type="number",
|
|
176
186
|
required=True,
|
|
177
187
|
sensitive=False,
|
|
178
188
|
),
|
|
179
189
|
Parameter(
|
|
180
|
-
name="Summary Mode
|
|
190
|
+
name="Summary Mode",
|
|
181
191
|
id="summary_mode",
|
|
182
192
|
description="Enable summary mode for large traces (set to 'true' to enable)",
|
|
193
|
+
default=False,
|
|
194
|
+
type="boolean",
|
|
183
195
|
required=True,
|
|
184
196
|
sensitive=False,
|
|
185
197
|
),
|
|
@@ -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.
|
|
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
|
+
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.
|
|
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__ = "
|
|
62
|
-
__version__ = "1.0.
|
|
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:
|
|
2
|
-
version: 1.0.
|
|
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__ = "
|
|
138
|
-
__version__ = "1.0.
|
|
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
|
|
|
@@ -6,8 +6,6 @@ from spaceforge import Binary, Context, Parameter, Policy, SpaceforgePlugin, Var
|
|
|
6
6
|
|
|
7
7
|
class TrivyPlugin(SpaceforgePlugin):
|
|
8
8
|
"""
|
|
9
|
-
# Plugin Trivy
|
|
10
|
-
|
|
11
9
|
The Trivy plugin scans your Terraform/OpenTofu configurations for security misconfigurations
|
|
12
10
|
and generates a detailed report with findings categorized by severity.
|
|
13
11
|
|
|
@@ -31,8 +29,8 @@ class TrivyPlugin(SpaceforgePlugin):
|
|
|
31
29
|
|
|
32
30
|
__author__ = "Spacelift"
|
|
33
31
|
__labels__ = ["security", "terraform"]
|
|
34
|
-
__plugin_name__ = "
|
|
35
|
-
__version__ = "1.0.
|
|
32
|
+
__plugin_name__ = "Trivy"
|
|
33
|
+
__version__ = "1.0.3"
|
|
36
34
|
|
|
37
35
|
__binaries__ = [
|
|
38
36
|
Binary(
|
|
@@ -50,6 +48,8 @@ class TrivyPlugin(SpaceforgePlugin):
|
|
|
50
48
|
id="trivy_additional_args",
|
|
51
49
|
description="Additional command-line arguments to pass to Trivy",
|
|
52
50
|
default="",
|
|
51
|
+
type="string",
|
|
52
|
+
required=False,
|
|
53
53
|
),
|
|
54
54
|
]
|
|
55
55
|
|