@firestartr/cli 2.11.0-snapshot-mco-01 → 2.11.0-snapshot-ghpages-01

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
@@ -163207,20 +163207,7 @@ const external_node_child_process_namespaceObject = __WEBPACK_EXTERNAL_createReq
163207
163207
  type: 'boolean',
163208
163208
  },
163209
163209
  pages: {
163210
- type: 'object',
163211
- properties: {
163212
- cname: { type: 'string' },
163213
- buildType: { type: 'string', enum: ['workflow', 'legacy'] },
163214
- source: {
163215
- type: 'object',
163216
- properties: {
163217
- branch: { type: 'string' },
163218
- path: { type: 'string' },
163219
- },
163220
- additionalProperties: false,
163221
- },
163222
- },
163223
- additionalProperties: false,
163210
+ $ref: 'firestartr.dev://github/GithubPages',
163224
163211
  },
163225
163212
  additionalRules: {
163226
163213
  type: 'array',
@@ -163657,6 +163644,42 @@ const organizationSettingsProperties = {
163657
163644
  },
163658
163645
  });
163659
163646
 
163647
+ ;// CONCATENATED MODULE: ../cdk8s_renderer/src/claims/github/pages.schema.ts
163648
+
163649
+ /* harmony default export */ const pages_schema = ({
163650
+ $schema: SCHEMA,
163651
+ $id: 'GithubPages',
163652
+ definitions: {
163653
+ GithubPages: {
163654
+ $id: 'firestartr.dev://github/GithubPages',
163655
+ type: 'object',
163656
+ description: 'GitHub Pages configuration shared across component and repository claims',
163657
+ properties: {
163658
+ cname: { type: 'string' },
163659
+ public: { type: 'boolean' },
163660
+ https_enforced: { type: 'boolean' },
163661
+ buildType: { type: 'string', enum: ['workflow', 'legacy'] },
163662
+ source: {
163663
+ type: 'object',
163664
+ properties: {
163665
+ branch: { type: 'string' },
163666
+ path: { type: 'string', enum: ['/', '/docs'] },
163667
+ },
163668
+ additionalProperties: false,
163669
+ },
163670
+ },
163671
+ additionalProperties: false,
163672
+ if: {
163673
+ required: ['https_enforced'],
163674
+ properties: { https_enforced: { const: true } },
163675
+ },
163676
+ then: {
163677
+ required: ['cname'],
163678
+ },
163679
+ },
163680
+ },
163681
+ });
163682
+
163660
163683
  ;// CONCATENATED MODULE: ../cdk8s_renderer/src/claims/github/index.ts
163661
163684
 
163662
163685
 
@@ -163666,6 +163689,7 @@ const organizationSettingsProperties = {
163666
163689
 
163667
163690
 
163668
163691
 
163692
+
163669
163693
  const GithubSchemas = [
163670
163694
  github_group_schema,
163671
163695
  github_user_schema,
@@ -163675,6 +163699,7 @@ const GithubSchemas = [
163675
163699
  github_orgsettings_schema,
163676
163700
  component_secrets_vars_schema,
163677
163701
  component_labels_schema,
163702
+ pages_schema,
163678
163703
  ];
163679
163704
 
163680
163705
  ;// CONCATENATED MODULE: ../cdk8s_renderer/src/claims/tfworkspaces/terraform.schema.ts
@@ -168640,6 +168665,8 @@ function toJson_FirestartrGithubRepositorySpecPages(obj) {
168640
168665
  }
168641
168666
  const result = {
168642
168667
  'cname': obj.cname,
168668
+ 'public': obj.public,
168669
+ 'https_enforced': obj.httpsEnforced,
168643
168670
  'source': toJson_FirestartrGithubRepositorySpecPagesSource(obj.source),
168644
168671
  'buildType': obj.buildType,
168645
168672
  };
@@ -168966,6 +168993,17 @@ function toJson_FirestartrGithubRepositorySpecContextProviderRef(obj) {
168966
168993
  // filter undefined values
168967
168994
  return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {});
168968
168995
  }
168996
+ /* eslint-enable max-len, @stylistic/max-len, quote-props, @stylistic/quote-props */
168997
+ /**
168998
+ * @schema FirestartrGithubRepositorySpecPagesSourcePath
168999
+ */
169000
+ var FirestartrGithubRepositorySpecPagesSourcePath;
169001
+ (function (FirestartrGithubRepositorySpecPagesSourcePath) {
169002
+ /** / */
169003
+ FirestartrGithubRepositorySpecPagesSourcePath["VALUE_FORWARD_SLASH"] = "/";
169004
+ /** /docs */
169005
+ FirestartrGithubRepositorySpecPagesSourcePath["VALUE_FORWARD_SLASH_DOCS"] = "/docs";
169006
+ })(FirestartrGithubRepositorySpecPagesSourcePath || (FirestartrGithubRepositorySpecPagesSourcePath = {}));
168969
169007
  /**
168970
169008
  * Converts an object of type 'FirestartrGithubRepositorySpecVarsVariableItemSchemaRef' to JSON representation.
168971
169009
  */
@@ -170756,6 +170794,17 @@ class RepoSecretsSectionChart extends BaseGithubChart {
170756
170794
 
170757
170795
 
170758
170796
 
170797
+ function normalizePages(pages) {
170798
+ if (!pages)
170799
+ return undefined;
170800
+ return {
170801
+ cname: pages.cname,
170802
+ public: pages.public,
170803
+ httpsEnforced: pages.https_enforced,
170804
+ source: pages.source,
170805
+ buildType: pages.buildType,
170806
+ };
170807
+ }
170759
170808
  class GithubRepositoryChart extends BaseGithubChart {
170760
170809
  template() {
170761
170810
  const claim = this.get('claim');
@@ -170804,7 +170853,7 @@ class GithubRepositoryChart extends BaseGithubChart {
170804
170853
  actions,
170805
170854
  permissions: this.createPermissions(claim),
170806
170855
  vars: this.createVars(claim),
170807
- pages: claim.providers.github.pages,
170856
+ pages: normalizePages(claim.providers.github.pages),
170808
170857
  branchProtections: [],
170809
170858
  writeConnectionSecretToRef: {
170810
170859
  name: `firestartrgithubrepository-${claim.name}-outputs`.toLowerCase(),
@@ -173567,9 +173616,6 @@ function transformRepoName(repoName) {
173567
173616
 
173568
173617
 
173569
173618
 
173570
-
173571
-
173572
-
173573
173619
  const TYPE_MAP = {
173574
173620
  User: 'user',
173575
173621
  Team: 'group',
@@ -173638,33 +173684,27 @@ class RepoGithubDecanter extends GithubDecanter {
173638
173684
  }
173639
173685
  __decantPages() {
173640
173686
  if (this.data.pages) {
173641
- if (this.data.pages.build_type === 'workflow') {
173642
- this.__patchClaim({
173643
- op: 'add',
173644
- path: '/providers/github/pages',
173645
- value: {
173646
- buildType: 'workflow',
173647
- ...(typeof this.data.pages.cname === 'string' &&
173648
- this.data.pages.cname.length > 0
173649
- ? { cname: this.data.pages.cname }
173650
- : {}),
173651
- },
173652
- });
173653
- }
173654
- else if (this.data.pages.build_type === 'legacy') {
173655
- this.__patchClaim({
173656
- op: 'add',
173657
- path: '/providers/github/pages',
173658
- value: {
173659
- buildType: 'legacy',
173660
- ...(typeof this.data.pages.cname === 'string' &&
173661
- this.data.pages.cname.length > 0
173662
- ? { cname: this.data.pages.cname }
173663
- : {}),
173664
- source: this.data.pages.source,
173665
- },
173666
- });
173687
+ const pagesData = this.data.pages;
173688
+ const pagesConfig = {
173689
+ buildType: pagesData.build_type,
173690
+ ...(typeof pagesData.cname === 'string' && pagesData.cname.length > 0
173691
+ ? { cname: pagesData.cname }
173692
+ : {}),
173693
+ ...(typeof pagesData.public === 'boolean'
173694
+ ? { public: pagesData.public }
173695
+ : {}),
173696
+ ...(typeof pagesData.https_enforced === 'boolean'
173697
+ ? { https_enforced: pagesData.https_enforced }
173698
+ : {}),
173699
+ };
173700
+ if (pagesData.build_type === 'legacy') {
173701
+ pagesConfig.source = pagesData.source;
173667
173702
  }
173703
+ this.__patchClaim({
173704
+ op: 'add',
173705
+ path: '/providers/github/pages',
173706
+ value: pagesConfig,
173707
+ });
173668
173708
  }
173669
173709
  }
173670
173710
  __decantOIDC() {
@@ -173717,51 +173757,15 @@ class RepoGithubDecanter extends GithubDecanter {
173717
173757
  return (this.data.teamsAndMembers.directMembers.some((member) => member.name?.toLowerCase() === normalizedUserName) ||
173718
173758
  this.data.teamsAndMembers.outsideMembers.some((member) => member.name?.toLowerCase() === normalizedUserName));
173719
173759
  };
173720
- // Resolve the default owner from claims_defaults.yaml if available.
173721
- // ComponentClaim.owner is of form "group:<name>" or "user:<name>".
173722
- // For teams we map to "@<org>/<name>", for users to "@<name>".
173723
- let defaultOwnerTeamHandle = null;
173724
- let defaultOwnerUserHandle = null;
173725
- try {
173726
- const raw = external_fs_.readFileSync(`${getPath('claimsDefaults')}/claims_defaults.yaml`, 'utf-8');
173727
- const defaults = catalog_common/* default.io.fromYaml */.Z.io.fromYaml(raw);
173728
- const ownerRef = defaults?.ComponentClaim?.owner;
173729
- if (typeof ownerRef === 'string' && ownerRef.includes(':')) {
173730
- const [kind, name] = ownerRef.split(':');
173731
- if (kind === 'group' && name) {
173732
- defaultOwnerTeamHandle = `@${this.org.toLowerCase()}/${name.toLowerCase()}`;
173733
- }
173734
- else if (kind === 'user' && name) {
173735
- defaultOwnerUserHandle = `@${name.toLowerCase()}`;
173736
- }
173737
- }
173738
- }
173739
- catch {
173740
- // path not set, file missing, or parse error → no default owner, keep strict behaviour
173741
- }
173742
- const isDefaultOwner = (owner) => {
173743
- const normalized = owner.name.toLowerCase();
173744
- if (owner.isTeam)
173745
- return normalized === defaultOwnerTeamHandle;
173746
- return normalized === defaultOwnerUserHandle;
173747
- };
173748
173760
  // let's validate that every element in the
173749
173761
  // CODEOWNERS file is either a team or a user in the repository,
173750
173762
  // otherwise we will have dangling references in the claim which will cause issues down the line
173751
173763
  for (const owner of owners) {
173752
173764
  if (owner.isTeam && !isInTeams(owner.name)) {
173753
- if (isDefaultOwner(owner)) {
173754
- importer_src_logger.warn(`[${this.org}/${this.data.repoDetails.name}] CODEOWNERS file references default owner team ${owner.name} which is not yet in the repository's teams — will be granted on provisioning; continuing.`);
173755
- continue;
173756
- }
173757
173765
  importer_src_logger.error(`[${this.org}/${this.data.repoDetails.name}] CODEOWNERS file references team ${owner.name} which is not present in the repository's teams.`);
173758
173766
  throw new Error(`[${this.org}/${this.data.repoDetails.name}] CODEOWNERS file references team ${owner.name} which is not present in the repository's teams.`);
173759
173767
  }
173760
173768
  else if (!owner.isTeam && !isInUsers(owner.name)) {
173761
- if (isDefaultOwner(owner)) {
173762
- importer_src_logger.warn(`[${this.org}/${this.data.repoDetails.name}] CODEOWNERS file references default owner user ${owner.name} not yet collaborator — will be granted on provisioning; continuing.`);
173763
- continue;
173764
- }
173765
173769
  importer_src_logger.error(`[${this.org}/${this.data.repoDetails.name}] CODEOWNERS file references user ${owner.name} which is not present in the repository's collaborators.`);
173766
173770
  throw new Error(`[${this.org}/${this.data.repoDetails.name}] CODEOWNERS file references user ${owner.name} which is not present in the repository's collaborators.`);
173767
173771
  }
@@ -365109,8 +365113,8 @@ const MODULES = {
365109
365113
  },
365110
365114
  FirestartrGithubRepository: {
365111
365115
  module: 'git::https://github.com/prefapp/tfm.git//modules/github-repo',
365112
- // github-repo-v0.9.0
365113
- ref: '76074c2817032b199962c380481617d99f78d9d7',
365116
+ // github-repo feat/1385: add public and https_enforced to pages
365117
+ ref: '441b93d8a0d78f6088db096a852305f63a227eaa',
365114
365118
  },
365115
365119
  FirestartrGithubRepositoryFeature: {
365116
365120
  module: 'git::https://github.com/prefapp/tfm.git//modules/github-files-set',
@@ -366007,14 +366011,14 @@ class EntityGHRepo extends base_Entity {
366007
366011
  },
366008
366012
  });
366009
366013
  }
366010
- /**
366011
- * Validation logic for GitHub Pages branch settings:
366012
- * - On create: If pages branch is set, it must equal the default branch.
366013
- * - On update: If pages branch is set and is not the default, it must exist in remote.
366014
- */
366015
- async validatePagesBranch(tfOp, repoAlreadyExists) {
366014
+ async validatePages(tfOp, repoAlreadyExists) {
366016
366015
  const pages = this.cr.spec.pages;
366017
- if (!pages || !pages.source || !pages.source.branch)
366016
+ if (!pages)
366017
+ return;
366018
+ if (pages.https_enforced && !pages.cname) {
366019
+ throw new Error(`[gh-provisioner] ${this.k8sId} https_enforced requires cname to be set in pages configuration`);
366020
+ }
366021
+ if (!pages.source || !pages.source.branch)
366018
366022
  return;
366019
366023
  const branch = pages.source.branch;
366020
366024
  const defaultBranch = this.cr.spec.repo.defaultBranch;
@@ -366038,7 +366042,6 @@ class EntityGHRepo extends base_Entity {
366038
366042
  if (err && err.status === 404) {
366039
366043
  throw new Error(`Pages branch '${branch}' does not exist in the repository '${org}/${repo}'.`);
366040
366044
  }
366041
- // Other errors propagate
366042
366045
  throw err;
366043
366046
  }
366044
366047
  }
@@ -366051,7 +366054,7 @@ class EntityGHRepo extends base_Entity {
366051
366054
  return await github["default"].repo.repoExists(this.cr.spec.org, this.cr.name);
366052
366055
  }));
366053
366056
  if (tfOp !== 'destroy' && tfOp !== 'plan-destroy') {
366054
- await this.validatePagesBranch(tfOp, repoAlreadyExists);
366057
+ await this.validatePages(tfOp, repoAlreadyExists);
366055
366058
  }
366056
366059
  await this.provisionRepository();
366057
366060
  this.provisionPages();
@@ -366198,6 +366201,9 @@ class EntityGHRepo extends base_Entity {
366198
366201
  if (this.cr.spec.pages) {
366199
366202
  const source = this.cr.spec.pages.source ?? {};
366200
366203
  const buildType = this.cr.spec.pages.buildType ?? 'legacy';
366204
+ const cname = this.cr.spec.pages.cname;
366205
+ const public_ = this.cr.spec.pages.public;
366206
+ const httpsEnforced = this.cr.spec.pages.https_enforced;
366201
366207
  this.patchData({
366202
366208
  path: '/config/pages',
366203
366209
  op: PatchOperations.add,
@@ -366211,7 +366217,11 @@ class EntityGHRepo extends base_Entity {
366211
366217
  },
366212
366218
  }
366213
366219
  : {}),
366214
- cname: this.cr.spec.pages.cname,
366220
+ ...(cname !== undefined ? { cname } : {}),
366221
+ ...(public_ !== undefined ? { public: public_ } : {}),
366222
+ ...(httpsEnforced !== undefined
366223
+ ? { https_enforced: httpsEnforced }
366224
+ : {}),
366215
366225
  },
366216
366226
  });
366217
366227
  }
@@ -713342,7 +713352,7 @@ const crsStatusSubcommand = {
713342
713352
  };
713343
713353
 
713344
713354
  ;// CONCATENATED MODULE: ./package.json
713345
- const package_namespaceObject = JSON.parse('{"i8":"2.11.0-snapshot-mco-01"}');
713355
+ const package_namespaceObject = JSON.parse('{"i8":"2.11.0-snapshot-ghpages-01"}');
713346
713356
  ;// CONCATENATED MODULE: ../../package.json
713347
713357
  const package_namespaceObject_1 = {"i8":"2.10.0"};
713348
713358
  // 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>;
@@ -4,5 +4,5 @@ export default class MemberGithubDecanter extends GithubDecanter {
4
4
  __decantStart(): void;
5
5
  __gatherRoleInOrg(): Promise<void>;
6
6
  __decantProviders(): void;
7
- __adaptInitializerBase(_claim: any): Promise<import("cdk8s_renderer").InitializerDefault>;
7
+ __adaptInitializerBase(_claim: any): Promise<import("../../../../cdk8s_renderer").InitializerDefault>;
8
8
  }
@@ -5,6 +5,6 @@ export default class OrgSettingsGithubDecanter extends GithubDecanter {
5
5
  __decantProviders(): void;
6
6
  __gatherOrgSettings(): Promise<void>;
7
7
  __gatherProviderPayload(): void;
8
- __adaptInitializerBase(_claim: any): Promise<import("cdk8s_renderer").InitializerDefault>;
8
+ __adaptInitializerBase(_claim: any): Promise<import("../../../../cdk8s_renderer").InitializerDefault>;
9
9
  private orgSettingsName;
10
10
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@firestartr/cli",
3
- "version": "2.11.0-snapshot-mco-01",
3
+ "version": "2.11.0-snapshot-ghpages-01",
4
4
  "private": false,
5
5
  "description": "Commandline tool",
6
6
  "main": "build/main.js",