aubay-oci-deploy-tool 1.0.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.
Files changed (107) hide show
  1. package/README.md +4 -0
  2. package/argocd/argocd.d.ts +22 -0
  3. package/argocd/argocd.js +266 -0
  4. package/argocd/argocd.js.map +1 -0
  5. package/argocd/config.d.ts +2 -0
  6. package/argocd/config.js +19 -0
  7. package/argocd/config.js.map +1 -0
  8. package/argocd/interfaces.d.ts +66 -0
  9. package/argocd/interfaces.js +3 -0
  10. package/argocd/interfaces.js.map +1 -0
  11. package/compute/compute.d.ts +11 -0
  12. package/compute/compute.js +56 -0
  13. package/compute/compute.js.map +1 -0
  14. package/compute/config.d.ts +2 -0
  15. package/compute/config.js +19 -0
  16. package/compute/config.js.map +1 -0
  17. package/compute/interfaces.d.ts +19 -0
  18. package/compute/interfaces.js +3 -0
  19. package/compute/interfaces.js.map +1 -0
  20. package/crds/config.d.ts +2 -0
  21. package/crds/config.js +9 -0
  22. package/crds/config.js.map +1 -0
  23. package/crds/crds.d.ts +13 -0
  24. package/crds/crds.js +42 -0
  25. package/crds/crds.js.map +1 -0
  26. package/crds/interfaces.d.ts +7 -0
  27. package/crds/interfaces.js +3 -0
  28. package/crds/interfaces.js.map +1 -0
  29. package/external-secrets/config.d.ts +5 -0
  30. package/external-secrets/config.js +12 -0
  31. package/external-secrets/config.js.map +1 -0
  32. package/external-secrets/externalsecrets.d.ts +22 -0
  33. package/external-secrets/externalsecrets.js +74 -0
  34. package/external-secrets/externalsecrets.js.map +1 -0
  35. package/external-secrets/interfaces.d.ts +10 -0
  36. package/external-secrets/interfaces.js +3 -0
  37. package/external-secrets/interfaces.js.map +1 -0
  38. package/iam/config.d.ts +2 -0
  39. package/iam/config.js +17 -0
  40. package/iam/config.js.map +1 -0
  41. package/iam/iam.d.ts +10 -0
  42. package/iam/iam.js +33 -0
  43. package/iam/iam.js.map +1 -0
  44. package/iam/interfaces.d.ts +12 -0
  45. package/iam/interfaces.js +3 -0
  46. package/iam/interfaces.js.map +1 -0
  47. package/index.d.ts +39 -0
  48. package/index.js +81 -0
  49. package/index.js.map +1 -0
  50. package/istio/config.d.ts +2 -0
  51. package/istio/config.js +18 -0
  52. package/istio/config.js.map +1 -0
  53. package/istio/interfaces.d.ts +18 -0
  54. package/istio/interfaces.js +3 -0
  55. package/istio/interfaces.js.map +1 -0
  56. package/istio/istio.d.ts +24 -0
  57. package/istio/istio.js +288 -0
  58. package/istio/istio.js.map +1 -0
  59. package/network/config.d.ts +3 -0
  60. package/network/config.js +23 -0
  61. package/network/config.js.map +1 -0
  62. package/network/interfaces.d.ts +31 -0
  63. package/network/interfaces.js +3 -0
  64. package/network/interfaces.js.map +1 -0
  65. package/network/network.d.ts +28 -0
  66. package/network/network.js +218 -0
  67. package/network/network.js.map +1 -0
  68. package/oke/config.d.ts +3 -0
  69. package/oke/config.js +25 -0
  70. package/oke/config.js.map +1 -0
  71. package/oke/interfaces.d.ts +40 -0
  72. package/oke/interfaces.js +3 -0
  73. package/oke/interfaces.js.map +1 -0
  74. package/oke/oke.d.ts +15 -0
  75. package/oke/oke.js +112 -0
  76. package/oke/oke.js.map +1 -0
  77. package/package.json +22 -0
  78. package/region/config.d.ts +2 -0
  79. package/region/config.js +9 -0
  80. package/region/config.js.map +1 -0
  81. package/region/interfaces.d.ts +7 -0
  82. package/region/interfaces.js +3 -0
  83. package/region/interfaces.js.map +1 -0
  84. package/region/region.d.ts +6 -0
  85. package/region/region.js +12 -0
  86. package/region/region.js.map +1 -0
  87. package/region/shortcode.d.ts +13 -0
  88. package/region/shortcode.js +22 -0
  89. package/region/shortcode.js.map +1 -0
  90. package/security/config.d.ts +3 -0
  91. package/security/config.js +27 -0
  92. package/security/config.js.map +1 -0
  93. package/security/interfaces.d.ts +23 -0
  94. package/security/interfaces.js +3 -0
  95. package/security/interfaces.js.map +1 -0
  96. package/security/security.d.ts +13 -0
  97. package/security/security.js +79 -0
  98. package/security/security.js.map +1 -0
  99. package/storage/config.d.ts +4 -0
  100. package/storage/config.js +24 -0
  101. package/storage/config.js.map +1 -0
  102. package/storage/interfaces.d.ts +19 -0
  103. package/storage/interfaces.js +3 -0
  104. package/storage/interfaces.js.map +1 -0
  105. package/storage/storage.d.ts +9 -0
  106. package/storage/storage.js +36 -0
  107. package/storage/storage.js.map +1 -0
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.externalSecretsConfig = exports.compartmentId = void 0;
4
+ const pulumi = require("@pulumi/pulumi");
5
+ const infraConfig = new pulumi.Config("infra");
6
+ exports.compartmentId = infraConfig.require("compartmentId");
7
+ const cfg = new pulumi.Config("deploy:external-secrets");
8
+ exports.externalSecretsConfig = {
9
+ chartVersion: cfg.get("chartVersion") ?? "1.0.0",
10
+ namespace: cfg.get("namespace") ?? "external-secrets",
11
+ };
12
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/external-secrets/config.ts"],"names":[],"mappings":";;;AAAA,yCAAyC;AAEzC,MAAM,WAAW,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAClC,QAAA,aAAa,GAAW,WAAW,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;AAE1E,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;AAE5C,QAAA,qBAAqB,GAAG;IACjC,YAAY,EAAE,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,OAAO;IAChD,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,kBAAkB;CACxD,CAAC"}
@@ -0,0 +1,22 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as oci from "@pulumi/oci";
3
+ import * as k8s from "@pulumi/kubernetes";
4
+ import { IExternalSecrets, IExternalSecretsConfig } from "./interfaces";
5
+ import { IOkeKubeconfig } from "../oke/interfaces";
6
+ import { IRegion } from "../region/interfaces";
7
+ export declare class ExternalSecrets implements IExternalSecrets {
8
+ private clusters;
9
+ private config;
10
+ private vaults;
11
+ private region;
12
+ private opts?;
13
+ namespace: k8s.core.v1.Namespace[];
14
+ helmRelease: k8s.helm.v3.Release[];
15
+ secretStore: k8s.apiextensions.CustomResource[];
16
+ private static readonly CHART_REPO;
17
+ private static readonly CHART_NAME;
18
+ constructor(clusters: pulumi.Output<IOkeKubeconfig[]>, config: IExternalSecretsConfig, vaults: pulumi.Output<oci.kms.Vault[]>, region: pulumi.Output<IRegion>, opts?: pulumi.CustomResourceOptions | undefined);
19
+ private createNamespace;
20
+ private installHelmChart;
21
+ private createClusterSecretStore;
22
+ }
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExternalSecrets = void 0;
4
+ const pulumi = require("@pulumi/pulumi");
5
+ const k8s = require("@pulumi/kubernetes");
6
+ class ExternalSecrets {
7
+ constructor(clusters, config, vaults, region, opts) {
8
+ this.clusters = clusters;
9
+ this.config = config;
10
+ this.vaults = vaults;
11
+ this.region = region;
12
+ this.opts = opts;
13
+ this.namespace = [];
14
+ this.helmRelease = [];
15
+ this.secretStore = [];
16
+ this.clusters.apply(clusters => {
17
+ clusters.forEach(cluster => {
18
+ // Extraemos kubeconfig y clusterName de cada Output
19
+ pulumi.all([cluster.kubeconfig, cluster.clusterName]).apply(([kubeconfig, clusterName]) => {
20
+ const provider = new k8s.Provider(`k8s-provider-ext-sec-${clusterName}`, {
21
+ kubeconfig: kubeconfig,
22
+ }, this.opts);
23
+ const ns = this.createNamespace(provider, clusterName);
24
+ this.namespace.push(ns);
25
+ const release = this.installHelmChart(provider, clusterName, ns);
26
+ this.helmRelease.push(release);
27
+ const secretStore = this.createClusterSecretStore(provider, clusterName, release);
28
+ this.secretStore.push(secretStore);
29
+ });
30
+ });
31
+ });
32
+ }
33
+ createNamespace(provider, clusterName) {
34
+ return new k8s.core.v1.Namespace(`external-secrets-namespace-${clusterName}`, {
35
+ metadata: {
36
+ name: this.config.namespace,
37
+ },
38
+ }, { provider, ...this.opts, });
39
+ }
40
+ installHelmChart(provider, clusterName, ns) {
41
+ return new k8s.helm.v3.Release(`external-secrets-operator-${clusterName}`, {
42
+ chart: ExternalSecrets.CHART_NAME,
43
+ version: this.config.chartVersion,
44
+ repositoryOpts: {
45
+ repo: ExternalSecrets.CHART_REPO,
46
+ },
47
+ namespace: this.config.namespace,
48
+ values: {},
49
+ }, { provider, dependsOn: [ns] });
50
+ }
51
+ createClusterSecretStore(provider, clusterName, release) {
52
+ this.region.name.apply(n => pulumi.log.info(`El nombre de la region es: ${n}`));
53
+ return new k8s.apiextensions.CustomResource(`cluster-secret-store-${clusterName}`, {
54
+ apiVersion: "external-secrets.io/v1",
55
+ kind: "ClusterSecretStore",
56
+ metadata: {
57
+ name: "oci-vault-cluster-secret-store",
58
+ },
59
+ spec: {
60
+ provider: {
61
+ oracle: {
62
+ vault: this.vaults[0].id,
63
+ //vault: "ocid1.vault.oc1.eu-madrid-1.ifurl64caae3s.abwwcljr2lava4yjsuit7lysd7f4zaaci4syxltpkh6camihqky324dmxzjq",
64
+ region: this.region.name,
65
+ }
66
+ },
67
+ },
68
+ }, { provider, dependsOn: [release] });
69
+ }
70
+ }
71
+ exports.ExternalSecrets = ExternalSecrets;
72
+ ExternalSecrets.CHART_REPO = "https://charts.external-secrets.io";
73
+ ExternalSecrets.CHART_NAME = "external-secrets";
74
+ //# sourceMappingURL=externalsecrets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"externalsecrets.js","sourceRoot":"","sources":["../../src/external-secrets/externalsecrets.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import * as k8s from "@pulumi/kubernetes";
2
+ export interface IExternalSecretsConfig {
3
+ chartVersion: string;
4
+ namespace: string;
5
+ }
6
+ export interface IExternalSecrets {
7
+ namespace: k8s.core.v1.Namespace[];
8
+ helmRelease: k8s.helm.v3.Release[];
9
+ secretStore: k8s.apiextensions.CustomResource[];
10
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/external-secrets/interfaces.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import { IIamConfig } from "./interfaces";
2
+ export declare const iamCfg: IIamConfig;
package/iam/config.js ADDED
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.iamCfg = void 0;
4
+ const pulumi = require("@pulumi/pulumi");
5
+ const stack = pulumi.getStack();
6
+ const tenancyId = new pulumi.Config("tenancy").require("compartmentId");
7
+ const compartmentId = new pulumi.Config("infra").require("compartmentId");
8
+ const compartmentName = new pulumi.Config("infra").require("compartmentName");
9
+ const ocirCompartmentName = new pulumi.Config("ocir").require("compartmentName");
10
+ exports.iamCfg = {
11
+ tenancyId: tenancyId,
12
+ compartmentId: compartmentId,
13
+ compartmentName: compartmentName,
14
+ ocirCompartmentName: ocirCompartmentName,
15
+ dynamicGroupName: `${stack}-oke-instances-dg`
16
+ };
17
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/iam/config.ts"],"names":[],"mappings":";;;AAAA,yCAAyC;AAGzC,MAAM,KAAK,GAAW,MAAM,CAAC,QAAQ,EAAE,CAAC;AAExC,MAAM,SAAS,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;AACxE,MAAM,aAAa,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;AAC1E,MAAM,eAAe,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAC9E,MAAM,mBAAmB,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEpE,QAAA,MAAM,GAAe;IAC9B,SAAS,EAAE,SAAS;IACpB,aAAa,EAAE,aAAa;IAC5B,eAAe,EAAE,eAAe;IAChC,mBAAmB,EAAE,mBAAmB;IACxC,gBAAgB,EAAE,GAAG,KAAK,mBAAmB;CAChD,CAAA"}
package/iam/iam.d.ts ADDED
@@ -0,0 +1,10 @@
1
+ import * as oci from "@pulumi/oci";
2
+ import { IIam, IIamConfig } from "./interfaces";
3
+ export declare class Iam implements IIam {
4
+ private config;
5
+ dynamicGroup: oci.identity.DynamicGroup;
6
+ policy: oci.identity.Policy;
7
+ constructor(config: IIamConfig);
8
+ private createDynamicGroup;
9
+ private createPolicy;
10
+ }
package/iam/iam.js ADDED
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Iam = void 0;
4
+ const oci = require("@pulumi/oci");
5
+ class Iam {
6
+ constructor(config) {
7
+ this.config = config;
8
+ this.dynamicGroup = this.createDynamicGroup();
9
+ this.policy = this.createPolicy();
10
+ }
11
+ createDynamicGroup() {
12
+ return new oci.identity.DynamicGroup(this.config.dynamicGroupName, {
13
+ name: this.config.dynamicGroupName,
14
+ compartmentId: this.config.tenancyId,
15
+ description: "Dynamic group para nodos de los OKEs",
16
+ matchingRule: `ALL {instance.compartment.id = '${this.config.compartmentId}'}`,
17
+ });
18
+ }
19
+ createPolicy() {
20
+ return new oci.identity.Policy(`${this.config.dynamicGroupName}-policy`, {
21
+ name: `${this.config.dynamicGroupName}-policy`,
22
+ compartmentId: this.config.compartmentId,
23
+ description: "Permisos para las instancias de los OKEs",
24
+ statements: [
25
+ `Allow dynamic-group ${this.config.dynamicGroupName} to read secret-family in compartment ${this.config.compartmentName}`,
26
+ `Allow dynamic-group ${this.config.dynamicGroupName} to use vault in compartment ${this.config.compartmentName}`,
27
+ `Allow dynamic-group ${this.config.dynamicGroupName} to read repos in compartment ${this.config.ocirCompartmentName}`,
28
+ ],
29
+ });
30
+ }
31
+ }
32
+ exports.Iam = Iam;
33
+ //# sourceMappingURL=iam.js.map
package/iam/iam.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iam.js","sourceRoot":"","sources":["../../src/iam/iam.ts"],"names":[],"mappings":";;;AAAA,mCAAmC;AAGnC,MAAa,GAAG;IAIZ,YAAoB,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;QAClC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC9C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;IACtC,CAAC;IAEO,kBAAkB;QACtB,OAAO,IAAI,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE;YAC/D,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB;YAClC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;YACpC,WAAW,EAAE,sCAAsC;YACnD,YAAY,EAAE,mCAAmC,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI;SACjF,CAAC,CAAC;IACP,CAAC;IAEO,YAAY;QAChB,OAAO,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,SAAS,EAAE;YACrE,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,SAAS;YAC9C,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa;YACxC,WAAW,EAAE,0CAA0C;YACvD,UAAU,EAAE;gBACR,uBAAuB,IAAI,CAAC,MAAM,CAAC,gBAAgB,yCAAyC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;gBACzH,uBAAuB,IAAI,CAAC,MAAM,CAAC,gBAAgB,gCAAgC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;gBAChH,uBAAuB,IAAI,CAAC,MAAM,CAAC,gBAAgB,iCAAiC,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE;aACxH;SACJ,CAAC,CAAC;IACP,CAAC;CACJ;AA9BD,kBA8BC"}
@@ -0,0 +1,12 @@
1
+ import * as oci from "@pulumi/oci";
2
+ export interface IIamConfig {
3
+ tenancyId: string;
4
+ compartmentId: string;
5
+ compartmentName: string;
6
+ ocirCompartmentName: string;
7
+ dynamicGroupName: string;
8
+ }
9
+ export interface IIam {
10
+ dynamicGroup: oci.identity.DynamicGroup;
11
+ policy: oci.identity.Policy;
12
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/iam/interfaces.ts"],"names":[],"mappings":""}
package/index.d.ts ADDED
@@ -0,0 +1,39 @@
1
+ export * from './argocd/config';
2
+ export * from './argocd/interfaces';
3
+ export * from './argocd/argocd';
4
+ export * from './compute/config';
5
+ export * from './compute/interfaces';
6
+ export * from './compute/compute';
7
+ export * from './compute/config';
8
+ export * from './compute/interfaces';
9
+ export * from './compute/compute';
10
+ export { compartmentId as ES_compartmentId } from './external-secrets/config';
11
+ export { externalSecretsConfig } from './external-secrets/config';
12
+ export * from './external-secrets/interfaces';
13
+ export * from './external-secrets/externalsecrets';
14
+ export * from './iam/config';
15
+ export * from './iam/interfaces';
16
+ export * from './iam/iam';
17
+ export * from './istio/config';
18
+ export * from './istio/interfaces';
19
+ export * from './istio/istio';
20
+ export { compartmentId as N_compartmentId } from './network/config';
21
+ export { vcns } from './network/config';
22
+ export * from './network/interfaces';
23
+ export * from './network/network';
24
+ export * from './oke/config';
25
+ export * from './oke/interfaces';
26
+ export * from './oke/oke';
27
+ export * from './region/config';
28
+ export * from './region/interfaces';
29
+ export * from './region/region';
30
+ export * from './region/shortcode';
31
+ export { compartmentId as SE_compartmentId } from './security/config';
32
+ export { vaults } from './security/config';
33
+ export * from './security/interfaces';
34
+ export * from './security/security';
35
+ export { compartmentId as ST_compartmentId } from './storage/config';
36
+ export { namespace } from './storage/config';
37
+ export { buckets } from './storage/config';
38
+ export * from './storage/interfaces';
39
+ export * from './storage/storage';
package/index.js ADDED
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.buckets = exports.namespace = exports.ST_compartmentId = exports.vaults = exports.SE_compartmentId = exports.vcns = exports.N_compartmentId = exports.externalSecretsConfig = exports.ES_compartmentId = void 0;
18
+ // argocd structure
19
+ __exportStar(require("./argocd/config"), exports);
20
+ __exportStar(require("./argocd/interfaces"), exports);
21
+ __exportStar(require("./argocd/argocd"), exports);
22
+ // compute structure
23
+ __exportStar(require("./compute/config"), exports);
24
+ __exportStar(require("./compute/interfaces"), exports);
25
+ __exportStar(require("./compute/compute"), exports);
26
+ // crds structure
27
+ __exportStar(require("./compute/config"), exports);
28
+ __exportStar(require("./compute/interfaces"), exports);
29
+ __exportStar(require("./compute/compute"), exports);
30
+ // external-secrets structure
31
+ // export * from './external-secrets/config';
32
+ var config_1 = require("./external-secrets/config");
33
+ Object.defineProperty(exports, "ES_compartmentId", { enumerable: true, get: function () { return config_1.compartmentId; } });
34
+ var config_2 = require("./external-secrets/config");
35
+ Object.defineProperty(exports, "externalSecretsConfig", { enumerable: true, get: function () { return config_2.externalSecretsConfig; } });
36
+ __exportStar(require("./external-secrets/interfaces"), exports);
37
+ __exportStar(require("./external-secrets/externalsecrets"), exports);
38
+ // iam structure
39
+ __exportStar(require("./iam/config"), exports);
40
+ __exportStar(require("./iam/interfaces"), exports);
41
+ __exportStar(require("./iam/iam"), exports);
42
+ // istio structure
43
+ __exportStar(require("./istio/config"), exports);
44
+ __exportStar(require("./istio/interfaces"), exports);
45
+ __exportStar(require("./istio/istio"), exports);
46
+ // network structure
47
+ // export * from './network/config';
48
+ var config_3 = require("./network/config");
49
+ Object.defineProperty(exports, "N_compartmentId", { enumerable: true, get: function () { return config_3.compartmentId; } });
50
+ var config_4 = require("./network/config");
51
+ Object.defineProperty(exports, "vcns", { enumerable: true, get: function () { return config_4.vcns; } });
52
+ __exportStar(require("./network/interfaces"), exports);
53
+ __exportStar(require("./network/network"), exports);
54
+ // oke structure
55
+ __exportStar(require("./oke/config"), exports);
56
+ __exportStar(require("./oke/interfaces"), exports);
57
+ __exportStar(require("./oke/oke"), exports);
58
+ // region structure
59
+ __exportStar(require("./region/config"), exports);
60
+ __exportStar(require("./region/interfaces"), exports);
61
+ __exportStar(require("./region/region"), exports);
62
+ __exportStar(require("./region/shortcode"), exports);
63
+ // security structure
64
+ // export * from './security/config';
65
+ var config_5 = require("./security/config");
66
+ Object.defineProperty(exports, "SE_compartmentId", { enumerable: true, get: function () { return config_5.compartmentId; } });
67
+ var config_6 = require("./security/config");
68
+ Object.defineProperty(exports, "vaults", { enumerable: true, get: function () { return config_6.vaults; } });
69
+ __exportStar(require("./security/interfaces"), exports);
70
+ __exportStar(require("./security/security"), exports);
71
+ // storage structure
72
+ // export * from './storage/config';
73
+ var config_7 = require("./storage/config");
74
+ Object.defineProperty(exports, "ST_compartmentId", { enumerable: true, get: function () { return config_7.compartmentId; } });
75
+ var config_8 = require("./storage/config");
76
+ Object.defineProperty(exports, "namespace", { enumerable: true, get: function () { return config_8.namespace; } });
77
+ var config_9 = require("./storage/config");
78
+ Object.defineProperty(exports, "buckets", { enumerable: true, get: function () { return config_9.buckets; } });
79
+ __exportStar(require("./storage/interfaces"), exports);
80
+ __exportStar(require("./storage/storage"), exports);
81
+ //# sourceMappingURL=index.js.map
package/index.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,mBAAmB;AACnB,kDAAgC;AAChC,sDAAoC;AACpC,kDAAgC;AAChC,oBAAoB;AACpB,mDAAiC;AACjC,uDAAqC;AACrC,oDAAkC;AAClC,iBAAiB;AACjB,mDAAiC;AACjC,uDAAqC;AACrC,oDAAkC;AAClC,6BAA6B;AAC7B,6CAA6C;AAC7C,oDAA4E;AAApE,0GAAA,aAAa,OAAoB;AACzC,oDAAgE;AAAxD,+GAAA,qBAAqB,OAAA;AAC7B,gEAA8C;AAC9C,qEAAmD;AACnD,gBAAgB;AAChB,+CAA6B;AAC7B,mDAAiC;AACjC,4CAA0B;AAC1B,kBAAkB;AAClB,iDAA+B;AAC/B,qDAAmC;AACnC,gDAA8B;AAC9B,oBAAoB;AACpB,oCAAoC;AACpC,2CAAkE;AAA1D,yGAAA,aAAa,OAAmB;AACxC,2CAAsC;AAA9B,8FAAA,IAAI,OAAA;AACZ,uDAAqC;AACrC,oDAAkC;AAClC,gBAAgB;AAChB,+CAA6B;AAC7B,mDAAiC;AACjC,4CAA0B;AAC1B,mBAAmB;AACnB,kDAAgC;AAChC,sDAAoC;AACpC,kDAAgC;AAChC,qDAAmC;AACnC,qBAAqB;AACrB,qCAAqC;AACrC,4CAAoE;AAA5D,0GAAA,aAAa,OAAoB;AACzC,4CAAyC;AAAjC,gGAAA,MAAM,OAAA;AACd,wDAAsC;AACtC,sDAAoC;AACpC,oBAAoB;AACpB,oCAAoC;AACpC,2CAAmE;AAA3D,0GAAA,aAAa,OAAoB;AACzC,2CAA2C;AAAnC,mGAAA,SAAS,OAAA;AACjB,2CAAyC;AAAjC,iGAAA,OAAO,OAAA;AACf,uDAAqC;AACrC,oDAAkC"}
@@ -0,0 +1,2 @@
1
+ import { IstioConfig } from "./interfaces";
2
+ export declare const istioConfig: IstioConfig;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.istioConfig = void 0;
4
+ const pulumi = require("@pulumi/pulumi");
5
+ const stack = pulumi.getStack();
6
+ const cfg = new pulumi.Config("deploy");
7
+ const istioCfg = cfg.requireObject("istio");
8
+ exports.istioConfig = {
9
+ namespace: istioCfg.namespace,
10
+ chartVersion: istioCfg.chartVersion,
11
+ lb: istioCfg.lb.map(lb => ({
12
+ ...lb,
13
+ subnetName: `${stack}-${lb.subnetName}`
14
+ })),
15
+ namespacesToInject: istioCfg.namespacesToInject,
16
+ cnpgNamespace: istioCfg.cnpgNamespace
17
+ };
18
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/istio/config.ts"],"names":[],"mappings":";;;AAAA,yCAAyC;AAGzC,MAAM,KAAK,GAAW,MAAM,CAAC,QAAQ,EAAE,CAAC;AAExC,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAExC,MAAM,QAAQ,GAAG,GAAG,CAAC,aAAa,CAAc,OAAO,CAAC,CAAC;AAE5C,QAAA,WAAW,GAAgB;IACtC,SAAS,EAAE,QAAQ,CAAC,SAAS;IAC7B,YAAY,EAAE,QAAQ,CAAC,YAAY;IACnC,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QAC1B,GAAG,EAAE;QACL,UAAU,EAAE,GAAG,KAAK,IAAI,EAAE,CAAC,UAAU,EAAE;KACxC,CAAC,CAAC;IACH,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB;IAC/C,aAAa,EAAE,QAAQ,CAAC,aAAa;CACtC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import * as k8s from "@pulumi/kubernetes";
2
+ export interface IstioLbConfig {
3
+ name: string;
4
+ type: "public" | "private";
5
+ subnetName: string;
6
+ reservedIpOcid?: string;
7
+ }
8
+ export interface IstioConfig {
9
+ namespace: string;
10
+ chartVersion: string;
11
+ lb: IstioLbConfig[];
12
+ namespacesToInject: string[];
13
+ cnpgNamespace: string;
14
+ }
15
+ export interface IIstio {
16
+ releases: k8s.helm.v3.Release[];
17
+ gwCRD: k8s.apiextensions.CustomResource[];
18
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/istio/interfaces.ts"],"names":[],"mappings":""}
@@ -0,0 +1,24 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as k8s from "@pulumi/kubernetes";
3
+ import * as oci from "@pulumi/oci";
4
+ import { IstioConfig, IIstio } from "./interfaces";
5
+ import { IOkeKubeconfig } from "../oke/interfaces";
6
+ export declare class Istio implements IIstio {
7
+ private clusters;
8
+ private subnets;
9
+ private config;
10
+ private opts?;
11
+ releases: k8s.helm.v3.Release[];
12
+ gwCRD: k8s.apiextensions.CustomResource[];
13
+ constructor(clusters: pulumi.Output<IOkeKubeconfig[]>, subnets: pulumi.Output<oci.core.Subnet[]>, config: IstioConfig, opts?: pulumi.CustomResourceOptions | undefined);
14
+ private deploy;
15
+ private ensureNamespace;
16
+ private installIstioControlPlane;
17
+ private applyNamespaceInjection;
18
+ private createGateways;
19
+ private applyServiceLoadBalancerAnnotations;
20
+ private createGatewayCR;
21
+ private applyMtlsStrict;
22
+ private findSubnet;
23
+ private applyCnpgIstioExceptions;
24
+ }