@backstage/plugin-scaffolder-backend 4.0.1 → 4.0.2-next.0
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.
- package/CHANGELOG.md +12 -0
- package/config.schema.json +197 -0
- package/package.json +21 -21
- package/config.d.ts +0 -133
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @backstage/plugin-scaffolder-backend
|
|
2
2
|
|
|
3
|
+
## 4.0.2-next.0
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies
|
|
8
|
+
- @backstage/plugin-permission-node@0.11.2-next.0
|
|
9
|
+
- @backstage/backend-plugin-api@1.9.3-next.0
|
|
10
|
+
- @backstage/plugin-catalog-node@2.2.3-next.0
|
|
11
|
+
- @backstage/plugin-events-node@0.4.24-next.0
|
|
12
|
+
- @backstage/plugin-scaffolder-node@0.13.5-next.0
|
|
13
|
+
- @backstage/backend-openapi-utils@0.6.11-next.0
|
|
14
|
+
|
|
3
15
|
## 4.0.1
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"properties": {
|
|
5
|
+
"scaffolder": {
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"defaultAuthor": {
|
|
9
|
+
"type": "object",
|
|
10
|
+
"properties": {
|
|
11
|
+
"name": {
|
|
12
|
+
"type": "string"
|
|
13
|
+
},
|
|
14
|
+
"email": {
|
|
15
|
+
"type": "string"
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
"description": "The commit author info used when new components are created."
|
|
19
|
+
},
|
|
20
|
+
"defaultCommitSigningKey": {
|
|
21
|
+
"type": "string",
|
|
22
|
+
"description": "Default PGP signing key for signing commits.",
|
|
23
|
+
"visibility": "secret"
|
|
24
|
+
},
|
|
25
|
+
"defaultCommitMessage": {
|
|
26
|
+
"type": "string",
|
|
27
|
+
"description": "The commit message used when new components are created."
|
|
28
|
+
},
|
|
29
|
+
"concurrentTasksLimit": {
|
|
30
|
+
"type": "number",
|
|
31
|
+
"description": "Sets the number of concurrent tasks that can be run at any given time on the TaskWorker.\n\nDefaults to 10.\n\nSet to 0 to disable task workers altogether."
|
|
32
|
+
},
|
|
33
|
+
"EXPERIMENTAL_gracefulShutdown": {
|
|
34
|
+
"type": "boolean",
|
|
35
|
+
"description": "Tries to wait for tasks to finish during SIGTERM before shutting down the TaskWorker."
|
|
36
|
+
},
|
|
37
|
+
"EXPERIMENTAL_recoverTasks": {
|
|
38
|
+
"type": "boolean",
|
|
39
|
+
"description": "Sets the tasks recoverability on system start up.\n\nIf not specified, the default value is false."
|
|
40
|
+
},
|
|
41
|
+
"EXPERIMENTAL_workspaceSerialization": {
|
|
42
|
+
"type": "boolean",
|
|
43
|
+
"description": "Sets the serialization of the workspace to have an ability to rerun the failed task."
|
|
44
|
+
},
|
|
45
|
+
"EXPERIMENTAL_workspaceSerializationProvider": {
|
|
46
|
+
"type": "string",
|
|
47
|
+
"description": "Sets the provider for workspace serialization.\n\nBy default, it is your database."
|
|
48
|
+
},
|
|
49
|
+
"EXPERIMENTAL_recoverTasksTimeout": {
|
|
50
|
+
"anyOf": [
|
|
51
|
+
{
|
|
52
|
+
"type": "object",
|
|
53
|
+
"properties": {
|
|
54
|
+
"years": {
|
|
55
|
+
"type": "number"
|
|
56
|
+
},
|
|
57
|
+
"months": {
|
|
58
|
+
"type": "number"
|
|
59
|
+
},
|
|
60
|
+
"weeks": {
|
|
61
|
+
"type": "number"
|
|
62
|
+
},
|
|
63
|
+
"days": {
|
|
64
|
+
"type": "number"
|
|
65
|
+
},
|
|
66
|
+
"hours": {
|
|
67
|
+
"type": "number"
|
|
68
|
+
},
|
|
69
|
+
"minutes": {
|
|
70
|
+
"type": "number"
|
|
71
|
+
},
|
|
72
|
+
"seconds": {
|
|
73
|
+
"type": "number"
|
|
74
|
+
},
|
|
75
|
+
"milliseconds": {
|
|
76
|
+
"type": "number"
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
"description": "Human friendly durations object."
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"type": "string"
|
|
83
|
+
}
|
|
84
|
+
],
|
|
85
|
+
"description": "Every task which is in progress state and having a last heartbeat longer than a specified timeout is going to be attempted to recover.\n\nIf not specified, the default value is 5 seconds."
|
|
86
|
+
},
|
|
87
|
+
"taskTimeoutJanitorFrequency": {
|
|
88
|
+
"anyOf": [
|
|
89
|
+
{
|
|
90
|
+
"type": "object",
|
|
91
|
+
"properties": {
|
|
92
|
+
"years": {
|
|
93
|
+
"type": "number"
|
|
94
|
+
},
|
|
95
|
+
"months": {
|
|
96
|
+
"type": "number"
|
|
97
|
+
},
|
|
98
|
+
"weeks": {
|
|
99
|
+
"type": "number"
|
|
100
|
+
},
|
|
101
|
+
"days": {
|
|
102
|
+
"type": "number"
|
|
103
|
+
},
|
|
104
|
+
"hours": {
|
|
105
|
+
"type": "number"
|
|
106
|
+
},
|
|
107
|
+
"minutes": {
|
|
108
|
+
"type": "number"
|
|
109
|
+
},
|
|
110
|
+
"seconds": {
|
|
111
|
+
"type": "number"
|
|
112
|
+
},
|
|
113
|
+
"milliseconds": {
|
|
114
|
+
"type": "number"
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
"description": "Human friendly durations object."
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"type": "string"
|
|
121
|
+
}
|
|
122
|
+
],
|
|
123
|
+
"description": "Makes sure to auto-expire and clean up things that time out or for other reasons should not be left lingering.\n\nBy default, the frequency is every 5 minutes."
|
|
124
|
+
},
|
|
125
|
+
"taskTimeout": {
|
|
126
|
+
"anyOf": [
|
|
127
|
+
{
|
|
128
|
+
"type": "object",
|
|
129
|
+
"properties": {
|
|
130
|
+
"years": {
|
|
131
|
+
"type": "number"
|
|
132
|
+
},
|
|
133
|
+
"months": {
|
|
134
|
+
"type": "number"
|
|
135
|
+
},
|
|
136
|
+
"weeks": {
|
|
137
|
+
"type": "number"
|
|
138
|
+
},
|
|
139
|
+
"days": {
|
|
140
|
+
"type": "number"
|
|
141
|
+
},
|
|
142
|
+
"hours": {
|
|
143
|
+
"type": "number"
|
|
144
|
+
},
|
|
145
|
+
"minutes": {
|
|
146
|
+
"type": "number"
|
|
147
|
+
},
|
|
148
|
+
"seconds": {
|
|
149
|
+
"type": "number"
|
|
150
|
+
},
|
|
151
|
+
"milliseconds": {
|
|
152
|
+
"type": "number"
|
|
153
|
+
}
|
|
154
|
+
},
|
|
155
|
+
"description": "Human friendly durations object."
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
"type": "string"
|
|
159
|
+
}
|
|
160
|
+
],
|
|
161
|
+
"description": "Sets the task's heartbeat timeout, when to consider a task to be staled.\n\nOnce task is considered to be staled, the scheduler will shut it down on the next cycle.\n\nDefault value is 24 hours."
|
|
162
|
+
},
|
|
163
|
+
"auditor": {
|
|
164
|
+
"type": "object",
|
|
165
|
+
"properties": {
|
|
166
|
+
"taskParameterMaxLength": {
|
|
167
|
+
"type": "number"
|
|
168
|
+
}
|
|
169
|
+
},
|
|
170
|
+
"description": "Sets the maximum length for task parameters recorded by the auditor.\n\nIf set to -1, the limit is disabled and parameters are not truncated. Defaults to 256 character length."
|
|
171
|
+
},
|
|
172
|
+
"defaultEnvironment": {
|
|
173
|
+
"type": "object",
|
|
174
|
+
"properties": {
|
|
175
|
+
"parameters": {
|
|
176
|
+
"type": "object",
|
|
177
|
+
"additionalProperties": {
|
|
178
|
+
"type": "string"
|
|
179
|
+
},
|
|
180
|
+
"description": "Default parameters accessible via ${{ environment.parameters.* }} in templates."
|
|
181
|
+
},
|
|
182
|
+
"secrets": {
|
|
183
|
+
"type": "object",
|
|
184
|
+
"additionalProperties": {
|
|
185
|
+
"type": "string"
|
|
186
|
+
},
|
|
187
|
+
"description": "Secret values from environment variables accessible via ${{ environment.secrets.* }} in templates. Values should reference environment variables like ${SECRET_NAME}.",
|
|
188
|
+
"visibility": "secret"
|
|
189
|
+
}
|
|
190
|
+
},
|
|
191
|
+
"description": "Default environment variables and secrets available to all templates."
|
|
192
|
+
}
|
|
193
|
+
},
|
|
194
|
+
"description": "Configuration options for the scaffolder plugin"
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@backstage/plugin-scaffolder-backend",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.2-next.0",
|
|
4
4
|
"description": "The Backstage backend plugin that helps you create new things",
|
|
5
5
|
"backstage": {
|
|
6
6
|
"role": "backend-plugin",
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
"files": [
|
|
63
63
|
"dist",
|
|
64
64
|
"migrations",
|
|
65
|
-
"config.
|
|
65
|
+
"config.schema.json",
|
|
66
66
|
"assets"
|
|
67
67
|
],
|
|
68
68
|
"scripts": {
|
|
@@ -77,19 +77,19 @@
|
|
|
77
77
|
"test": "backstage-cli package test"
|
|
78
78
|
},
|
|
79
79
|
"dependencies": {
|
|
80
|
-
"@backstage/backend-openapi-utils": "
|
|
81
|
-
"@backstage/backend-plugin-api": "
|
|
82
|
-
"@backstage/catalog-model": "
|
|
83
|
-
"@backstage/config": "
|
|
84
|
-
"@backstage/errors": "
|
|
85
|
-
"@backstage/integration": "
|
|
86
|
-
"@backstage/plugin-catalog-node": "
|
|
87
|
-
"@backstage/plugin-events-node": "
|
|
88
|
-
"@backstage/plugin-permission-common": "
|
|
89
|
-
"@backstage/plugin-permission-node": "
|
|
90
|
-
"@backstage/plugin-scaffolder-common": "
|
|
91
|
-
"@backstage/plugin-scaffolder-node": "
|
|
92
|
-
"@backstage/types": "
|
|
80
|
+
"@backstage/backend-openapi-utils": "0.6.11-next.0",
|
|
81
|
+
"@backstage/backend-plugin-api": "1.9.3-next.0",
|
|
82
|
+
"@backstage/catalog-model": "1.9.0",
|
|
83
|
+
"@backstage/config": "1.3.8",
|
|
84
|
+
"@backstage/errors": "1.3.1",
|
|
85
|
+
"@backstage/integration": "2.0.3",
|
|
86
|
+
"@backstage/plugin-catalog-node": "2.2.3-next.0",
|
|
87
|
+
"@backstage/plugin-events-node": "0.4.24-next.0",
|
|
88
|
+
"@backstage/plugin-permission-common": "0.9.9",
|
|
89
|
+
"@backstage/plugin-permission-node": "0.11.2-next.0",
|
|
90
|
+
"@backstage/plugin-scaffolder-common": "2.2.1",
|
|
91
|
+
"@backstage/plugin-scaffolder-node": "0.13.5-next.0",
|
|
92
|
+
"@backstage/types": "1.2.2",
|
|
93
93
|
"@types/luxon": "^3.0.0",
|
|
94
94
|
"express": "^4.22.0",
|
|
95
95
|
"fs-extra": "^11.2.0",
|
|
@@ -113,11 +113,11 @@
|
|
|
113
113
|
"zod-to-json-schema": "^3.25.1"
|
|
114
114
|
},
|
|
115
115
|
"devDependencies": {
|
|
116
|
-
"@backstage/backend-defaults": "
|
|
117
|
-
"@backstage/backend-test-utils": "
|
|
118
|
-
"@backstage/cli": "
|
|
119
|
-
"@backstage/plugin-scaffolder-node-test-utils": "
|
|
120
|
-
"@backstage/repo-tools": "
|
|
116
|
+
"@backstage/backend-defaults": "0.17.4-next.0",
|
|
117
|
+
"@backstage/backend-test-utils": "1.11.5-next.0",
|
|
118
|
+
"@backstage/cli": "0.36.4-next.0",
|
|
119
|
+
"@backstage/plugin-scaffolder-node-test-utils": "0.3.13-next.0",
|
|
120
|
+
"@backstage/repo-tools": "0.17.4-next.0",
|
|
121
121
|
"@types/express": "^4.17.6",
|
|
122
122
|
"@types/fs-extra": "^11.0.0",
|
|
123
123
|
"@types/nunjucks": "^3.1.4",
|
|
@@ -128,5 +128,5 @@
|
|
|
128
128
|
"supertest": "^7.0.0",
|
|
129
129
|
"wait-for-expect": "^4.0.0"
|
|
130
130
|
},
|
|
131
|
-
"configSchema": "config.
|
|
131
|
+
"configSchema": "config.schema.json"
|
|
132
132
|
}
|
package/config.d.ts
DELETED
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2020 The Backstage Authors
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
|
|
17
|
-
import { HumanDuration } from '@backstage/types';
|
|
18
|
-
|
|
19
|
-
export interface Config {
|
|
20
|
-
/** Configuration options for the scaffolder plugin */
|
|
21
|
-
scaffolder?: {
|
|
22
|
-
/**
|
|
23
|
-
* The commit author info used when new components are created.
|
|
24
|
-
*/
|
|
25
|
-
defaultAuthor?: {
|
|
26
|
-
name?: string;
|
|
27
|
-
email?: string;
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Default PGP signing key for signing commits.
|
|
32
|
-
* @visibility secret
|
|
33
|
-
*/
|
|
34
|
-
defaultCommitSigningKey?: string;
|
|
35
|
-
/**
|
|
36
|
-
* The commit message used when new components are created.
|
|
37
|
-
*/
|
|
38
|
-
defaultCommitMessage?: string;
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* Sets the number of concurrent tasks that can be run at any given time on the TaskWorker.
|
|
42
|
-
*
|
|
43
|
-
* Defaults to 10.
|
|
44
|
-
*
|
|
45
|
-
* Set to 0 to disable task workers altogether.
|
|
46
|
-
*/
|
|
47
|
-
concurrentTasksLimit?: number;
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Tries to wait for tasks to finish during SIGTERM before shutting down the TaskWorker.
|
|
51
|
-
*/
|
|
52
|
-
EXPERIMENTAL_gracefulShutdown?: boolean;
|
|
53
|
-
|
|
54
|
-
/**
|
|
55
|
-
* Sets the tasks recoverability on system start up.
|
|
56
|
-
*
|
|
57
|
-
* If not specified, the default value is false.
|
|
58
|
-
*/
|
|
59
|
-
EXPERIMENTAL_recoverTasks?: boolean;
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* Sets the serialization of the workspace to have an ability to rerun the failed task.
|
|
63
|
-
*/
|
|
64
|
-
EXPERIMENTAL_workspaceSerialization?: boolean;
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* Sets the provider for workspace serialization.
|
|
68
|
-
*
|
|
69
|
-
* By default, it is your database.
|
|
70
|
-
*/
|
|
71
|
-
EXPERIMENTAL_workspaceSerializationProvider?: string;
|
|
72
|
-
|
|
73
|
-
/**
|
|
74
|
-
* Every task which is in progress state and having a last heartbeat longer than a specified timeout is going to
|
|
75
|
-
* be attempted to recover.
|
|
76
|
-
*
|
|
77
|
-
* If not specified, the default value is 5 seconds.
|
|
78
|
-
*/
|
|
79
|
-
EXPERIMENTAL_recoverTasksTimeout?: HumanDuration | string;
|
|
80
|
-
|
|
81
|
-
/**
|
|
82
|
-
* Makes sure to auto-expire and clean up things that time out or for other reasons should not be left lingering.
|
|
83
|
-
*
|
|
84
|
-
* By default, the frequency is every 5 minutes.
|
|
85
|
-
*/
|
|
86
|
-
taskTimeoutJanitorFrequency?: HumanDuration | string;
|
|
87
|
-
|
|
88
|
-
/**
|
|
89
|
-
* Sets the task's heartbeat timeout, when to consider a task to be staled.
|
|
90
|
-
*
|
|
91
|
-
* Once task is considered to be staled, the scheduler will shut it down on the next cycle.
|
|
92
|
-
*
|
|
93
|
-
* Default value is 24 hours.
|
|
94
|
-
*/
|
|
95
|
-
taskTimeout?: HumanDuration | string;
|
|
96
|
-
|
|
97
|
-
/**
|
|
98
|
-
* Sets the maximum length for task parameters recorded by the auditor.
|
|
99
|
-
*
|
|
100
|
-
* If set to -1, the limit is disabled and parameters are not truncated.
|
|
101
|
-
* Defaults to 256 character length.
|
|
102
|
-
*
|
|
103
|
-
* @example
|
|
104
|
-
* scaffolder:
|
|
105
|
-
* auditor:
|
|
106
|
-
* taskParameterMaxLength: 512
|
|
107
|
-
*/
|
|
108
|
-
auditor?: {
|
|
109
|
-
taskParameterMaxLength?: number;
|
|
110
|
-
};
|
|
111
|
-
|
|
112
|
-
/**
|
|
113
|
-
* Default environment variables and secrets available to all templates.
|
|
114
|
-
*/
|
|
115
|
-
defaultEnvironment?: {
|
|
116
|
-
/**
|
|
117
|
-
* Default parameters accessible via ${{ environment.parameters.* }} in templates.
|
|
118
|
-
*/
|
|
119
|
-
parameters?: {
|
|
120
|
-
[key: string]: string;
|
|
121
|
-
};
|
|
122
|
-
|
|
123
|
-
/**
|
|
124
|
-
* Secret values from environment variables accessible via ${{ environment.secrets.* }} in templates.
|
|
125
|
-
* Values should reference environment variables like ${SECRET_NAME}.
|
|
126
|
-
* @visibility secret
|
|
127
|
-
*/
|
|
128
|
-
secrets?: {
|
|
129
|
-
[key: string]: string;
|
|
130
|
-
};
|
|
131
|
-
};
|
|
132
|
-
};
|
|
133
|
-
}
|