@firestartr/cli 0.1.8 → 0.1.10

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.
Files changed (37) hide show
  1. package/build/index.js +74 -41
  2. package/build/provisioner/cdktf.json +0 -0
  3. package/build/provisioner/dist-cdktf/src/handlers/index.d.ts +1 -1
  4. package/build/provisioner/dist-cdktf/tsconfig.cdktf.tsbuildinfo +1 -1
  5. package/package.json +1 -1
  6. package/build/provisioner/dist-cdktf/src/entities/feature/FirestarterGithubRepositoryFeature.d.ts +0 -8
  7. package/build/provisioner/dist-cdktf/src/entities/feature/FirestarterGithubRepositoryFeature.js +0 -15
  8. package/build/provisioner/dist-cdktf/src/entities/firestartergithubgroup/FirestarterGithubGroup.d.ts +0 -8
  9. package/build/provisioner/dist-cdktf/src/entities/firestartergithubgroup/FirestarterGithubGroup.js +0 -17
  10. package/build/provisioner/dist-cdktf/src/entities/firestartergithubgroup/auxiliars/TeamConfigAux.d.ts +0 -29
  11. package/build/provisioner/dist-cdktf/src/entities/firestartergithubgroup/auxiliars/TeamConfigAux.js +0 -35
  12. package/build/provisioner/dist-cdktf/src/entities/firestartergithubgroup/helpers/TeamMembersHelper.d.ts +0 -4
  13. package/build/provisioner/dist-cdktf/src/entities/firestartergithubgroup/helpers/TeamMembersHelper.js +0 -28
  14. package/build/provisioner/dist-cdktf/src/entities/firestartergithubgroup/helpers/TeamsHelper.d.ts +0 -4
  15. package/build/provisioner/dist-cdktf/src/entities/firestartergithubgroup/helpers/TeamsHelper.js +0 -23
  16. package/build/provisioner/dist-cdktf/src/entities/firestartergithubmembership/FirestarterGithubMembership.d.ts +0 -8
  17. package/build/provisioner/dist-cdktf/src/entities/firestartergithubmembership/FirestarterGithubMembership.js +0 -15
  18. package/build/provisioner/dist-cdktf/src/entities/firestartergithubmembership/helpers/MembershipHelper.d.ts +0 -4
  19. package/build/provisioner/dist-cdktf/src/entities/firestartergithubmembership/helpers/MembershipHelper.js +0 -19
  20. package/build/provisioner/dist-cdktf/src/entities/firestartergithubrepository/FirestarterGithubRepository.d.ts +0 -9
  21. package/build/provisioner/dist-cdktf/src/entities/firestartergithubrepository/FirestarterGithubRepository.js +0 -30
  22. package/build/provisioner/dist-cdktf/src/entities/firestartergithubrepository/auxiliars/RepositoryConfigAux.d.ts +0 -52
  23. package/build/provisioner/dist-cdktf/src/entities/firestartergithubrepository/auxiliars/RepositoryConfigAux.js +0 -72
  24. package/build/provisioner/dist-cdktf/src/entities/firestartergithubrepository/helpers/ActionsHelper.d.ts +0 -5
  25. package/build/provisioner/dist-cdktf/src/entities/firestartergithubrepository/helpers/ActionsHelper.js +0 -19
  26. package/build/provisioner/dist-cdktf/src/entities/firestartergithubrepository/helpers/CodeownersHelper.d.ts +0 -5
  27. package/build/provisioner/dist-cdktf/src/entities/firestartergithubrepository/helpers/CodeownersHelper.js +0 -24
  28. package/build/provisioner/dist-cdktf/src/entities/firestartergithubrepository/helpers/DefaultBranchHelper.d.ts +0 -5
  29. package/build/provisioner/dist-cdktf/src/entities/firestartergithubrepository/helpers/DefaultBranchHelper.js +0 -17
  30. package/build/provisioner/dist-cdktf/src/entities/firestartergithubrepository/helpers/RepositoryHelper.d.ts +0 -5
  31. package/build/provisioner/dist-cdktf/src/entities/firestartergithubrepository/helpers/RepositoryHelper.js +0 -72
  32. package/build/provisioner/dist-cdktf/src/entities/firestartergithubrepository/helpers/RepositoryTeamsHelper.d.ts +0 -4
  33. package/build/provisioner/dist-cdktf/src/entities/firestartergithubrepository/helpers/RepositoryTeamsHelper.js +0 -49
  34. package/build/provisioner/dist-cdktf/src/entities/firestarterterraformmodule/FirestarterTerraformModule.d.ts +0 -10
  35. package/build/provisioner/dist-cdktf/src/entities/firestarterterraformmodule/FirestarterTerraformModule.js +0 -17
  36. package/build/provisioner/dist-cdktf/src/entities/firestarterterraformmodule/auxiliars/terraformModuleHelper.d.ts +0 -13
  37. package/build/provisioner/dist-cdktf/src/entities/firestarterterraformmodule/auxiliars/terraformModuleHelper.js +0 -36
@@ -1,29 +0,0 @@
1
- import { TeamConfig } from '@cdktf/provider-github/lib/team';
2
- import { IResolvable, ITerraformDependable, TerraformProvider, TerraformResourceLifecycle, ITerraformIterator, FileProvisioner, LocalExecProvisioner, RemoteExecProvisioner, SSHProvisionerConnection, WinrmProvisionerConnection } from 'cdktf';
3
- import { ConfigAux } from '../../base/auxiliars/ConfigAux';
4
- /**
5
- * @description This class is used to extend the TeamConfig interface to add some methods
6
- * which are used to ignore changes in some properties that are not tracked by Terraform
7
- * @see https://www.terraform.io/docs/language/meta-arguments/lifecycle.html
8
- * @see https://www.terraform.io/docs/language/meta-arguments/lifecycle.html#ignore_changes
9
- * @see https://www.terraform.io/docs/language/meta-arguments/lifecycle.html#ignore_changes_explicitly
10
- */
11
- export declare class TeamConfigAux extends ConfigAux implements TeamConfig {
12
- connection?: SSHProvisionerConnection | WinrmProvisionerConnection | undefined;
13
- count?: number | undefined;
14
- dependsOn?: ITerraformDependable[] | undefined;
15
- forEach?: ITerraformIterator | undefined;
16
- lifecycle?: TerraformResourceLifecycle | undefined;
17
- provider?: TerraformProvider | undefined;
18
- provisioners?: (FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner)[] | undefined;
19
- name: string;
20
- createDefaultMaintainer?: boolean | IResolvable | undefined;
21
- description?: string | undefined;
22
- id?: string | undefined;
23
- ldapDn?: string | undefined;
24
- parentTeamId?: string | undefined;
25
- parentTeamReadId?: string | undefined;
26
- parentTeamReadSlug?: string | undefined;
27
- privacy?: string | undefined;
28
- constructor();
29
- }
@@ -1,35 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TeamConfigAux = void 0;
4
- const ConfigAux_1 = require("../../base/auxiliars/ConfigAux");
5
- /**
6
- * @description This class is used to extend the TeamConfig interface to add some methods
7
- * which are used to ignore changes in some properties that are not tracked by Terraform
8
- * @see https://www.terraform.io/docs/language/meta-arguments/lifecycle.html
9
- * @see https://www.terraform.io/docs/language/meta-arguments/lifecycle.html#ignore_changes
10
- * @see https://www.terraform.io/docs/language/meta-arguments/lifecycle.html#ignore_changes_explicitly
11
- */
12
- class TeamConfigAux extends ConfigAux_1.ConfigAux {
13
- connection = undefined;
14
- count = undefined;
15
- dependsOn = undefined;
16
- forEach = undefined;
17
- lifecycle = undefined;
18
- provider = undefined;
19
- provisioners = undefined;
20
- name = "";
21
- createDefaultMaintainer = undefined;
22
- description = undefined;
23
- id = undefined;
24
- ldapDn = undefined;
25
- parentTeamId = undefined;
26
- parentTeamReadId = undefined;
27
- parentTeamReadSlug = undefined;
28
- privacy = undefined;
29
- constructor() {
30
- super({
31
- trackableProperties: ['name', 'description', 'id', 'ldap_dn', 'privacy']
32
- });
33
- }
34
- }
35
- exports.TeamConfigAux = TeamConfigAux;
@@ -1,4 +0,0 @@
1
- import { Team } from '@cdktf/provider-github/lib/team';
2
- import { Construct } from 'constructs';
3
- import { FirestarterGithubGroup } from '../FirestarterGithubGroup';
4
- export declare function provisionMembers(scope: Construct, team: Team, fsGithubGroup: FirestarterGithubGroup): void;
@@ -1,28 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.provisionMembers = void 0;
7
- const debug_1 = __importDefault(require("debug"));
8
- const team_membership_1 = require("@cdktf/provider-github/lib/team-membership");
9
- const messageLog = (0, debug_1.default)('firestarter:provisioner:entities:component:helpers:teamsmembershiphelper');
10
- function provisionMembers(scope, team, fsGithubGroup) {
11
- messageLog(`provisionMembers of group ${fsGithubGroup.metadata.name} in org ${fsGithubGroup.spec.org}`);
12
- for (const member of fsGithubGroup.spec.members) {
13
- messageLog(`Provisioning user ${member.ref.name} for group ${fsGithubGroup.metadata.name}`);
14
- const tfStateKey = `_${fsGithubGroup.getTfStateKey()}-${member.ref.kind}-${member.ref.name}-tr`;
15
- if (member.ref.kind === "FirestarterGithubMembership") {
16
- const username = fsGithubGroup.resolveRef(member.ref);
17
- const config = {
18
- dependsOn: [team],
19
- username,
20
- teamId: team.id,
21
- role: member.role
22
- };
23
- const membership = new team_membership_1.TeamMembership(scope, tfStateKey, config);
24
- fsGithubGroup.addResourceToStack(`${team.id}:${username}`, membership);
25
- }
26
- }
27
- }
28
- exports.provisionMembers = provisionMembers;
@@ -1,4 +0,0 @@
1
- import { Construct } from 'constructs';
2
- import { Team } from '@cdktf/provider-github/lib/team';
3
- import { FirestarterGithubGroup } from '../FirestarterGithubGroup';
4
- export declare function provisionGroup(scope: Construct, fsGithubGroup: FirestarterGithubGroup): Team;
@@ -1,23 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.provisionGroup = void 0;
7
- const team_1 = require("@cdktf/provider-github/lib/team");
8
- const debug_1 = __importDefault(require("debug"));
9
- // import { TeamConfigAux } from '../auxiliars/TeamConfigAux';
10
- const messageLog = (0, debug_1.default)('firestarter:provisioner:entities:component:helpers:repositoryhelper');
11
- function provisionGroup(scope, fsGithubGroup) {
12
- messageLog(`provisionGroup with name ${fsGithubGroup.metadata.name} in org ${fsGithubGroup.spec.org}`);
13
- const config = {
14
- name: fsGithubGroup.metadata.name,
15
- description: fsGithubGroup.spec.description,
16
- privacy: fsGithubGroup.spec.privacy,
17
- };
18
- const tfStateKey = `_${fsGithubGroup.getTfStateKey()}`;
19
- const group = new team_1.Team(scope, tfStateKey, config);
20
- fsGithubGroup.addResourceToStack(fsGithubGroup.metadata.name, group);
21
- return group;
22
- }
23
- exports.provisionGroup = provisionGroup;
@@ -1,8 +0,0 @@
1
- import { Construct } from 'constructs';
2
- import { Entity } from '../base/Entity';
3
- export declare class FirestarterGithubMembership extends Entity {
4
- constructor(entity: any);
5
- loadResources(data: {
6
- scope: Construct;
7
- }): Promise<void>;
8
- }
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FirestarterGithubMembership = void 0;
4
- const Entity_1 = require("../base/Entity");
5
- const MembershipHelper_1 = require("./helpers/MembershipHelper");
6
- class FirestarterGithubMembership extends Entity_1.Entity {
7
- constructor(entity) {
8
- super(entity);
9
- }
10
- async loadResources(data) {
11
- const { scope } = data;
12
- this.mainResource = (0, MembershipHelper_1.provisionMembership)(scope, this);
13
- }
14
- }
15
- exports.FirestarterGithubMembership = FirestarterGithubMembership;
@@ -1,4 +0,0 @@
1
- import { FirestarterGithubMembership } from "../FirestarterGithubMembership";
2
- import { Construct } from "constructs";
3
- import { Membership } from '@cdktf/provider-github/lib/membership';
4
- export declare function provisionMembership(scope: Construct, fsGithubMembership: FirestarterGithubMembership): Membership;
@@ -1,19 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.provisionMembership = void 0;
7
- const membership_1 = require("@cdktf/provider-github/lib/membership");
8
- const debug_1 = __importDefault(require("debug"));
9
- const messageLog = (0, debug_1.default)('firestarter:provisioner:modules:artifacts:userartifact');
10
- function provisionMembership(scope, fsGithubMembership) {
11
- const tfStateKey = `_${fsGithubMembership.getTfStateKey()}`;
12
- const membership = new membership_1.Membership(scope, tfStateKey, {
13
- username: fsGithubMembership.metadata.name,
14
- role: fsGithubMembership.spec.role,
15
- });
16
- fsGithubMembership.addResourceToStack(`${fsGithubMembership.spec.org}:${fsGithubMembership.metadata.name}`, membership);
17
- return membership;
18
- }
19
- exports.provisionMembership = provisionMembership;
@@ -1,9 +0,0 @@
1
- import { Construct } from 'constructs';
2
- import { Entity } from '../base/Entity';
3
- export declare class FirestarterGithubRepository extends Entity {
4
- constructor(artifact: any, deps: any);
5
- loadResources(data: {
6
- scope: Construct;
7
- }): Promise<void>;
8
- orgHasOneOfThesePlans(org: string, plans: string[]): Promise<boolean>;
9
- }
@@ -1,30 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FirestarterGithubRepository = void 0;
4
- const Entity_1 = require("../base/Entity");
5
- const CodeownersHelper_1 = require("./helpers/CodeownersHelper");
6
- const RepositoryTeamsHelper_1 = require("./helpers/RepositoryTeamsHelper");
7
- const RepositoryHelper_1 = require("./helpers/RepositoryHelper");
8
- const config_1 = require("../../config/config");
9
- const ActionsHelper_1 = require("./helpers/ActionsHelper");
10
- const DefaultBranchHelper_1 = require("./helpers/DefaultBranchHelper");
11
- class FirestarterGithubRepository extends Entity_1.Entity {
12
- constructor(artifact, deps) {
13
- super(artifact, deps);
14
- }
15
- async loadResources(data) {
16
- const { scope } = data;
17
- this.mainResource = (0, RepositoryHelper_1.provisionRepository)(scope, this);
18
- const branchDefault = (0, DefaultBranchHelper_1.provisionDefaultBranch)(scope, this, this.mainResource);
19
- (0, ActionsHelper_1.provisionOIDCSubjectClaim)(scope, this.mainResource, this);
20
- if (await this.orgHasOneOfThesePlans(this.spec.org, ["team", "enterprise"])) {
21
- (0, RepositoryHelper_1.provisionBranchProtections)(scope, this.mainResource, this);
22
- }
23
- (0, CodeownersHelper_1.provisionCodeowners)(scope, this.mainResource, branchDefault, this);
24
- (0, RepositoryTeamsHelper_1.provisionPermissions)(scope, this.mainResource, this);
25
- }
26
- async orgHasOneOfThesePlans(org, plans) {
27
- return (0, config_1.orgHasOneOfThesePlans)(org, plans);
28
- }
29
- }
30
- exports.FirestarterGithubRepository = FirestarterGithubRepository;
@@ -1,52 +0,0 @@
1
- import { RepositoryConfig, RepositoryPages, RepositorySecurityAndAnalysis, RepositoryTemplate } from '@cdktf/provider-github/lib/repository';
2
- import { IResolvable, ITerraformDependable, TerraformProvider, TerraformResourceLifecycle, ITerraformIterator, FileProvisioner, LocalExecProvisioner, RemoteExecProvisioner, SSHProvisionerConnection, WinrmProvisionerConnection } from 'cdktf';
3
- import { ConfigAux } from '../../base/auxiliars/ConfigAux';
4
- /**
5
- * @description This class is used to extend the RepositoryConfig interface to add some methods
6
- * which are used to ignore changes in some properties that are not tracked by Terraform
7
- * @see https://www.terraform.io/docs/language/meta-arguments/lifecycle.html
8
- * @see https://www.terraform.io/docs/language/meta-arguments/lifecycle.html#ignore_changes
9
- * @see https://www.terraform.io/docs/language/meta-arguments/lifecycle.html#ignore_changes_explicitly
10
- */
11
- export declare class RepositoryConfigAux extends ConfigAux implements RepositoryConfig {
12
- allowAutoMerge?: boolean | IResolvable | undefined;
13
- allowMergeCommit?: boolean | IResolvable | undefined;
14
- allowRebaseMerge?: boolean | IResolvable | undefined;
15
- allowSquashMerge?: boolean | IResolvable | undefined;
16
- archiveOnDestroy?: boolean | IResolvable | undefined;
17
- archived?: boolean | IResolvable | undefined;
18
- autoInit?: boolean | IResolvable | undefined;
19
- defaultBranch?: string | undefined;
20
- deleteBranchOnMerge?: boolean | IResolvable | undefined;
21
- description?: string | undefined;
22
- gitignoreTemplate?: string | undefined;
23
- hasDownloads?: boolean | IResolvable | undefined;
24
- hasIssues?: boolean | IResolvable | undefined;
25
- hasProjects?: boolean | IResolvable | undefined;
26
- hasWiki?: boolean | IResolvable | undefined;
27
- homepageUrl?: string | undefined;
28
- id?: string | undefined;
29
- ignoreVulnerabilityAlertsDuringRead?: boolean | IResolvable | undefined;
30
- isTemplate?: boolean | IResolvable | undefined;
31
- licenseTemplate?: string | undefined;
32
- mergeCommitMessage?: string | undefined;
33
- mergeCommitTitle?: string | undefined;
34
- name: string;
35
- private?: boolean | IResolvable | undefined;
36
- squashMergeCommitMessage?: string | undefined;
37
- squashMergeCommitTitle?: string | undefined;
38
- topics?: string[] | undefined;
39
- visibility?: string | undefined;
40
- vulnerabilityAlerts?: boolean | IResolvable | undefined;
41
- pages?: RepositoryPages | undefined;
42
- template?: RepositoryTemplate | undefined;
43
- dependsOn?: ITerraformDependable[] | undefined;
44
- count?: number | undefined;
45
- provider?: TerraformProvider | undefined;
46
- lifecycle?: TerraformResourceLifecycle | undefined;
47
- forEach?: ITerraformIterator | undefined;
48
- provisioners?: (FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner)[] | undefined;
49
- connection?: SSHProvisionerConnection | WinrmProvisionerConnection | undefined;
50
- securityAndAnalysis?: RepositorySecurityAndAnalysis | undefined;
51
- constructor();
52
- }
@@ -1,72 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RepositoryConfigAux = void 0;
4
- const ConfigAux_1 = require("../../base/auxiliars/ConfigAux");
5
- /**
6
- * @description This class is used to extend the RepositoryConfig interface to add some methods
7
- * which are used to ignore changes in some properties that are not tracked by Terraform
8
- * @see https://www.terraform.io/docs/language/meta-arguments/lifecycle.html
9
- * @see https://www.terraform.io/docs/language/meta-arguments/lifecycle.html#ignore_changes
10
- * @see https://www.terraform.io/docs/language/meta-arguments/lifecycle.html#ignore_changes_explicitly
11
- */
12
- class RepositoryConfigAux extends ConfigAux_1.ConfigAux {
13
- allowAutoMerge = undefined;
14
- allowMergeCommit = undefined;
15
- allowRebaseMerge = undefined;
16
- allowSquashMerge = undefined;
17
- archiveOnDestroy = undefined;
18
- archived = undefined;
19
- autoInit = undefined;
20
- defaultBranch = undefined;
21
- deleteBranchOnMerge = undefined;
22
- description = undefined;
23
- gitignoreTemplate = undefined;
24
- hasDownloads = undefined;
25
- hasIssues = undefined;
26
- hasProjects = undefined;
27
- hasWiki = undefined;
28
- homepageUrl = undefined;
29
- id = undefined;
30
- ignoreVulnerabilityAlertsDuringRead = undefined;
31
- isTemplate = undefined;
32
- licenseTemplate = undefined;
33
- mergeCommitMessage = undefined;
34
- mergeCommitTitle = undefined;
35
- name = "";
36
- private = undefined;
37
- squashMergeCommitMessage = undefined;
38
- squashMergeCommitTitle = undefined;
39
- topics = undefined;
40
- visibility = undefined;
41
- vulnerabilityAlerts = undefined;
42
- pages = undefined;
43
- template = undefined;
44
- dependsOn = undefined;
45
- count = undefined;
46
- provider = undefined;
47
- lifecycle = undefined;
48
- forEach = undefined;
49
- provisioners = undefined;
50
- connection = undefined;
51
- securityAndAnalysis = undefined;
52
- constructor() {
53
- super({
54
- trackableProperties: [
55
- 'name',
56
- 'visibility',
57
- 'autoInit',
58
- 'defaultBranch',
59
- 'allowAutoMerge',
60
- 'allowMergeCommit',
61
- 'allowRebaseMerge',
62
- 'allowSquashMerge',
63
- 'allowUpdateBranch',
64
- 'archiveOnDestroy',
65
- 'deleteBranchOnMerge',
66
- 'hasIssues',
67
- 'securityAndAnalysis',
68
- ]
69
- });
70
- }
71
- }
72
- exports.RepositoryConfigAux = RepositoryConfigAux;
@@ -1,5 +0,0 @@
1
- import { FirestarterGithubRepository } from "../FirestarterGithubRepository";
2
- import { Construct } from 'constructs';
3
- import { ActionsRepositoryOidcSubjectClaimCustomizationTemplate } from "@cdktf/provider-github/lib/actions-repository-oidc-subject-claim-customization-template";
4
- import { Repository } from "@cdktf/provider-github/lib/repository";
5
- export declare function provisionOIDCSubjectClaim(scope: Construct, repo: Repository, fsGithubRepository: FirestarterGithubRepository): ActionsRepositoryOidcSubjectClaimCustomizationTemplate;
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.provisionOIDCSubjectClaim = void 0;
4
- const actions_repository_oidc_subject_claim_customization_template_1 = require("@cdktf/provider-github/lib/actions-repository-oidc-subject-claim-customization-template");
5
- function provisionOIDCSubjectClaim(scope, repo, fsGithubRepository) {
6
- const tfStateKey = `_${fsGithubRepository.getTfStateKey()}-oidc-subject-claim-template`;
7
- const claimKeys = fsGithubRepository.spec.actions.oidc.includeClaimKeys;
8
- let config = {
9
- repository: repo.name,
10
- useDefault: claimKeys.length < 1,
11
- };
12
- if (claimKeys.length > 0) {
13
- config["includeClaimKeys"] = claimKeys;
14
- }
15
- const actionsClaim = new actions_repository_oidc_subject_claim_customization_template_1.ActionsRepositoryOidcSubjectClaimCustomizationTemplate(scope, tfStateKey, config);
16
- fsGithubRepository.addResourceToStack(fsGithubRepository.metadata.name, actionsClaim);
17
- return actionsClaim;
18
- }
19
- exports.provisionOIDCSubjectClaim = provisionOIDCSubjectClaim;
@@ -1,5 +0,0 @@
1
- import { Repository } from '@cdktf/provider-github/lib/repository';
2
- import { Construct } from 'constructs';
3
- import { FirestarterGithubRepository } from '../FirestarterGithubRepository';
4
- import { BranchDefault } from "@cdktf/provider-github/lib/branch-default";
5
- export declare function provisionCodeowners(scope: Construct, repo: Repository, branchDefault: BranchDefault, fsGithubRepository: FirestarterGithubRepository): void;
@@ -1,24 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.provisionCodeowners = void 0;
7
- const repository_file_1 = require("@cdktf/provider-github/lib/repository-file");
8
- const debug_1 = __importDefault(require("debug"));
9
- const messageLog = (0, debug_1.default)('firestarter:provisioner:entities:component:helpers:codeownerscreator');
10
- function provisionCodeowners(scope, repo, branchDefault, fsGithubRepository) {
11
- const config = {
12
- dependsOn: [repo, branchDefault],
13
- branch: fsGithubRepository.spec.repo.defaultBranch,
14
- commitMessage: 'feat: provision CODEOWNERS file',
15
- content: fsGithubRepository.spec.repo.codeowners,
16
- file: '.github/CODEOWNERS',
17
- overwriteOnCreate: true,
18
- repository: repo.name,
19
- };
20
- messageLog(`Content of the codeowners: ${fsGithubRepository.spec.repo.codeowners}`);
21
- const tfStateKey = `_${fsGithubRepository.getTfStateKey()}-codeowners`;
22
- new repository_file_1.RepositoryFile(scope, tfStateKey, config);
23
- }
24
- exports.provisionCodeowners = provisionCodeowners;
@@ -1,5 +0,0 @@
1
- import { BranchDefault } from "@cdktf/provider-github/lib/branch-default";
2
- import { Construct } from 'constructs';
3
- import { Repository } from "@cdktf/provider-github/lib/repository";
4
- import { FirestarterGithubRepository } from "../FirestarterGithubRepository";
5
- export declare function provisionDefaultBranch(scope: Construct, fsGithubRepository: FirestarterGithubRepository, repo: Repository): BranchDefault;
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.provisionDefaultBranch = void 0;
4
- const branch_default_1 = require("@cdktf/provider-github/lib/branch-default");
5
- function provisionDefaultBranch(scope, fsGithubRepository, repo) {
6
- const tfStateKey = `_${fsGithubRepository.getTfStateKey()}-bd`;
7
- const repoConfig = {
8
- dependsOn: [repo],
9
- branch: fsGithubRepository.spec.repo.defaultBranch,
10
- rename: false,
11
- repository: repo.name,
12
- };
13
- const branchDefault = new branch_default_1.BranchDefault(scope, tfStateKey, repoConfig);
14
- fsGithubRepository.addResourceToStack(fsGithubRepository.metadata.name, branchDefault);
15
- return branchDefault;
16
- }
17
- exports.provisionDefaultBranch = provisionDefaultBranch;
@@ -1,5 +0,0 @@
1
- import { Construct } from 'constructs';
2
- import { Repository } from '@cdktf/provider-github/lib/repository';
3
- import { FirestarterGithubRepository } from '../FirestarterGithubRepository';
4
- export declare function provisionRepository(scope: Construct, fsGithubRepository: FirestarterGithubRepository): Repository;
5
- export declare function provisionBranchProtections(scope: Construct, repo: Repository, fsGithubRepository: FirestarterGithubRepository): void;
@@ -1,72 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.provisionBranchProtections = exports.provisionRepository = void 0;
7
- const repository_1 = require("@cdktf/provider-github/lib/repository");
8
- const branch_protection_v3_1 = require("@cdktf/provider-github/lib/branch-protection-v3");
9
- const debug_1 = __importDefault(require("debug"));
10
- const messageLog = (0, debug_1.default)('firestarter:provisioner:entities:component:helpers:repositoryhelper');
11
- function provisionRepository(scope, fsGithubRepository) {
12
- messageLog(`provisionRepository with name ${fsGithubRepository.metadata.name} in org ${fsGithubRepository.spec.org}`);
13
- const config = {
14
- name: fsGithubRepository.metadata.name,
15
- description: fsGithubRepository.spec.repo.description,
16
- allowMergeCommit: fsGithubRepository.spec.repo.allowMergeCommit,
17
- allowSquashMerge: fsGithubRepository.spec.repo.allowSquashMerge,
18
- allowRebaseMerge: fsGithubRepository.spec.repo.allowRebaseMerge,
19
- allowAutoMerge: fsGithubRepository.spec.repo.allowAutoMerge,
20
- deleteBranchOnMerge: fsGithubRepository.spec.repo.deleteBranchOnMerge,
21
- autoInit: fsGithubRepository.spec.repo.autoInit,
22
- archiveOnDestroy: true,
23
- allowUpdateBranch: fsGithubRepository.spec.repo.allowUpdateBranch,
24
- hasIssues: fsGithubRepository.spec.repo.hasIssues,
25
- visibility: fsGithubRepository.spec.repo.visibility,
26
- archived: fsGithubRepository.spec.repo.archived,
27
- gitignoreTemplate: fsGithubRepository.spec.repo.gitignoreTemplate,
28
- licenseTemplate: fsGithubRepository.spec.repo.licenseTemplate,
29
- template: fsGithubRepository.spec.repo.template,
30
- vulnerabilityAlerts: fsGithubRepository.spec.repo.vulnerabilityAlerts,
31
- topics: fsGithubRepository.spec.repo.topics,
32
- securityAndAnalysis: fsGithubRepository.spec.repo.securityAndAnalysis,
33
- hasProjects: fsGithubRepository.spec.repo.hasProjects,
34
- hasWiki: fsGithubRepository.spec.repo.hasWiki,
35
- hasDownloads: fsGithubRepository.spec.repo.hasDownloads,
36
- hasDiscussions: fsGithubRepository.spec.repo.hasDiscussions,
37
- mergeCommitMessage: fsGithubRepository.spec.repo.mergeCommitMessage,
38
- ignoreVulnerabilityAlertsDuringRead: fsGithubRepository.spec.repo.ignoreVulnerabilityAlertsDuringRead,
39
- mergeCommitTitle: fsGithubRepository.spec.repo.mergeCommitTitle,
40
- squashMergeCommitMessage: fsGithubRepository.spec.repo.squashMergeCommitMessage,
41
- pages: fsGithubRepository.spec.pages,
42
- };
43
- const tfStateKey = `_${fsGithubRepository.getTfStateKey()}`;
44
- const repo = new repository_1.Repository(scope, tfStateKey, config);
45
- fsGithubRepository.addResourceToStack(fsGithubRepository.metadata.name, repo);
46
- return repo;
47
- }
48
- exports.provisionRepository = provisionRepository;
49
- function provisionBranchProtections(scope, repo, fsGithubRepository) {
50
- messageLog(`provisionBranchProtections with name ${fsGithubRepository.metadata.name} in org ${fsGithubRepository.spec.org}`);
51
- for (const branchProtection of fsGithubRepository.spec.branchProtections) {
52
- const tfStateKey = `_${fsGithubRepository.getTfStateKey()}-${branchProtection.pattern}-bp`;
53
- const statusChecks = {
54
- strict: true,
55
- checks: branchProtection.statusChecks.map((c) => `${c}:`),
56
- };
57
- const requiredPullRequestReviews = {
58
- requiredApprovingReviewCount: branchProtection.requiredReviewersCount,
59
- };
60
- const config = {
61
- repository: repo.name,
62
- branch: branchProtection.branch,
63
- enforceAdmins: false,
64
- requireSignedCommits: branchProtection.requireSignedCommits,
65
- requiredPullRequestReviews: requiredPullRequestReviews,
66
- requiredStatusChecks: statusChecks,
67
- };
68
- const bpV3 = new branch_protection_v3_1.BranchProtectionV3(scope, tfStateKey, config);
69
- fsGithubRepository.addResourceToStack(`${repo.name}:${branchProtection.branch}`, bpV3);
70
- }
71
- }
72
- exports.provisionBranchProtections = provisionBranchProtections;
@@ -1,4 +0,0 @@
1
- import { Repository } from '@cdktf/provider-github/lib/repository';
2
- import { Construct } from 'constructs';
3
- import { FirestarterGithubRepository } from '../FirestarterGithubRepository';
4
- export declare function provisionPermissions(scope: Construct, repo: Repository, fsGithubRepository: FirestarterGithubRepository): void;
@@ -1,49 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.provisionPermissions = void 0;
7
- const team_repository_1 = require("@cdktf/provider-github/lib/team-repository");
8
- const debug_1 = __importDefault(require("debug"));
9
- const repository_collaborator_1 = require("@cdktf/provider-github/lib/repository-collaborator");
10
- const messageLog = (0, debug_1.default)('firestarter:provisioner:entities:component:helpers:repositoryteamshelper');
11
- function provisionPermissions(scope, repo, fsGithubRepository) {
12
- messageLog(`provisionRepositoryTeams with name ${fsGithubRepository.metadata.name} in org ${fsGithubRepository.spec.org}`);
13
- for (const permission of fsGithubRepository.spec.permissions) {
14
- if ("ref" in permission) {
15
- const tfStateKey = `_${fsGithubRepository.getTfStateKey()}-${permission.ref.kind}-${permission.ref.name}-tr`;
16
- if (permission.ref.kind === "FirestarterGithubGroup") {
17
- const teamId = fsGithubRepository.resolveRef(permission.ref, "id");
18
- const config = {
19
- repository: repo.name,
20
- teamId,
21
- permission: permission.role
22
- };
23
- const teamsRepository = new team_repository_1.TeamRepository(scope, tfStateKey, config);
24
- fsGithubRepository.addResourceToStack(`${teamId}:${fsGithubRepository.metadata.name}`, teamsRepository);
25
- }
26
- else if (permission.ref.kind === "FirestarterGithubMembership") {
27
- const username = fsGithubRepository.resolveRef(permission.ref);
28
- const config = {
29
- repository: repo.name,
30
- username,
31
- permission: permission.role,
32
- };
33
- const collaborator = new repository_collaborator_1.RepositoryCollaborator(scope, tfStateKey, config);
34
- fsGithubRepository.addResourceToStack(`${fsGithubRepository.metadata.name}:${username}`, collaborator);
35
- }
36
- }
37
- else {
38
- const tfStateKey = `_${fsGithubRepository.getTfStateKey()}-collaborator-${permission.collaborator}-tr`;
39
- const config = {
40
- repository: repo.name,
41
- username: permission.collaborator,
42
- permission: permission.role,
43
- };
44
- const collaborator = new repository_collaborator_1.RepositoryCollaborator(scope, tfStateKey, config);
45
- fsGithubRepository.addResourceToStack(`${fsGithubRepository.metadata.name}:${permission.collaborator}`, collaborator);
46
- }
47
- }
48
- }
49
- exports.provisionPermissions = provisionPermissions;
@@ -1,10 +0,0 @@
1
- import { Construct } from 'constructs';
2
- import { Entity } from '../base/Entity';
3
- import { TerraformProvider } from 'cdktf';
4
- export declare class FirestarterTerraformModuleEntity extends Entity {
5
- provider: TerraformProvider;
6
- constructor(artifact: any, provider: TerraformProvider, deps?: any);
7
- loadResources(data: {
8
- scope: Construct;
9
- }): Promise<void>;
10
- }
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FirestarterTerraformModuleEntity = void 0;
4
- const Entity_1 = require("../base/Entity");
5
- const terraformModuleHelper_1 = require("./auxiliars/terraformModuleHelper");
6
- class FirestarterTerraformModuleEntity extends Entity_1.Entity {
7
- provider;
8
- constructor(artifact, provider, deps) {
9
- super(artifact, deps);
10
- this.provider = provider;
11
- }
12
- async loadResources(data) {
13
- const { scope } = data;
14
- this.mainResource = await (0, terraformModuleHelper_1.provisionTFModule)(scope, this);
15
- }
16
- }
17
- exports.FirestarterTerraformModuleEntity = FirestarterTerraformModuleEntity;
@@ -1,13 +0,0 @@
1
- import { Construct } from "constructs";
2
- import { FirestarterTerraformModuleEntity } from "../FirestarterTerraformModule";
3
- import { TerraformModule } from "cdktf";
4
- export declare class GenericTerraformModule extends TerraformModule {
5
- private readonly inputs;
6
- constructor(scope: Construct, name: string, inputs: any, source: string);
7
- getOutput(name: string): any;
8
- getInput(name: string): any;
9
- protected synthesizeAttributes(): {
10
- [name: string]: any;
11
- };
12
- }
13
- export declare function provisionTFModule(scope: Construct, fsGithubTFModule: FirestarterTerraformModuleEntity): Promise<TerraformModule>;