@firestartr/cli 1.54.0-snapshot-6 → 1.54.0-snapshot-7
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/build/index.js +145 -5
- package/build/packages/cdk8s_renderer/imports/firestartr.dev.d.ts +31 -0
- package/build/packages/cdk8s_renderer/src/charts/catalog/tfWorkspaceChart.d.ts +1 -0
- package/build/packages/cdk8s_renderer/src/claims/base/schemas/index.d.ts +31 -0
- package/build/packages/cdk8s_renderer/src/claims/github/component.schema.d.ts +8 -0
- package/build/packages/cdk8s_renderer/src/claims/github/index.d.ts +8 -0
- package/build/packages/cdk8s_renderer/src/claims/github/repository.d.ts +1 -0
- package/build/packages/cdk8s_renderer/src/claims/tfworkspaces/index.d.ts +23 -0
- package/build/packages/cdk8s_renderer/src/claims/tfworkspaces/terraform.schema.d.ts +23 -0
- package/build/packages/cdk8s_renderer/src/claims/tfworkspaces/tfworkspace.d.ts +6 -0
- package/build/packages/terraform_provisioner/src/project_tf.d.ts +2 -0
- package/build/packages/terraform_provisioner/src/project_tf_remote.d.ts +2 -0
- package/build/packages/terraform_provisioner/src/writer_additional_files.d.ts +13 -0
- package/package.json +1 -1
package/build/index.js
CHANGED
|
@@ -151708,7 +151708,7 @@ module.exports = exports.default;
|
|
|
151708
151708
|
|
|
151709
151709
|
/***/ }),
|
|
151710
151710
|
|
|
151711
|
-
/***/
|
|
151711
|
+
/***/ 89323:
|
|
151712
151712
|
/***/ ((module, exports) => {
|
|
151713
151713
|
|
|
151714
151714
|
|
|
@@ -151775,7 +151775,7 @@ var _isArrayLike = __nccwpck_require__(10860);
|
|
|
151775
151775
|
|
|
151776
151776
|
var _isArrayLike2 = _interopRequireDefault(_isArrayLike);
|
|
151777
151777
|
|
|
151778
|
-
var _getIterator = __nccwpck_require__(
|
|
151778
|
+
var _getIterator = __nccwpck_require__(89323);
|
|
151779
151779
|
|
|
151780
151780
|
var _getIterator2 = _interopRequireDefault(_getIterator);
|
|
151781
151781
|
|
|
@@ -357285,10 +357285,13 @@ class RevisionNormalizer extends Normalizer {
|
|
|
357285
357285
|
}
|
|
357286
357286
|
}
|
|
357287
357287
|
|
|
357288
|
+
// EXTERNAL MODULE: external "fs/promises"
|
|
357289
|
+
var external_fs_promises_ = __nccwpck_require__(73292);
|
|
357288
357290
|
;// CONCATENATED MODULE: ../cdk8s_renderer/src/normalizers/tfworkspace.ts
|
|
357289
357291
|
|
|
357290
357292
|
|
|
357291
357293
|
|
|
357294
|
+
|
|
357292
357295
|
class TFWorkspaceNormalizer extends Normalizer {
|
|
357293
357296
|
constructor() {
|
|
357294
357297
|
super(...arguments);
|
|
@@ -357316,6 +357319,15 @@ class TFWorkspaceNormalizer extends Normalizer {
|
|
|
357316
357319
|
const normalizedContent = await normalizeModuleContent(dirTfRootModule);
|
|
357317
357320
|
cr.spec['module'] = normalizedContent;
|
|
357318
357321
|
}
|
|
357322
|
+
if ('files' in claim.providers.terraform) {
|
|
357323
|
+
try {
|
|
357324
|
+
const additionalFiles = await loadAdditionalFiles(claim.providers.terraform['files'], external_path_.dirname(claimPath));
|
|
357325
|
+
cr.spec['files'] = additionalFiles;
|
|
357326
|
+
}
|
|
357327
|
+
catch (err) {
|
|
357328
|
+
throw new Error(`Loading additional files for TFWorkspace: ${claim.name}: ${err && err.message ? err.message : err}`);
|
|
357329
|
+
}
|
|
357330
|
+
}
|
|
357319
357331
|
return cr;
|
|
357320
357332
|
},
|
|
357321
357333
|
identify() {
|
|
@@ -357328,7 +357340,9 @@ class TFWorkspaceNormalizer extends Normalizer {
|
|
|
357328
357340
|
async function normalizeModuleContent(tfRootModulePath) {
|
|
357329
357341
|
let content = '';
|
|
357330
357342
|
const files = {};
|
|
357331
|
-
await crawl(tfRootModulePath,
|
|
357343
|
+
await crawl(tfRootModulePath,
|
|
357344
|
+
// bring all files, not only tf
|
|
357345
|
+
(entry) => {
|
|
357332
357346
|
return entry.endsWith('.tf');
|
|
357333
357347
|
}, (entry, data) => {
|
|
357334
357348
|
files[entry] = data;
|
|
@@ -357342,6 +357356,33 @@ ${files[entry]}
|
|
|
357342
357356
|
});
|
|
357343
357357
|
return content;
|
|
357344
357358
|
}
|
|
357359
|
+
async function loadAdditionalFiles(files, tfRootModulePath) {
|
|
357360
|
+
const specFiles = [];
|
|
357361
|
+
for (const additionalFile of files) {
|
|
357362
|
+
const specFile = {
|
|
357363
|
+
path: additionalFile.destination,
|
|
357364
|
+
content: await loadAdditionalFile(additionalFile.source, tfRootModulePath),
|
|
357365
|
+
};
|
|
357366
|
+
specFiles.push(specFile);
|
|
357367
|
+
}
|
|
357368
|
+
return specFiles;
|
|
357369
|
+
}
|
|
357370
|
+
async function loadAdditionalFile(source, tfRootModulePath) {
|
|
357371
|
+
try {
|
|
357372
|
+
const filePath = external_path_.join(tfRootModulePath, source);
|
|
357373
|
+
const stats = await external_fs_promises_.stat(filePath);
|
|
357374
|
+
if (!stats.isFile()) {
|
|
357375
|
+
throw new Error(`${source} is not a file`);
|
|
357376
|
+
}
|
|
357377
|
+
const content = await external_fs_promises_.readFile(filePath, {
|
|
357378
|
+
encoding: 'utf8',
|
|
357379
|
+
});
|
|
357380
|
+
return Buffer.from(content, 'utf8').toString('base64');
|
|
357381
|
+
}
|
|
357382
|
+
catch (err) {
|
|
357383
|
+
throw new Error(`Loading additional tfworkspace file ${source}: ${err && err.message ? err.message : err}`);
|
|
357384
|
+
}
|
|
357385
|
+
}
|
|
357345
357386
|
function validatek8sLimits(moduleContent) {
|
|
357346
357387
|
const moduleLength = moduleContent.length;
|
|
357347
357388
|
return moduleLength > 0 && moduleLength < 750000;
|
|
@@ -358120,6 +358161,14 @@ const external_node_child_process_namespaceObject = __WEBPACK_EXTERNAL_createReq
|
|
|
358120
358161
|
secrets: {
|
|
358121
358162
|
$ref: 'firestartr.dev://github/GithubComponentClaimSecrets',
|
|
358122
358163
|
},
|
|
358164
|
+
topics: {
|
|
358165
|
+
type: 'array',
|
|
358166
|
+
items: {
|
|
358167
|
+
type: 'string',
|
|
358168
|
+
maxLength: 50,
|
|
358169
|
+
pattern: '^[a-z0-9][a-z0-9-]*$',
|
|
358170
|
+
},
|
|
358171
|
+
},
|
|
358123
358172
|
},
|
|
358124
358173
|
required: ['visibility', 'org'],
|
|
358125
358174
|
},
|
|
@@ -358335,6 +358384,26 @@ const GithubSchemas = [
|
|
|
358335
358384
|
/* harmony default export */ const terraform_schema = ({
|
|
358336
358385
|
$id: 'TerraformProvider',
|
|
358337
358386
|
definitions: {
|
|
358387
|
+
TerraformProviderFiles: {
|
|
358388
|
+
$id: 'firestartr.dev://terraform/TerraformProviderFiles',
|
|
358389
|
+
description: 'A list of files included in the terraform project',
|
|
358390
|
+
type: 'array',
|
|
358391
|
+
items: {
|
|
358392
|
+
type: 'object',
|
|
358393
|
+
properties: {
|
|
358394
|
+
source: {
|
|
358395
|
+
type: 'string',
|
|
358396
|
+
description: 'path of the original file to include in the final CR',
|
|
358397
|
+
},
|
|
358398
|
+
destination: {
|
|
358399
|
+
type: 'string',
|
|
358400
|
+
description: 'path where the file will be placed in the final terraform project',
|
|
358401
|
+
},
|
|
358402
|
+
},
|
|
358403
|
+
additionalProperties: false,
|
|
358404
|
+
required: ['source', 'destination'],
|
|
358405
|
+
},
|
|
358406
|
+
},
|
|
358338
358407
|
TerraformProvider: {
|
|
358339
358408
|
$id: 'firestartr.dev://terraform/TerraformProvider',
|
|
358340
358409
|
type: 'object',
|
|
@@ -358364,6 +358433,9 @@ const GithubSchemas = [
|
|
|
358364
358433
|
type: 'string',
|
|
358365
358434
|
enum: ['remote', 'inline', 'Remote', 'Inline'],
|
|
358366
358435
|
},
|
|
358436
|
+
files: {
|
|
358437
|
+
$ref: 'firestartr.dev://terraform/TerraformProviderFiles',
|
|
358438
|
+
},
|
|
358367
358439
|
sync: {
|
|
358368
358440
|
type: 'object',
|
|
358369
358441
|
properties: {
|
|
@@ -362246,6 +362318,7 @@ function toJson_FirestartrGithubRepositorySpecRepo(obj) {
|
|
|
362246
362318
|
'hasIssues': obj.hasIssues,
|
|
362247
362319
|
'hasWiki': obj.hasWiki,
|
|
362248
362320
|
'pages': obj.pages,
|
|
362321
|
+
'topics': obj.topics?.map(y => y),
|
|
362249
362322
|
'visibility': obj.visibility,
|
|
362250
362323
|
'defaultBranch': obj.defaultBranch,
|
|
362251
362324
|
'additionalBranches': obj.additionalBranches?.map(y => toJson_FirestartrGithubRepositorySpecRepoAdditionalBranches(y)),
|
|
@@ -363378,6 +363451,7 @@ function toJson_FirestartrTerraformWorkspaceSpec(obj) {
|
|
|
363378
363451
|
'module': obj.module,
|
|
363379
363452
|
'source': obj.source,
|
|
363380
363453
|
'values': obj.values,
|
|
363454
|
+
'files': obj.files?.map(y => toJson_FirestartrTerraformWorkspaceSpecFiles(y)),
|
|
363381
363455
|
'references': obj.references?.map(y => toJson_FirestartrTerraformWorkspaceSpecReferences(y)),
|
|
363382
363456
|
'writeConnectionSecretToRef': toJson_FirestartrTerraformWorkspaceSpecWriteConnectionSecretToRef(obj.writeConnectionSecretToRef),
|
|
363383
363457
|
};
|
|
@@ -363424,6 +363498,21 @@ var FirestartrTerraformWorkspaceSpecSource;
|
|
|
363424
363498
|
/** Inline */
|
|
363425
363499
|
FirestartrTerraformWorkspaceSpecSource["INLINE"] = "Inline";
|
|
363426
363500
|
})(FirestartrTerraformWorkspaceSpecSource || (FirestartrTerraformWorkspaceSpecSource = {}));
|
|
363501
|
+
/**
|
|
363502
|
+
* Converts an object of type 'FirestartrTerraformWorkspaceSpecFiles' to JSON representation.
|
|
363503
|
+
*/
|
|
363504
|
+
/* eslint-disable max-len, @stylistic/max-len, quote-props, @stylistic/quote-props */
|
|
363505
|
+
function toJson_FirestartrTerraformWorkspaceSpecFiles(obj) {
|
|
363506
|
+
if (obj === undefined) {
|
|
363507
|
+
return undefined;
|
|
363508
|
+
}
|
|
363509
|
+
const result = {
|
|
363510
|
+
'content': obj.content,
|
|
363511
|
+
'path': obj.path,
|
|
363512
|
+
};
|
|
363513
|
+
// filter undefined values
|
|
363514
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {});
|
|
363515
|
+
}
|
|
363427
363516
|
/**
|
|
363428
363517
|
* Converts an object of type 'FirestartrTerraformWorkspaceSpecReferences' to JSON representation.
|
|
363429
363518
|
*/
|
|
@@ -364371,6 +364460,7 @@ class GithubRepositoryChart extends BaseGithubChart {
|
|
|
364371
364460
|
defaultBranch: claim.providers.github?.branchStrategy?.defaultBranch,
|
|
364372
364461
|
codeowners: createCodeOwnersData(claim),
|
|
364373
364462
|
additionalBranches: claim.providers.github.additionalBranches || [],
|
|
364463
|
+
topics: claim.providers.github.topics || [],
|
|
364374
364464
|
},
|
|
364375
364465
|
actions,
|
|
364376
364466
|
permissions: this.createPermissions(claim),
|
|
@@ -370405,7 +370495,7 @@ async function runTerraform(entity, command, stream) {
|
|
|
370405
370495
|
// filter environment variables to exclude those starting with 'GITHUB'
|
|
370406
370496
|
const env = Object.fromEntries(Object.entries(process.env).filter(([key]) => !key.startsWith('GITHUB')));
|
|
370407
370497
|
return new Promise((ok, ko) => {
|
|
370408
|
-
const terraformProcess = (0,external_child_process_.spawn)('
|
|
370498
|
+
const terraformProcess = (0,external_child_process_.spawn)('tofu', [...command], {
|
|
370409
370499
|
stdio: ['inherit', 'pipe', 'pipe'],
|
|
370410
370500
|
cwd: workDir,
|
|
370411
370501
|
env,
|
|
@@ -371805,7 +371895,7 @@ async function output(path, secrets) {
|
|
|
371805
371895
|
}
|
|
371806
371896
|
async function tfExec(path, args, secrets, extraArgs = ['-input=false'], stream) {
|
|
371807
371897
|
return new Promise((ok, ko) => {
|
|
371808
|
-
const tfProcess = (0,external_child_process_.spawn)('
|
|
371898
|
+
const tfProcess = (0,external_child_process_.spawn)('tofu', args.concat(extraArgs), {
|
|
371809
371899
|
cwd: path,
|
|
371810
371900
|
stdio: ['inherit', 'pipe', 'pipe'],
|
|
371811
371901
|
});
|
|
@@ -372284,6 +372374,37 @@ class WriterProviderJson extends writer {
|
|
|
372284
372374
|
}
|
|
372285
372375
|
}
|
|
372286
372376
|
|
|
372377
|
+
;// CONCATENATED MODULE: ../terraform_provisioner/src/writer_additional_files.ts
|
|
372378
|
+
|
|
372379
|
+
|
|
372380
|
+
|
|
372381
|
+
class WriterAdditionalFiles extends writer {
|
|
372382
|
+
constructor(files) {
|
|
372383
|
+
super();
|
|
372384
|
+
this.files = files;
|
|
372385
|
+
}
|
|
372386
|
+
// this writer does not "write" anything per se
|
|
372387
|
+
// it just complies with the abstract class it inherits from
|
|
372388
|
+
async _render() {
|
|
372389
|
+
return '';
|
|
372390
|
+
}
|
|
372391
|
+
async writeToTerraformProject(projectPath) {
|
|
372392
|
+
for (const file of this.files) {
|
|
372393
|
+
try {
|
|
372394
|
+
const targetPath = external_path_.resolve(projectPath, file.path);
|
|
372395
|
+
const absProjectPath = external_path_.resolve(projectPath);
|
|
372396
|
+
if (!targetPath.startsWith(absProjectPath + external_path_.sep)) {
|
|
372397
|
+
throw new Error(`Path traversal detected: ${file.path}`);
|
|
372398
|
+
}
|
|
372399
|
+
await external_fs_promises_.writeFile(targetPath, Buffer.from(file.content, 'base64').toString('utf8'));
|
|
372400
|
+
}
|
|
372401
|
+
catch (err) {
|
|
372402
|
+
throw new Error(`Error writing additional file: ${file.path}: ${err}`);
|
|
372403
|
+
}
|
|
372404
|
+
}
|
|
372405
|
+
}
|
|
372406
|
+
}
|
|
372407
|
+
|
|
372287
372408
|
;// CONCATENATED MODULE: ../terraform_provisioner/src/project_tf.ts
|
|
372288
372409
|
|
|
372289
372410
|
|
|
@@ -372291,6 +372412,7 @@ class WriterProviderJson extends writer {
|
|
|
372291
372412
|
|
|
372292
372413
|
|
|
372293
372414
|
|
|
372415
|
+
|
|
372294
372416
|
class project_tf_TFProjectManager {
|
|
372295
372417
|
constructor(ctx) {
|
|
372296
372418
|
this.tfOutput = '';
|
|
@@ -372298,6 +372420,9 @@ class project_tf_TFProjectManager {
|
|
|
372298
372420
|
this.mainTfWriter = new WriterMainTf(ctx.inline, ctx.requiredProviders, ctx.backend, ctx.tfStateKey);
|
|
372299
372421
|
this.providerJsonWriter = new WriterProviderJson(ctx.inline, ctx.requiredProviders, ctx.backend, ctx.tfStateKey);
|
|
372300
372422
|
this.tfVarsJsonWriter = new WriterTfVarsJson(ctx.values, ctx.references);
|
|
372423
|
+
if ('files' in ctx) {
|
|
372424
|
+
this.additionalFilesWriter = new WriterAdditionalFiles(ctx['files']);
|
|
372425
|
+
}
|
|
372301
372426
|
this.secrets = ctx.secrets;
|
|
372302
372427
|
}
|
|
372303
372428
|
setStreamCallbacks(fnData, fnEnd, reopen = true) {
|
|
@@ -372318,6 +372443,10 @@ class project_tf_TFProjectManager {
|
|
|
372318
372443
|
this.providerJsonWriter.writeToTerraformProject(external_path_.join(this.projectPath, 'firestartr-providers.tf.json'));
|
|
372319
372444
|
await this.tfVarsJsonWriter.render();
|
|
372320
372445
|
this.tfVarsJsonWriter.writeToTerraformProject(external_path_.join(this.projectPath, 'terraform.tfvars.json'));
|
|
372446
|
+
if (this.additionalFilesWriter) {
|
|
372447
|
+
await this.additionalFilesWriter.render();
|
|
372448
|
+
await this.additionalFilesWriter.writeToTerraformProject(this.projectPath);
|
|
372449
|
+
}
|
|
372321
372450
|
}
|
|
372322
372451
|
async __init() {
|
|
372323
372452
|
this.tfOutput += await init(this.projectPath, this.secrets, this.stream);
|
|
@@ -372449,6 +372578,7 @@ var lib_ajv_default = /*#__PURE__*/__nccwpck_require__.n(lib_ajv);
|
|
|
372449
372578
|
|
|
372450
372579
|
|
|
372451
372580
|
|
|
372581
|
+
|
|
372452
372582
|
class TFProjectManagerRemote {
|
|
372453
372583
|
constructor(ctx) {
|
|
372454
372584
|
this.tfOutput = '';
|
|
@@ -372457,6 +372587,9 @@ class TFProjectManagerRemote {
|
|
|
372457
372587
|
this.secrets = ctx.secrets;
|
|
372458
372588
|
this.writerTerraform = new WriterTerraform(ctx.requiredProviders, ctx.backend, ctx.tfStateKey, false);
|
|
372459
372589
|
this.providerJsonWriter = new WriterProviderJson(ctx.inline, ctx.requiredProviders, ctx.backend, ctx.tfStateKey);
|
|
372590
|
+
if ('files' in ctx) {
|
|
372591
|
+
this.additionalFilesWriter = new WriterAdditionalFiles(ctx['files']);
|
|
372592
|
+
}
|
|
372460
372593
|
this.tfVarsJsonWriter = new WriterTfVarsJson(ctx.values, ctx.references);
|
|
372461
372594
|
}
|
|
372462
372595
|
getOutput() {
|
|
@@ -372480,6 +372613,10 @@ class TFProjectManagerRemote {
|
|
|
372480
372613
|
this.providerJsonWriter.writeToTerraformProject(external_path_.join(this.projectPath, 'firestartr-providers.tf.json'));
|
|
372481
372614
|
await this.tfVarsJsonWriter.render();
|
|
372482
372615
|
this.tfVarsJsonWriter.writeToTerraformProject(external_path_.join(this.projectPath, 'terraform.tfvars.json'));
|
|
372616
|
+
if (this.additionalFilesWriter) {
|
|
372617
|
+
await this.additionalFilesWriter.render();
|
|
372618
|
+
await this.additionalFilesWriter.writeToTerraformProject(this.projectPath);
|
|
372619
|
+
}
|
|
372483
372620
|
}
|
|
372484
372621
|
async __configGit() {
|
|
372485
372622
|
external_fs_.existsSync('/home/node/.gitconfig') &&
|
|
@@ -373390,6 +373527,9 @@ function buildProvisionerContext(item, deps) {
|
|
|
373390
373527
|
context['type'] = item.spec.source;
|
|
373391
373528
|
context['inline'] = item.spec.module;
|
|
373392
373529
|
context['module'] = item.spec.module;
|
|
373530
|
+
if ('files' in item.spec) {
|
|
373531
|
+
context['files'] = item.spec.files;
|
|
373532
|
+
}
|
|
373393
373533
|
context['values'] = JSON.parse(item.spec.values);
|
|
373394
373534
|
const result = adaptProviders(item, deps);
|
|
373395
373535
|
context['requiredProviders'] = result.providers;
|
|
@@ -1014,6 +1014,10 @@ export interface FirestartrGithubRepositorySpecRepo {
|
|
|
1014
1014
|
* @schema FirestartrGithubRepositorySpecRepo#pages
|
|
1015
1015
|
*/
|
|
1016
1016
|
readonly pages?: any;
|
|
1017
|
+
/**
|
|
1018
|
+
* @schema FirestartrGithubRepositorySpecRepo#topics
|
|
1019
|
+
*/
|
|
1020
|
+
readonly topics?: string[];
|
|
1017
1021
|
/**
|
|
1018
1022
|
* @schema FirestartrGithubRepositorySpecRepo#visibility
|
|
1019
1023
|
*/
|
|
@@ -2304,6 +2308,12 @@ export interface FirestartrTerraformWorkspaceSpec {
|
|
|
2304
2308
|
* @schema FirestartrTerraformWorkspaceSpec#values
|
|
2305
2309
|
*/
|
|
2306
2310
|
readonly values?: string;
|
|
2311
|
+
/**
|
|
2312
|
+
* A list of files to be created in the Terraform workspace directory.
|
|
2313
|
+
*
|
|
2314
|
+
* @schema FirestartrTerraformWorkspaceSpec#files
|
|
2315
|
+
*/
|
|
2316
|
+
readonly files?: FirestartrTerraformWorkspaceSpecFiles[];
|
|
2307
2317
|
/**
|
|
2308
2318
|
* @schema FirestartrTerraformWorkspaceSpec#references
|
|
2309
2319
|
*/
|
|
@@ -2356,6 +2366,27 @@ export declare enum FirestartrTerraformWorkspaceSpecSource {
|
|
|
2356
2366
|
/** Inline */
|
|
2357
2367
|
INLINE = "Inline"
|
|
2358
2368
|
}
|
|
2369
|
+
/**
|
|
2370
|
+
* @schema FirestartrTerraformWorkspaceSpecFiles
|
|
2371
|
+
*/
|
|
2372
|
+
export interface FirestartrTerraformWorkspaceSpecFiles {
|
|
2373
|
+
/**
|
|
2374
|
+
* The base64 encoded content of the file.
|
|
2375
|
+
*
|
|
2376
|
+
* @schema FirestartrTerraformWorkspaceSpecFiles#content
|
|
2377
|
+
*/
|
|
2378
|
+
readonly content: string;
|
|
2379
|
+
/**
|
|
2380
|
+
* The target relative path for the file within the Terraform workspace directory.
|
|
2381
|
+
*
|
|
2382
|
+
* @schema FirestartrTerraformWorkspaceSpecFiles#path
|
|
2383
|
+
*/
|
|
2384
|
+
readonly path: string;
|
|
2385
|
+
}
|
|
2386
|
+
/**
|
|
2387
|
+
* Converts an object of type 'FirestartrTerraformWorkspaceSpecFiles' to JSON representation.
|
|
2388
|
+
*/
|
|
2389
|
+
export declare function toJson_FirestartrTerraformWorkspaceSpecFiles(obj: FirestartrTerraformWorkspaceSpecFiles | undefined): Record<string, any> | undefined;
|
|
2359
2390
|
/**
|
|
2360
2391
|
* @schema FirestartrTerraformWorkspaceSpecReferences
|
|
2361
2392
|
*/
|
|
@@ -20,6 +20,7 @@ export declare class CatalogTFWorkspaceChart extends BaseCatalogChart {
|
|
|
20
20
|
source: import("../../../imports/firestartr.dev").FirestartrTerraformWorkspaceSpecSource;
|
|
21
21
|
module: string;
|
|
22
22
|
values: any;
|
|
23
|
+
files: import("../../claims/tfworkspaces/tfworkspace").TerraformProviderAdditionalFiles;
|
|
23
24
|
context: {
|
|
24
25
|
providers: {
|
|
25
26
|
name: string;
|
|
@@ -505,6 +505,14 @@ declare const schemas: {
|
|
|
505
505
|
secrets: {
|
|
506
506
|
$ref: string;
|
|
507
507
|
};
|
|
508
|
+
topics: {
|
|
509
|
+
type: string;
|
|
510
|
+
items: {
|
|
511
|
+
type: string;
|
|
512
|
+
maxLength: number;
|
|
513
|
+
pattern: string;
|
|
514
|
+
};
|
|
515
|
+
};
|
|
508
516
|
};
|
|
509
517
|
required: string[];
|
|
510
518
|
$ref?: undefined;
|
|
@@ -651,6 +659,26 @@ declare const schemas: {
|
|
|
651
659
|
})[] | {
|
|
652
660
|
$id: string;
|
|
653
661
|
definitions: {
|
|
662
|
+
TerraformProviderFiles: {
|
|
663
|
+
$id: string;
|
|
664
|
+
description: string;
|
|
665
|
+
type: string;
|
|
666
|
+
items: {
|
|
667
|
+
type: string;
|
|
668
|
+
properties: {
|
|
669
|
+
source: {
|
|
670
|
+
type: string;
|
|
671
|
+
description: string;
|
|
672
|
+
};
|
|
673
|
+
destination: {
|
|
674
|
+
type: string;
|
|
675
|
+
description: string;
|
|
676
|
+
};
|
|
677
|
+
};
|
|
678
|
+
additionalProperties: boolean;
|
|
679
|
+
required: string[];
|
|
680
|
+
};
|
|
681
|
+
};
|
|
654
682
|
TerraformProvider: {
|
|
655
683
|
$id: string;
|
|
656
684
|
type: string;
|
|
@@ -674,6 +702,9 @@ declare const schemas: {
|
|
|
674
702
|
type: string;
|
|
675
703
|
enum: string[];
|
|
676
704
|
};
|
|
705
|
+
files: {
|
|
706
|
+
$ref: string;
|
|
707
|
+
};
|
|
677
708
|
sync: {
|
|
678
709
|
type: string;
|
|
679
710
|
properties: {
|
|
@@ -140,6 +140,14 @@ export declare const GithubSchemas: ({
|
|
|
140
140
|
secrets: {
|
|
141
141
|
$ref: string;
|
|
142
142
|
};
|
|
143
|
+
topics: {
|
|
144
|
+
type: string;
|
|
145
|
+
items: {
|
|
146
|
+
type: string;
|
|
147
|
+
maxLength: number;
|
|
148
|
+
pattern: string;
|
|
149
|
+
};
|
|
150
|
+
};
|
|
143
151
|
};
|
|
144
152
|
required: string[];
|
|
145
153
|
$ref?: undefined;
|
|
@@ -1,6 +1,26 @@
|
|
|
1
1
|
export declare const TerraformSchemas: {
|
|
2
2
|
$id: string;
|
|
3
3
|
definitions: {
|
|
4
|
+
TerraformProviderFiles: {
|
|
5
|
+
$id: string;
|
|
6
|
+
description: string;
|
|
7
|
+
type: string;
|
|
8
|
+
items: {
|
|
9
|
+
type: string;
|
|
10
|
+
properties: {
|
|
11
|
+
source: {
|
|
12
|
+
type: string;
|
|
13
|
+
description: string;
|
|
14
|
+
};
|
|
15
|
+
destination: {
|
|
16
|
+
type: string;
|
|
17
|
+
description: string;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
additionalProperties: boolean;
|
|
21
|
+
required: string[];
|
|
22
|
+
};
|
|
23
|
+
};
|
|
4
24
|
TerraformProvider: {
|
|
5
25
|
$id: string;
|
|
6
26
|
type: string;
|
|
@@ -24,6 +44,9 @@ export declare const TerraformSchemas: {
|
|
|
24
44
|
type: string;
|
|
25
45
|
enum: string[];
|
|
26
46
|
};
|
|
47
|
+
files: {
|
|
48
|
+
$ref: string;
|
|
49
|
+
};
|
|
27
50
|
sync: {
|
|
28
51
|
type: string;
|
|
29
52
|
properties: {
|
|
@@ -1,6 +1,26 @@
|
|
|
1
1
|
declare const _default: {
|
|
2
2
|
$id: string;
|
|
3
3
|
definitions: {
|
|
4
|
+
TerraformProviderFiles: {
|
|
5
|
+
$id: string;
|
|
6
|
+
description: string;
|
|
7
|
+
type: string;
|
|
8
|
+
items: {
|
|
9
|
+
type: string;
|
|
10
|
+
properties: {
|
|
11
|
+
source: {
|
|
12
|
+
type: string;
|
|
13
|
+
description: string;
|
|
14
|
+
};
|
|
15
|
+
destination: {
|
|
16
|
+
type: string;
|
|
17
|
+
description: string;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
additionalProperties: boolean;
|
|
21
|
+
required: string[];
|
|
22
|
+
};
|
|
23
|
+
};
|
|
4
24
|
TerraformProvider: {
|
|
5
25
|
$id: string;
|
|
6
26
|
type: string;
|
|
@@ -24,6 +44,9 @@ declare const _default: {
|
|
|
24
44
|
type: string;
|
|
25
45
|
enum: string[];
|
|
26
46
|
};
|
|
47
|
+
files: {
|
|
48
|
+
$ref: string;
|
|
49
|
+
};
|
|
27
50
|
sync: {
|
|
28
51
|
type: string;
|
|
29
52
|
properties: {
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import { FirestartrTerraformWorkspaceSpecSource } from '../../../imports/firestartr.dev';
|
|
2
2
|
import { Workspace } from '../base/workspace';
|
|
3
|
+
export interface TerraformProviderAdditionalFile {
|
|
4
|
+
source: string;
|
|
5
|
+
destination: string;
|
|
6
|
+
}
|
|
7
|
+
export type TerraformProviderAdditionalFiles = TerraformProviderAdditionalFile[];
|
|
3
8
|
export interface TFWorkspace extends Workspace {
|
|
4
9
|
kind: 'TFWorkspaceClaim';
|
|
5
10
|
resourceType: string;
|
|
@@ -10,6 +15,7 @@ export interface TFWorkspace extends Workspace {
|
|
|
10
15
|
source: FirestartrTerraformWorkspaceSpecSource.INLINE | FirestartrTerraformWorkspaceSpecSource.REMOTE;
|
|
11
16
|
module: string;
|
|
12
17
|
values: any;
|
|
18
|
+
files: TerraformProviderAdditionalFiles;
|
|
13
19
|
context: {
|
|
14
20
|
providers: {
|
|
15
21
|
name: string;
|
|
@@ -2,11 +2,13 @@
|
|
|
2
2
|
import { WriterMainTf } from './writer_main_tf';
|
|
3
3
|
import { WriterTfVarsJson } from './writer_tfvars_json';
|
|
4
4
|
import { WriterProviderJson } from './writer_provider_tf_json';
|
|
5
|
+
import { WriterAdditionalFiles } from './writer_additional_files';
|
|
5
6
|
import { PassThrough } from 'stream';
|
|
6
7
|
export declare class TFProjectManager {
|
|
7
8
|
mainTfWriter: WriterMainTf;
|
|
8
9
|
providerJsonWriter: WriterProviderJson;
|
|
9
10
|
tfVarsJsonWriter: WriterTfVarsJson;
|
|
11
|
+
additionalFilesWriter: WriterAdditionalFiles;
|
|
10
12
|
secrets: any[];
|
|
11
13
|
projectPath: string;
|
|
12
14
|
tfOutput: any;
|
|
@@ -2,11 +2,13 @@
|
|
|
2
2
|
import { WriterTerraform } from './writer_terraform';
|
|
3
3
|
import { WriterTfVarsJson } from './writer_tfvars_json';
|
|
4
4
|
import { WriterProviderJson } from './writer_provider_tf_json';
|
|
5
|
+
import { WriterAdditionalFiles } from './writer_additional_files';
|
|
5
6
|
import { PassThrough } from 'stream';
|
|
6
7
|
export declare class TFProjectManagerRemote {
|
|
7
8
|
writerTerraform: WriterTerraform;
|
|
8
9
|
providerJsonWriter: WriterProviderJson;
|
|
9
10
|
tfVarsJsonWriter: WriterTfVarsJson;
|
|
11
|
+
additionalFilesWriter: WriterAdditionalFiles;
|
|
10
12
|
ctx: any;
|
|
11
13
|
secrets: any[];
|
|
12
14
|
projectPath: string;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import Writer from './writer';
|
|
2
|
+
export interface FirestartrTerraformWorkspaceSpecFile {
|
|
3
|
+
content: string;
|
|
4
|
+
path: string;
|
|
5
|
+
}
|
|
6
|
+
type FirestartrTerraformWorkspaceSpecFiles = FirestartrTerraformWorkspaceSpecFile[];
|
|
7
|
+
export declare class WriterAdditionalFiles extends Writer {
|
|
8
|
+
files: FirestartrTerraformWorkspaceSpecFile[];
|
|
9
|
+
constructor(files: FirestartrTerraformWorkspaceSpecFiles);
|
|
10
|
+
_render(): Promise<string>;
|
|
11
|
+
writeToTerraformProject(projectPath: string): Promise<void>;
|
|
12
|
+
}
|
|
13
|
+
export {};
|