@firestartr/cli 1.52.0-snapshot-5 → 1.52.0-snapshot-6

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 CHANGED
@@ -354781,24 +354781,24 @@ var libsodium_wrappers_default = /*#__PURE__*/__nccwpck_require__.n(libsodium_wr
354781
354781
 
354782
354782
 
354783
354783
 
354784
- async function getRepoPublicKey(owner, repo) {
354784
+ async function getRepoPublicKey(owner, repo, section) {
354785
354785
  github_src_logger.info(`Retrieving public key for ${owner}/${repo}`);
354786
354786
  try {
354787
354787
  const octokit = await getOctokitForOrg(owner);
354788
- const { data } = await octokit.actions.getRepoPublicKey({
354788
+ const { data } = await octokit[section].getRepoPublicKey({
354789
354789
  owner,
354790
354790
  repo,
354791
354791
  });
354792
354792
  return data;
354793
354793
  }
354794
354794
  catch (error) {
354795
- github_src_logger.error(`Error retrieving public key for ${owner}/${repo}: ${error}`);
354795
+ github_src_logger.error(`Error retrieving public key (${section}) for ${owner}/${repo}: ${error}`);
354796
354796
  throw error;
354797
354797
  }
354798
354798
  }
354799
- async function encryptRepoSecret(owner, repo, plaintextValue) {
354799
+ async function encryptRepoSecret(owner, repo, section, plaintextValue) {
354800
354800
  try {
354801
- const { key_id, key } = await getRepoPublicKey(owner, repo);
354801
+ const { key_id, key } = await getRepoPublicKey(owner, repo, section);
354802
354802
  await (libsodium_wrappers_default()).ready;
354803
354803
  const publicKey = libsodium_wrappers_default().from_base64(key, (libsodium_wrappers_default()).base64_variants.ORIGINAL);
354804
354804
  const secretBytes = libsodium_wrappers_default().from_string(plaintextValue);
@@ -357975,6 +357975,9 @@ const external_node_child_process_namespaceObject = __WEBPACK_EXTERNAL_createReq
357975
357975
  type: 'boolean',
357976
357976
  description: 'If the webhook is active',
357977
357977
  },
357978
+ secretRef: {
357979
+ $ref: 'firestartr.dev://github/GithubComponentClaimSecretRef',
357980
+ },
357978
357981
  events: {
357979
357982
  type: 'array',
357980
357983
  description: 'List of events that trigger the webhook (e.g., push, pull_request, issues)',
@@ -357983,7 +357986,7 @@ const external_node_child_process_namespaceObject = __WEBPACK_EXTERNAL_createReq
357983
357986
  },
357984
357987
  },
357985
357988
  },
357986
- required: ['url', 'contentType', 'events'],
357989
+ required: ['url', 'contentType', 'events', 'secretRef'],
357987
357990
  },
357988
357991
  },
357989
357992
  required: ['orgName', 'webhook'],
@@ -361732,6 +361735,7 @@ function toJson_FirestartrGithubOrgWebhookSpecWebhookSecretRef(obj) {
361732
361735
  return undefined;
361733
361736
  }
361734
361737
  const result = {
361738
+ 'kind': obj.kind,
361735
361739
  'name': obj.name,
361736
361740
  'key': obj.key,
361737
361741
  };
@@ -361780,6 +361784,17 @@ function toJson_FirestartrGithubOrgWebhookSpecWriteConnectionSecretToRefOutputs(
361780
361784
  // filter undefined values
361781
361785
  return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {});
361782
361786
  }
361787
+ /* eslint-enable max-len, @stylistic/max-len, quote-props, @stylistic/quote-props */
361788
+ /**
361789
+ * The type of Kubernetes resource to reference.
361790
+ *
361791
+ * @schema FirestartrGithubOrgWebhookSpecWebhookSecretRefKind
361792
+ */
361793
+ var FirestartrGithubOrgWebhookSpecWebhookSecretRefKind;
361794
+ (function (FirestartrGithubOrgWebhookSpecWebhookSecretRefKind) {
361795
+ /** Secret */
361796
+ FirestartrGithubOrgWebhookSpecWebhookSecretRefKind["SECRET"] = "Secret";
361797
+ })(FirestartrGithubOrgWebhookSpecWebhookSecretRefKind || (FirestartrGithubOrgWebhookSpecWebhookSecretRefKind = {}));
361783
361798
  /**
361784
361799
  * Converts an object of type 'FirestartrGithubOrgWebhookSpecContextBackendRef' to JSON representation.
361785
361800
  */
@@ -361908,7 +361923,6 @@ function toJson_FirestartrGithubRepositorySpec(obj) {
361908
361923
  'actions': toJson_FirestartrGithubRepositorySpecActions(obj.actions),
361909
361924
  'pages': toJson_FirestartrGithubRepositorySpecPages(obj.pages),
361910
361925
  'permissions': obj.permissions?.map(y => toJson_FirestartrGithubRepositorySpecPermissions(y)),
361911
- 'secrets': toJson_FirestartrGithubRepositorySpecSecrets(obj.secrets),
361912
361926
  'vars': toJson_FirestartrGithubRepositorySpecVars(obj.vars),
361913
361927
  'branchProtections': obj.branchProtections?.map(y => toJson_FirestartrGithubRepositorySpecBranchProtections(y)),
361914
361928
  'writeConnectionSecretToRef': toJson_FirestartrGithubRepositorySpecWriteConnectionSecretToRef(obj.writeConnectionSecretToRef),
@@ -362020,22 +362034,6 @@ function toJson_FirestartrGithubRepositorySpecPermissions(obj) {
362020
362034
  // filter undefined values
362021
362035
  return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {});
362022
362036
  }
362023
- /**
362024
- * Converts an object of type 'FirestartrGithubRepositorySpecSecrets' to JSON representation.
362025
- */
362026
- /* eslint-disable max-len, @stylistic/max-len, quote-props, @stylistic/quote-props */
362027
- function toJson_FirestartrGithubRepositorySpecSecrets(obj) {
362028
- if (obj === undefined) {
362029
- return undefined;
362030
- }
362031
- const result = {
362032
- 'actions': obj.actions?.map(y => toJson_FirestartrGithubRepositorySpecSecretsActions(y)),
362033
- 'codespaces': obj.codespaces?.map(y => toJson_FirestartrGithubRepositorySpecSecretsCodespaces(y)),
362034
- 'dependabot': obj.dependabot?.map(y => toJson_FirestartrGithubRepositorySpecSecretsDependabot(y)),
362035
- };
362036
- // filter undefined values
362037
- return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {});
362038
- }
362039
362037
  /**
362040
362038
  * Converts an object of type 'FirestartrGithubRepositorySpecVars' to JSON representation.
362041
362039
  */
@@ -362203,51 +362201,6 @@ function toJson_FirestartrGithubRepositorySpecPermissionsRef(obj) {
362203
362201
  // filter undefined values
362204
362202
  return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {});
362205
362203
  }
362206
- /**
362207
- * Converts an object of type 'FirestartrGithubRepositorySpecSecretsActions' to JSON representation.
362208
- */
362209
- /* eslint-disable max-len, @stylistic/max-len, quote-props, @stylistic/quote-props */
362210
- function toJson_FirestartrGithubRepositorySpecSecretsActions(obj) {
362211
- if (obj === undefined) {
362212
- return undefined;
362213
- }
362214
- const result = {
362215
- 'name': obj.name,
362216
- 'ref': toJson_FirestartrGithubRepositorySpecSecretsActionsRef(obj.ref),
362217
- };
362218
- // filter undefined values
362219
- return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {});
362220
- }
362221
- /**
362222
- * Converts an object of type 'FirestartrGithubRepositorySpecSecretsCodespaces' to JSON representation.
362223
- */
362224
- /* eslint-disable max-len, @stylistic/max-len, quote-props, @stylistic/quote-props */
362225
- function toJson_FirestartrGithubRepositorySpecSecretsCodespaces(obj) {
362226
- if (obj === undefined) {
362227
- return undefined;
362228
- }
362229
- const result = {
362230
- 'name': obj.name,
362231
- 'ref': toJson_FirestartrGithubRepositorySpecSecretsCodespacesRef(obj.ref),
362232
- };
362233
- // filter undefined values
362234
- return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {});
362235
- }
362236
- /**
362237
- * Converts an object of type 'FirestartrGithubRepositorySpecSecretsDependabot' to JSON representation.
362238
- */
362239
- /* eslint-disable max-len, @stylistic/max-len, quote-props, @stylistic/quote-props */
362240
- function toJson_FirestartrGithubRepositorySpecSecretsDependabot(obj) {
362241
- if (obj === undefined) {
362242
- return undefined;
362243
- }
362244
- const result = {
362245
- 'name': obj.name,
362246
- 'ref': toJson_FirestartrGithubRepositorySpecSecretsDependabotRef(obj.ref),
362247
- };
362248
- // filter undefined values
362249
- return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {});
362250
- }
362251
362204
  /**
362252
362205
  * Converts an object of type 'FirestartrGithubRepositorySpecVarsVariableItemSchema' to JSON representation.
362253
362206
  */
@@ -362324,54 +362277,6 @@ function toJson_FirestartrGithubRepositorySpecContextProviderRef(obj) {
362324
362277
  // filter undefined values
362325
362278
  return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {});
362326
362279
  }
362327
- /**
362328
- * Converts an object of type 'FirestartrGithubRepositorySpecSecretsActionsRef' to JSON representation.
362329
- */
362330
- /* eslint-disable max-len, @stylistic/max-len, quote-props, @stylistic/quote-props */
362331
- function toJson_FirestartrGithubRepositorySpecSecretsActionsRef(obj) {
362332
- if (obj === undefined) {
362333
- return undefined;
362334
- }
362335
- const result = {
362336
- 'kind': obj.kind,
362337
- 'name': obj.name,
362338
- 'key': obj.key,
362339
- };
362340
- // filter undefined values
362341
- return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {});
362342
- }
362343
- /**
362344
- * Converts an object of type 'FirestartrGithubRepositorySpecSecretsCodespacesRef' to JSON representation.
362345
- */
362346
- /* eslint-disable max-len, @stylistic/max-len, quote-props, @stylistic/quote-props */
362347
- function toJson_FirestartrGithubRepositorySpecSecretsCodespacesRef(obj) {
362348
- if (obj === undefined) {
362349
- return undefined;
362350
- }
362351
- const result = {
362352
- 'kind': obj.kind,
362353
- 'name': obj.name,
362354
- 'key': obj.key,
362355
- };
362356
- // filter undefined values
362357
- return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {});
362358
- }
362359
- /**
362360
- * Converts an object of type 'FirestartrGithubRepositorySpecSecretsDependabotRef' to JSON representation.
362361
- */
362362
- /* eslint-disable max-len, @stylistic/max-len, quote-props, @stylistic/quote-props */
362363
- function toJson_FirestartrGithubRepositorySpecSecretsDependabotRef(obj) {
362364
- if (obj === undefined) {
362365
- return undefined;
362366
- }
362367
- const result = {
362368
- 'kind': obj.kind,
362369
- 'name': obj.name,
362370
- 'key': obj.key,
362371
- };
362372
- // filter undefined values
362373
- return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {});
362374
- }
362375
362280
  /**
362376
362281
  * Converts an object of type 'FirestartrGithubRepositorySpecVarsVariableItemSchemaRef' to JSON representation.
362377
362282
  */
@@ -364343,10 +364248,7 @@ class GithubOrgWebhookChart extends BaseGithubChart {
364343
364248
  webhook: {
364344
364249
  url: claim.providers.github.webhook.url,
364345
364250
  contentType: claim.providers.github.webhook.contentType,
364346
- secretRef: {
364347
- name: claim.providers.github.webhook.secretRef.name,
364348
- key: claim.providers.github.webhook.secretRef.key,
364349
- },
364251
+ secretRef: this.renderSecret(claim.providers.github.webhook.secretRef),
364350
364252
  active: claim.providers.github.webhook.active,
364351
364253
  events: claim.providers.github.webhook.events,
364352
364254
  },
@@ -364357,6 +364259,17 @@ class GithubOrgWebhookChart extends BaseGithubChart {
364357
364259
  },
364358
364260
  };
364359
364261
  }
364262
+ renderSecret(secret) {
364263
+ const parts = secret.split(':');
364264
+ if (parts.length < 4) {
364265
+ throw `GithubOrgWebhookChart: invalid secretRef: ${secret}`;
364266
+ }
364267
+ return {
364268
+ kind: 'Secret',
364269
+ name: parts[2],
364270
+ key: parts[3],
364271
+ };
364272
+ }
364360
364273
  gvk() {
364361
364274
  return FirestartrGithubOrgWebhook.GVK;
364362
364275
  }
@@ -364911,7 +364824,8 @@ class SecretsChart extends BaseSecretsChart {
364911
364824
  const pushSecrets = this.get('pushSecrets');
364912
364825
  const kind = this.get('claim').kind;
364913
364826
  const name = this.get('claim').name;
364914
- const concatenated = externalSecrets
364827
+ const concatenated = []
364828
+ .concat(externalSecrets)
364915
364829
  .concat(pushSecrets)
364916
364830
  .filter((el) => el !== undefined);
364917
364831
  return concatenated.map((chart) => {
@@ -367701,9 +367615,11 @@ async function getSyncStatus(itemPath, itemCR) {
367701
367615
  else {
367702
367616
  const nextSyncDate = new Date(syncCondition.nextSyncTime);
367703
367617
  const isLapsed = Date.now() >= nextSyncDate.getTime();
367704
- const mode = (await getSyncSpecs(itemPath, item)).schedule
367705
- ? 'Scheduled'
367706
- : 'Period';
367618
+ const mode = !helperIsSyncable(item)
367619
+ ? 'NotSyncable'
367620
+ : (await getSyncSpecs(itemPath, item)).schedule
367621
+ ? 'Scheduled'
367622
+ : 'Period';
367707
367623
  return {
367708
367624
  itemPath,
367709
367625
  syncMode: mode,
@@ -367744,7 +367660,7 @@ function helperIsSyncable(item) {
367744
367660
  }
367745
367661
  async function processNotSyncable(item, reason, status, message) {
367746
367662
  return {
367747
- syncMode: 'Period',
367663
+ syncMode: 'NotSyncable',
367748
367664
  conditions: [
367749
367665
  {
367750
367666
  reason,
@@ -369257,100 +369173,6 @@ function provisionDefaultBranch(scope, fsGithubRepository, repo) {
369257
369173
  return branchDefault;
369258
369174
  }
369259
369175
 
369260
- // EXTERNAL MODULE: ../provisioner/node_modules/@cdktf/provider-github/lib/actions-secret/index.js
369261
- var actions_secret = __nccwpck_require__(89039);
369262
- // EXTERNAL MODULE: ../provisioner/node_modules/@cdktf/provider-github/lib/codespaces-secret/index.js
369263
- var codespaces_secret = __nccwpck_require__(80659);
369264
- // EXTERNAL MODULE: ../provisioner/node_modules/@cdktf/provider-github/lib/dependabot-secret/index.js
369265
- var dependabot_secret = __nccwpck_require__(16281);
369266
- ;// CONCATENATED MODULE: ../provisioner/src/entities/firestartrgithubrepository/helpers/RepositorySecret.ts
369267
-
369268
-
369269
-
369270
-
369271
-
369272
-
369273
- async function provisionRepositorySecrets(scope, repo, fsGithubRepository) {
369274
- const sections = ['actions', 'codespaces', 'dependabot'];
369275
- if ('secrets' in fsGithubRepository.spec) {
369276
- const secrets = fsGithubRepository.spec.secrets;
369277
- for (const section of sections) {
369278
- if (section in secrets) {
369279
- for (const secret of secrets[section]) {
369280
- await provisionRepositorySecret(scope, fsGithubRepository, section, secret.name, secret.ref, repo);
369281
- }
369282
- }
369283
- }
369284
- }
369285
- else {
369286
- provisioner_src_logger.info(`FirestartrGithubRepository ${fsGithubRepository.metadata.name} does not have a secrets section`);
369287
- }
369288
- }
369289
- async function provisionRepositorySecret(scope, repo, section, repoSecretName, secretRef, repoResource) {
369290
- provisioner_src_logger.info(`Provisioning repo secret ${repo.metadata.name}/${section}/${repoSecretName}`);
369291
- const secretClass = section === 'actions'
369292
- ? actions_secret/* ActionsSecret */.N
369293
- : section === 'codespaces'
369294
- ? codespaces_secret/* CodespacesSecret */.k
369295
- : section === 'dependabot'
369296
- ? dependabot_secret/* DependabotSecret */.c
369297
- : null;
369298
- if (secretClass) {
369299
- const fSecretCreation = process.env['AVOID_PROVIDER_SECRET_ENCRYPTION']
369300
- ? createUnencryptedSecret
369301
- : createEncryptedSecrect;
369302
- await fSecretCreation(scope, repo, secretRef, secretClass, section, repoSecretName, repoResource);
369303
- provisioner_src_logger.info(`RepoSecret provisioned ${section}-${repoSecretName.toLowerCase()}-secret`);
369304
- }
369305
- }
369306
- async function createEncryptedSecrect(scope, repo, secretRef, secretClass, section, repoSecretName, repoResource) {
369307
- const { key_id, encrypted_value } = await encryptSecret(repo, secretRef);
369308
- const resourceKey = `${section}-${repoSecretName.toLowerCase()}-secret`;
369309
- const plainTextSecret = repo.resolveSecretRef({
369310
- name: secretRef.name,
369311
- key: secretRef.key,
369312
- });
369313
- const sha256 = external_crypto_default().createHash('sha256')
369314
- .update(plainTextSecret)
369315
- .digest('hex');
369316
- const secretResourceName = `_${repoSecretName}-${sha256.slice(0, 12)}`;
369317
- const instanceLifecycle = {
369318
- ignoreChanges: ['encrypted_value'],
369319
- };
369320
- const sc = new secretClass(scope, secretResourceName, {
369321
- secretName: repoSecretName,
369322
- repository: repo.metadata.name,
369323
- encryptedValue: encrypted_value,
369324
- dependsOn: [repoResource],
369325
- lifecycle: instanceLifecycle,
369326
- });
369327
- repo.addResourceToStack(resourceKey, sc);
369328
- }
369329
- async function createUnencryptedSecret(scope, repo, secretRef, secretClass, section, repoSecretName, repoResource) {
369330
- const plainTextSecret = repo.resolveSecretRef({
369331
- name: secretRef.name,
369332
- key: secretRef.key,
369333
- });
369334
- const resourceKey = `${section}-${repoSecretName.toLowerCase()}-secret`;
369335
- const tfStateKey = `_${repo.getTfStateKey()}-${resourceKey}`;
369336
- const sc = new secretClass(scope, tfStateKey, {
369337
- secretName: repoSecretName,
369338
- plaintextValue: plainTextSecret,
369339
- repository: repo.metadata.name,
369340
- dependsOn: [repoResource],
369341
- });
369342
- provisioner_src_logger.info(tfStateKey);
369343
- repo.addResourceToStack(resourceKey, sc);
369344
- }
369345
- async function encryptSecret(repo, secretRef) {
369346
- const plainTextSecret = repo.resolveSecretRef({
369347
- name: secretRef.name,
369348
- key: secretRef.key,
369349
- });
369350
- const v = await github_0.encryption.encryptRepoSecret(process.env.ORG, repo.metadata.name, plainTextSecret);
369351
- return v;
369352
- }
369353
-
369354
369176
  // EXTERNAL MODULE: ../provisioner/node_modules/@cdktf/provider-github/lib/actions-variable/index.js
369355
369177
  var actions_variable = __nccwpck_require__(81133);
369356
369178
  ;// CONCATENATED MODULE: ../provisioner/src/entities/firestartrgithubrepository/helpers/RepositoryVariable.ts
@@ -369407,7 +369229,6 @@ async function provisionRepositoryVar(scope, repo, section, repoVarName, value,
369407
369229
 
369408
369230
 
369409
369231
 
369410
-
369411
369232
  class FirestartrGithubRepository_FirestartrGithubRepository extends Entity {
369412
369233
  constructor(artifact, deps) {
369413
369234
  super(artifact, deps);
@@ -369422,7 +369243,6 @@ class FirestartrGithubRepository_FirestartrGithubRepository extends Entity {
369422
369243
  }
369423
369244
  provisionCodeowners(scope, this.mainResource, branchDefault, this);
369424
369245
  provisionPermissions(scope, this.mainResource, this);
369425
- await provisionRepositorySecrets(scope, this.mainResource, this);
369426
369246
  await provisionRepositoryVariables(scope, this.mainResource, this);
369427
369247
  }
369428
369248
  async orgHasOneOfThesePlans(org, plans) {
@@ -369654,6 +369474,12 @@ class FirestartrTerraformModuleEntity extends Entity {
369654
369474
  }
369655
369475
  }
369656
369476
 
369477
+ // EXTERNAL MODULE: ../provisioner/node_modules/@cdktf/provider-github/lib/actions-secret/index.js
369478
+ var actions_secret = __nccwpck_require__(89039);
369479
+ // EXTERNAL MODULE: ../provisioner/node_modules/@cdktf/provider-github/lib/codespaces-secret/index.js
369480
+ var codespaces_secret = __nccwpck_require__(80659);
369481
+ // EXTERNAL MODULE: ../provisioner/node_modules/@cdktf/provider-github/lib/dependabot-secret/index.js
369482
+ var dependabot_secret = __nccwpck_require__(16281);
369657
369483
  ;// CONCATENATED MODULE: ../provisioner/src/entities/firestartrgithubrepositorysecretssection/helpers/RepositorySecret.ts
369658
369484
 
369659
369485
 
@@ -369661,14 +369487,18 @@ class FirestartrTerraformModuleEntity extends Entity {
369661
369487
 
369662
369488
 
369663
369489
 
369664
- async function RepositorySecret_provisionRepositorySecrets(scope, fsGithubRepositorySecretsSection, repo) {
369665
- const sections = ['actions', 'codespaces', 'dependabot'];
369490
+ async function provisionRepositorySecrets(scope, fsGithubRepositorySecretsSection, repo) {
369491
+ const sections = [
369492
+ 'actions',
369493
+ 'codespaces',
369494
+ 'dependabot',
369495
+ ];
369666
369496
  if ('secrets' in fsGithubRepositorySecretsSection.spec) {
369667
369497
  const secrets = fsGithubRepositorySecretsSection.spec.secrets;
369668
369498
  for (const section of sections) {
369669
369499
  if (section in secrets) {
369670
369500
  for (const secret of secrets[section]) {
369671
- await RepositorySecret_provisionRepositorySecret(scope, fsGithubRepositorySecretsSection, section, secret.name, secret.ref, repo);
369501
+ await provisionRepositorySecret(scope, fsGithubRepositorySecretsSection, section, secret.name, secret.ref, repo);
369672
369502
  }
369673
369503
  }
369674
369504
  }
@@ -369677,7 +369507,7 @@ async function RepositorySecret_provisionRepositorySecrets(scope, fsGithubReposi
369677
369507
  provisioner_src_logger.info(`FirestartrGithubRepository ${fsGithubRepositorySecretsSection.metadata.name} does not have a secrets section`);
369678
369508
  }
369679
369509
  }
369680
- async function RepositorySecret_provisionRepositorySecret(scope, rss, section, repoSecretName, secretRef, repoResource) {
369510
+ async function provisionRepositorySecret(scope, rss, section, repoSecretName, secretRef, repoResource) {
369681
369511
  provisioner_src_logger.info(`Provisioning repo secret ${rss.metadata.name}/${section}/${repoSecretName}`);
369682
369512
  const secretClass = section === 'actions'
369683
369513
  ? actions_secret/* ActionsSecret */.N
@@ -369688,14 +369518,14 @@ async function RepositorySecret_provisionRepositorySecret(scope, rss, section, r
369688
369518
  : null;
369689
369519
  if (secretClass) {
369690
369520
  const fSecretCreation = process.env['AVOID_PROVIDER_SECRET_ENCRYPTION']
369691
- ? RepositorySecret_createUnencryptedSecret
369692
- : RepositorySecret_createEncryptedSecrect;
369521
+ ? createUnencryptedSecret
369522
+ : createEncryptedSecret;
369693
369523
  await fSecretCreation(scope, rss, secretRef, secretClass, section, repoSecretName, repoResource);
369694
369524
  provisioner_src_logger.info(`RepoSecret provisioned ${section}-${repoSecretName.toLowerCase()}-secret`);
369695
369525
  }
369696
369526
  }
369697
- async function RepositorySecret_createEncryptedSecrect(scope, rss, secretRef, secretClass, section, repoSecretName, repo) {
369698
- const { key_id, encrypted_value } = await RepositorySecret_encryptSecret(rss, secretRef);
369527
+ async function createEncryptedSecret(scope, rss, secretRef, secretClass, section, repoSecretName, repo) {
369528
+ const { key_id, encrypted_value } = await encryptSecret(rss, secretRef, section);
369699
369529
  const resourceKey = `${section}-${repoSecretName.toLowerCase()}-secret`;
369700
369530
  const plainTextSecret = rss.resolveSecretRef({
369701
369531
  name: secretRef.name,
@@ -369716,7 +369546,7 @@ async function RepositorySecret_createEncryptedSecrect(scope, rss, secretRef, se
369716
369546
  });
369717
369547
  rss.addResourceToStack(resourceKey, sc);
369718
369548
  }
369719
- async function RepositorySecret_createUnencryptedSecret(scope, rss, secretRef, secretClass, section, repoSecretName, repo) {
369549
+ async function createUnencryptedSecret(scope, rss, secretRef, secretClass, section, repoSecretName, repo) {
369720
369550
  const plainTextSecret = rss.resolveSecretRef({
369721
369551
  name: secretRef.name,
369722
369552
  key: secretRef.key,
@@ -369731,12 +369561,12 @@ async function RepositorySecret_createUnencryptedSecret(scope, rss, secretRef, s
369731
369561
  provisioner_src_logger.info(tfStateKey);
369732
369562
  rss.addResourceToStack(resourceKey, sc);
369733
369563
  }
369734
- async function RepositorySecret_encryptSecret(rss, secretRef) {
369564
+ async function encryptSecret(rss, secretRef, section) {
369735
369565
  const plainTextSecret = rss.resolveSecretRef({
369736
369566
  name: secretRef.name,
369737
369567
  key: secretRef.key,
369738
369568
  });
369739
- const v = await github_0.encryption.encryptRepoSecret(process.env.ORG, rss.metadata.name, plainTextSecret);
369569
+ const v = await github_0.encryption.encryptRepoSecret(process.env.ORG, rss.metadata.name, section, plainTextSecret);
369740
369570
  return v;
369741
369571
  }
369742
369572
 
@@ -369750,7 +369580,7 @@ class FirestartrGithubRepositorySecretsSection_FirestartrGithubRepositorySecrets
369750
369580
  async loadResources(data) {
369751
369581
  const { scope } = data;
369752
369582
  const repo = this.resolveRef(this.spec.repositoryTarget.ref);
369753
- await RepositorySecret_provisionRepositorySecrets(scope, this, repo);
369583
+ await provisionRepositorySecrets(scope, this, repo);
369754
369584
  }
369755
369585
  }
369756
369586
 
@@ -711,6 +711,12 @@ export declare enum FirestartrGithubOrgWebhookSpecWebhookContentType {
711
711
  * @schema FirestartrGithubOrgWebhookSpecWebhookSecretRef
712
712
  */
713
713
  export interface FirestartrGithubOrgWebhookSpecWebhookSecretRef {
714
+ /**
715
+ * The type of Kubernetes resource to reference.
716
+ *
717
+ * @schema FirestartrGithubOrgWebhookSpecWebhookSecretRef#kind
718
+ */
719
+ readonly kind: FirestartrGithubOrgWebhookSpecWebhookSecretRefKind;
714
720
  /**
715
721
  * Secret name
716
722
  *
@@ -767,6 +773,15 @@ export interface FirestartrGithubOrgWebhookSpecWriteConnectionSecretToRefOutputs
767
773
  * Converts an object of type 'FirestartrGithubOrgWebhookSpecWriteConnectionSecretToRefOutputs' to JSON representation.
768
774
  */
769
775
  export declare function toJson_FirestartrGithubOrgWebhookSpecWriteConnectionSecretToRefOutputs(obj: FirestartrGithubOrgWebhookSpecWriteConnectionSecretToRefOutputs | undefined): Record<string, any> | undefined;
776
+ /**
777
+ * The type of Kubernetes resource to reference.
778
+ *
779
+ * @schema FirestartrGithubOrgWebhookSpecWebhookSecretRefKind
780
+ */
781
+ export declare enum FirestartrGithubOrgWebhookSpecWebhookSecretRefKind {
782
+ /** Secret */
783
+ SECRET = "Secret"
784
+ }
770
785
  /**
771
786
  * @schema FirestartrGithubOrgWebhookSpecContextBackendRef
772
787
  */
@@ -896,10 +911,6 @@ export interface FirestartrGithubRepositorySpec {
896
911
  * @schema FirestartrGithubRepositorySpec#permissions
897
912
  */
898
913
  readonly permissions: FirestartrGithubRepositorySpecPermissions[];
899
- /**
900
- * @schema FirestartrGithubRepositorySpec#secrets
901
- */
902
- readonly secrets?: FirestartrGithubRepositorySpecSecrets;
903
914
  /**
904
915
  * @schema FirestartrGithubRepositorySpec#vars
905
916
  */
@@ -1075,27 +1086,6 @@ export interface FirestartrGithubRepositorySpecPermissions {
1075
1086
  * Converts an object of type 'FirestartrGithubRepositorySpecPermissions' to JSON representation.
1076
1087
  */
1077
1088
  export declare function toJson_FirestartrGithubRepositorySpecPermissions(obj: FirestartrGithubRepositorySpecPermissions | undefined): Record<string, any> | undefined;
1078
- /**
1079
- * @schema FirestartrGithubRepositorySpecSecrets
1080
- */
1081
- export interface FirestartrGithubRepositorySpecSecrets {
1082
- /**
1083
- * @schema FirestartrGithubRepositorySpecSecrets#actions
1084
- */
1085
- readonly actions?: FirestartrGithubRepositorySpecSecretsActions[];
1086
- /**
1087
- * @schema FirestartrGithubRepositorySpecSecrets#codespaces
1088
- */
1089
- readonly codespaces?: FirestartrGithubRepositorySpecSecretsCodespaces[];
1090
- /**
1091
- * @schema FirestartrGithubRepositorySpecSecrets#dependabot
1092
- */
1093
- readonly dependabot?: FirestartrGithubRepositorySpecSecretsDependabot[];
1094
- }
1095
- /**
1096
- * Converts an object of type 'FirestartrGithubRepositorySpecSecrets' to JSON representation.
1097
- */
1098
- export declare function toJson_FirestartrGithubRepositorySpecSecrets(obj: FirestartrGithubRepositorySpecSecrets | undefined): Record<string, any> | undefined;
1099
1089
  /**
1100
1090
  * @schema FirestartrGithubRepositorySpecVars
1101
1091
  */
@@ -1297,57 +1287,6 @@ export interface FirestartrGithubRepositorySpecPermissionsRef {
1297
1287
  * Converts an object of type 'FirestartrGithubRepositorySpecPermissionsRef' to JSON representation.
1298
1288
  */
1299
1289
  export declare function toJson_FirestartrGithubRepositorySpecPermissionsRef(obj: FirestartrGithubRepositorySpecPermissionsRef | undefined): Record<string, any> | undefined;
1300
- /**
1301
- * @schema FirestartrGithubRepositorySpecSecretsActions
1302
- */
1303
- export interface FirestartrGithubRepositorySpecSecretsActions {
1304
- /**
1305
- * @schema FirestartrGithubRepositorySpecSecretsActions#name
1306
- */
1307
- readonly name: string;
1308
- /**
1309
- * @schema FirestartrGithubRepositorySpecSecretsActions#ref
1310
- */
1311
- readonly ref: FirestartrGithubRepositorySpecSecretsActionsRef;
1312
- }
1313
- /**
1314
- * Converts an object of type 'FirestartrGithubRepositorySpecSecretsActions' to JSON representation.
1315
- */
1316
- export declare function toJson_FirestartrGithubRepositorySpecSecretsActions(obj: FirestartrGithubRepositorySpecSecretsActions | undefined): Record<string, any> | undefined;
1317
- /**
1318
- * @schema FirestartrGithubRepositorySpecSecretsCodespaces
1319
- */
1320
- export interface FirestartrGithubRepositorySpecSecretsCodespaces {
1321
- /**
1322
- * @schema FirestartrGithubRepositorySpecSecretsCodespaces#name
1323
- */
1324
- readonly name: string;
1325
- /**
1326
- * @schema FirestartrGithubRepositorySpecSecretsCodespaces#ref
1327
- */
1328
- readonly ref: FirestartrGithubRepositorySpecSecretsCodespacesRef;
1329
- }
1330
- /**
1331
- * Converts an object of type 'FirestartrGithubRepositorySpecSecretsCodespaces' to JSON representation.
1332
- */
1333
- export declare function toJson_FirestartrGithubRepositorySpecSecretsCodespaces(obj: FirestartrGithubRepositorySpecSecretsCodespaces | undefined): Record<string, any> | undefined;
1334
- /**
1335
- * @schema FirestartrGithubRepositorySpecSecretsDependabot
1336
- */
1337
- export interface FirestartrGithubRepositorySpecSecretsDependabot {
1338
- /**
1339
- * @schema FirestartrGithubRepositorySpecSecretsDependabot#name
1340
- */
1341
- readonly name: string;
1342
- /**
1343
- * @schema FirestartrGithubRepositorySpecSecretsDependabot#ref
1344
- */
1345
- readonly ref: FirestartrGithubRepositorySpecSecretsDependabotRef;
1346
- }
1347
- /**
1348
- * Converts an object of type 'FirestartrGithubRepositorySpecSecretsDependabot' to JSON representation.
1349
- */
1350
- export declare function toJson_FirestartrGithubRepositorySpecSecretsDependabot(obj: FirestartrGithubRepositorySpecSecretsDependabot | undefined): Record<string, any> | undefined;
1351
1290
  /**
1352
1291
  * @schema FirestartrGithubRepositorySpecVarsVariableItemSchema
1353
1292
  */
@@ -1437,69 +1376,6 @@ export interface FirestartrGithubRepositorySpecContextProviderRef {
1437
1376
  * Converts an object of type 'FirestartrGithubRepositorySpecContextProviderRef' to JSON representation.
1438
1377
  */
1439
1378
  export declare function toJson_FirestartrGithubRepositorySpecContextProviderRef(obj: FirestartrGithubRepositorySpecContextProviderRef | undefined): Record<string, any> | undefined;
1440
- /**
1441
- * @schema FirestartrGithubRepositorySpecSecretsActionsRef
1442
- */
1443
- export interface FirestartrGithubRepositorySpecSecretsActionsRef {
1444
- /**
1445
- * @schema FirestartrGithubRepositorySpecSecretsActionsRef#kind
1446
- */
1447
- readonly kind: string;
1448
- /**
1449
- * @schema FirestartrGithubRepositorySpecSecretsActionsRef#name
1450
- */
1451
- readonly name: string;
1452
- /**
1453
- * @schema FirestartrGithubRepositorySpecSecretsActionsRef#key
1454
- */
1455
- readonly key: string;
1456
- }
1457
- /**
1458
- * Converts an object of type 'FirestartrGithubRepositorySpecSecretsActionsRef' to JSON representation.
1459
- */
1460
- export declare function toJson_FirestartrGithubRepositorySpecSecretsActionsRef(obj: FirestartrGithubRepositorySpecSecretsActionsRef | undefined): Record<string, any> | undefined;
1461
- /**
1462
- * @schema FirestartrGithubRepositorySpecSecretsCodespacesRef
1463
- */
1464
- export interface FirestartrGithubRepositorySpecSecretsCodespacesRef {
1465
- /**
1466
- * @schema FirestartrGithubRepositorySpecSecretsCodespacesRef#kind
1467
- */
1468
- readonly kind: string;
1469
- /**
1470
- * @schema FirestartrGithubRepositorySpecSecretsCodespacesRef#name
1471
- */
1472
- readonly name: string;
1473
- /**
1474
- * @schema FirestartrGithubRepositorySpecSecretsCodespacesRef#key
1475
- */
1476
- readonly key: string;
1477
- }
1478
- /**
1479
- * Converts an object of type 'FirestartrGithubRepositorySpecSecretsCodespacesRef' to JSON representation.
1480
- */
1481
- export declare function toJson_FirestartrGithubRepositorySpecSecretsCodespacesRef(obj: FirestartrGithubRepositorySpecSecretsCodespacesRef | undefined): Record<string, any> | undefined;
1482
- /**
1483
- * @schema FirestartrGithubRepositorySpecSecretsDependabotRef
1484
- */
1485
- export interface FirestartrGithubRepositorySpecSecretsDependabotRef {
1486
- /**
1487
- * @schema FirestartrGithubRepositorySpecSecretsDependabotRef#kind
1488
- */
1489
- readonly kind: string;
1490
- /**
1491
- * @schema FirestartrGithubRepositorySpecSecretsDependabotRef#name
1492
- */
1493
- readonly name: string;
1494
- /**
1495
- * @schema FirestartrGithubRepositorySpecSecretsDependabotRef#key
1496
- */
1497
- readonly key: string;
1498
- }
1499
- /**
1500
- * Converts an object of type 'FirestartrGithubRepositorySpecSecretsDependabotRef' to JSON representation.
1501
- */
1502
- export declare function toJson_FirestartrGithubRepositorySpecSecretsDependabotRef(obj: FirestartrGithubRepositorySpecSecretsDependabotRef | undefined): Record<string, any> | undefined;
1503
1379
  /**
1504
1380
  * @schema FirestartrGithubRepositorySpecVarsVariableItemSchemaRef
1505
1381
  */
@@ -1,8 +1,9 @@
1
- import { FirestartrGithubOrgWebhook, FirestartrGithubOrgWebhookProps } from '../../../imports/firestartr.dev';
1
+ import { FirestartrGithubOrgWebhook, FirestartrGithubOrgWebhookProps, FirestartrGithubOrgWebhookSpecWebhookSecretRef } from '../../../imports/firestartr.dev';
2
2
  import { IUnitializedStateKey } from '../../claims/base';
3
3
  import { BaseGithubChart } from './base';
4
4
  export declare class GithubOrgWebhookChart extends BaseGithubChart {
5
5
  template(): FirestartrGithubOrgWebhookProps | IUnitializedStateKey;
6
+ renderSecret(secret: string): FirestartrGithubOrgWebhookSpecWebhookSecretRef;
6
7
  gvk(): import("cdk8s").GroupVersionKind;
7
8
  instanceApiObject(template: any): FirestartrGithubOrgWebhook;
8
9
  }
@@ -545,6 +545,9 @@ declare const schemas: {
545
545
  type: string;
546
546
  description: string;
547
547
  };
548
+ secretRef: {
549
+ $ref: string;
550
+ };
548
551
  events: {
549
552
  type: string;
550
553
  description: string;
@@ -182,6 +182,9 @@ export declare const GithubSchemas: ({
182
182
  type: string;
183
183
  description: string;
184
184
  };
185
+ secretRef: {
186
+ $ref: string;
187
+ };
185
188
  events: {
186
189
  type: string;
187
190
  description: string;
@@ -8,10 +8,7 @@ export interface IGithubOrgWebhookClaim extends IOrgWebhookClaim {
8
8
  webhook: {
9
9
  url: string;
10
10
  contentType: FirestartrGithubOrgWebhookSpecWebhookContentType;
11
- secretRef: {
12
- name: string;
13
- key: string;
14
- };
11
+ secretRef: string;
15
12
  active?: boolean;
16
13
  events: string[];
17
14
  };
@@ -34,6 +34,9 @@ declare const _default: {
34
34
  type: string;
35
35
  description: string;
36
36
  };
37
+ secretRef: {
38
+ $ref: string;
39
+ };
37
40
  events: {
38
41
  type: string;
39
42
  description: string;
@@ -1,6 +1,7 @@
1
1
  import { createCheckRun } from './src/check_run';
2
2
  import { getOctokitForOrg, getGithubAppToken, getOctokitFromPat } from './src/auth';
3
3
  import { encryptRepoSecret, getRepoPublicKey } from './src/encrypt';
4
+ import type { RepoSecretsSection } from './src/encrypt';
4
5
  declare const _default: {
5
6
  org: {
6
7
  getRepositoryList: typeof import("./src/organization").getRepositoryList;
@@ -85,3 +86,4 @@ declare const _default: {
85
86
  };
86
87
  };
87
88
  export default _default;
89
+ export { RepoSecretsSection };
@@ -1,12 +1,9 @@
1
- export declare function getRepoPublicKey(owner: string, repo: string): Promise<{
1
+ export type RepoSecretsSection = 'actions' | 'dependabot' | 'codespaces';
2
+ export declare function getRepoPublicKey(owner: string, repo: string, section: RepoSecretsSection): Promise<{
2
3
  key_id: string;
3
4
  key: string;
4
- id?: number;
5
- url?: string;
6
- title?: string;
7
- created_at?: string;
8
5
  }>;
9
- export declare function encryptRepoSecret(owner: string, repo: string, plaintextValue: string): Promise<{
6
+ export declare function encryptRepoSecret(owner: string, repo: string, section: RepoSecretsSection, plaintextValue: string): Promise<{
10
7
  key_id: string;
11
8
  encrypted_value: string;
12
9
  }>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@firestartr/cli",
3
- "version": "1.52.0-snapshot-5",
3
+ "version": "1.52.0-snapshot-6",
4
4
  "private": false,
5
5
  "description": "Commandline tool",
6
6
  "main": "build/main.js",
@@ -1,4 +0,0 @@
1
- import { Repository } from '@cdktf/provider-github/lib/repository';
2
- import { Construct } from 'constructs';
3
- import { FirestartrGithubRepository } from '../FirestartrGithubRepository';
4
- export declare function provisionRepositorySecrets(scope: Construct, repo: Repository, fsGithubRepository: FirestartrGithubRepository): Promise<void>;