indraq_cli 1.5.8 → 1.9.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/LICENSE +21 -21
- package/README.md +1517 -1686
- package/cloud-api/.dockerignore +18 -0
- package/cloud-api/.env.example +14 -0
- package/cloud-api/Dockerfile +19 -0
- package/cloud-api/README.md +141 -0
- package/cloud-api/package-lock.json +2250 -0
- package/cloud-api/package.json +29 -0
- package/cloud-api/sql/001_init.sql +8 -0
- package/cloud-api/sql/002_user_providers_and_project_resources.sql +40 -0
- package/cloud-api/sql/003_environment_infrastructure.sql +19 -0
- package/cloud-api/sql/004_managed_aws_credentials.sql +20 -0
- package/cloud-api/sql/005_project_members_and_resource_grants.sql +22 -0
- package/cloud-api/sql/006_catalog_identity_password_security.sql +96 -0
- package/cloud-api/sql/007_aws_access_key_rotation.sql +16 -0
- package/cloud-api/src/index.ts +1254 -0
- package/cloud-api/tsconfig.json +18 -0
- package/dist/cli/create-program.d.ts.map +1 -1
- package/dist/cli/create-program.js +21 -3
- package/dist/cli/create-program.js.map +1 -1
- package/dist/cli/doctor.command.d.ts +1 -1
- package/dist/cli/doctor.command.d.ts.map +1 -1
- package/dist/cli/doctor.command.js +70 -12
- package/dist/cli/doctor.command.js.map +1 -1
- package/dist/cli/help-content.d.ts +1 -1
- package/dist/cli/help-content.d.ts.map +1 -1
- package/dist/cli/help-content.js +256 -177
- package/dist/cli/help-content.js.map +1 -1
- package/dist/modules/access/commands/access.command.d.ts +3 -0
- package/dist/modules/access/commands/access.command.d.ts.map +1 -0
- package/dist/modules/access/commands/access.command.js +226 -0
- package/dist/modules/access/commands/access.command.js.map +1 -0
- package/dist/modules/access/index.d.ts +3 -0
- package/dist/modules/access/index.d.ts.map +1 -0
- package/dist/modules/access/index.js +11 -0
- package/dist/modules/access/index.js.map +1 -0
- package/dist/modules/aws/commands/configure-aws.command.d.ts +2 -0
- package/dist/modules/aws/commands/configure-aws.command.d.ts.map +1 -0
- package/dist/modules/aws/commands/configure-aws.command.js +7 -0
- package/dist/modules/aws/commands/configure-aws.command.js.map +1 -0
- package/dist/modules/aws/commands/dns.command.d.ts +22 -0
- package/dist/modules/aws/commands/dns.command.d.ts.map +1 -0
- package/dist/modules/aws/commands/dns.command.js +229 -0
- package/dist/modules/aws/commands/dns.command.js.map +1 -0
- package/dist/modules/aws/commands/healthcheck.command.d.ts +22 -0
- package/dist/modules/aws/commands/healthcheck.command.d.ts.map +1 -0
- package/dist/modules/aws/commands/healthcheck.command.js +125 -0
- package/dist/modules/aws/commands/healthcheck.command.js.map +1 -0
- package/dist/modules/aws/commands/iam.command.d.ts +24 -0
- package/dist/modules/aws/commands/iam.command.d.ts.map +1 -0
- package/dist/modules/aws/commands/iam.command.js +219 -0
- package/dist/modules/aws/commands/iam.command.js.map +1 -0
- package/dist/modules/aws/config/aws-config.d.ts +23 -0
- package/dist/modules/aws/config/aws-config.d.ts.map +1 -0
- package/dist/modules/aws/config/aws-config.js +72 -0
- package/dist/modules/aws/config/aws-config.js.map +1 -0
- package/dist/modules/aws/index.d.ts +3 -0
- package/dist/modules/aws/index.d.ts.map +1 -0
- package/dist/modules/aws/index.js +54 -0
- package/dist/modules/aws/index.js.map +1 -0
- package/dist/modules/aws/services/aws-clients.d.ts +9 -0
- package/dist/modules/aws/services/aws-clients.d.ts.map +1 -0
- package/dist/modules/aws/services/aws-clients.js +43 -0
- package/dist/modules/aws/services/aws-clients.js.map +1 -0
- package/dist/modules/aws/services/route53-lookup.service.d.ts +9 -0
- package/dist/modules/aws/services/route53-lookup.service.d.ts.map +1 -0
- package/dist/modules/aws/services/route53-lookup.service.js +57 -0
- package/dist/modules/aws/services/route53-lookup.service.js.map +1 -0
- package/dist/modules/cloud/commands/cloud.command.d.ts +38 -0
- package/dist/modules/cloud/commands/cloud.command.d.ts.map +1 -0
- package/dist/modules/cloud/commands/cloud.command.js +443 -0
- package/dist/modules/cloud/commands/cloud.command.js.map +1 -0
- package/dist/modules/cloud/commands/credentials.command.d.ts +5 -0
- package/dist/modules/cloud/commands/credentials.command.d.ts.map +1 -0
- package/dist/modules/cloud/commands/credentials.command.js +25 -0
- package/dist/modules/cloud/commands/credentials.command.js.map +1 -0
- package/dist/modules/cloud/commands/environment.command.d.ts +6 -0
- package/dist/modules/cloud/commands/environment.command.d.ts.map +1 -0
- package/dist/modules/cloud/commands/environment.command.js +75 -0
- package/dist/modules/cloud/commands/environment.command.js.map +1 -0
- package/dist/modules/cloud/commands/provider.command.d.ts +3 -0
- package/dist/modules/cloud/commands/provider.command.d.ts.map +1 -0
- package/dist/modules/cloud/commands/provider.command.js +193 -0
- package/dist/modules/cloud/commands/provider.command.js.map +1 -0
- package/dist/modules/cloud/config/cloud-config.d.ts +19 -0
- package/dist/modules/cloud/config/cloud-config.d.ts.map +1 -0
- package/dist/modules/cloud/config/cloud-config.js +53 -0
- package/dist/modules/cloud/config/cloud-config.js.map +1 -0
- package/dist/modules/cloud/index.d.ts +3 -0
- package/dist/modules/cloud/index.d.ts.map +1 -0
- package/dist/modules/cloud/index.js +62 -0
- package/dist/modules/cloud/index.js.map +1 -0
- package/dist/modules/cloud/services/cloud-api.service.d.ts +17 -0
- package/dist/modules/cloud/services/cloud-api.service.d.ts.map +1 -0
- package/dist/modules/cloud/services/cloud-api.service.js +61 -0
- package/dist/modules/cloud/services/cloud-api.service.js.map +1 -0
- package/dist/modules/cloud/services/cloud-aws.service.d.ts +23 -0
- package/dist/modules/cloud/services/cloud-aws.service.d.ts.map +1 -0
- package/dist/modules/cloud/services/cloud-aws.service.js +26 -0
- package/dist/modules/cloud/services/cloud-aws.service.js.map +1 -0
- package/dist/modules/cloud/services/cloud-ghcr.service.d.ts +12 -0
- package/dist/modules/cloud/services/cloud-ghcr.service.d.ts.map +1 -0
- package/dist/modules/cloud/services/cloud-ghcr.service.js +31 -0
- package/dist/modules/cloud/services/cloud-ghcr.service.js.map +1 -0
- package/dist/modules/cloud/services/cloud-jenkins.service.d.ts +29 -0
- package/dist/modules/cloud/services/cloud-jenkins.service.d.ts.map +1 -0
- package/dist/modules/cloud/services/cloud-jenkins.service.js +236 -0
- package/dist/modules/cloud/services/cloud-jenkins.service.js.map +1 -0
- package/dist/modules/cloud/services/cloud-npm.service.d.ts +3 -0
- package/dist/modules/cloud/services/cloud-npm.service.d.ts.map +1 -0
- package/dist/modules/cloud/services/cloud-npm.service.js +13 -0
- package/dist/modules/cloud/services/cloud-npm.service.js.map +1 -0
- package/dist/modules/cloud/services/environment.service.d.ts +25 -0
- package/dist/modules/cloud/services/environment.service.d.ts.map +1 -0
- package/dist/modules/cloud/services/environment.service.js +21 -0
- package/dist/modules/cloud/services/environment.service.js.map +1 -0
- package/dist/modules/cloud/services/managed-aws-credential.service.d.ts +36 -0
- package/dist/modules/cloud/services/managed-aws-credential.service.d.ts.map +1 -0
- package/dist/modules/cloud/services/managed-aws-credential.service.js +35 -0
- package/dist/modules/cloud/services/managed-aws-credential.service.js.map +1 -0
- package/dist/modules/cloud/services/project-cloud.service.d.ts +28 -0
- package/dist/modules/cloud/services/project-cloud.service.d.ts.map +1 -0
- package/dist/modules/cloud/services/project-cloud.service.js +50 -0
- package/dist/modules/cloud/services/project-cloud.service.js.map +1 -0
- package/dist/modules/cloud/services/user-provider.service.d.ts +17 -0
- package/dist/modules/cloud/services/user-provider.service.d.ts.map +1 -0
- package/dist/modules/cloud/services/user-provider.service.js +25 -0
- package/dist/modules/cloud/services/user-provider.service.js.map +1 -0
- package/dist/modules/configure/configure.command.d.ts.map +1 -1
- package/dist/modules/configure/configure.command.js +17 -94
- package/dist/modules/configure/configure.command.js.map +1 -1
- package/dist/modules/deploy/commands/build.command.d.ts +1 -2
- package/dist/modules/deploy/commands/build.command.d.ts.map +1 -1
- package/dist/modules/deploy/commands/build.command.js +82 -124
- package/dist/modules/deploy/commands/build.command.js.map +1 -1
- package/dist/modules/deploy/index.d.ts.map +1 -1
- package/dist/modules/deploy/index.js +10 -30
- package/dist/modules/deploy/index.js.map +1 -1
- package/dist/modules/deploy/services/docker.service.d.ts +6 -3
- package/dist/modules/deploy/services/docker.service.d.ts.map +1 -1
- package/dist/modules/deploy/services/docker.service.js +8 -11
- package/dist/modules/deploy/services/docker.service.js.map +1 -1
- package/dist/modules/dockerfile/commands/create-dockerfile.command.d.ts +13 -0
- package/dist/modules/dockerfile/commands/create-dockerfile.command.d.ts.map +1 -0
- package/dist/modules/dockerfile/commands/create-dockerfile.command.js +39 -0
- package/dist/modules/dockerfile/commands/create-dockerfile.command.js.map +1 -0
- package/dist/modules/dockerfile/index.d.ts +3 -0
- package/dist/modules/dockerfile/index.d.ts.map +1 -0
- package/dist/modules/dockerfile/index.js +7 -0
- package/dist/modules/dockerfile/index.js.map +1 -0
- package/dist/modules/jenkins/commands/admin.command.d.ts +22 -0
- package/dist/modules/jenkins/commands/admin.command.d.ts.map +1 -0
- package/dist/modules/jenkins/commands/admin.command.js +128 -0
- package/dist/modules/jenkins/commands/admin.command.js.map +1 -0
- package/dist/modules/jenkins/commands/create-deployment.command.d.ts +13 -0
- package/dist/modules/jenkins/commands/create-deployment.command.d.ts.map +1 -0
- package/dist/modules/jenkins/commands/create-deployment.command.js +115 -0
- package/dist/modules/jenkins/commands/create-deployment.command.js.map +1 -0
- package/dist/modules/jenkins/index.d.ts +3 -0
- package/dist/modules/jenkins/index.d.ts.map +1 -0
- package/dist/modules/jenkins/index.js +28 -0
- package/dist/modules/jenkins/index.js.map +1 -0
- package/dist/modules/mobile/commands/build-mobile.command.d.ts.map +1 -1
- package/dist/modules/mobile/commands/build-mobile.command.js +4 -22
- package/dist/modules/mobile/commands/build-mobile.command.js.map +1 -1
- package/dist/modules/mobile/commands/configure-mobile.command.d.ts +1 -1
- package/dist/modules/mobile/commands/configure-mobile.command.d.ts.map +1 -1
- package/dist/modules/mobile/commands/configure-mobile.command.js +11 -9
- package/dist/modules/mobile/commands/configure-mobile.command.js.map +1 -1
- package/dist/modules/mobile/services/jenkins-mobile.service.d.ts +2 -2
- package/dist/modules/mobile/services/jenkins-mobile.service.d.ts.map +1 -1
- package/dist/modules/mobile/services/jenkins-mobile.service.js +1 -2
- package/dist/modules/mobile/services/jenkins-mobile.service.js.map +1 -1
- package/dist/modules/mobile/services/project.service.d.ts +2 -2
- package/dist/modules/mobile/services/project.service.d.ts.map +1 -1
- package/dist/modules/prebuild/commands/prebuild.command.d.ts +13 -0
- package/dist/modules/prebuild/commands/prebuild.command.d.ts.map +1 -0
- package/dist/modules/prebuild/commands/prebuild.command.js +507 -0
- package/dist/modules/prebuild/commands/prebuild.command.js.map +1 -0
- package/dist/modules/prebuild/index.d.ts +3 -0
- package/dist/modules/prebuild/index.d.ts.map +1 -0
- package/dist/modules/prebuild/index.js +19 -0
- package/dist/modules/prebuild/index.js.map +1 -0
- package/dist/modules/proxy/commands/configure-proxy.command.d.ts +2 -0
- package/dist/modules/proxy/commands/configure-proxy.command.d.ts.map +1 -0
- package/dist/modules/proxy/commands/configure-proxy.command.js +7 -0
- package/dist/modules/proxy/commands/configure-proxy.command.js.map +1 -0
- package/dist/modules/proxy/commands/npm-user.command.d.ts +28 -0
- package/dist/modules/proxy/commands/npm-user.command.d.ts.map +1 -0
- package/dist/modules/proxy/commands/npm-user.command.js +77 -0
- package/dist/modules/proxy/commands/npm-user.command.js.map +1 -0
- package/dist/modules/proxy/commands/proxy.command.d.ts +22 -0
- package/dist/modules/proxy/commands/proxy.command.d.ts.map +1 -0
- package/dist/modules/proxy/commands/proxy.command.js +173 -0
- package/dist/modules/proxy/commands/proxy.command.js.map +1 -0
- package/dist/modules/proxy/config/npm-config.d.ts +17 -0
- package/dist/modules/proxy/config/npm-config.d.ts.map +1 -0
- package/dist/modules/proxy/config/npm-config.js +50 -0
- package/dist/modules/proxy/config/npm-config.js.map +1 -0
- package/dist/modules/proxy/index.d.ts +3 -0
- package/dist/modules/proxy/index.d.ts.map +1 -0
- package/dist/modules/proxy/index.js +21 -0
- package/dist/modules/proxy/index.js.map +1 -0
- package/dist/modules/proxy/services/npm-api.service.d.ts +76 -0
- package/dist/modules/proxy/services/npm-api.service.d.ts.map +1 -0
- package/dist/modules/proxy/services/npm-api.service.js +82 -0
- package/dist/modules/proxy/services/npm-api.service.js.map +1 -0
- package/dist/modules/scaffold/commands/init.command.d.ts +6 -0
- package/dist/modules/scaffold/commands/init.command.d.ts.map +1 -0
- package/dist/modules/scaffold/commands/init.command.js +193 -0
- package/dist/modules/scaffold/commands/init.command.js.map +1 -0
- package/dist/modules/scaffold/config/project-metadata.d.ts +9 -0
- package/dist/modules/scaffold/config/project-metadata.d.ts.map +1 -0
- package/dist/modules/scaffold/config/project-metadata.js +75 -0
- package/dist/modules/scaffold/config/project-metadata.js.map +1 -0
- package/dist/modules/scaffold/index.d.ts +3 -0
- package/dist/modules/scaffold/index.d.ts.map +1 -0
- package/dist/modules/scaffold/index.js +7 -0
- package/dist/modules/scaffold/index.js.map +1 -0
- package/dist/modules/scaffold/services/docker-template.service.d.ts +3 -0
- package/dist/modules/scaffold/services/docker-template.service.d.ts.map +1 -0
- package/dist/modules/scaffold/services/docker-template.service.js +131 -0
- package/dist/modules/scaffold/services/docker-template.service.js.map +1 -0
- package/dist/modules/scaffold/services/filesystem.service.d.ts +7 -0
- package/dist/modules/scaffold/services/filesystem.service.d.ts.map +1 -0
- package/dist/modules/scaffold/services/filesystem.service.js +97 -0
- package/dist/modules/scaffold/services/filesystem.service.js.map +1 -0
- package/dist/modules/scaffold/services/project-template.service.d.ts +4 -0
- package/dist/modules/scaffold/services/project-template.service.d.ts.map +1 -0
- package/dist/modules/scaffold/services/project-template.service.js +82 -0
- package/dist/modules/scaffold/services/project-template.service.js.map +1 -0
- package/dist/modules/scaffold/types.d.ts +65 -0
- package/dist/modules/scaffold/types.d.ts.map +1 -0
- package/dist/modules/scaffold/types.js +3 -0
- package/dist/modules/scaffold/types.js.map +1 -0
- package/dist/modules/users/commands/user.command.d.ts +22 -0
- package/dist/modules/users/commands/user.command.d.ts.map +1 -0
- package/dist/modules/users/commands/user.command.js +350 -0
- package/dist/modules/users/commands/user.command.js.map +1 -0
- package/dist/modules/users/index.d.ts +3 -0
- package/dist/modules/users/index.d.ts.map +1 -0
- package/dist/modules/users/index.js +34 -0
- package/dist/modules/users/index.js.map +1 -0
- package/dist/modules/users/providers/aws-user.provider.d.ts +11 -0
- package/dist/modules/users/providers/aws-user.provider.d.ts.map +1 -0
- package/dist/modules/users/providers/aws-user.provider.js +129 -0
- package/dist/modules/users/providers/aws-user.provider.js.map +1 -0
- package/dist/modules/users/providers/jenkins-user.provider.d.ts +6 -0
- package/dist/modules/users/providers/jenkins-user.provider.d.ts.map +1 -0
- package/dist/modules/users/providers/jenkins-user.provider.js +97 -0
- package/dist/modules/users/providers/jenkins-user.provider.js.map +1 -0
- package/dist/modules/users/providers/npm-user.provider.d.ts +4 -0
- package/dist/modules/users/providers/npm-user.provider.d.ts.map +1 -0
- package/dist/modules/users/providers/npm-user.provider.js +47 -0
- package/dist/modules/users/providers/npm-user.provider.js.map +1 -0
- package/dist/shared/config/config-files.d.ts.map +1 -1
- package/dist/shared/config/config-files.js +14 -10
- package/dist/shared/config/config-files.js.map +1 -1
- package/dist/shared/github/github-api.service.d.ts.map +1 -1
- package/dist/shared/github/github-api.service.js +25 -37
- package/dist/shared/github/github-api.service.js.map +1 -1
- package/dist/shared/jenkins/jenkins.service.d.ts +2 -0
- package/dist/shared/jenkins/jenkins.service.d.ts.map +1 -1
- package/dist/shared/jenkins/jenkins.service.js +30 -1
- package/dist/shared/jenkins/jenkins.service.js.map +1 -1
- package/dist/shared/listing.d.ts +9 -0
- package/dist/shared/listing.d.ts.map +1 -0
- package/dist/shared/listing.js +29 -0
- package/dist/shared/listing.js.map +1 -0
- package/docs/ARCHITECTURE.md +29 -0
- package/docs/CREATE-DEPLOYMENT-reference.groovy +1105 -0
- package/package.json +76 -59
- package/templates/jenkins/CREATE-DEPLOYMENT.groovy +1105 -0
- package/templates/jenkins/Jenkinsfile-Mobile-App +759 -759
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { IndraQRole } from './cloud-aws.service';
|
|
2
|
+
export interface ManagedAwsCredentialSummary {
|
|
3
|
+
id: string;
|
|
4
|
+
aws_username: string;
|
|
5
|
+
access_key_id: string;
|
|
6
|
+
indraq_role: IndraQRole;
|
|
7
|
+
created_at: string;
|
|
8
|
+
updated_at: string;
|
|
9
|
+
}
|
|
10
|
+
export interface ResolvedManagedAwsCredential {
|
|
11
|
+
awsUsername: string;
|
|
12
|
+
accessKeyId: string;
|
|
13
|
+
secretAccessKey: string;
|
|
14
|
+
indraqRole: IndraQRole;
|
|
15
|
+
}
|
|
16
|
+
export declare const storeManagedAwsCredential: (cloudUserId: string, awsUsername: string, accessKeyId: string, secretAccessKey: string, indraqRole: IndraQRole, reason: string) => Promise<void>;
|
|
17
|
+
export declare const listMyManagedAwsCredentials: () => Promise<ManagedAwsCredentialSummary[]>;
|
|
18
|
+
export declare const resolveMyManagedAwsCredential: (awsUsername: string, reason: string) => Promise<ResolvedManagedAwsCredential>;
|
|
19
|
+
export interface ManagedAwsCredentialAdminSummary extends ManagedAwsCredentialSummary {
|
|
20
|
+
cloud_user_id: string;
|
|
21
|
+
email: string;
|
|
22
|
+
name: string;
|
|
23
|
+
user_role: IndraQRole;
|
|
24
|
+
is_active: boolean;
|
|
25
|
+
}
|
|
26
|
+
export interface RotatedManagedAwsCredential {
|
|
27
|
+
awsUsername: string;
|
|
28
|
+
accessKeyId: string;
|
|
29
|
+
secretAccessKey: string;
|
|
30
|
+
previousAccessKeyId: string | null;
|
|
31
|
+
}
|
|
32
|
+
export declare const listManagedAwsCredentialsForManagement: (query?: string) => Promise<ManagedAwsCredentialAdminSummary[]>;
|
|
33
|
+
export declare const rotateMyManagedAwsCredential: (awsUsername: string, reason: string) => Promise<RotatedManagedAwsCredential>;
|
|
34
|
+
export declare const rotateManagedAwsCredentialForUser: (cloudUserId: string, awsUsername: string, reason: string) => Promise<RotatedManagedAwsCredential>;
|
|
35
|
+
export declare const deleteManagedAwsCredential: (cloudUserId: string, awsUsername: string, reason: string) => Promise<void>;
|
|
36
|
+
//# sourceMappingURL=managed-aws-credential.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"managed-aws-credential.service.d.ts","sourceRoot":"","sources":["../../../../src/modules/cloud/services/managed-aws-credential.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,WAAW,2BAA2B;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,UAAU,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,4BAA4B;IAC3C,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,UAAU,CAAC;CACxB;AAED,eAAO,MAAM,yBAAyB,GACpC,aAAa,MAAM,EACnB,aAAa,MAAM,EACnB,aAAa,MAAM,EACnB,iBAAiB,MAAM,EACvB,YAAY,UAAU,EACtB,QAAQ,MAAM,KACb,OAAO,CAAC,IAAI,CAKd,CAAC;AAEF,eAAO,MAAM,2BAA2B,QAAO,OAAO,CAAC,2BAA2B,EAAE,CAC9B,CAAC;AAEvD,eAAO,MAAM,6BAA6B,GACxC,aAAa,MAAM,EACnB,QAAQ,MAAM,KACb,OAAO,CAAC,4BAA4B,CAGtC,CAAC;AAGF,MAAM,WAAW,gCAAiC,SAAQ,2BAA2B;IACnF,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,UAAU,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,2BAA2B;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAED,eAAO,MAAM,sCAAsC,GAAI,cAAU,KAAG,OAAO,CAAC,gCAAgC,EAAE,CACnD,CAAC;AAE5D,eAAO,MAAM,4BAA4B,GACvC,aAAa,MAAM,EACnB,QAAQ,MAAM,KACb,OAAO,CAAC,2BAA2B,CAIlC,CAAC;AAEL,eAAO,MAAM,iCAAiC,GAC5C,aAAa,MAAM,EACnB,aAAa,MAAM,EACnB,QAAQ,MAAM,KACb,OAAO,CAAC,2BAA2B,CAIlC,CAAC;AAEL,eAAO,MAAM,0BAA0B,GACrC,aAAa,MAAM,EACnB,aAAa,MAAM,EACnB,QAAQ,MAAM,KACb,OAAO,CAAC,IAAI,CAKd,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deleteManagedAwsCredential = exports.rotateManagedAwsCredentialForUser = exports.rotateMyManagedAwsCredential = exports.listManagedAwsCredentialsForManagement = exports.resolveMyManagedAwsCredential = exports.listMyManagedAwsCredentials = exports.storeManagedAwsCredential = void 0;
|
|
4
|
+
const cloud_api_service_1 = require("./cloud-api.service");
|
|
5
|
+
const storeManagedAwsCredential = async (cloudUserId, awsUsername, accessKeyId, secretAccessKey, indraqRole, reason) => {
|
|
6
|
+
await new cloud_api_service_1.CloudApiService().request(`/users/${cloudUserId}/aws-credentials`, {
|
|
7
|
+
method: 'POST',
|
|
8
|
+
body: JSON.stringify({ awsUsername, accessKeyId, secretAccessKey, indraqRole, reason })
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
exports.storeManagedAwsCredential = storeManagedAwsCredential;
|
|
12
|
+
const listMyManagedAwsCredentials = () => new cloud_api_service_1.CloudApiService().request('/me/aws-credentials');
|
|
13
|
+
exports.listMyManagedAwsCredentials = listMyManagedAwsCredentials;
|
|
14
|
+
const resolveMyManagedAwsCredential = (awsUsername, reason) => new cloud_api_service_1.CloudApiService().request(`/me/aws-credentials/${encodeURIComponent(awsUsername)}/resolve`, { method: 'POST', body: JSON.stringify({ reason }) });
|
|
15
|
+
exports.resolveMyManagedAwsCredential = resolveMyManagedAwsCredential;
|
|
16
|
+
const listManagedAwsCredentialsForManagement = (query = '') => new cloud_api_service_1.CloudApiService().request(`/aws-credentials${query}`);
|
|
17
|
+
exports.listManagedAwsCredentialsForManagement = listManagedAwsCredentialsForManagement;
|
|
18
|
+
const rotateMyManagedAwsCredential = (awsUsername, reason) => new cloud_api_service_1.CloudApiService().request(`/me/aws-credentials/${encodeURIComponent(awsUsername)}/rotate`, {
|
|
19
|
+
method: 'POST',
|
|
20
|
+
body: JSON.stringify({ reason })
|
|
21
|
+
});
|
|
22
|
+
exports.rotateMyManagedAwsCredential = rotateMyManagedAwsCredential;
|
|
23
|
+
const rotateManagedAwsCredentialForUser = (cloudUserId, awsUsername, reason) => new cloud_api_service_1.CloudApiService().request(`/users/${cloudUserId}/aws-credentials/${encodeURIComponent(awsUsername)}/rotate`, {
|
|
24
|
+
method: 'POST',
|
|
25
|
+
body: JSON.stringify({ reason })
|
|
26
|
+
});
|
|
27
|
+
exports.rotateManagedAwsCredentialForUser = rotateManagedAwsCredentialForUser;
|
|
28
|
+
const deleteManagedAwsCredential = async (cloudUserId, awsUsername, reason) => {
|
|
29
|
+
await new cloud_api_service_1.CloudApiService().request(`/users/${cloudUserId}/aws-credentials/${encodeURIComponent(awsUsername)}`, {
|
|
30
|
+
method: 'DELETE',
|
|
31
|
+
body: JSON.stringify({ reason })
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
exports.deleteManagedAwsCredential = deleteManagedAwsCredential;
|
|
35
|
+
//# sourceMappingURL=managed-aws-credential.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"managed-aws-credential.service.js","sourceRoot":"","sources":["../../../../src/modules/cloud/services/managed-aws-credential.service.ts"],"names":[],"mappings":";;;AAAA,2DAAsD;AAmB/C,MAAM,yBAAyB,GAAG,KAAK,EAC5C,WAAmB,EACnB,WAAmB,EACnB,WAAmB,EACnB,eAAuB,EACvB,UAAsB,EACtB,MAAc,EACC,EAAE;IACjB,MAAM,IAAI,mCAAe,EAAE,CAAC,OAAO,CAAC,UAAU,WAAW,kBAAkB,EAAE;QAC3E,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;KACxF,CAAC,CAAC;AACL,CAAC,CAAC;AAZW,QAAA,yBAAyB,6BAYpC;AAEK,MAAM,2BAA2B,GAAG,GAA2C,EAAE,CACtF,IAAI,mCAAe,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;AAD1C,QAAA,2BAA2B,+BACe;AAEhD,MAAM,6BAA6B,GAAG,CAC3C,WAAmB,EACnB,MAAc,EACyB,EAAE,CAAC,IAAI,mCAAe,EAAE,CAAC,OAAO,CACvE,uBAAuB,kBAAkB,CAAC,WAAW,CAAC,UAAU,EAChE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CACrD,CAAC;AANW,QAAA,6BAA6B,iCAMxC;AAkBK,MAAM,sCAAsC,GAAG,CAAC,KAAK,GAAG,EAAE,EAA+C,EAAE,CAChH,IAAI,mCAAe,EAAE,CAAC,OAAO,CAAC,mBAAmB,KAAK,EAAE,CAAC,CAAC;AAD/C,QAAA,sCAAsC,0CACS;AAErD,MAAM,4BAA4B,GAAG,CAC1C,WAAmB,EACnB,MAAc,EACwB,EAAE,CACxC,IAAI,mCAAe,EAAE,CAAC,OAAO,CAAC,uBAAuB,kBAAkB,CAAC,WAAW,CAAC,SAAS,EAAE;IAC7F,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACjC,CAAC,CAAC;AAPQ,QAAA,4BAA4B,gCAOpC;AAEE,MAAM,iCAAiC,GAAG,CAC/C,WAAmB,EACnB,WAAmB,EACnB,MAAc,EACwB,EAAE,CACxC,IAAI,mCAAe,EAAE,CAAC,OAAO,CAAC,UAAU,WAAW,oBAAoB,kBAAkB,CAAC,WAAW,CAAC,SAAS,EAAE;IAC/G,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACjC,CAAC,CAAC;AARQ,QAAA,iCAAiC,qCAQzC;AAEE,MAAM,0BAA0B,GAAG,KAAK,EAC7C,WAAmB,EACnB,WAAmB,EACnB,MAAc,EACC,EAAE;IACjB,MAAM,IAAI,mCAAe,EAAE,CAAC,OAAO,CAAC,UAAU,WAAW,oBAAoB,kBAAkB,CAAC,WAAW,CAAC,EAAE,EAAE;QAC9G,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;KACjC,CAAC,CAAC;AACL,CAAC,CAAC;AATW,QAAA,0BAA0B,8BASrC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { ProjectMetadata } from '../../scaffold/types';
|
|
2
|
+
export interface CloudProjectRecord {
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
kind: string;
|
|
6
|
+
config: ProjectMetadata;
|
|
7
|
+
effective_access?: 'view' | 'write';
|
|
8
|
+
}
|
|
9
|
+
export interface ProjectResource<T = Record<string, unknown>> {
|
|
10
|
+
id: string;
|
|
11
|
+
project_id: string;
|
|
12
|
+
environment: string;
|
|
13
|
+
resource_type: string;
|
|
14
|
+
provider: string;
|
|
15
|
+
provider_user_id?: string | null;
|
|
16
|
+
external_id?: string | null;
|
|
17
|
+
config: T;
|
|
18
|
+
created_at?: string;
|
|
19
|
+
updated_at?: string;
|
|
20
|
+
}
|
|
21
|
+
export declare const requireProjectId: () => string;
|
|
22
|
+
export declare const getCloudProject: () => Promise<CloudProjectRecord>;
|
|
23
|
+
export declare const requireProjectWrite: () => Promise<CloudProjectRecord>;
|
|
24
|
+
export declare const getCloudProjectMetadata: () => Promise<ProjectMetadata>;
|
|
25
|
+
export declare const getProjectResource: <T = Record<string, unknown>>(type: string, environment: string) => Promise<ProjectResource<T> | null>;
|
|
26
|
+
export declare const saveProjectResource: <T = Record<string, unknown>>(type: string, environment: string, provider: string, externalId: string | undefined, config: T, reason: string) => Promise<ProjectResource<T>>;
|
|
27
|
+
export declare const listProjectResources: (environment?: string) => Promise<ProjectResource[]>;
|
|
28
|
+
//# sourceMappingURL=project-cloud.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-cloud.service.d.ts","sourceRoot":"","sources":["../../../../src/modules/cloud/services/project-cloud.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAI5D,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,eAAe,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACrC;AAED,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC1D,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,CAAC,CAAC;IACV,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,gBAAgB,QAAO,MAInC,CAAC;AAEF,eAAO,MAAM,eAAe,QAAa,OAAO,CAAC,kBAAkB,CAGlE,CAAC;AAEF,eAAO,MAAM,mBAAmB,QAAa,OAAO,CAAC,kBAAkB,CAItE,CAAC;AAEF,eAAO,MAAM,uBAAuB,QAAa,OAAO,CAAC,eAAe,CAOvE,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAU,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClE,MAAM,MAAM,EACZ,aAAa,MAAM,KAClB,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI,CAKnC,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAU,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnE,MAAM,MAAM,EACZ,aAAa,MAAM,EACnB,UAAU,MAAM,EAChB,YAAY,MAAM,GAAG,SAAS,EAC9B,QAAQ,CAAC,EACT,QAAQ,MAAM,KACb,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAM5B,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAU,cAAc,MAAM,KAAG,OAAO,CAAC,eAAe,EAAE,CAI1F,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.listProjectResources = exports.saveProjectResource = exports.getProjectResource = exports.getCloudProjectMetadata = exports.requireProjectWrite = exports.getCloudProject = exports.requireProjectId = void 0;
|
|
4
|
+
const project_metadata_1 = require("../../scaffold/config/project-metadata");
|
|
5
|
+
const cloud_api_service_1 = require("./cloud-api.service");
|
|
6
|
+
const requireProjectId = () => {
|
|
7
|
+
const ref = (0, project_metadata_1.getProjectReference)();
|
|
8
|
+
if (!ref?.projectId)
|
|
9
|
+
throw new Error('This folder is not linked to IndraQ Cloud. Run `indraq project create`, `indraq project link`, or `indraq init`.');
|
|
10
|
+
return ref.projectId;
|
|
11
|
+
};
|
|
12
|
+
exports.requireProjectId = requireProjectId;
|
|
13
|
+
const getCloudProject = async () => {
|
|
14
|
+
const projectId = (0, exports.requireProjectId)();
|
|
15
|
+
return new cloud_api_service_1.CloudApiService().request(`/projects/${projectId}`);
|
|
16
|
+
};
|
|
17
|
+
exports.getCloudProject = getCloudProject;
|
|
18
|
+
const requireProjectWrite = async () => {
|
|
19
|
+
const project = await (0, exports.getCloudProject)();
|
|
20
|
+
if (project.effective_access !== 'write')
|
|
21
|
+
throw new Error('This project is VIEW ONLY for your account. Ask a manager/admin for WRITE access before changing infrastructure.');
|
|
22
|
+
return project;
|
|
23
|
+
};
|
|
24
|
+
exports.requireProjectWrite = requireProjectWrite;
|
|
25
|
+
const getCloudProjectMetadata = async () => {
|
|
26
|
+
const project = await (0, exports.getCloudProject)();
|
|
27
|
+
const config = project.config;
|
|
28
|
+
if (!config || ![1, 2].includes(config.schemaVersion) || !config.name || !config.kind) {
|
|
29
|
+
throw new Error('Cloud project configuration is incomplete. Re-sync the project.');
|
|
30
|
+
}
|
|
31
|
+
return config;
|
|
32
|
+
};
|
|
33
|
+
exports.getCloudProjectMetadata = getCloudProjectMetadata;
|
|
34
|
+
const getProjectResource = async (type, environment) => {
|
|
35
|
+
const projectId = (0, exports.requireProjectId)();
|
|
36
|
+
return new cloud_api_service_1.CloudApiService().optional(`/projects/${projectId}/resources/${encodeURIComponent(type)}?environment=${encodeURIComponent(environment)}`);
|
|
37
|
+
};
|
|
38
|
+
exports.getProjectResource = getProjectResource;
|
|
39
|
+
const saveProjectResource = async (type, environment, provider, externalId, config, reason) => {
|
|
40
|
+
const projectId = (0, exports.requireProjectId)();
|
|
41
|
+
return new cloud_api_service_1.CloudApiService().request(`/projects/${projectId}/resources/${encodeURIComponent(type)}`, { method: 'PUT', body: JSON.stringify({ environment, provider, externalId, config, reason }) });
|
|
42
|
+
};
|
|
43
|
+
exports.saveProjectResource = saveProjectResource;
|
|
44
|
+
const listProjectResources = async (environment) => {
|
|
45
|
+
const projectId = (0, exports.requireProjectId)();
|
|
46
|
+
const query = environment ? `?environment=${encodeURIComponent(environment)}` : '';
|
|
47
|
+
return new cloud_api_service_1.CloudApiService().request(`/projects/${projectId}/resources${query}`);
|
|
48
|
+
};
|
|
49
|
+
exports.listProjectResources = listProjectResources;
|
|
50
|
+
//# sourceMappingURL=project-cloud.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-cloud.service.js","sourceRoot":"","sources":["../../../../src/modules/cloud/services/project-cloud.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export type UserProviderName = 'aws' | 'npm' | 'jenkins-dev' | 'jenkins-prod' | 'ghcr';
|
|
2
|
+
export interface UserProvider<TConfig = any, TSecret = any> {
|
|
3
|
+
config: TConfig;
|
|
4
|
+
secret: TSecret;
|
|
5
|
+
}
|
|
6
|
+
export interface UserProviderSummary {
|
|
7
|
+
id: string;
|
|
8
|
+
provider: string;
|
|
9
|
+
config: Record<string, unknown>;
|
|
10
|
+
has_secret: boolean;
|
|
11
|
+
updated_at: string;
|
|
12
|
+
}
|
|
13
|
+
export declare const listUserProviders: () => Promise<UserProviderSummary[]>;
|
|
14
|
+
export declare const resolveUserProvider: <TConfig = any, TSecret = any>(provider: UserProviderName, reason: string) => Promise<UserProvider<TConfig, TSecret>>;
|
|
15
|
+
export declare const saveUserProvider: (provider: UserProviderName, config: unknown, secret: unknown, reason: string) => Promise<void>;
|
|
16
|
+
export declare const provisionUserProvider: (cloudUserId: string, provider: UserProviderName, config: unknown, secret: unknown, reason: string) => Promise<void>;
|
|
17
|
+
//# sourceMappingURL=user-provider.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-provider.service.d.ts","sourceRoot":"","sources":["../../../../src/modules/cloud/services/user-provider.service.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,KAAK,GAAG,aAAa,GAAG,cAAc,GAAG,MAAM,CAAC;AACvF,MAAM,WAAW,YAAY,CAAC,OAAO,GAAG,GAAG,EAAE,OAAO,GAAG,GAAG;IAAI,MAAM,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;CAAE;AACjG,MAAM,WAAW,mBAAmB;IAAG,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;CAAE;AAEhJ,eAAO,MAAM,iBAAiB,QAAO,OAAO,CAAC,mBAAmB,EAAE,CACf,CAAC;AAEpD,eAAO,MAAM,mBAAmB,GAAU,OAAO,GAAG,GAAG,EAAE,OAAO,GAAG,GAAG,EACpE,UAAU,gBAAgB,EAC1B,QAAQ,MAAM,KACb,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAMxC,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,UAAU,gBAAgB,EAC1B,QAAQ,OAAO,EACf,QAAQ,OAAO,EACf,QAAQ,MAAM,KACb,OAAO,CAAC,IAAI,CAId,CAAC;AAGF,eAAO,MAAM,qBAAqB,GAChC,aAAa,MAAM,EACnB,UAAU,gBAAgB,EAC1B,QAAQ,OAAO,EACf,QAAQ,OAAO,EACf,QAAQ,MAAM,KACb,OAAO,CAAC,IAAI,CAId,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.provisionUserProvider = exports.saveUserProvider = exports.resolveUserProvider = exports.listUserProviders = void 0;
|
|
4
|
+
const cloud_api_service_1 = require("./cloud-api.service");
|
|
5
|
+
const project_metadata_1 = require("../../scaffold/config/project-metadata");
|
|
6
|
+
const listUserProviders = () => new cloud_api_service_1.CloudApiService().request('/me/integrations');
|
|
7
|
+
exports.listUserProviders = listUserProviders;
|
|
8
|
+
const resolveUserProvider = async (provider, reason) => {
|
|
9
|
+
const projectId = (0, project_metadata_1.getProjectReference)()?.projectId;
|
|
10
|
+
return new cloud_api_service_1.CloudApiService().request(`/me/integrations/${provider}/resolve`, { method: 'POST', body: JSON.stringify({ ...(projectId ? { projectId } : {}), reason }) });
|
|
11
|
+
};
|
|
12
|
+
exports.resolveUserProvider = resolveUserProvider;
|
|
13
|
+
const saveUserProvider = async (provider, config, secret, reason) => {
|
|
14
|
+
await new cloud_api_service_1.CloudApiService().request(`/me/integrations/${provider}`, {
|
|
15
|
+
method: 'PUT', body: JSON.stringify({ config, secret, reason })
|
|
16
|
+
});
|
|
17
|
+
};
|
|
18
|
+
exports.saveUserProvider = saveUserProvider;
|
|
19
|
+
const provisionUserProvider = async (cloudUserId, provider, config, secret, reason) => {
|
|
20
|
+
await new cloud_api_service_1.CloudApiService().request(`/users/${cloudUserId}/integrations/${provider}`, {
|
|
21
|
+
method: 'PUT', body: JSON.stringify({ config, secret, reason })
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
exports.provisionUserProvider = provisionUserProvider;
|
|
25
|
+
//# sourceMappingURL=user-provider.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-provider.service.js","sourceRoot":"","sources":["../../../../src/modules/cloud/services/user-provider.service.ts"],"names":[],"mappings":";;;AAAA,2DAAsD;AACtD,6EAA6E;AAMtE,MAAM,iBAAiB,GAAG,GAAmC,EAAE,CACpE,IAAI,mCAAe,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;AADvC,QAAA,iBAAiB,qBACsB;AAE7C,MAAM,mBAAmB,GAAG,KAAK,EACtC,QAA0B,EAC1B,MAAc,EAC2B,EAAE;IAC3C,MAAM,SAAS,GAAG,IAAA,sCAAmB,GAAE,EAAE,SAAS,CAAC;IACnD,OAAO,IAAI,mCAAe,EAAE,CAAC,OAAO,CAClC,oBAAoB,QAAQ,UAAU,EACtC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAC1F,CAAC;AACJ,CAAC,CAAC;AATW,QAAA,mBAAmB,uBAS9B;AAEK,MAAM,gBAAgB,GAAG,KAAK,EACnC,QAA0B,EAC1B,MAAe,EACf,MAAe,EACf,MAAc,EACC,EAAE;IACjB,MAAM,IAAI,mCAAe,EAAE,CAAC,OAAO,CAAC,oBAAoB,QAAQ,EAAE,EAAE;QAClE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;KAChE,CAAC,CAAC;AACL,CAAC,CAAC;AATW,QAAA,gBAAgB,oBAS3B;AAGK,MAAM,qBAAqB,GAAG,KAAK,EACxC,WAAmB,EACnB,QAA0B,EAC1B,MAAe,EACf,MAAe,EACf,MAAc,EACC,EAAE;IACjB,MAAM,IAAI,mCAAe,EAAE,CAAC,OAAO,CAAC,UAAU,WAAW,iBAAiB,QAAQ,EAAE,EAAE;QACpF,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;KAChE,CAAC,CAAC;AACL,CAAC,CAAC;AAVW,QAAA,qBAAqB,yBAUhC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configure.command.d.ts","sourceRoot":"","sources":["../../../src/modules/configure/configure.command.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"configure.command.d.ts","sourceRoot":"","sources":["../../../src/modules/configure/configure.command.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,SAAS,QAAa,OAAO,CAAC,IAAI,CAkB9C,CAAC"}
|
|
@@ -6,110 +6,33 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.configure = void 0;
|
|
7
7
|
const chalk_1 = __importDefault(require("chalk"));
|
|
8
8
|
const inquirer_1 = __importDefault(require("inquirer"));
|
|
9
|
-
const
|
|
10
|
-
const jenkins_config_1 = require("../../shared/config/jenkins-config");
|
|
11
|
-
const configure_jenkins_1 = require("../../shared/jenkins/configure-jenkins");
|
|
9
|
+
const provider_command_1 = require("../cloud/commands/provider.command");
|
|
12
10
|
const configure_mobile_command_1 = require("../mobile/commands/configure-mobile.command");
|
|
13
|
-
const
|
|
14
|
-
const mobile_config_1 = require("../mobile/config/mobile-config");
|
|
15
|
-
const credentialStatus = (environment) => {
|
|
16
|
-
const binding = (0, jenkins_config_1.getJenkinsLocalBindingsConfig)().environments[environment];
|
|
17
|
-
return binding ? 'credentials available on this computer' : 'credentials not configured on this computer';
|
|
18
|
-
};
|
|
19
|
-
const printJenkinsReview = () => {
|
|
20
|
-
const config = (0, jenkins_config_1.getJenkinsConnectionsConfig)();
|
|
21
|
-
console.log(chalk_1.default.blue.bold('\n📋 Jenkins connections\n'));
|
|
22
|
-
console.log(` Development: ${config.environments.dev ? `${config.environments.dev.url} — ${credentialStatus('dev')}` : '<not configured>'}`);
|
|
23
|
-
console.log(` Production: ${config.environments.prod ? `${config.environments.prod.url} — ${credentialStatus('prod')}` : '<not configured>'}`);
|
|
24
|
-
console.log(chalk_1.default.gray('\n Docker Development uses Development Jenkins.'));
|
|
25
|
-
console.log(chalk_1.default.gray(' Docker Production uses Production Jenkins.'));
|
|
26
|
-
console.log(chalk_1.default.gray(' ALL Mobile Development/Staging/Production builds use Production Jenkins.'));
|
|
27
|
-
console.log(chalk_1.default.gray(' Jenkins URL/transport are project-shared. Username/token/password are local only and never committed.'));
|
|
28
|
-
console.log(chalk_1.default.gray(` Shared config: ${(0, jenkins_config_1.getJenkinsConnectionsConfigPath)()}\n`));
|
|
29
|
-
};
|
|
30
|
-
const configureJenkins = async () => {
|
|
31
|
-
const config = (0, jenkins_config_1.getJenkinsConnectionsConfig)();
|
|
32
|
-
const local = (0, jenkins_config_1.getJenkinsLocalBindingsConfig)();
|
|
33
|
-
while (true) {
|
|
34
|
-
const { target } = await inquirer_1.default.prompt([
|
|
35
|
-
{
|
|
36
|
-
type: 'list',
|
|
37
|
-
name: 'target',
|
|
38
|
-
message: 'Jenkins — which environment do you want to configure?',
|
|
39
|
-
choices: [
|
|
40
|
-
{ name: `Development (${config.environments.dev?.url || 'not configured'})`, value: 'dev' },
|
|
41
|
-
{ name: `Production (${config.environments.prod?.url || 'not configured'}) — used by all mobile builds`, value: 'prod' },
|
|
42
|
-
new inquirer_1.default.Separator(),
|
|
43
|
-
{ name: 'Review Jenkins connections', value: 'review' },
|
|
44
|
-
{ name: 'Back', value: 'back' }
|
|
45
|
-
]
|
|
46
|
-
}
|
|
47
|
-
]);
|
|
48
|
-
if (target === 'back')
|
|
49
|
-
return;
|
|
50
|
-
if (target === 'review') {
|
|
51
|
-
printJenkinsReview();
|
|
52
|
-
continue;
|
|
53
|
-
}
|
|
54
|
-
const result = await (0, configure_jenkins_1.promptForJenkinsConnection)(config.environments[target], local.environments[target], target === 'dev'
|
|
55
|
-
? 'Development Jenkins'
|
|
56
|
-
: 'Production Jenkins (Docker Production + all Mobile builds)');
|
|
57
|
-
config.environments[target] = result.endpoint;
|
|
58
|
-
local.environments[target] = result.binding;
|
|
59
|
-
(0, jenkins_config_1.saveJenkinsConnectionsConfig)(config);
|
|
60
|
-
(0, jenkins_config_1.saveJenkinsLocalBindingsConfig)(local);
|
|
61
|
-
console.log(chalk_1.default.green('✓ Jenkins connection saved. Returning to Jenkins settings.\n'));
|
|
62
|
-
}
|
|
63
|
-
};
|
|
64
|
-
const reviewEverything = () => {
|
|
65
|
-
console.log(chalk_1.default.blue.bold('\nIndraQ project configuration\n'));
|
|
66
|
-
printJenkinsReview();
|
|
67
|
-
const docker = (0, docker_config_1.getDockerConfig)();
|
|
68
|
-
if (!docker)
|
|
69
|
-
console.log(chalk_1.default.yellow('Docker / GHCR: not configured\n'));
|
|
70
|
-
else {
|
|
71
|
-
console.log(chalk_1.default.blue.bold('Docker / GHCR'));
|
|
72
|
-
console.log(` Owner: ${docker.github.owner || '<not configured>'}`);
|
|
73
|
-
console.log(` Development: ${docker.environments.dev.imageName || '<not configured>'}`);
|
|
74
|
-
console.log(` Production: ${docker.environments.prod.imageName || '<not configured>'}\n`);
|
|
75
|
-
}
|
|
76
|
-
const mobile = (0, mobile_config_1.getMobileConfig)();
|
|
77
|
-
if (!mobile)
|
|
78
|
-
console.log(chalk_1.default.yellow('Mobile App: not configured\n'));
|
|
79
|
-
else
|
|
80
|
-
(0, configure_mobile_command_1.printMobileConfiguration)(mobile);
|
|
81
|
-
};
|
|
11
|
+
const prebuild_command_1 = require("../prebuild/commands/prebuild.command");
|
|
82
12
|
const configure = async () => {
|
|
83
|
-
console.log(chalk_1.default.blue.bold('\nIndraQ
|
|
84
|
-
console.log(chalk_1.default.gray('
|
|
13
|
+
console.log(chalk_1.default.blue.bold('\nIndraQ Cloud Configuration\n'));
|
|
14
|
+
console.log(chalk_1.default.gray('Your AWS, NPM, Jenkins and GHCR credentials are stored once in IndraQ Cloud and reused across your projects.'));
|
|
15
|
+
console.log(chalk_1.default.gray('Project-specific DNS, proxy, image and Jenkins associations are created by prebuild.\n'));
|
|
85
16
|
while (true) {
|
|
86
|
-
const { section } = await inquirer_1.default.prompt([
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
{ name: 'Docker / GHCR', value: 'docker' },
|
|
94
|
-
{ name: 'Mobile App', value: 'mobile' },
|
|
95
|
-
new inquirer_1.default.Separator(),
|
|
96
|
-
{ name: 'Review current project configuration', value: 'review' },
|
|
97
|
-
{ name: 'Exit', value: 'exit' }
|
|
98
|
-
]
|
|
99
|
-
}
|
|
100
|
-
]);
|
|
17
|
+
const { section } = await inquirer_1.default.prompt([{ type: 'list', name: 'section', message: 'What do you want to configure?', choices: [
|
|
18
|
+
{ name: 'My reusable provider credentials (AWS / NPM / Jenkins / GHCR)', value: 'provider' },
|
|
19
|
+
{ name: 'Current project infrastructure (run prebuild)', value: 'project' },
|
|
20
|
+
{ name: 'Mobile App settings', value: 'mobile' },
|
|
21
|
+
{ name: 'Review my provider credentials', value: 'review' },
|
|
22
|
+
new inquirer_1.default.Separator(), { name: 'Exit', value: 'exit' }
|
|
23
|
+
] }]);
|
|
101
24
|
if (section === 'exit') {
|
|
102
25
|
console.log(chalk_1.default.green('\n✓ Configuration finished.\n'));
|
|
103
26
|
return;
|
|
104
27
|
}
|
|
105
|
-
if (section === '
|
|
106
|
-
await
|
|
107
|
-
else if (section === '
|
|
108
|
-
await (0,
|
|
28
|
+
if (section === 'provider')
|
|
29
|
+
await (0, provider_command_1.configureUserProvider)();
|
|
30
|
+
else if (section === 'project')
|
|
31
|
+
await (0, prebuild_command_1.prebuild)({});
|
|
109
32
|
else if (section === 'mobile')
|
|
110
33
|
await (0, configure_mobile_command_1.configureMobile)();
|
|
111
34
|
else
|
|
112
|
-
|
|
35
|
+
await (0, provider_command_1.listConfiguredUserProviders)();
|
|
113
36
|
}
|
|
114
37
|
};
|
|
115
38
|
exports.configure = configure;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configure.command.js","sourceRoot":"","sources":["../../../src/modules/configure/configure.command.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,wDAAgC;AAChC,
|
|
1
|
+
{"version":3,"file":"configure.command.js","sourceRoot":"","sources":["../../../src/modules/configure/configure.command.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,wDAAgC;AAChC,yEAAwG;AACxG,0FAA8E;AAC9E,4EAAiE;AAI1D,MAAM,SAAS,GAAG,KAAK,IAAmB,EAAE;IACjD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,8GAA8G,CAAC,CAAC,CAAC;IACxI,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,wFAAwF,CAAC,CAAC,CAAC;IAClH,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAuB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,gCAAgC,EAAE,OAAO,EAAE;oBACpJ,EAAE,IAAI,EAAE,+DAA+D,EAAE,KAAK,EAAE,UAAU,EAAE;oBAC5F,EAAE,IAAI,EAAE,+CAA+C,EAAE,KAAK,EAAE,SAAS,EAAE;oBAC3E,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,QAAQ,EAAE;oBAChD,EAAE,IAAI,EAAE,gCAAgC,EAAE,KAAK,EAAE,QAAQ,EAAE;oBAC3D,IAAI,kBAAQ,CAAC,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;iBAC1D,EAAE,CAAC,CAAC,CAAC;QACN,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QAC9F,IAAI,OAAO,KAAK,UAAU;YAAE,MAAM,IAAA,wCAAqB,GAAE,CAAC;aACrD,IAAI,OAAO,KAAK,SAAS;YAAE,MAAM,IAAA,2BAAQ,EAAC,EAAE,CAAC,CAAC;aAC9C,IAAI,OAAO,KAAK,QAAQ;YAAE,MAAM,IAAA,0CAAe,GAAE,CAAC;;YAClD,MAAM,IAAA,8CAA2B,GAAE,CAAC;IAC3C,CAAC;AACH,CAAC,CAAC;AAlBW,QAAA,SAAS,aAkBpB"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { type DockerEnvironmentName } from '../config/docker-config';
|
|
2
1
|
export interface BuildOptions {
|
|
3
|
-
env:
|
|
2
|
+
env: string;
|
|
4
3
|
}
|
|
5
4
|
export declare const build: (options: BuildOptions) => Promise<void>;
|
|
6
5
|
//# sourceMappingURL=build.command.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.command.d.ts","sourceRoot":"","sources":["../../../../src/modules/deploy/commands/build.command.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"build.command.d.ts","sourceRoot":"","sources":["../../../../src/modules/deploy/commands/build.command.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,YAAY;IAAG,GAAG,EAAE,MAAM,CAAC;CAAE;AAuC9C,eAAO,MAAM,KAAK,GAAU,SAAS,YAAY,KAAG,OAAO,CAAC,IAAI,CA6C/D,CAAC"}
|