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.
- package/README.md +4 -0
- package/argocd/argocd.d.ts +22 -0
- package/argocd/argocd.js +266 -0
- package/argocd/argocd.js.map +1 -0
- package/argocd/config.d.ts +2 -0
- package/argocd/config.js +19 -0
- package/argocd/config.js.map +1 -0
- package/argocd/interfaces.d.ts +66 -0
- package/argocd/interfaces.js +3 -0
- package/argocd/interfaces.js.map +1 -0
- package/compute/compute.d.ts +11 -0
- package/compute/compute.js +56 -0
- package/compute/compute.js.map +1 -0
- package/compute/config.d.ts +2 -0
- package/compute/config.js +19 -0
- package/compute/config.js.map +1 -0
- package/compute/interfaces.d.ts +19 -0
- package/compute/interfaces.js +3 -0
- package/compute/interfaces.js.map +1 -0
- package/crds/config.d.ts +2 -0
- package/crds/config.js +9 -0
- package/crds/config.js.map +1 -0
- package/crds/crds.d.ts +13 -0
- package/crds/crds.js +42 -0
- package/crds/crds.js.map +1 -0
- package/crds/interfaces.d.ts +7 -0
- package/crds/interfaces.js +3 -0
- package/crds/interfaces.js.map +1 -0
- package/external-secrets/config.d.ts +5 -0
- package/external-secrets/config.js +12 -0
- package/external-secrets/config.js.map +1 -0
- package/external-secrets/externalsecrets.d.ts +22 -0
- package/external-secrets/externalsecrets.js +74 -0
- package/external-secrets/externalsecrets.js.map +1 -0
- package/external-secrets/interfaces.d.ts +10 -0
- package/external-secrets/interfaces.js +3 -0
- package/external-secrets/interfaces.js.map +1 -0
- package/iam/config.d.ts +2 -0
- package/iam/config.js +17 -0
- package/iam/config.js.map +1 -0
- package/iam/iam.d.ts +10 -0
- package/iam/iam.js +33 -0
- package/iam/iam.js.map +1 -0
- package/iam/interfaces.d.ts +12 -0
- package/iam/interfaces.js +3 -0
- package/iam/interfaces.js.map +1 -0
- package/index.d.ts +39 -0
- package/index.js +81 -0
- package/index.js.map +1 -0
- package/istio/config.d.ts +2 -0
- package/istio/config.js +18 -0
- package/istio/config.js.map +1 -0
- package/istio/interfaces.d.ts +18 -0
- package/istio/interfaces.js +3 -0
- package/istio/interfaces.js.map +1 -0
- package/istio/istio.d.ts +24 -0
- package/istio/istio.js +288 -0
- package/istio/istio.js.map +1 -0
- package/network/config.d.ts +3 -0
- package/network/config.js +23 -0
- package/network/config.js.map +1 -0
- package/network/interfaces.d.ts +31 -0
- package/network/interfaces.js +3 -0
- package/network/interfaces.js.map +1 -0
- package/network/network.d.ts +28 -0
- package/network/network.js +218 -0
- package/network/network.js.map +1 -0
- package/oke/config.d.ts +3 -0
- package/oke/config.js +25 -0
- package/oke/config.js.map +1 -0
- package/oke/interfaces.d.ts +40 -0
- package/oke/interfaces.js +3 -0
- package/oke/interfaces.js.map +1 -0
- package/oke/oke.d.ts +15 -0
- package/oke/oke.js +112 -0
- package/oke/oke.js.map +1 -0
- package/package.json +22 -0
- package/region/config.d.ts +2 -0
- package/region/config.js +9 -0
- package/region/config.js.map +1 -0
- package/region/interfaces.d.ts +7 -0
- package/region/interfaces.js +3 -0
- package/region/interfaces.js.map +1 -0
- package/region/region.d.ts +6 -0
- package/region/region.js +12 -0
- package/region/region.js.map +1 -0
- package/region/shortcode.d.ts +13 -0
- package/region/shortcode.js +22 -0
- package/region/shortcode.js.map +1 -0
- package/security/config.d.ts +3 -0
- package/security/config.js +27 -0
- package/security/config.js.map +1 -0
- package/security/interfaces.d.ts +23 -0
- package/security/interfaces.js +3 -0
- package/security/interfaces.js.map +1 -0
- package/security/security.d.ts +13 -0
- package/security/security.js +79 -0
- package/security/security.js.map +1 -0
- package/storage/config.d.ts +4 -0
- package/storage/config.js +24 -0
- package/storage/config.js.map +1 -0
- package/storage/interfaces.d.ts +19 -0
- package/storage/interfaces.js +3 -0
- package/storage/interfaces.js.map +1 -0
- package/storage/storage.d.ts +9 -0
- package/storage/storage.js +36 -0
- 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 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/external-secrets/interfaces.ts"],"names":[],"mappings":""}
|
package/iam/config.d.ts
ADDED
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 @@
|
|
|
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"}
|
package/istio/config.js
ADDED
|
@@ -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 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/istio/interfaces.ts"],"names":[],"mappings":""}
|
package/istio/istio.d.ts
ADDED
|
@@ -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
|
+
}
|