@goldstack/template-hetzner-vps 0.1.2

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,3 @@
1
+ # Goldstack Hetzner VPS Tools
2
+
3
+ Tools for provisioning Hetzner servers.
@@ -0,0 +1,3 @@
1
+ import type { HetznerVPSPackage, HetznerVPSDeployment } from './types/HetznerVPSPackage';
2
+ export type { HetznerVPSDeployment, HetznerVPSPackage };
3
+ //# sourceMappingURL=templateHetznerVPS.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templateHetznerVPS.d.ts","sourceRoot":"","sources":["../../src/templateHetznerVPS.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,2BAA2B,CAAC;AAEnC,YAAY,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=templateHetznerVPS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templateHetznerVPS.js","sourceRoot":"","sources":["../../src/templateHetznerVPS.ts"],"names":[],"mappings":""}
@@ -0,0 +1,104 @@
1
+ import { Package } from '@goldstack/utils-package';
2
+ import { AWSDeployment } from '@goldstack/infra-aws';
3
+ import { HetznerDeployment } from '@goldstack/infra-hetzner';
4
+ import { TerraformDeployment } from '@goldstack/utils-terraform';
5
+ import { Deployment } from '@goldstack/infra';
6
+ import { DeploymentConfiguration } from '@goldstack/infra';
7
+ export { DeploymentConfiguration };
8
+ import { Configuration } from '@goldstack/utils-package';
9
+ export { Configuration };
10
+ /**
11
+ * The Hetzner location this server should be deployed to.
12
+ *
13
+ * @title Location
14
+ * @pattern ^[^\s]*
15
+ */
16
+ export declare type Location = string;
17
+ /**
18
+ * The Hetzner server name that should be used for this server.
19
+ *
20
+ * @title Server Name
21
+ * @pattern ^[^\s]*
22
+ */
23
+ export declare type ServerName = string;
24
+ /**
25
+ * The Hetzner server type that should be used for this server.
26
+ *
27
+ * @title Server Type
28
+ * @pattern ^[^\s]*
29
+ */
30
+ export declare type ServerType = string;
31
+ /**
32
+ * The SSH fingerprint of the SSH user that should be granted access to the server.
33
+ *
34
+ * @title SSH User Fingerprint
35
+ * @pattern ^[^\s]*
36
+ */
37
+ export declare type SSHUserFingerprint = string;
38
+ /**
39
+ * Only allow SSH access to the server from the specified IP.
40
+ *
41
+ * @title Only allow SSH access from IP
42
+ */
43
+ export declare type OnlyAllowSSHAccessFromIP = string;
44
+ /**
45
+ * The S3 Bucket that will be used to transfer the files to the server.
46
+ *
47
+ * @title Deployments S3 Bucket
48
+ * @pattern ^[^\s]*
49
+ */
50
+ export declare type DeploymentsS3Bucket = string;
51
+ /**
52
+ * The name of the IAM user that the VPS server uses to access AWS resources
53
+ *
54
+ * @title VPS IAM User name
55
+ * @pattern ^[^\s]*
56
+ */
57
+ export declare type VPSIAMUserName = string;
58
+ /**
59
+ * The Hetzner server deployment configuration
60
+ */
61
+ export interface HetznerVPSDeploymentConfiguration extends DeploymentConfiguration {
62
+ location: Location;
63
+ serverType: ServerType;
64
+ sshUserFingerprint?: SSHUserFingerprint;
65
+ serverName: ServerName;
66
+ deploymentsS3Bucket?: DeploymentsS3Bucket;
67
+ onlyAllowSshAccessFromIp?: OnlyAllowSSHAccessFromIP;
68
+ vpsIAMUserName?: VPSIAMUserName;
69
+ }
70
+ /**
71
+ * Configures a deployment target for the Hetzner server.
72
+ *
73
+ * @Title Deployment
74
+ *
75
+ */
76
+ export interface HetznerVPSDeployment extends Deployment, AWSDeployment, HetznerDeployment, TerraformDeployment {
77
+ configuration: HetznerVPSDeploymentConfiguration;
78
+ }
79
+ /**
80
+ * Configurations for Hetzner VPS deployments.
81
+ *
82
+ * @title Deployments
83
+ */
84
+ export declare type HetznerVPSDeployments = HetznerVPSDeployment[];
85
+ /**
86
+ * Hetzner VPS package configuration
87
+ *
88
+ * @title Hetzner VPS Configuration
89
+ *
90
+ */
91
+ export interface HetznerVPSPackageConfiguration extends Configuration {
92
+ [propName: string]: any;
93
+ }
94
+ /**
95
+ * A package for provisioning Hetzner servers with Docker.
96
+ *
97
+ * @title Email Send Package
98
+ */
99
+ export interface HetznerVPSPackage extends Package {
100
+ configuration: HetznerVPSPackageConfiguration;
101
+ deployments: HetznerVPSDeployments;
102
+ }
103
+ export default HetznerVPSPackage;
104
+ //# sourceMappingURL=HetznerVPSPackage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HetznerVPSPackage.d.ts","sourceRoot":"","sources":["../../../src/types/HetznerVPSPackage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAEnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,CAAC;AAEzB;;;;;GAKG;AACH,oBAAY,QAAQ,GAAG,MAAM,CAAC;AAE9B;;;;;GAKG;AACH,oBAAY,UAAU,GAAG,MAAM,CAAC;AAEhC;;;;;GAKG;AACH,oBAAY,UAAU,GAAG,MAAM,CAAC;AAEhC;;;;;GAKG;AACH,oBAAY,kBAAkB,GAAG,MAAM,CAAC;AAExC;;;;GAIG;AACH,oBAAY,wBAAwB,GAAG,MAAM,CAAC;AAE9C;;;;;GAKG;AACH,oBAAY,mBAAmB,GAAG,MAAM,CAAC;AAEzC;;;;;GAKG;AACH,oBAAY,cAAc,GAAG,MAAM,CAAC;AAEpC;;GAEG;AACH,MAAM,WAAW,iCACf,SAAQ,uBAAuB;IAC/B,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,UAAU,CAAC;IACvB,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,UAAU,EAAE,UAAU,CAAC;IACvB,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;IACpD,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBACf,SAAQ,UAAU,EAChB,aAAa,EACb,iBAAiB,EACjB,mBAAmB;IACrB,aAAa,EAAE,iCAAiC,CAAC;CAClD;AAED;;;;GAIG;AACH,oBAAY,qBAAqB,GAAG,oBAAoB,EAAE,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,WAAW,8BAA+B,SAAQ,aAAa;IACnE,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,CAAC;CACzB;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAkB,SAAQ,OAAO;IAChD,aAAa,EAAE,8BAA8B,CAAC;IAC9C,WAAW,EAAE,qBAAqB,CAAC;CACpC;AAED,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=HetznerVPSPackage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HetznerVPSPackage.js","sourceRoot":"","sources":["../../../src/types/HetznerVPSPackage.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,73 @@
1
+ {
2
+ "name": "@goldstack/template-hetzner-vps",
3
+ "version": "0.1.2",
4
+ "description": "Utilities for packages that help provision Hetzner Servers",
5
+ "keywords": [
6
+ "goldstack",
7
+ "utility",
8
+ "infrastructure",
9
+ "IaC",
10
+ "aws",
11
+ "SES",
12
+ "email",
13
+ "configuration"
14
+ ],
15
+ "homepage": "https://goldstack.party",
16
+ "bugs": {
17
+ "url": "https://github.com/goldstack/goldstack/issues"
18
+ },
19
+ "repository": {
20
+ "type": "git",
21
+ "url": "https://github.com/goldstack/goldstack.git"
22
+ },
23
+ "license": "MIT",
24
+ "author": "Max Rohde",
25
+ "sideEffects": false,
26
+ "main": "dist/src/templateHetznerVPS.js",
27
+ "scripts": {
28
+ "build": "yarn clean && yarn compile",
29
+ "build:watch": "yarn clean && yarn compile-watch",
30
+ "clean": "rimraf ./dist",
31
+ "compile": "tsc -p tsconfig.json",
32
+ "compile-watch": "tsc -p tsconfig.json --watch",
33
+ "compile-watch:light": "nodemon --watch ./src/ -e '*' --exec 'yarn compile'",
34
+ "coverage": "jest --collect-coverage --passWithNoTests --config=./jest.config.js --runInBand",
35
+ "generate-schema": "ts-node scripts/generateSchemas.ts HetznerVPS && cp schemas/* ../../../templates/packages/hetzner-vps/schemas",
36
+ "prepublishOnly": "yarn run build",
37
+ "publish": "utils-git changed --exec \"yarn npm publish $@\"",
38
+ "test": "GOLDSTACK_DEPLOYMENT=local jest --watch --config=./jest.config.js --runInBand",
39
+ "test-ci": "GOLDSTACK_DEPLOYMENT=local jest --passWithNoTests --config=./jest.config.js --runInBand",
40
+ "version:apply": "utils-git changed --exec \"yarn version $@ && yarn version apply\"",
41
+ "version:apply:force": "yarn version $@ && yarn version apply"
42
+ },
43
+ "dependencies": {
44
+ "@aws-sdk/credential-providers": "^3.645.0",
45
+ "@aws-sdk/types": "^3.609.0",
46
+ "@goldstack/infra": "0.4.10",
47
+ "@goldstack/infra-aws": "0.4.18",
48
+ "@goldstack/infra-hetzner": "0.1.1",
49
+ "@goldstack/utils-cli": "0.3.10",
50
+ "@goldstack/utils-esbuild": "0.5.9",
51
+ "@goldstack/utils-package": "0.4.10",
52
+ "@goldstack/utils-package-config-embedded": "0.5.11",
53
+ "@goldstack/utils-terraform": "0.4.20",
54
+ "@goldstack/utils-terraform-aws": "0.4.23",
55
+ "uuid": "^8.3.0"
56
+ },
57
+ "devDependencies": {
58
+ "@goldstack/utils-git": "0.2.9",
59
+ "@goldstack/utils-package-config-generate": "0.3.9",
60
+ "@swc/core": "^1.3.74",
61
+ "@swc/jest": "^0.2.27",
62
+ "@types/jest": "^29.0.1",
63
+ "@types/node": "^18.7.13",
64
+ "@types/uuid": "^8.3.0",
65
+ "jest": "^29.3.1",
66
+ "rimraf": "^3.0.2",
67
+ "ts-node": "^10.9.1",
68
+ "typescript": "^4.8.4"
69
+ },
70
+ "publishConfig": {
71
+ "main": "dist/src/templateHetznerVPS.js"
72
+ }
73
+ }