@firestartr/cli 2.11.0-snapshot-feat-format → 2.11.0-snapshot-gh-pages-public-https-1

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
@@ -323011,20 +323011,7 @@ const external_node_child_process_namespaceObject = __WEBPACK_EXTERNAL_createReq
323011
323011
  type: 'boolean',
323012
323012
  },
323013
323013
  pages: {
323014
- type: 'object',
323015
- properties: {
323016
- cname: { type: 'string' },
323017
- buildType: { type: 'string', enum: ['workflow', 'legacy'] },
323018
- source: {
323019
- type: 'object',
323020
- properties: {
323021
- branch: { type: 'string' },
323022
- path: { type: 'string' },
323023
- },
323024
- additionalProperties: false,
323025
- },
323026
- },
323027
- additionalProperties: false,
323014
+ $ref: 'firestartr.dev://github/GithubPages',
323028
323015
  },
323029
323016
  additionalRules: {
323030
323017
  type: 'array',
@@ -323461,6 +323448,42 @@ const organizationSettingsProperties = {
323461
323448
  },
323462
323449
  });
323463
323450
 
323451
+ ;// CONCATENATED MODULE: ../cdk8s_renderer/src/claims/github/pages.schema.ts
323452
+
323453
+ /* harmony default export */ const pages_schema = ({
323454
+ $schema: SCHEMA,
323455
+ $id: 'GithubPages',
323456
+ definitions: {
323457
+ GithubPages: {
323458
+ $id: 'firestartr.dev://github/GithubPages',
323459
+ type: 'object',
323460
+ description: 'GitHub Pages configuration shared across component and repository claims',
323461
+ properties: {
323462
+ cname: { type: 'string' },
323463
+ public: { type: 'boolean' },
323464
+ https_enforced: { type: 'boolean' },
323465
+ buildType: { type: 'string', enum: ['workflow', 'legacy'] },
323466
+ source: {
323467
+ type: 'object',
323468
+ properties: {
323469
+ branch: { type: 'string' },
323470
+ path: { type: 'string', enum: ['/', '/docs'] },
323471
+ },
323472
+ additionalProperties: false,
323473
+ },
323474
+ },
323475
+ additionalProperties: false,
323476
+ if: {
323477
+ required: ['https_enforced'],
323478
+ properties: { https_enforced: { const: true } },
323479
+ },
323480
+ then: {
323481
+ required: ['cname'],
323482
+ },
323483
+ },
323484
+ },
323485
+ });
323486
+
323464
323487
  ;// CONCATENATED MODULE: ../cdk8s_renderer/src/claims/github/index.ts
323465
323488
 
323466
323489
 
@@ -323470,6 +323493,7 @@ const organizationSettingsProperties = {
323470
323493
 
323471
323494
 
323472
323495
 
323496
+
323473
323497
  const GithubSchemas = [
323474
323498
  github_group_schema,
323475
323499
  github_user_schema,
@@ -323479,6 +323503,7 @@ const GithubSchemas = [
323479
323503
  github_orgsettings_schema,
323480
323504
  component_secrets_vars_schema,
323481
323505
  component_labels_schema,
323506
+ pages_schema,
323482
323507
  ];
323483
323508
 
323484
323509
  ;// CONCATENATED MODULE: ../cdk8s_renderer/src/claims/tfworkspaces/terraform.schema.ts
@@ -328444,6 +328469,8 @@ function toJson_FirestartrGithubRepositorySpecPages(obj) {
328444
328469
  }
328445
328470
  const result = {
328446
328471
  'cname': obj.cname,
328472
+ 'public': obj.public,
328473
+ 'https_enforced': obj.httpsEnforced,
328447
328474
  'source': toJson_FirestartrGithubRepositorySpecPagesSource(obj.source),
328448
328475
  'buildType': obj.buildType,
328449
328476
  };
@@ -328770,6 +328797,17 @@ function toJson_FirestartrGithubRepositorySpecContextProviderRef(obj) {
328770
328797
  // filter undefined values
328771
328798
  return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {});
328772
328799
  }
328800
+ /* eslint-enable max-len, @stylistic/max-len, quote-props, @stylistic/quote-props */
328801
+ /**
328802
+ * @schema FirestartrGithubRepositorySpecPagesSourcePath
328803
+ */
328804
+ var FirestartrGithubRepositorySpecPagesSourcePath;
328805
+ (function (FirestartrGithubRepositorySpecPagesSourcePath) {
328806
+ /** / */
328807
+ FirestartrGithubRepositorySpecPagesSourcePath["VALUE_FORWARD_SLASH"] = "/";
328808
+ /** /docs */
328809
+ FirestartrGithubRepositorySpecPagesSourcePath["VALUE_FORWARD_SLASH_DOCS"] = "/docs";
328810
+ })(FirestartrGithubRepositorySpecPagesSourcePath || (FirestartrGithubRepositorySpecPagesSourcePath = {}));
328773
328811
  /**
328774
328812
  * Converts an object of type 'FirestartrGithubRepositorySpecVarsVariableItemSchemaRef' to JSON representation.
328775
328813
  */
@@ -330560,6 +330598,17 @@ class RepoSecretsSectionChart extends BaseGithubChart {
330560
330598
 
330561
330599
 
330562
330600
 
330601
+ function normalizePages(pages) {
330602
+ if (!pages)
330603
+ return undefined;
330604
+ return {
330605
+ cname: pages.cname,
330606
+ public: pages.public,
330607
+ httpsEnforced: pages.https_enforced,
330608
+ source: pages.source,
330609
+ buildType: pages.buildType,
330610
+ };
330611
+ }
330563
330612
  class GithubRepositoryChart extends BaseGithubChart {
330564
330613
  template() {
330565
330614
  const claim = this.get('claim');
@@ -330608,7 +330657,7 @@ class GithubRepositoryChart extends BaseGithubChart {
330608
330657
  actions,
330609
330658
  permissions: this.createPermissions(claim),
330610
330659
  vars: this.createVars(claim),
330611
- pages: claim.providers.github.pages,
330660
+ pages: normalizePages(claim.providers.github.pages),
330612
330661
  branchProtections: [],
330613
330662
  writeConnectionSecretToRef: {
330614
330663
  name: `firestartrgithubrepository-${claim.name}-outputs`.toLowerCase(),
@@ -333439,33 +333488,27 @@ class RepoGithubDecanter extends GithubDecanter {
333439
333488
  }
333440
333489
  __decantPages() {
333441
333490
  if (this.data.pages) {
333442
- if (this.data.pages.build_type === 'workflow') {
333443
- this.__patchClaim({
333444
- op: 'add',
333445
- path: '/providers/github/pages',
333446
- value: {
333447
- buildType: 'workflow',
333448
- ...(typeof this.data.pages.cname === 'string' &&
333449
- this.data.pages.cname.length > 0
333450
- ? { cname: this.data.pages.cname }
333451
- : {}),
333452
- },
333453
- });
333454
- }
333455
- else if (this.data.pages.build_type === 'legacy') {
333456
- this.__patchClaim({
333457
- op: 'add',
333458
- path: '/providers/github/pages',
333459
- value: {
333460
- buildType: 'legacy',
333461
- ...(typeof this.data.pages.cname === 'string' &&
333462
- this.data.pages.cname.length > 0
333463
- ? { cname: this.data.pages.cname }
333464
- : {}),
333465
- source: this.data.pages.source,
333466
- },
333467
- });
333491
+ const pagesData = this.data.pages;
333492
+ const pagesConfig = {
333493
+ buildType: pagesData.build_type,
333494
+ ...(typeof pagesData.cname === 'string' && pagesData.cname.length > 0
333495
+ ? { cname: pagesData.cname }
333496
+ : {}),
333497
+ ...(typeof pagesData.public === 'boolean'
333498
+ ? { public: pagesData.public }
333499
+ : {}),
333500
+ ...(typeof pagesData.https_enforced === 'boolean'
333501
+ ? { https_enforced: pagesData.https_enforced }
333502
+ : {}),
333503
+ };
333504
+ if (pagesData.build_type === 'legacy') {
333505
+ pagesConfig.source = pagesData.source;
333468
333506
  }
333507
+ this.__patchClaim({
333508
+ op: 'add',
333509
+ path: '/providers/github/pages',
333510
+ value: pagesConfig,
333511
+ });
333469
333512
  }
333470
333513
  }
333471
333514
  __decantOIDC() {
@@ -343036,8 +343079,8 @@ const MODULES = {
343036
343079
  },
343037
343080
  FirestartrGithubRepository: {
343038
343081
  module: 'git::https://github.com/prefapp/tfm.git//modules/github-repo',
343039
- // github-repo-v0.9.0
343040
- ref: '76074c2817032b199962c380481617d99f78d9d7',
343082
+ // github-repo feat/1385: add public and https_enforced to pages
343083
+ ref: '441b93d8a0d78f6088db096a852305f63a227eaa',
343041
343084
  },
343042
343085
  FirestartrGithubRepositoryFeature: {
343043
343086
  module: 'git::https://github.com/prefapp/tfm.git//modules/github-files-set',
@@ -343922,14 +343965,14 @@ class EntityGHRepo extends base_Entity {
343922
343965
  },
343923
343966
  });
343924
343967
  }
343925
- /**
343926
- * Validation logic for GitHub Pages branch settings:
343927
- * - On create: If pages branch is set, it must equal the default branch.
343928
- * - On update: If pages branch is set and is not the default, it must exist in remote.
343929
- */
343930
- async validatePagesBranch(tfOp, repoAlreadyExists) {
343968
+ async validatePages(tfOp, repoAlreadyExists) {
343931
343969
  const pages = this.cr.spec.pages;
343932
- if (!pages || !pages.source || !pages.source.branch)
343970
+ if (!pages)
343971
+ return;
343972
+ if (pages.https_enforced && !pages.cname) {
343973
+ throw new Error(`[gh-provisioner] ${this.k8sId} https_enforced requires cname to be set in pages configuration`);
343974
+ }
343975
+ if (!pages.source || !pages.source.branch)
343933
343976
  return;
343934
343977
  const branch = pages.source.branch;
343935
343978
  const defaultBranch = this.cr.spec.repo.defaultBranch;
@@ -343953,7 +343996,6 @@ class EntityGHRepo extends base_Entity {
343953
343996
  if (err && err.status === 404) {
343954
343997
  throw new Error(`Pages branch '${branch}' does not exist in the repository '${org}/${repo}'.`);
343955
343998
  }
343956
- // Other errors propagate
343957
343999
  throw err;
343958
344000
  }
343959
344001
  }
@@ -343966,7 +344008,7 @@ class EntityGHRepo extends base_Entity {
343966
344008
  return await github["default"].repo.repoExists(this.cr.spec.org, this.cr.name);
343967
344009
  }));
343968
344010
  if (tfOp !== 'destroy' && tfOp !== 'plan-destroy') {
343969
- await this.validatePagesBranch(tfOp, repoAlreadyExists);
344011
+ await this.validatePages(tfOp, repoAlreadyExists);
343970
344012
  }
343971
344013
  await this.provisionRepository();
343972
344014
  this.provisionPages();
@@ -344113,6 +344155,9 @@ class EntityGHRepo extends base_Entity {
344113
344155
  if (this.cr.spec.pages) {
344114
344156
  const source = this.cr.spec.pages.source ?? {};
344115
344157
  const buildType = this.cr.spec.pages.buildType ?? 'legacy';
344158
+ const cname = this.cr.spec.pages.cname;
344159
+ const public_ = this.cr.spec.pages.public;
344160
+ const httpsEnforced = this.cr.spec.pages.https_enforced;
344116
344161
  this.patchData({
344117
344162
  path: '/config/pages',
344118
344163
  op: PatchOperations.add,
@@ -344126,7 +344171,11 @@ class EntityGHRepo extends base_Entity {
344126
344171
  },
344127
344172
  }
344128
344173
  : {}),
344129
- cname: this.cr.spec.pages.cname,
344174
+ ...(cname !== undefined ? { cname } : {}),
344175
+ ...(public_ !== undefined ? { public: public_ } : {}),
344176
+ ...(httpsEnforced !== undefined
344177
+ ? { https_enforced: httpsEnforced }
344178
+ : {}),
344130
344179
  },
344131
344180
  });
344132
344181
  }
@@ -525620,7 +525669,7 @@ const crsStatusSubcommand = {
525620
525669
  };
525621
525670
 
525622
525671
  ;// CONCATENATED MODULE: ./package.json
525623
- const package_namespaceObject = JSON.parse('{"i8":"2.11.0-snapshot-feat-format"}');
525672
+ const package_namespaceObject = JSON.parse('{"i8":"2.11.0-snapshot-gh-pages-public-https-1"}');
525624
525673
  ;// CONCATENATED MODULE: ../../package.json
525625
525674
  const package_namespaceObject_1 = {"i8":"2.10.0"};
525626
525675
  // EXTERNAL MODULE: ../../node_modules/semver/index.js
@@ -1709,6 +1709,14 @@ export interface FirestartrGithubRepositorySpecPages {
1709
1709
  * @schema FirestartrGithubRepositorySpecPages#cname
1710
1710
  */
1711
1711
  readonly cname?: string;
1712
+ /**
1713
+ * @schema FirestartrGithubRepositorySpecPages#public
1714
+ */
1715
+ readonly public?: boolean;
1716
+ /**
1717
+ * @schema FirestartrGithubRepositorySpecPages#https_enforced
1718
+ */
1719
+ readonly httpsEnforced?: boolean;
1712
1720
  /**
1713
1721
  * @schema FirestartrGithubRepositorySpecPages#source
1714
1722
  */
@@ -1952,7 +1960,7 @@ export interface FirestartrGithubRepositorySpecPagesSource {
1952
1960
  /**
1953
1961
  * @schema FirestartrGithubRepositorySpecPagesSource#path
1954
1962
  */
1955
- readonly path?: string;
1963
+ readonly path?: FirestartrGithubRepositorySpecPagesSourcePath;
1956
1964
  }
1957
1965
  /**
1958
1966
  * Converts an object of type 'FirestartrGithubRepositorySpecPagesSource' to JSON representation.
@@ -2119,6 +2127,15 @@ export interface FirestartrGithubRepositorySpecContextProviderRef {
2119
2127
  * Converts an object of type 'FirestartrGithubRepositorySpecContextProviderRef' to JSON representation.
2120
2128
  */
2121
2129
  export declare function toJson_FirestartrGithubRepositorySpecContextProviderRef(obj: FirestartrGithubRepositorySpecContextProviderRef | undefined): Record<string, any> | undefined;
2130
+ /**
2131
+ * @schema FirestartrGithubRepositorySpecPagesSourcePath
2132
+ */
2133
+ export declare enum FirestartrGithubRepositorySpecPagesSourcePath {
2134
+ /** / */
2135
+ VALUE_FORWARD_SLASH = "/",
2136
+ /** /docs */
2137
+ VALUE_FORWARD_SLASH_DOCS = "/docs"
2138
+ }
2122
2139
  /**
2123
2140
  * @schema FirestartrGithubRepositorySpecVarsVariableItemSchemaRef
2124
2141
  */
@@ -733,29 +733,7 @@ declare const schemas: {
733
733
  type: string;
734
734
  };
735
735
  pages: {
736
- type: string;
737
- properties: {
738
- cname: {
739
- type: string;
740
- };
741
- buildType: {
742
- type: string;
743
- enum: string[];
744
- };
745
- source: {
746
- type: string;
747
- properties: {
748
- branch: {
749
- type: string;
750
- };
751
- path: {
752
- type: string;
753
- };
754
- };
755
- additionalProperties: boolean;
756
- };
757
- };
758
- additionalProperties: boolean;
736
+ $ref: string;
759
737
  };
760
738
  additionalRules: {
761
739
  type: string;
@@ -1139,6 +1117,56 @@ declare const schemas: {
1139
1117
  additionalProperties: boolean;
1140
1118
  };
1141
1119
  };
1120
+ } | {
1121
+ $schema: string;
1122
+ $id: string;
1123
+ definitions: {
1124
+ GithubPages: {
1125
+ $id: string;
1126
+ type: string;
1127
+ description: string;
1128
+ properties: {
1129
+ cname: {
1130
+ type: string;
1131
+ };
1132
+ public: {
1133
+ type: string;
1134
+ };
1135
+ https_enforced: {
1136
+ type: string;
1137
+ };
1138
+ buildType: {
1139
+ type: string;
1140
+ enum: string[];
1141
+ };
1142
+ source: {
1143
+ type: string;
1144
+ properties: {
1145
+ branch: {
1146
+ type: string;
1147
+ };
1148
+ path: {
1149
+ type: string;
1150
+ enum: string[];
1151
+ };
1152
+ };
1153
+ additionalProperties: boolean;
1154
+ };
1155
+ };
1156
+ additionalProperties: boolean;
1157
+ if: {
1158
+ required: string[];
1159
+ properties: {
1160
+ https_enforced: {
1161
+ const: boolean;
1162
+ };
1163
+ };
1164
+ };
1165
+ then: {
1166
+ required: string[];
1167
+ };
1168
+ };
1169
+ };
1142
1170
  })[] | {
1143
1171
  $id: string;
1144
1172
  definitions: {
@@ -137,29 +137,7 @@ declare const _default: {
137
137
  type: string;
138
138
  };
139
139
  pages: {
140
- type: string;
141
- properties: {
142
- cname: {
143
- type: string;
144
- };
145
- buildType: {
146
- type: string;
147
- enum: string[];
148
- };
149
- source: {
150
- type: string;
151
- properties: {
152
- branch: {
153
- type: string;
154
- };
155
- path: {
156
- type: string;
157
- };
158
- };
159
- additionalProperties: boolean;
160
- };
161
- };
162
- additionalProperties: boolean;
140
+ $ref: string;
163
141
  };
164
142
  additionalRules: {
165
143
  type: string;
@@ -264,29 +264,7 @@ export declare const GithubSchemas: ({
264
264
  type: string;
265
265
  };
266
266
  pages: {
267
- type: string;
268
- properties: {
269
- cname: {
270
- type: string;
271
- };
272
- buildType: {
273
- type: string;
274
- enum: string[];
275
- };
276
- source: {
277
- type: string;
278
- properties: {
279
- branch: {
280
- type: string;
281
- };
282
- path: {
283
- type: string;
284
- };
285
- };
286
- additionalProperties: boolean;
287
- };
288
- };
289
- additionalProperties: boolean;
267
+ $ref: string;
290
268
  };
291
269
  additionalRules: {
292
270
  type: string;
@@ -670,4 +648,54 @@ export declare const GithubSchemas: ({
670
648
  additionalProperties: boolean;
671
649
  };
672
650
  };
651
+ } | {
652
+ $schema: string;
653
+ $id: string;
654
+ definitions: {
655
+ GithubPages: {
656
+ $id: string;
657
+ type: string;
658
+ description: string;
659
+ properties: {
660
+ cname: {
661
+ type: string;
662
+ };
663
+ public: {
664
+ type: string;
665
+ };
666
+ https_enforced: {
667
+ type: string;
668
+ };
669
+ buildType: {
670
+ type: string;
671
+ enum: string[];
672
+ };
673
+ source: {
674
+ type: string;
675
+ properties: {
676
+ branch: {
677
+ type: string;
678
+ };
679
+ path: {
680
+ type: string;
681
+ enum: string[];
682
+ };
683
+ };
684
+ additionalProperties: boolean;
685
+ };
686
+ };
687
+ additionalProperties: boolean;
688
+ if: {
689
+ required: string[];
690
+ properties: {
691
+ https_enforced: {
692
+ const: boolean;
693
+ };
694
+ };
695
+ };
696
+ then: {
697
+ required: string[];
698
+ };
699
+ };
700
+ };
673
701
  })[];
@@ -0,0 +1,11 @@
1
+ import { FirestartrGithubRepositorySpecPagesBuildType, FirestartrGithubRepositorySpecPagesSourcePath } from '../../../imports/firestartr.dev';
2
+ export interface IRepositoryPage {
3
+ cname?: string;
4
+ public?: boolean;
5
+ https_enforced?: boolean;
6
+ source?: {
7
+ branch: string;
8
+ path: FirestartrGithubRepositorySpecPagesSourcePath;
9
+ };
10
+ buildType?: FirestartrGithubRepositorySpecPagesBuildType;
11
+ }
@@ -0,0 +1,52 @@
1
+ declare const _default: {
2
+ $schema: string;
3
+ $id: string;
4
+ definitions: {
5
+ GithubPages: {
6
+ $id: string;
7
+ type: string;
8
+ description: string;
9
+ properties: {
10
+ cname: {
11
+ type: string;
12
+ };
13
+ public: {
14
+ type: string;
15
+ };
16
+ https_enforced: {
17
+ type: string;
18
+ };
19
+ buildType: {
20
+ type: string;
21
+ enum: string[];
22
+ };
23
+ source: {
24
+ type: string;
25
+ properties: {
26
+ branch: {
27
+ type: string;
28
+ };
29
+ path: {
30
+ type: string;
31
+ enum: string[];
32
+ };
33
+ };
34
+ additionalProperties: boolean;
35
+ };
36
+ };
37
+ additionalProperties: boolean;
38
+ if: {
39
+ required: string[];
40
+ properties: {
41
+ https_enforced: {
42
+ const: boolean;
43
+ };
44
+ };
45
+ };
46
+ then: {
47
+ required: string[];
48
+ };
49
+ };
50
+ };
51
+ };
52
+ export default _default;
@@ -1,7 +1,8 @@
1
1
  import { BranchStrategy } from 'catalog_common';
2
- import { FirestartrGithubRepositorySpecPagesBuildType, FirestartrGithubRepositorySpecRepoVisibility } from '../../../imports/firestartr.dev';
2
+ import { FirestartrGithubRepositorySpecRepoVisibility } from '../../../imports/firestartr.dev';
3
3
  import { IClaimInstalledFeature } from '../base';
4
4
  import { IComponentClaim } from '../base/component';
5
+ import { IRepositoryPage } from './pages';
5
6
  export interface IGithubRepositoryClaim extends IComponentClaim {
6
7
  providers: {
7
8
  github: {
@@ -49,14 +50,6 @@ interface IComponentClaimActions {
49
50
  includeClaimKeys: string[];
50
51
  };
51
52
  }
52
- interface IRepositoryPage {
53
- cname?: string;
54
- source?: {
55
- branch: string;
56
- path: string;
57
- };
58
- buildType?: FirestartrGithubRepositorySpecPagesBuildType;
59
- }
60
53
  interface IComponentClaimLabel {
61
54
  name: string;
62
55
  color: string;
@@ -2,12 +2,7 @@ import { Entity } from '../base';
2
2
  export declare class EntityGHRepo extends Entity {
3
3
  private escapeTerraformBranchName;
4
4
  constructor(artifact: any);
5
- /**
6
- * Validation logic for GitHub Pages branch settings:
7
- * - On create: If pages branch is set, it must equal the default branch.
8
- * - On update: If pages branch is set and is not the default, it must exist in remote.
9
- */
10
- private validatePagesBranch;
5
+ private validatePages;
11
6
  loadResources(tfOp: string): Promise<void>;
12
7
  postProvision(tfOp: string): Promise<void>;
13
8
  loadAddressesToImport(): Promise<void>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@firestartr/cli",
3
- "version": "2.11.0-snapshot-feat-format",
3
+ "version": "2.11.0-snapshot-gh-pages-public-https-1",
4
4
  "private": false,
5
5
  "description": "Commandline tool",
6
6
  "main": "build/main.js",