@spear-ai/sentry-pulumi-aws 0.0.0 → 3.1.0

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 ADDED
@@ -0,0 +1,78 @@
1
+ # Sentry Pulumi
2
+
3
+ Pulumi component for self-hosted Sentry.
4
+
5
+ ## Installation
6
+
7
+ Install the packages:
8
+
9
+ `pnpm add @pulumi/aws @pulumi/eks @pulumi/kubernetes @spear-ai/sentry-pulumi-aws`
10
+
11
+ ## Usage
12
+
13
+ **index.ts**
14
+
15
+ ```ts
16
+ import * as aws from "@pulumi/aws";
17
+ import * as pulumi from "@pulumi/pulumi";
18
+ import * as sentryAws from "@spear-ai/sentry-pulumi-aws";
19
+
20
+ const config = new pulumi.Config();
21
+ const zone = // …
22
+ const certificateArn = // …
23
+ const eksCluster = // …
24
+ const albIngressClass = // …
25
+
26
+ const sentryPlatform = new sentryAws.eks.Platform("main", {
27
+ cluster: {
28
+ kubeconfig: eksCluster.kubeconfigJson,
29
+ },
30
+ containerRegistryList: [
31
+ {
32
+ password: config.requireSecret("containerRegistryPassword"),
33
+ server: "spearai.jfrog.io",
34
+ username: config.require("containerRegistryUsername"),
35
+ },
36
+ ],
37
+ helmChart: {
38
+ values: {
39
+ global: {
40
+ secret: {
41
+ // …
42
+ },
43
+ },
44
+ sentry: {
45
+ seed: {
46
+ secret: {
47
+ // …
48
+ },
49
+ },
50
+ },
51
+ },
52
+ },
53
+ loadBalancer: {
54
+ ingressClassName: albIngressClass.metadata.name,
55
+ tls: {
56
+ certificateArn,
57
+ },
58
+ },
59
+ services: {
60
+ nginx: {
61
+ hostname: "sentry.example.com",
62
+ },
63
+ },
64
+ });
65
+
66
+ new aws.route53.Record("nginx", {
67
+ name: sentryPlatform.services.nginx.hostname,
68
+ records: [sentryPlatform.services.nginx.ingressAddress],
69
+ ttl: 60,
70
+ type: "CNAME",
71
+ zoneId: zone.zoneId,
72
+ });
73
+
74
+ export const sentryUrl = sentryPlatform.services.nginx.url;
75
+ ```
76
+
77
+ The load balancer is internet-facing, so replace the chart's development credentials in `global.secret` and
78
+ `sentry.seed.secret`, or point `global.existingSecret` and `sentry.seed.existingSecret` at Secrets you maintain.
package/eks/index.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ export { PlatformArgs } from "./platform";
2
+ export type Platform = import("./platform").Platform;
3
+ export declare const Platform: typeof import("./platform").Platform;
4
+ export * from "../types/enums/eks";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../eks/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,MAAM,MAAM,QAAQ,GAAG,OAAO,YAAY,EAAE,QAAQ,CAAC;AACrD,eAAO,MAAM,QAAQ,EAAE,cAAc,YAAY,EAAE,QAAsB,CAAC;AAK1E,cAAc,oBAAoB,CAAC"}
package/eks/index.js ADDED
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by pulumi-language-nodejs. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
+ if (k2 === undefined) k2 = k;
6
+ var desc = Object.getOwnPropertyDescriptor(m, k);
7
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = { enumerable: true, get: function() { return m[k]; } };
9
+ }
10
+ Object.defineProperty(o, k2, desc);
11
+ }) : (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ o[k2] = m[k];
14
+ }));
15
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
16
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
17
+ }) : function(o, v) {
18
+ o["default"] = v;
19
+ });
20
+ var __importStar = (this && this.__importStar) || (function () {
21
+ var ownKeys = function(o) {
22
+ ownKeys = Object.getOwnPropertyNames || function (o) {
23
+ var ar = [];
24
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
25
+ return ar;
26
+ };
27
+ return ownKeys(o);
28
+ };
29
+ return function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
36
+ })();
37
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
38
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
39
+ };
40
+ Object.defineProperty(exports, "__esModule", { value: true });
41
+ exports.Platform = void 0;
42
+ const pulumi = __importStar(require("@pulumi/pulumi"));
43
+ const utilities = __importStar(require("../utilities"));
44
+ exports.Platform = null;
45
+ utilities.lazyLoad(exports, ["Platform"], () => require("./platform"));
46
+ // Export enums:
47
+ __exportStar(require("../types/enums/eks"), exports);
48
+ const _module = {
49
+ version: utilities.getVersion(),
50
+ construct: (name, type, urn) => {
51
+ switch (type) {
52
+ case "sentry-aws:eks:Platform":
53
+ return new exports.Platform(name, undefined, { urn });
54
+ default:
55
+ throw new Error(`unknown resource type ${type}`);
56
+ }
57
+ },
58
+ };
59
+ pulumi.runtime.registerResourceModule("sentry-aws", "eks", _module);
60
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../eks/index.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEjF,MAAY,MAAM,2CAAuB;AACzC,MAAY,SAAS,yCAAqB;AAK7B,QAAA,QAAQ,GAAyC,IAAW,CAAC;AAC1E,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;AAGvE,gBAAgB;AAChB,qDAAmC;AAEnC,MAAM,OAAO,GAAG;IACZ,OAAO,EAAE,SAAS,CAAC,UAAU,EAAE;IAC/B,SAAS,EAAE,CAAC,IAAY,EAAE,IAAY,EAAE,GAAW,EAAmB,EAAE;QACpE,QAAQ,IAAI,EAAE,CAAC;YACX,KAAK,yBAAyB;gBAC1B,OAAO,IAAI,QAAA,QAAQ,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YACtD;gBACI,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;QACzD,CAAC;IACL,CAAC;CACJ,CAAC;AACF,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,YAAY,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA"}
@@ -0,0 +1,55 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as inputs from "../types/input";
3
+ import * as outputs from "../types/output";
4
+ /**
5
+ * A self-hosted Sentry on an existing Amazon EKS cluster, exposed through an AWS Application Load Balancer. The EKS cluster must run the AWS Load Balancer Controller or EKS Auto Mode.
6
+ */
7
+ export declare class Platform extends pulumi.ComponentResource {
8
+ /**
9
+ * Returns true if the given object is an instance of Platform. This is designed to work even
10
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
11
+ */
12
+ static isInstance(obj: any): obj is Platform;
13
+ /**
14
+ * The Kubernetes namespace name Sentry runs in.
15
+ */
16
+ readonly namespaceName: pulumi.Output<string>;
17
+ /**
18
+ * The Sentry services that are reached from outside the EKS cluster.
19
+ */
20
+ readonly services: pulumi.Output<outputs.eks.ServiceEndpoints>;
21
+ /**
22
+ * Create a Platform resource with the given unique name, arguments, and options.
23
+ *
24
+ * @param name The _unique_ name of the resource.
25
+ * @param args The arguments to use to populate this resource's properties.
26
+ * @param opts A bag of options that control this resource's behavior.
27
+ */
28
+ constructor(name: string, args: PlatformArgs, opts?: pulumi.ComponentResourceOptions);
29
+ }
30
+ /**
31
+ * The set of arguments for constructing a Platform resource.
32
+ */
33
+ export interface PlatformArgs {
34
+ /**
35
+ * The existing EKS cluster to deploy into.
36
+ */
37
+ cluster: pulumi.Input<inputs.eks.ClusterArgs>;
38
+ /**
39
+ * The credentials for the container registries the Docker images and the Helm chart are pulled from. Each becomes a Kubernetes image pull secret listed in `global.imagePullSecrets`.
40
+ */
41
+ containerRegistryList?: pulumi.Input<pulumi.Input<inputs.eks.ContainerRegistryArgs>[] | undefined>;
42
+ /**
43
+ * The Sentry Helm chart to install. Defaults to the Helm chart released with this package.
44
+ */
45
+ helmChart?: pulumi.Input<inputs.eks.HelmChartArgs | undefined>;
46
+ /**
47
+ * The AWS Application Load Balancer the services are exposed through.
48
+ */
49
+ loadBalancer?: pulumi.Input<inputs.eks.LoadBalancerArgs | undefined>;
50
+ /**
51
+ * The Sentry services that are reached from outside the EKS cluster.
52
+ */
53
+ services: pulumi.Input<inputs.eks.ServicesArgs>;
54
+ }
55
+ //# sourceMappingURL=platform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../eks/platform.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAI3C;;GAEG;AACH,qBAAa,QAAS,SAAQ,MAAM,CAAC,iBAAiB;IAIlD;;;OAGG;IACH,OAAc,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,QAAQ,CAKlD;IAED;;OAEG;IACH,SAAgC,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACrE;;OAEG;IACH,SAAwB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAE9E;;;;;;OAMG;IACH,YAAY,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,wBAAwB,EAsBnF;CACJ;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC9C;;OAEG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC;IACnG;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;IAC/D;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAC;IACrE;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;CACnD"}
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by pulumi-language-nodejs. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
+ if (k2 === undefined) k2 = k;
6
+ var desc = Object.getOwnPropertyDescriptor(m, k);
7
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = { enumerable: true, get: function() { return m[k]; } };
9
+ }
10
+ Object.defineProperty(o, k2, desc);
11
+ }) : (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ o[k2] = m[k];
14
+ }));
15
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
16
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
17
+ }) : function(o, v) {
18
+ o["default"] = v;
19
+ });
20
+ var __importStar = (this && this.__importStar) || (function () {
21
+ var ownKeys = function(o) {
22
+ ownKeys = Object.getOwnPropertyNames || function (o) {
23
+ var ar = [];
24
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
25
+ return ar;
26
+ };
27
+ return ownKeys(o);
28
+ };
29
+ return function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
36
+ })();
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ exports.Platform = void 0;
39
+ const pulumi = __importStar(require("@pulumi/pulumi"));
40
+ const utilities = __importStar(require("../utilities"));
41
+ /**
42
+ * A self-hosted Sentry on an existing Amazon EKS cluster, exposed through an AWS Application Load Balancer. The EKS cluster must run the AWS Load Balancer Controller or EKS Auto Mode.
43
+ */
44
+ class Platform extends pulumi.ComponentResource {
45
+ /** @internal */
46
+ static __pulumiType = 'sentry-aws:eks:Platform';
47
+ /**
48
+ * Returns true if the given object is an instance of Platform. This is designed to work even
49
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
50
+ */
51
+ static isInstance(obj) {
52
+ if (obj === undefined || obj === null) {
53
+ return false;
54
+ }
55
+ return obj['__pulumiType'] === Platform.__pulumiType;
56
+ }
57
+ /**
58
+ * Create a Platform resource with the given unique name, arguments, and options.
59
+ *
60
+ * @param name The _unique_ name of the resource.
61
+ * @param args The arguments to use to populate this resource's properties.
62
+ * @param opts A bag of options that control this resource's behavior.
63
+ */
64
+ constructor(name, args, opts) {
65
+ let resourceInputs = {};
66
+ opts = opts || {};
67
+ if (!opts.id) {
68
+ if (args?.cluster === undefined && !opts.urn) {
69
+ throw new Error("Missing required property 'cluster'");
70
+ }
71
+ if (args?.services === undefined && !opts.urn) {
72
+ throw new Error("Missing required property 'services'");
73
+ }
74
+ resourceInputs["cluster"] = args?.cluster;
75
+ resourceInputs["containerRegistryList"] = args?.containerRegistryList;
76
+ resourceInputs["helmChart"] = args?.helmChart;
77
+ resourceInputs["loadBalancer"] = args?.loadBalancer;
78
+ resourceInputs["services"] = args?.services;
79
+ resourceInputs["namespaceName"] = undefined /*out*/;
80
+ }
81
+ else {
82
+ resourceInputs["namespaceName"] = undefined /*out*/;
83
+ resourceInputs["services"] = undefined /*out*/;
84
+ }
85
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
86
+ super(Platform.__pulumiType, name, resourceInputs, opts, true /*remote*/);
87
+ }
88
+ }
89
+ exports.Platform = Platform;
90
+ //# sourceMappingURL=platform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../../eks/platform.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEjF,MAAY,MAAM,2CAAuB;AAIzC,MAAY,SAAS,yCAAqB;AAE1C;;GAEG;AACH,cAAsB,SAAQ,MAAM,CAAC,iBAAiB;IAClD,gBAAgB;IACT,MAAM,CAAU,YAAY,GAAG,yBAAyB,CAAC;IAEhE;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACpC,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,QAAQ,CAAC,YAAY,CAAC;IACzD,CAAC;IAWD;;;;;;OAMG;IACH,YAAY,IAAY,EAAE,IAAkB,EAAE,IAAsC;QAChF,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACX,IAAI,IAAI,EAAE,OAAO,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC3C,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;YAC3D,CAAC;YACD,IAAI,IAAI,EAAE,QAAQ,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC5C,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;YAC5D,CAAC;YACD,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC;YAC1C,cAAc,CAAC,uBAAuB,CAAC,GAAG,IAAI,EAAE,qBAAqB,CAAC;YACtE,cAAc,CAAC,WAAW,CAAC,GAAG,IAAI,EAAE,SAAS,CAAC;YAC9C,cAAc,CAAC,cAAc,CAAC,GAAG,IAAI,EAAE,YAAY,CAAC;YACpD,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC;YAC5C,cAAc,CAAC,eAAe,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;QACxD,CAAC;aAAM,CAAC;YACJ,cAAc,CAAC,eAAe,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YACpD,cAAc,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;QACnD,CAAC;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,QAAQ,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9E,CAAC;CACJ"}
package/index.d.ts ADDED
@@ -0,0 +1,7 @@
1
+ export { ProviderArgs } from "./provider";
2
+ export type Provider = import("./provider").Provider;
3
+ export declare const Provider: typeof import("./provider").Provider;
4
+ import * as eks from "./eks";
5
+ import * as types from "./types";
6
+ export { eks, types, };
7
+ //# sourceMappingURL=index.d.ts.map
package/index.d.ts.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,MAAM,MAAM,QAAQ,GAAG,OAAO,YAAY,EAAE,QAAQ,CAAC;AACrD,eAAO,MAAM,QAAQ,EAAE,cAAc,YAAY,EAAE,QAAsB,CAAC;AAK1E,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,EACH,GAAG,EACH,KAAK,GACR,CAAC"}
package/index.js ADDED
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by pulumi-language-nodejs. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
+ if (k2 === undefined) k2 = k;
6
+ var desc = Object.getOwnPropertyDescriptor(m, k);
7
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = { enumerable: true, get: function() { return m[k]; } };
9
+ }
10
+ Object.defineProperty(o, k2, desc);
11
+ }) : (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ o[k2] = m[k];
14
+ }));
15
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
16
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
17
+ }) : function(o, v) {
18
+ o["default"] = v;
19
+ });
20
+ var __importStar = (this && this.__importStar) || (function () {
21
+ var ownKeys = function(o) {
22
+ ownKeys = Object.getOwnPropertyNames || function (o) {
23
+ var ar = [];
24
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
25
+ return ar;
26
+ };
27
+ return ownKeys(o);
28
+ };
29
+ return function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
36
+ })();
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ exports.types = exports.eks = exports.Provider = void 0;
39
+ const pulumi = __importStar(require("@pulumi/pulumi"));
40
+ const utilities = __importStar(require("./utilities"));
41
+ exports.Provider = null;
42
+ utilities.lazyLoad(exports, ["Provider"], () => require("./provider"));
43
+ // Export sub-modules:
44
+ const eks = __importStar(require("./eks"));
45
+ exports.eks = eks;
46
+ const types = __importStar(require("./types"));
47
+ exports.types = types;
48
+ pulumi.runtime.registerResourcePackage("sentry-aws", {
49
+ version: utilities.getVersion(),
50
+ constructProvider: (name, type, urn) => {
51
+ if (type !== "pulumi:providers:sentry-aws") {
52
+ throw new Error(`unknown provider type ${type}`);
53
+ }
54
+ return new exports.Provider(name, undefined, { urn });
55
+ },
56
+ });
57
+ //# sourceMappingURL=index.js.map
package/index.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEjF,MAAY,MAAM,2CAAuB;AACzC,MAAY,SAAS,wCAAoB;AAK5B,QAAA,QAAQ,GAAyC,IAAW,CAAC;AAC1E,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;AAGvE,sBAAsB;AACtB,MAAY,GAAG,kCAAc;QAIzB,GAAG;AAHP,MAAY,KAAK,oCAAgB;QAI7B,KAAK;AAET,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,YAAY,EAAE;IACjD,OAAO,EAAE,SAAS,CAAC,UAAU,EAAE;IAC/B,iBAAiB,EAAE,CAAC,IAAY,EAAE,IAAY,EAAE,GAAW,EAA2B,EAAE;QACpF,IAAI,IAAI,KAAK,6BAA6B,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,IAAI,QAAA,QAAQ,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IACvD,CAAC;CACJ,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,21 @@
1
1
  {
2
2
  "name": "@spear-ai/sentry-pulumi-aws",
3
- "version": "0.0.0",
4
- "description": "A placeholder that CI replaces with the Sentry Pulumi SDK.",
5
- "license": "UNLICENSED"
6
- }
3
+ "version": "3.1.0",
4
+ "license": "UNLICENSED",
5
+ "dependencies": {
6
+ "@pulumi/pulumi": "^3.142.0"
7
+ },
8
+ "devDependencies": {
9
+ "@types/node": "^20",
10
+ "typescript": "^4.7.0"
11
+ },
12
+ "pulumi": {
13
+ "resource": true,
14
+ "name": "sentry-aws",
15
+ "version": "3.1.0",
16
+ "server": "https://spearai.jfrog.io/artifactory/spear-ai-generic-local/pulumi/sentry-aws/v${VERSION}"
17
+ },
18
+ "scripts": {
19
+ "build": "tsc"
20
+ }
21
+ }
package/provider.d.ts ADDED
@@ -0,0 +1,22 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ export declare class Provider extends pulumi.ProviderResource {
3
+ /**
4
+ * Returns true if the given object is an instance of Provider. This is designed to work even
5
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
6
+ */
7
+ static isInstance(obj: any): obj is Provider;
8
+ /**
9
+ * Create a Provider resource with the given unique name, arguments, and options.
10
+ *
11
+ * @param name The _unique_ name of the resource.
12
+ * @param args The arguments to use to populate this resource's properties.
13
+ * @param opts A bag of options that control this resource's behavior.
14
+ */
15
+ constructor(name: string, args?: ProviderArgs, opts?: pulumi.ResourceOptions);
16
+ }
17
+ /**
18
+ * The set of arguments for constructing a Provider resource.
19
+ */
20
+ export interface ProviderArgs {
21
+ }
22
+ //# sourceMappingURL=provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../provider.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAGzC,qBAAa,QAAS,SAAQ,MAAM,CAAC,gBAAgB;IAIjD;;;OAGG;IACH,OAAc,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,QAAQ,CAKlD;IAGD;;;;;;OAMG;IACH,YAAY,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,eAAe,EAO3E;CACJ;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;CAC5B"}
package/provider.js ADDED
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by pulumi-language-nodejs. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
+ if (k2 === undefined) k2 = k;
6
+ var desc = Object.getOwnPropertyDescriptor(m, k);
7
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = { enumerable: true, get: function() { return m[k]; } };
9
+ }
10
+ Object.defineProperty(o, k2, desc);
11
+ }) : (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ o[k2] = m[k];
14
+ }));
15
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
16
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
17
+ }) : function(o, v) {
18
+ o["default"] = v;
19
+ });
20
+ var __importStar = (this && this.__importStar) || (function () {
21
+ var ownKeys = function(o) {
22
+ ownKeys = Object.getOwnPropertyNames || function (o) {
23
+ var ar = [];
24
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
25
+ return ar;
26
+ };
27
+ return ownKeys(o);
28
+ };
29
+ return function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
36
+ })();
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ exports.Provider = void 0;
39
+ const pulumi = __importStar(require("@pulumi/pulumi"));
40
+ const utilities = __importStar(require("./utilities"));
41
+ class Provider extends pulumi.ProviderResource {
42
+ /** @internal */
43
+ static __pulumiType = 'sentry-aws';
44
+ /**
45
+ * Returns true if the given object is an instance of Provider. This is designed to work even
46
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
47
+ */
48
+ static isInstance(obj) {
49
+ if (obj === undefined || obj === null) {
50
+ return false;
51
+ }
52
+ return obj['__pulumiType'] === "pulumi:providers:" + Provider.__pulumiType;
53
+ }
54
+ /**
55
+ * Create a Provider resource with the given unique name, arguments, and options.
56
+ *
57
+ * @param name The _unique_ name of the resource.
58
+ * @param args The arguments to use to populate this resource's properties.
59
+ * @param opts A bag of options that control this resource's behavior.
60
+ */
61
+ constructor(name, args, opts) {
62
+ let resourceInputs = {};
63
+ opts = opts || {};
64
+ {
65
+ }
66
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
67
+ super(Provider.__pulumiType, name, resourceInputs, opts);
68
+ }
69
+ }
70
+ exports.Provider = Provider;
71
+ //# sourceMappingURL=provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../provider.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEjF,MAAY,MAAM,2CAAuB;AACzC,MAAY,SAAS,wCAAoB;AAEzC,cAAsB,SAAQ,MAAM,CAAC,gBAAgB;IACjD,gBAAgB;IACT,MAAM,CAAU,YAAY,GAAG,YAAY,CAAC;IAEnD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACpC,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,mBAAmB,GAAG,QAAQ,CAAC,YAAY,CAAC;IAC/E,CAAC;IAGD;;;;;;OAMG;IACH,YAAY,IAAY,EAAE,IAAmB,EAAE,IAA6B;QACxE,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,CAAC;QACD,CAAC;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,QAAQ,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;CACJ"}
@@ -0,0 +1,12 @@
1
+ export declare const LoadBalancerScheme: {
2
+ /**
3
+ * The load balancer's nodes have only private IP addresses, so it routes requests only from clients with access to its VPC.
4
+ */
5
+ readonly Internal: "internal";
6
+ /**
7
+ * The load balancer's nodes have public IP addresses, so it routes requests from clients over the internet.
8
+ */
9
+ readonly InternetFacing: "internet-facing";
10
+ };
11
+ export type LoadBalancerScheme = (typeof LoadBalancerScheme)[keyof typeof LoadBalancerScheme];
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../types/enums/eks/index.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,kBAAkB;IAC3B;;OAEG;aACH,QAAQ,EAAE,UAAU;IACpB;;OAEG;aACH,cAAc,EAAE,iBAAiB;CAC3B,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,OAAO,kBAAkB,CAAC,CAAC"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by pulumi-language-nodejs. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.LoadBalancerScheme = void 0;
6
+ exports.LoadBalancerScheme = {
7
+ /**
8
+ * The load balancer's nodes have only private IP addresses, so it routes requests only from clients with access to its VPC.
9
+ */
10
+ Internal: "internal",
11
+ /**
12
+ * The load balancer's nodes have public IP addresses, so it routes requests from clients over the internet.
13
+ */
14
+ InternetFacing: "internet-facing",
15
+ };
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../types/enums/eks/index.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAGpE,QAAA,kBAAkB,GAAG;IAC9B;;OAEG;IACH,QAAQ,EAAE,UAAU;IACpB;;OAEG;IACH,cAAc,EAAE,iBAAiB;CAC3B,CAAC"}
@@ -0,0 +1,3 @@
1
+ import * as eks from "./eks";
2
+ export { eks, };
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../types/enums/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAE7B,OAAO,EACH,GAAG,GACN,CAAC"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by pulumi-language-nodejs. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
+ if (k2 === undefined) k2 = k;
6
+ var desc = Object.getOwnPropertyDescriptor(m, k);
7
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = { enumerable: true, get: function() { return m[k]; } };
9
+ }
10
+ Object.defineProperty(o, k2, desc);
11
+ }) : (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ o[k2] = m[k];
14
+ }));
15
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
16
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
17
+ }) : function(o, v) {
18
+ o["default"] = v;
19
+ });
20
+ var __importStar = (this && this.__importStar) || (function () {
21
+ var ownKeys = function(o) {
22
+ ownKeys = Object.getOwnPropertyNames || function (o) {
23
+ var ar = [];
24
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
25
+ return ar;
26
+ };
27
+ return ownKeys(o);
28
+ };
29
+ return function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
36
+ })();
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ exports.eks = void 0;
39
+ // Export sub-modules:
40
+ const eks = __importStar(require("./eks"));
41
+ exports.eks = eks;
42
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../types/enums/index.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEjF,sBAAsB;AACtB,MAAY,GAAG,kCAAc;QAGzB,GAAG"}
@@ -0,0 +1,5 @@
1
+ import * as enums from "./enums";
2
+ import * as input from "./input";
3
+ import * as output from "./output";
4
+ export { enums, input, output, };
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../types/index.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AAEnC,OAAO,EACH,KAAK,EACL,KAAK,EACL,MAAM,GACT,CAAC"}
package/types/index.js ADDED
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by pulumi-language-nodejs. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
+ if (k2 === undefined) k2 = k;
6
+ var desc = Object.getOwnPropertyDescriptor(m, k);
7
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = { enumerable: true, get: function() { return m[k]; } };
9
+ }
10
+ Object.defineProperty(o, k2, desc);
11
+ }) : (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ o[k2] = m[k];
14
+ }));
15
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
16
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
17
+ }) : function(o, v) {
18
+ o["default"] = v;
19
+ });
20
+ var __importStar = (this && this.__importStar) || (function () {
21
+ var ownKeys = function(o) {
22
+ ownKeys = Object.getOwnPropertyNames || function (o) {
23
+ var ar = [];
24
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
25
+ return ar;
26
+ };
27
+ return ownKeys(o);
28
+ };
29
+ return function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
36
+ })();
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ exports.output = exports.input = exports.enums = void 0;
39
+ // Export sub-modules:
40
+ const enums = __importStar(require("./enums"));
41
+ exports.enums = enums;
42
+ const input = __importStar(require("./input"));
43
+ exports.input = input;
44
+ const output = __importStar(require("./output"));
45
+ exports.output = output;
46
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../types/index.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIjF,sBAAsB;AACtB,MAAY,KAAK,oCAAgB;QAK7B,KAAK;AAJT,MAAY,KAAK,oCAAgB;QAK7B,KAAK;AAJT,MAAY,MAAM,qCAAiB;QAK/B,MAAM"}
@@ -0,0 +1,116 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as inputs from "../types/input";
3
+ import * as enums from "../types/enums";
4
+ export declare namespace eks {
5
+ /**
6
+ * The existing EKS cluster to deploy into.
7
+ */
8
+ interface ClusterArgs {
9
+ /**
10
+ * The target Kubernetes cluster's kubeconfig, such as an EKS cluster's `kubeconfigJson`. It's kept secret.
11
+ */
12
+ kubeconfig: pulumi.Input<string>;
13
+ /**
14
+ * The Kubernetes namespace to install into.
15
+ */
16
+ namespace?: pulumi.Input<inputs.eks.NamespaceArgs | undefined>;
17
+ }
18
+ /**
19
+ * The container registry credentials for pulling Docker images or the Helm chart.
20
+ */
21
+ interface ContainerRegistryArgs {
22
+ /**
23
+ * The password or access token.
24
+ */
25
+ password: pulumi.Input<string>;
26
+ /**
27
+ * The container registry hostname, such as `registry.example.com`.
28
+ */
29
+ server: pulumi.Input<string>;
30
+ /**
31
+ * The username.
32
+ */
33
+ username: pulumi.Input<string>;
34
+ }
35
+ /**
36
+ * The Sentry Helm chart to install.
37
+ */
38
+ interface HelmChartArgs {
39
+ /**
40
+ * The Helm chart location: an OCI reference, or a Helm chart directory such as the one in a Git checkout. Defaults to `oci://spearai.jfrog.io/spear-ai-docker-local/charts/sentry`, where Spear AI publishes it. A directory's Docker images are tagged `local`, so set their tags or digests in `values`.
41
+ */
42
+ location?: pulumi.Input<string | undefined>;
43
+ /**
44
+ * The Helm chart's values, as its `values.yaml` documents them. The component layers the values it computes from its other inputs on top. The whole map is kept secret, so secrets nested anywhere in it stay encrypted in the state.
45
+ */
46
+ values?: pulumi.Input<{
47
+ [key: string]: any;
48
+ } | undefined>;
49
+ /**
50
+ * The OCI Helm chart version to pull. Defaults to this package's version.
51
+ */
52
+ version?: pulumi.Input<string | undefined>;
53
+ }
54
+ /**
55
+ * The AWS Application Load Balancer for the Helm chart's Kubernetes Ingress. The AWS Load Balancer Controller or EKS Auto Mode provisions it.
56
+ */
57
+ interface LoadBalancerArgs {
58
+ /**
59
+ * The AWS Load Balancer Controller ingress group name. Deployments with the same group name share one load balancer, and each deployment gets its own when unset. EKS Auto Mode doesn't support it, and sets groups on the Kubernetes IngressClass instead.
60
+ */
61
+ groupName?: pulumi.Input<string | undefined>;
62
+ /**
63
+ * The Kubernetes IngressClass for the Helm chart's Kubernetes Ingress. It picks which controller provisions the load balancer: the AWS Load Balancer Controller or EKS Auto Mode. Defaults to `alb`.
64
+ */
65
+ ingressClassName?: pulumi.Input<string | undefined>;
66
+ /**
67
+ * Which clients the load balancer accepts requests from. Defaults to `internet-facing`.
68
+ */
69
+ scheme?: pulumi.Input<enums.eks.LoadBalancerScheme | undefined>;
70
+ /**
71
+ * The TLS termination at the load balancer. When set, the load balancer serves HTTPS on port 443 with an ACM certificate and redirects HTTP on port 80 to it. When unset, it serves plain HTTP on port 80.
72
+ */
73
+ tls?: pulumi.Input<inputs.eks.TlsArgs | undefined>;
74
+ }
75
+ /**
76
+ * The Kubernetes namespace Sentry is installed into.
77
+ */
78
+ interface NamespaceArgs {
79
+ /**
80
+ * Whether to create the Kubernetes namespace. Defaults to `true`.
81
+ */
82
+ creationIsEnabled?: pulumi.Input<boolean | undefined>;
83
+ /**
84
+ * The Kubernetes namespace name. Defaults to `sentry`.
85
+ */
86
+ name?: pulumi.Input<string | undefined>;
87
+ }
88
+ /**
89
+ * The NGINX proxy in front of Sentry, the Helm chart's `nginx` subchart.
90
+ */
91
+ interface NginxServiceArgs {
92
+ /**
93
+ * The hostname Sentry is reached at. It sets the Kubernetes Ingress host and Sentry's `SENTRY_URL_PREFIX`.
94
+ */
95
+ hostname: pulumi.Input<string>;
96
+ }
97
+ /**
98
+ * The Sentry services reached from outside the EKS cluster, by subchart.
99
+ */
100
+ interface ServicesArgs {
101
+ /**
102
+ * The NGINX proxy in front of Sentry, which sends SDK traffic to Relay and everything else to Sentry.
103
+ */
104
+ nginx: pulumi.Input<inputs.eks.NginxServiceArgs>;
105
+ }
106
+ /**
107
+ * The TLS termination at the load balancer with an ACM certificate.
108
+ */
109
+ interface TlsArgs {
110
+ /**
111
+ * The ACM certificate to terminate TLS with. Defaults to the certificate the AWS Load Balancer Controller discovers in ACM for the NGINX hostname. Set it on EKS Auto Mode, which doesn't document certificate discovery.
112
+ */
113
+ certificateArn?: pulumi.Input<string | undefined>;
114
+ }
115
+ }
116
+ //# sourceMappingURL=input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../types/input.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAEzC,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AAExC,yBAAiB,GAAG,CAAC;IACjB;;OAEG;IACH,UAAiB,WAAW;QACxB;;WAEG;QACH,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACjC;;WAEG;QACH,SAAS,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;KAClE;IAED;;OAEG;IACH,UAAiB,qBAAqB;QAClC;;WAEG;QACH,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC/B;;WAEG;QACH,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC7B;;WAEG;QACH,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;KAClC;IAED;;OAEG;IACH,UAAiB,aAAa;QAC1B;;WAEG;QACH,QAAQ,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;QAC5C;;WAEG;QACH,MAAM,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC;YAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;SAAC,GAAG,SAAS,CAAC,CAAC;QACxD;;WAEG;QACH,OAAO,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;KAC9C;IAED;;OAEG;IACH,UAAiB,gBAAgB;QAC7B;;WAEG;QACH,SAAS,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;QAC7C;;WAEG;QACH,gBAAgB,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;QACpD;;WAEG;QACH,MAAM,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAAC;QAChE;;WAEG;QACH,GAAG,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;KACtD;IAED;;OAEG;IACH,UAAiB,aAAa;QAC1B;;WAEG;QACH,iBAAiB,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;QACtD;;WAEG;QACH,IAAI,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;KAC3C;IAED;;OAEG;IACH,UAAiB,gBAAgB;QAC7B;;WAEG;QACH,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;KAClC;IAED;;OAEG;IACH,UAAiB,YAAY;QACzB;;WAEG;QACH,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;KACpD;IAED;;OAEG;IACH,UAAiB,OAAO;QACpB;;WAEG;QACH,cAAc,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;KACrD;CACJ"}
package/types/input.js ADDED
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by pulumi-language-nodejs. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ //# sourceMappingURL=input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.js","sourceRoot":"","sources":["../../types/input.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF"}
@@ -0,0 +1,30 @@
1
+ import * as outputs from "../types/output";
2
+ export declare namespace eks {
3
+ /**
4
+ * Where the NGINX proxy in front of Sentry is reached.
5
+ */
6
+ interface NginxEndpoint {
7
+ /**
8
+ * The hostname Sentry is reached at.
9
+ */
10
+ hostname: string;
11
+ /**
12
+ * The load balancer hostname for the NGINX Kubernetes Ingress.
13
+ */
14
+ ingressAddress: string;
15
+ /**
16
+ * The Sentry URL.
17
+ */
18
+ url: string;
19
+ }
20
+ /**
21
+ * Where each Sentry service is reached.
22
+ */
23
+ interface ServiceEndpoints {
24
+ /**
25
+ * The NGINX proxy in front of Sentry.
26
+ */
27
+ nginx: outputs.eks.NginxEndpoint;
28
+ }
29
+ }
30
+ //# sourceMappingURL=output.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../types/output.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAG3C,yBAAiB,GAAG,CAAC;IACjB;;OAEG;IACH,UAAiB,aAAa;QAC1B;;WAEG;QACH,QAAQ,EAAE,MAAM,CAAC;QACjB;;WAEG;QACH,cAAc,EAAE,MAAM,CAAC;QACvB;;WAEG;QACH,GAAG,EAAE,MAAM,CAAC;KACf;IAED;;OAEG;IACH,UAAiB,gBAAgB;QAC7B;;WAEG;QACH,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;KACpC;CAEJ"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by pulumi-language-nodejs. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ //# sourceMappingURL=output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../../types/output.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF"}
package/utilities.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ export declare function getEnv(...vars: string[]): string | undefined;
2
+ export declare function getEnvBoolean(...vars: string[]): boolean | undefined;
3
+ export declare function getEnvNumber(...vars: string[]): number | undefined;
4
+ export declare function getVersion(): string;
5
+ //# sourceMappingURL=utilities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utilities.d.ts","sourceRoot":"","sources":["../utilities.ts"],"names":[],"mappings":"AAOA,wBAAgB,MAAM,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,CAQ5D;AAED,wBAAgB,aAAa,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,GAAG,SAAS,CAapE;AAED,wBAAgB,YAAY,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,CASlE;AAED,wBAAgB,UAAU,IAAI,MAAM,CAQnC"}
package/utilities.js ADDED
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by pulumi-language-nodejs. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
+ if (k2 === undefined) k2 = k;
6
+ var desc = Object.getOwnPropertyDescriptor(m, k);
7
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = { enumerable: true, get: function() { return m[k]; } };
9
+ }
10
+ Object.defineProperty(o, k2, desc);
11
+ }) : (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ o[k2] = m[k];
14
+ }));
15
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
16
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
17
+ }) : function(o, v) {
18
+ o["default"] = v;
19
+ });
20
+ var __importStar = (this && this.__importStar) || (function () {
21
+ var ownKeys = function(o) {
22
+ ownKeys = Object.getOwnPropertyNames || function (o) {
23
+ var ar = [];
24
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
25
+ return ar;
26
+ };
27
+ return ownKeys(o);
28
+ };
29
+ return function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
36
+ })();
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ exports.getEnv = getEnv;
39
+ exports.getEnvBoolean = getEnvBoolean;
40
+ exports.getEnvNumber = getEnvNumber;
41
+ exports.getVersion = getVersion;
42
+ exports.resourceOptsDefaults = resourceOptsDefaults;
43
+ exports.lazyLoad = lazyLoad;
44
+ exports.callAsync = callAsync;
45
+ const runtime = __importStar(require("@pulumi/pulumi/runtime"));
46
+ function getEnv(...vars) {
47
+ for (const v of vars) {
48
+ const value = process.env[v];
49
+ if (value) {
50
+ return value;
51
+ }
52
+ }
53
+ return undefined;
54
+ }
55
+ function getEnvBoolean(...vars) {
56
+ const s = getEnv(...vars);
57
+ if (s !== undefined) {
58
+ // NOTE: these values are taken from https://golang.org/src/strconv/atob.go?s=351:391#L1, which is what
59
+ // Terraform uses internally when parsing boolean values.
60
+ if (["1", "t", "T", "true", "TRUE", "True"].find(v => v === s) !== undefined) {
61
+ return true;
62
+ }
63
+ if (["0", "f", "F", "false", "FALSE", "False"].find(v => v === s) !== undefined) {
64
+ return false;
65
+ }
66
+ }
67
+ return undefined;
68
+ }
69
+ function getEnvNumber(...vars) {
70
+ const s = getEnv(...vars);
71
+ if (s !== undefined) {
72
+ const f = parseFloat(s);
73
+ if (!isNaN(f)) {
74
+ return f;
75
+ }
76
+ }
77
+ return undefined;
78
+ }
79
+ function getVersion() {
80
+ let version = require('./package.json').version;
81
+ // Node allows for the version to be prefixed by a "v", while semver doesn't.
82
+ // If there is a v, strip it off.
83
+ if (version.indexOf('v') === 0) {
84
+ version = version.slice(1);
85
+ }
86
+ return version;
87
+ }
88
+ /** @internal */
89
+ function resourceOptsDefaults() {
90
+ return { version: getVersion(), pluginDownloadURL: "https://spearai.jfrog.io/artifactory/spear-ai-generic-local/pulumi/sentry-aws/v${VERSION}" };
91
+ }
92
+ /** @internal */
93
+ function lazyLoad(exports, props, loadModule) {
94
+ for (let property of props) {
95
+ Object.defineProperty(exports, property, {
96
+ enumerable: true,
97
+ get: function () {
98
+ return loadModule()[property];
99
+ },
100
+ });
101
+ }
102
+ }
103
+ /** @internal */
104
+ async function callAsync(tok, props, res, opts) {
105
+ const o = runtime.call(tok, props, res);
106
+ const value = await o.promise(true /*withUnknowns*/);
107
+ const isKnown = await o.isKnown;
108
+ const isSecret = await o.isSecret;
109
+ const problem = !isKnown ? "an unknown value"
110
+ : isSecret ? "a secret value"
111
+ : undefined;
112
+ // Ingoring o.resources silently. They are typically non-empty, r.f() calls include r as a dependency.
113
+ if (problem) {
114
+ throw new Error(`Plain resource method "${tok}" incorrectly returned ${problem}. ` +
115
+ "This is an error in the provider, please report this to the provider developer.");
116
+ }
117
+ // Extract a single property if requested.
118
+ if (opts && opts.property) {
119
+ return value[opts.property];
120
+ }
121
+ return value;
122
+ }
123
+ //# sourceMappingURL=utilities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utilities.js","sourceRoot":"","sources":["../utilities.ts"],"names":[],"mappings":"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"}