@fjall/components-infrastructure 0.18.0 → 0.19.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.
@@ -0,0 +1,4 @@
1
+ import { App } from "../../index";
2
+ export declare class FiveTranAppBuilder {
3
+ static build(appName: string, fivetranPublicKey?: string): App;
4
+ }
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FiveTranAppBuilder = void 0;
4
+ const index_1 = require("../../index");
5
+ const aws_ec2_1 = require("aws-cdk-lib/aws-ec2");
6
+ class FiveTranAppBuilder {
7
+ static build(appName, fivetranPublicKey) {
8
+ const app = index_1.App.getApp(appName);
9
+ const publicKey = fivetranPublicKey ||
10
+ "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC... YOUR_FIVETRAN_SSH_PUBLIC_KEY_HERE";
11
+ const fivetranUserData = aws_ec2_1.UserData.forLinux();
12
+ fivetranUserData.addCommands("groupadd fivetran", "useradd -m -g fivetran fivetran", "mkdir -p /home/fivetran/.ssh", "chown fivetran:fivetran /home/fivetran/.ssh", "chmod 700 /home/fivetran/.ssh", `echo "${publicKey}" > /home/fivetran/.ssh/authorized_keys`, "chown fivetran:fivetran /home/fivetran/.ssh/authorized_keys", "chmod 600 /home/fivetran/.ssh/authorized_keys");
13
+ app.addCompute(index_1.ComputeFactory.build(`${appName}Proxy`, {
14
+ type: "ec2",
15
+ config: {
16
+ instanceType: "t3.micro",
17
+ enableSSH: true,
18
+ userData: fivetranUserData,
19
+ minCapacity: 1,
20
+ maxCapacity: 1
21
+ },
22
+ tags: {
23
+ "fjall:costAllocation:environment": "production",
24
+ "fjall:costAllocation:service": "fivetran",
25
+ "fjall:costAllocation:owner": "data"
26
+ }
27
+ }));
28
+ return app;
29
+ }
30
+ }
31
+ exports.FiveTranAppBuilder = FiveTranAppBuilder;
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml2ZXRyYW5BcHBCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGliL3BhdHRlcm5zL2F3cy9maXZldHJhbkFwcEJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsdUNBQWtEO0FBQ2xELGlEQUErQztBQUUvQyxNQUFhLGtCQUFrQjtJQUM3QixNQUFNLENBQUMsS0FBSyxDQUFDLE9BQWUsRUFBRSxpQkFBMEI7UUFDdEQsTUFBTSxHQUFHLEdBQUcsV0FBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVoQyxNQUFNLFNBQVMsR0FDYixpQkFBaUI7WUFDakIsOEVBQThFLENBQUM7UUFFakYsTUFBTSxnQkFBZ0IsR0FBRyxrQkFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzdDLGdCQUFnQixDQUFDLFdBQVcsQ0FDMUIsbUJBQW1CLEVBQ25CLGlDQUFpQyxFQUNqQyw4QkFBOEIsRUFDOUIsNkNBQTZDLEVBQzdDLCtCQUErQixFQUMvQixTQUFTLFNBQVMseUNBQXlDLEVBQzNELDZEQUE2RCxFQUM3RCwrQ0FBK0MsQ0FDaEQsQ0FBQztRQUVGLEdBQUcsQ0FBQyxVQUFVLENBQ1osc0JBQWMsQ0FBQyxLQUFLLENBQUMsR0FBRyxPQUFPLE9BQU8sRUFBRTtZQUN0QyxJQUFJLEVBQUUsS0FBSztZQUNYLE1BQU0sRUFBRTtnQkFDTixZQUFZLEVBQUUsVUFBVTtnQkFDeEIsU0FBUyxFQUFFLElBQUk7Z0JBQ2YsUUFBUSxFQUFFLGdCQUFnQjtnQkFDMUIsV0FBVyxFQUFFLENBQUM7Z0JBQ2QsV0FBVyxFQUFFLENBQUM7YUFDZjtZQUNELElBQUksRUFBRTtnQkFDSixrQ0FBa0MsRUFBRSxZQUFZO2dCQUNoRCw4QkFBOEIsRUFBRSxVQUFVO2dCQUMxQyw0QkFBNEIsRUFBRSxNQUFNO2FBQ3JDO1NBQ0YsQ0FBQyxDQUNILENBQUM7UUFFRixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7Q0FDRjtBQXhDRCxnREF3Q0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcHAsIENvbXB1dGVGYWN0b3J5IH0gZnJvbSBcIi4uLy4uL2luZGV4XCI7XG5pbXBvcnQgeyBVc2VyRGF0YSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWMyXCI7XG5cbmV4cG9ydCBjbGFzcyBGaXZlVHJhbkFwcEJ1aWxkZXIge1xuICBzdGF0aWMgYnVpbGQoYXBwTmFtZTogc3RyaW5nLCBmaXZldHJhblB1YmxpY0tleT86IHN0cmluZyk6IEFwcCB7XG4gICAgY29uc3QgYXBwID0gQXBwLmdldEFwcChhcHBOYW1lKTtcblxuICAgIGNvbnN0IHB1YmxpY0tleSA9XG4gICAgICBmaXZldHJhblB1YmxpY0tleSB8fFxuICAgICAgXCJzc2gtcnNhIEFBQUFCM056YUMxeWMyRUFBQUFEQVFBQkFBQUJBUUMuLi4gWU9VUl9GSVZFVFJBTl9TU0hfUFVCTElDX0tFWV9IRVJFXCI7XG5cbiAgICBjb25zdCBmaXZldHJhblVzZXJEYXRhID0gVXNlckRhdGEuZm9yTGludXgoKTtcbiAgICBmaXZldHJhblVzZXJEYXRhLmFkZENvbW1hbmRzKFxuICAgICAgXCJncm91cGFkZCBmaXZldHJhblwiLFxuICAgICAgXCJ1c2VyYWRkIC1tIC1nIGZpdmV0cmFuIGZpdmV0cmFuXCIsXG4gICAgICBcIm1rZGlyIC1wIC9ob21lL2ZpdmV0cmFuLy5zc2hcIixcbiAgICAgIFwiY2hvd24gZml2ZXRyYW46Zml2ZXRyYW4gL2hvbWUvZml2ZXRyYW4vLnNzaFwiLFxuICAgICAgXCJjaG1vZCA3MDAgL2hvbWUvZml2ZXRyYW4vLnNzaFwiLFxuICAgICAgYGVjaG8gXCIke3B1YmxpY0tleX1cIiA+IC9ob21lL2ZpdmV0cmFuLy5zc2gvYXV0aG9yaXplZF9rZXlzYCxcbiAgICAgIFwiY2hvd24gZml2ZXRyYW46Zml2ZXRyYW4gL2hvbWUvZml2ZXRyYW4vLnNzaC9hdXRob3JpemVkX2tleXNcIixcbiAgICAgIFwiY2htb2QgNjAwIC9ob21lL2ZpdmV0cmFuLy5zc2gvYXV0aG9yaXplZF9rZXlzXCJcbiAgICApO1xuXG4gICAgYXBwLmFkZENvbXB1dGUoXG4gICAgICBDb21wdXRlRmFjdG9yeS5idWlsZChgJHthcHBOYW1lfVByb3h5YCwge1xuICAgICAgICB0eXBlOiBcImVjMlwiLFxuICAgICAgICBjb25maWc6IHtcbiAgICAgICAgICBpbnN0YW5jZVR5cGU6IFwidDMubWljcm9cIixcbiAgICAgICAgICBlbmFibGVTU0g6IHRydWUsXG4gICAgICAgICAgdXNlckRhdGE6IGZpdmV0cmFuVXNlckRhdGEsXG4gICAgICAgICAgbWluQ2FwYWNpdHk6IDEsXG4gICAgICAgICAgbWF4Q2FwYWNpdHk6IDFcbiAgICAgICAgfSxcbiAgICAgICAgdGFnczoge1xuICAgICAgICAgIFwiZmphbGw6Y29zdEFsbG9jYXRpb246ZW52aXJvbm1lbnRcIjogXCJwcm9kdWN0aW9uXCIsXG4gICAgICAgICAgXCJmamFsbDpjb3N0QWxsb2NhdGlvbjpzZXJ2aWNlXCI6IFwiZml2ZXRyYW5cIixcbiAgICAgICAgICBcImZqYWxsOmNvc3RBbGxvY2F0aW9uOm93bmVyXCI6IFwiZGF0YVwiXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcblxuICAgIHJldHVybiBhcHA7XG4gIH1cbn1cbiJdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fjall/components-infrastructure",
3
- "version": "0.18.0",
3
+ "version": "0.19.1",
4
4
  "bin": {
5
5
  "infrastructure": "bin/infrastructure.js"
6
6
  },
@@ -35,7 +35,7 @@
35
35
  "dependencies": {
36
36
  "@aws-sdk/client-cost-explorer": "^3.717.0",
37
37
  "@aws-sdk/client-organizations": "^3.716.0",
38
- "@fjall/util": "^0.18.0",
38
+ "@fjall/util": "^0.19.1",
39
39
  "@pepperize/cdk-organizations": "^0.7.135",
40
40
  "aws-cdk": "^2.146.0",
41
41
  "aws-cdk-lib": "^2.146.0",
@@ -48,5 +48,5 @@
48
48
  "overrides": {
49
49
  "@smithy/core": "2.5.5"
50
50
  },
51
- "gitHead": "6ddb4c96cb503fa33ab11753e4bda2e94b7ae885"
51
+ "gitHead": "5885c6563c25481499d44fc24e34fa89335b2203"
52
52
  }