@highstate/timeweb 0.9.18 → 0.9.19
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.
@@ -1,13 +1,13 @@
|
|
1
1
|
import { Provider, SshKey, FloatingIp, Server } from '@highstate/timeweb-sdk';
|
2
2
|
import { timeweb } from '@highstate/library';
|
3
|
-
import { forUnit, getResourceComment, toPromise
|
4
|
-
import {
|
5
|
-
import { local } from '@pulumi/command';
|
3
|
+
import { forUnit, getResourceComment, toPromise } from '@highstate/pulumi';
|
4
|
+
import { generateSshPrivateKey, sshPrivateKeyToKeyPair, parseL3Endpoint, createServerBundle, l3EndpointToString } from '@highstate/common';
|
6
5
|
|
7
6
|
// src/virtual-machine/index.ts
|
8
|
-
var { name, args,
|
7
|
+
var { name, args, secrets, getSecret, inputs, outputs } = forUnit(timeweb.virtualMachine);
|
9
8
|
var provider = new Provider(name, { token: inputs.connection.apiToken });
|
10
|
-
var
|
9
|
+
var sshPrivateKey = getSecret("sshPrivateKey", generateSshPrivateKey);
|
10
|
+
var keyPair = sshPrivateKeyToKeyPair(sshPrivateKey);
|
11
11
|
var sshKey = new SshKey(
|
12
12
|
name,
|
13
13
|
{
|
@@ -41,14 +41,16 @@ new Server(
|
|
41
41
|
);
|
42
42
|
var serverIp = await toPromise(floatingIp.ip);
|
43
43
|
var endpoint = parseL3Endpoint(serverIp);
|
44
|
-
var
|
45
|
-
|
44
|
+
var { server, terminal } = await createServerBundle({
|
45
|
+
name,
|
46
|
+
endpoints: [endpoint],
|
47
|
+
sshArgs: args.ssh,
|
48
|
+
sshPrivateKey,
|
49
|
+
sshPassword: secrets.rootPassword
|
46
50
|
});
|
47
|
-
var server = availabilityCommand.stdout.apply(
|
48
|
-
() => createServerEntity(name, endpoint, 22, "root", void 0, keyPair.privateKey)
|
49
|
-
);
|
50
51
|
var virtual_machine_default = outputs({
|
51
52
|
server,
|
53
|
+
endpoints: [endpoint],
|
52
54
|
$statusFields: {
|
53
55
|
hostname: {
|
54
56
|
value: server.hostname
|
@@ -57,7 +59,7 @@ var virtual_machine_default = outputs({
|
|
57
59
|
value: [l3EndpointToString(endpoint)]
|
58
60
|
}
|
59
61
|
},
|
60
|
-
$terminals: [
|
62
|
+
$terminals: [terminal]
|
61
63
|
});
|
62
64
|
|
63
65
|
export { virtual_machine_default as default };
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/virtual-machine/index.ts"],"names":["TimewebServer"],"mappings":"
|
1
|
+
{"version":3,"sources":["../../src/virtual-machine/index.ts"],"names":["TimewebServer"],"mappings":";;;;;;AAWA,IAAM,EAAE,IAAA,EAAM,IAAA,EAAM,OAAA,EAAS,SAAA,EAAW,QAAQ,OAAA,EAAQ,GAAI,OAAA,CAAQ,OAAA,CAAQ,cAAc,CAAA;AAE1F,IAAM,QAAA,GAAW,IAAI,QAAA,CAAS,IAAA,EAAM,EAAE,KAAA,EAAO,MAAA,CAAO,UAAA,CAAW,QAAA,EAAU,CAAA;AAEzE,IAAM,aAAA,GAAgB,SAAA,CAAU,eAAA,EAAiB,qBAAqB,CAAA;AACtE,IAAM,OAAA,GAAU,uBAAuB,aAAa,CAAA;AAEpD,IAAM,SAAS,IAAI,MAAA;AAAA,EACjB,IAAA;AAAA,EACA;AAAA,IACE,IAAA;AAAA,IACA,MAAM,OAAA,CAAQ;AAAA,GAChB;AAAA,EACA,EAAE,QAAA;AACJ,CAAA;AAEA,IAAM,aAAa,IAAI,UAAA;AAAA,EACrB,IAAA;AAAA,EACA;AAAA,IACE,SAAS,kBAAA,EAAmB;AAAA,IAC5B,kBAAkB,IAAA,CAAK,gBAAA;AAAA,IACvB,SAAA,EAAW;AAAA,GACb;AAAA,EACA,EAAE,QAAA;AACJ,CAAA;AAEA,IAAIA,MAAA;AAAA,EACF,IAAA;AAAA,EACA;AAAA,IACE,IAAA;AAAA,IACA,SAAS,kBAAA,EAAmB;AAAA,IAC5B,kBAAkB,IAAA,CAAK,gBAAA;AAAA,IACvB,cAAc,UAAA,CAAW,EAAA;AAAA,IACzB,UAAU,IAAA,CAAK,QAAA;AAAA,IACf,MAAM,IAAA,CAAK,IAAA;AAAA,IACX,sBAAA,EAAwB,KAAA;AAAA,IACxB,YAAY,CAAC,MAAA,CAAO,QAAA,CAAS,KAAA,CAAM,MAAM,CAAC;AAAA,GAC5C;AAAA,EACA,EAAE,QAAA;AACJ,CAAA;AAEA,IAAM,QAAA,GAAW,MAAM,SAAA,CAAU,UAAA,CAAW,EAAE,CAAA;AAC9C,IAAM,QAAA,GAAW,gBAAgB,QAAQ,CAAA;AAEzC,IAAM,EAAE,MAAA,EAAQ,QAAA,EAAS,GAAI,MAAM,kBAAA,CAAmB;AAAA,EACpD,IAAA;AAAA,EACA,SAAA,EAAW,CAAC,QAAQ,CAAA;AAAA,EACpB,SAAS,IAAA,CAAK,GAAA;AAAA,EACd,aAAA;AAAA,EACA,aAAa,OAAA,CAAQ;AACvB,CAAC,CAAA;AAED,IAAO,0BAAQ,OAAA,CAAQ;AAAA,EACrB,MAAA;AAAA,EACA,SAAA,EAAW,CAAC,QAAQ,CAAA;AAAA,EAEpB,aAAA,EAAe;AAAA,IACb,QAAA,EAAU;AAAA,MACR,OAAO,MAAA,CAAO;AAAA,KAChB;AAAA,IACA,SAAA,EAAW;AAAA,MACT,KAAA,EAAO,CAAC,kBAAA,CAAmB,QAAQ,CAAC;AAAA;AACtC,GACF;AAAA,EAEA,UAAA,EAAY,CAAC,QAAQ;AACvB,CAAC","file":"index.js","sourcesContent":["import { Provider, SshKey, FloatingIp, Server as TimewebServer } from \"@highstate/timeweb-sdk\"\nimport { timeweb } from \"@highstate/library\"\nimport { forUnit, getResourceComment, toPromise } from \"@highstate/pulumi\"\nimport {\n createServerBundle,\n generateSshPrivateKey,\n l3EndpointToString,\n parseL3Endpoint,\n sshPrivateKeyToKeyPair,\n} from \"@highstate/common\"\n\nconst { name, args, secrets, getSecret, inputs, outputs } = forUnit(timeweb.virtualMachine)\n\nconst provider = new Provider(name, { token: inputs.connection.apiToken })\n\nconst sshPrivateKey = getSecret(\"sshPrivateKey\", generateSshPrivateKey)\nconst keyPair = sshPrivateKeyToKeyPair(sshPrivateKey)\n\nconst sshKey = new SshKey(\n name,\n {\n name,\n body: keyPair.publicKey,\n },\n { provider },\n)\n\nconst floatingIp = new FloatingIp(\n name,\n {\n comment: getResourceComment(),\n availabilityZone: args.availabilityZone,\n ddosGuard: false,\n },\n { provider },\n)\n\nnew TimewebServer(\n name,\n {\n name,\n comment: getResourceComment(),\n availabilityZone: args.availabilityZone,\n floatingIpId: floatingIp.id,\n presetId: args.presetId,\n osId: args.osId,\n isRootPasswordRequired: false,\n sshKeysIds: [sshKey.sshKeyId.apply(Number)],\n },\n { provider },\n)\n\nconst serverIp = await toPromise(floatingIp.ip)\nconst endpoint = parseL3Endpoint(serverIp)\n\nconst { server, terminal } = await createServerBundle({\n name,\n endpoints: [endpoint],\n sshArgs: args.ssh,\n sshPrivateKey,\n sshPassword: secrets.rootPassword,\n})\n\nexport default outputs({\n server,\n endpoints: [endpoint],\n\n $statusFields: {\n hostname: {\n value: server.hostname,\n },\n endpoints: {\n value: [l3EndpointToString(endpoint)],\n },\n },\n\n $terminals: [terminal],\n})\n"]}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@highstate/timeweb",
|
3
|
-
"version": "0.9.
|
3
|
+
"version": "0.9.19",
|
4
4
|
"type": "module",
|
5
5
|
"files": [
|
6
6
|
"dist"
|
@@ -16,16 +16,16 @@
|
|
16
16
|
"build": "highstate build"
|
17
17
|
},
|
18
18
|
"dependencies": {
|
19
|
-
"@highstate/common": "^0.9.
|
20
|
-
"@highstate/k8s": "^0.9.
|
21
|
-
"@highstate/library": "^0.9.
|
22
|
-
"@highstate/pulumi": "^0.9.
|
23
|
-
"@highstate/timeweb-sdk": "^0.9.
|
19
|
+
"@highstate/common": "^0.9.19",
|
20
|
+
"@highstate/k8s": "^0.9.19",
|
21
|
+
"@highstate/library": "^0.9.19",
|
22
|
+
"@highstate/pulumi": "^0.9.19",
|
23
|
+
"@highstate/timeweb-sdk": "^0.9.19",
|
24
24
|
"@pulumi/command": "^1.0.2",
|
25
25
|
"@pulumi/pulumi": "^3.184.0"
|
26
26
|
},
|
27
27
|
"devDependencies": {
|
28
|
-
"@highstate/cli": "^0.9.
|
28
|
+
"@highstate/cli": "^0.9.19"
|
29
29
|
},
|
30
|
-
"gitHead": "
|
30
|
+
"gitHead": "e77d292335556c6e5b6275acda1a3d1609d786a1"
|
31
31
|
}
|