@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 +3 -0
- package/dist/src/templateHetznerVPS.d.ts +3 -0
- package/dist/src/templateHetznerVPS.d.ts.map +1 -0
- package/dist/src/templateHetznerVPS.js +3 -0
- package/dist/src/templateHetznerVPS.js.map +1 -0
- package/dist/src/types/HetznerVPSPackage.d.ts +104 -0
- package/dist/src/types/HetznerVPSPackage.d.ts.map +1 -0
- package/dist/src/types/HetznerVPSPackage.js +3 -0
- package/dist/src/types/HetznerVPSPackage.js.map +1 -0
- package/package.json +73 -0
package/README.md
ADDED
|
@@ -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 @@
|
|
|
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 @@
|
|
|
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
|
+
}
|