@highstate/timeweb 0.15.0 → 0.16.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.
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { generateSshPrivateKey, sshPrivateKeyToKeyPair,
|
|
1
|
+
import { generateSshPrivateKey, sshPrivateKeyToKeyPair, parseEndpoint, createServerBundle, l3EndpointToString } from '@highstate/common';
|
|
2
2
|
import { timeweb } from '@highstate/library';
|
|
3
3
|
import { forUnit, getResourceComment, toPromise, output } from '@highstate/pulumi';
|
|
4
4
|
import { SshKey, FloatingIp, Server, Provider } from '@highstate/timeweb-sdk';
|
|
@@ -50,7 +50,7 @@ new Server(
|
|
|
50
50
|
{ provider }
|
|
51
51
|
);
|
|
52
52
|
var serverIp = await toPromise(floatingIp.ip);
|
|
53
|
-
var endpoint =
|
|
53
|
+
var endpoint = parseEndpoint(serverIp);
|
|
54
54
|
var { server, terminal } = await createServerBundle({
|
|
55
55
|
name: vmName,
|
|
56
56
|
endpoints: [endpoint],
|
|
@@ -60,7 +60,6 @@ var { server, terminal } = await createServerBundle({
|
|
|
60
60
|
});
|
|
61
61
|
var virtual_machine_default = outputs({
|
|
62
62
|
server,
|
|
63
|
-
endpoints: [endpoint],
|
|
64
63
|
$statusFields: {
|
|
65
64
|
hostname: {
|
|
66
65
|
value: server.hostname
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/provider.ts","../../src/virtual-machine/index.ts"],"names":["connection","TimewebServer","toPromise"],"mappings":";;;;;;AAIA,eAAsB,eAAe,UAAA,EAA0D;AAC7F,EAAA,OAAO,MAAM,SAAA;AAAA,IACX,MAAA,CAAO,UAAU,CAAA,CAAE,KAAA,CAAM,CAAAA,WAAAA,KAAc;AACrC,MAAA,OAAO,IAAI,SAASA,WAAAA,CAAW,IAAA,EAAM,EAAE,KAAA,EAAOA,WAAAA,CAAW,UAAU,CAAA;AAAA,IACrE,CAAC;AAAA,GACH;AACF;;;ACEA,IAAM,EAAE,IAAA,EAAM,IAAA,EAAM,OAAA,EAAS,SAAA,EAAW,QAAQ,OAAA,EAAQ,GAAI,OAAA,CAAQ,OAAA,CAAQ,cAAc,CAAA;AAE1F,IAAM,QAAA,GAAW,MAAM,cAAA,CAAe,MAAA,CAAO,UAAU,CAAA;AAEvD,IAAM,MAAA,GAAS,KAAK,MAAA,IAAU,IAAA;AAC9B,IAAM,aAAA,GAAgB,SAAA,CAAU,eAAA,EAAiB,qBAAqB,CAAA;AACtE,IAAM,OAAA,GAAU,uBAAuB,aAAa,CAAA;AAEpD,IAAM,SAAS,IAAI,MAAA;AAAA,EACjB,SAAA;AAAA,EACA;AAAA,IACE,IAAA,EAAM,MAAA;AAAA,IACN,MAAM,OAAA,CAAQ;AAAA,GAChB;AAAA,EACA,EAAE,QAAA;AACJ,CAAA;AAEA,IAAM,aAAa,IAAI,UAAA;AAAA,EACrB,SAAA;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,IAAIC,MAAA;AAAA,EACF,iBAAA;AAAA,EACA;AAAA,IACE,IAAA,EAAM,MAAA;AAAA,IACN,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,MAAMC,SAAAA,CAAU,UAAA,CAAW,EAAE,CAAA;AAC9C,IAAM,QAAA,GAAW,
|
|
1
|
+
{"version":3,"sources":["../../src/provider.ts","../../src/virtual-machine/index.ts"],"names":["connection","TimewebServer","toPromise"],"mappings":";;;;;;AAIA,eAAsB,eAAe,UAAA,EAA0D;AAC7F,EAAA,OAAO,MAAM,SAAA;AAAA,IACX,MAAA,CAAO,UAAU,CAAA,CAAE,KAAA,CAAM,CAAAA,WAAAA,KAAc;AACrC,MAAA,OAAO,IAAI,SAASA,WAAAA,CAAW,IAAA,EAAM,EAAE,KAAA,EAAOA,WAAAA,CAAW,UAAU,CAAA;AAAA,IACrE,CAAC;AAAA,GACH;AACF;;;ACEA,IAAM,EAAE,IAAA,EAAM,IAAA,EAAM,OAAA,EAAS,SAAA,EAAW,QAAQ,OAAA,EAAQ,GAAI,OAAA,CAAQ,OAAA,CAAQ,cAAc,CAAA;AAE1F,IAAM,QAAA,GAAW,MAAM,cAAA,CAAe,MAAA,CAAO,UAAU,CAAA;AAEvD,IAAM,MAAA,GAAS,KAAK,MAAA,IAAU,IAAA;AAC9B,IAAM,aAAA,GAAgB,SAAA,CAAU,eAAA,EAAiB,qBAAqB,CAAA;AACtE,IAAM,OAAA,GAAU,uBAAuB,aAAa,CAAA;AAEpD,IAAM,SAAS,IAAI,MAAA;AAAA,EACjB,SAAA;AAAA,EACA;AAAA,IACE,IAAA,EAAM,MAAA;AAAA,IACN,MAAM,OAAA,CAAQ;AAAA,GAChB;AAAA,EACA,EAAE,QAAA;AACJ,CAAA;AAEA,IAAM,aAAa,IAAI,UAAA;AAAA,EACrB,SAAA;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,IAAIC,MAAA;AAAA,EACF,iBAAA;AAAA,EACA;AAAA,IACE,IAAA,EAAM,MAAA;AAAA,IACN,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,MAAMC,SAAAA,CAAU,UAAA,CAAW,EAAE,CAAA;AAC9C,IAAM,QAAA,GAAW,cAAc,QAAQ,CAAA;AAEvC,IAAM,EAAE,MAAA,EAAQ,QAAA,EAAS,GAAI,MAAM,kBAAA,CAAmB;AAAA,EACpD,IAAA,EAAM,MAAA;AAAA,EACN,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,EAEA,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 type { timeweb } from \"@highstate/library\"\nimport { type Input, output, toPromise } from \"@highstate/pulumi\"\nimport { Provider } from \"@highstate/timeweb-sdk\"\n\nexport async function createProvider(connection: Input<timeweb.Connection>): Promise<Provider> {\n return await toPromise(\n output(connection).apply(connection => {\n return new Provider(connection.name, { token: connection.apiToken })\n }),\n )\n}\n","import {\n createServerBundle,\n generateSshPrivateKey,\n l3EndpointToString,\n parseEndpoint,\n sshPrivateKeyToKeyPair,\n} from \"@highstate/common\"\nimport { timeweb } from \"@highstate/library\"\nimport { forUnit, getResourceComment, toPromise } from \"@highstate/pulumi\"\nimport { FloatingIp, SshKey, Server as TimewebServer } from \"@highstate/timeweb-sdk\"\nimport { createProvider } from \"../provider\"\n\nconst { name, args, secrets, getSecret, inputs, outputs } = forUnit(timeweb.virtualMachine)\n\nconst provider = await createProvider(inputs.connection)\n\nconst vmName = args.vmName ?? name\nconst sshPrivateKey = getSecret(\"sshPrivateKey\", generateSshPrivateKey)\nconst keyPair = sshPrivateKeyToKeyPair(sshPrivateKey)\n\nconst sshKey = new SshKey(\n \"ssh-key\",\n {\n name: vmName,\n body: keyPair.publicKey,\n },\n { provider },\n)\n\nconst floatingIp = new FloatingIp(\n \"address\",\n {\n comment: getResourceComment(),\n availabilityZone: args.availabilityZone,\n ddosGuard: false,\n },\n { provider },\n)\n\nnew TimewebServer(\n \"virtual-machine\",\n {\n name: vmName,\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 = parseEndpoint(serverIp)\n\nconst { server, terminal } = await createServerBundle({\n name: vmName,\n endpoints: [endpoint],\n sshArgs: args.ssh,\n sshPrivateKey,\n sshPassword: secrets.rootPassword,\n})\n\nexport default outputs({\n server,\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.
|
|
3
|
+
"version": "0.16.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist"
|
|
@@ -20,16 +20,16 @@
|
|
|
20
20
|
"dependencies": {
|
|
21
21
|
"@pulumi/command": "^1.0.2",
|
|
22
22
|
"@pulumi/pulumi": "3.198.0",
|
|
23
|
-
"@highstate/common": "0.
|
|
24
|
-
"@highstate/k8s": "0.
|
|
25
|
-
"@highstate/
|
|
26
|
-
"@highstate/
|
|
27
|
-
"@highstate/
|
|
23
|
+
"@highstate/common": "0.16.0",
|
|
24
|
+
"@highstate/k8s": "0.16.0",
|
|
25
|
+
"@highstate/library": "0.16.0",
|
|
26
|
+
"@highstate/pulumi": "0.17.0",
|
|
27
|
+
"@highstate/timeweb-sdk": "0.14.0"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
30
|
"@biomejs/biome": "2.2.0",
|
|
31
31
|
"@typescript/native-preview": "^7.0.0-dev.20250920.1",
|
|
32
|
-
"@highstate/cli": "0.
|
|
32
|
+
"@highstate/cli": "0.17.0"
|
|
33
33
|
},
|
|
34
34
|
"repository": {
|
|
35
35
|
"url": "https://github.com/highstate-io/highstate"
|