@peerbit/server 6.0.42 → 7.0.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.
Files changed (84) hide show
  1. package/dist/src/cli.d.ts.map +1 -1
  2. package/dist/src/cli.js +161 -352
  3. package/dist/src/cli.js.map +1 -1
  4. package/dist/src/client.d.ts +1 -1
  5. package/dist/src/client.d.ts.map +1 -1
  6. package/dist/src/client.js +2 -5
  7. package/dist/src/client.js.map +1 -1
  8. package/dist/src/docker.d.ts +70 -1
  9. package/dist/src/docker.d.ts.map +1 -1
  10. package/dist/src/docker.js +559 -14
  11. package/dist/src/docker.js.map +1 -1
  12. package/dist/src/domain-lease.d.ts +126 -0
  13. package/dist/src/domain-lease.d.ts.map +1 -0
  14. package/dist/src/domain-lease.js +800 -0
  15. package/dist/src/domain-lease.js.map +1 -0
  16. package/dist/src/domain.d.ts +50 -2
  17. package/dist/src/domain.d.ts.map +1 -1
  18. package/dist/src/domain.js +484 -67
  19. package/dist/src/domain.js.map +1 -1
  20. package/dist/src/hetzner.d.ts +4 -21
  21. package/dist/src/hetzner.d.ts.map +1 -1
  22. package/dist/src/hetzner.js +4 -116
  23. package/dist/src/hetzner.js.map +1 -1
  24. package/dist/src/nginx-template.conf +19 -1
  25. package/dist/src/remotes.browser.d.ts +4 -1
  26. package/dist/src/remotes.browser.d.ts.map +1 -1
  27. package/dist/src/remotes.browser.js +1 -2
  28. package/dist/src/remotes.browser.js.map +1 -1
  29. package/dist/src/remotes.d.ts +2 -1
  30. package/dist/src/remotes.d.ts.map +1 -1
  31. package/dist/src/remotes.js +1 -0
  32. package/dist/src/remotes.js.map +1 -1
  33. package/dist/src/server.d.ts.map +1 -1
  34. package/dist/src/server.js +3 -5
  35. package/dist/src/server.js.map +1 -1
  36. package/dist/test/api.spec.js +2 -1
  37. package/dist/test/api.spec.js.map +1 -1
  38. package/dist/test/cli.spec.js +48 -1
  39. package/dist/test/cli.spec.js.map +1 -1
  40. package/dist/test/docker.spec.d.ts +2 -0
  41. package/dist/test/docker.spec.d.ts.map +1 -0
  42. package/dist/test/docker.spec.js +822 -0
  43. package/dist/test/docker.spec.js.map +1 -0
  44. package/dist/test/domain-lease.spec.d.ts +2 -0
  45. package/dist/test/domain-lease.spec.d.ts.map +1 -0
  46. package/dist/test/domain-lease.spec.js +530 -0
  47. package/dist/test/domain-lease.spec.js.map +1 -0
  48. package/dist/test/domain.integration.spec.js +358 -75
  49. package/dist/test/domain.integration.spec.js.map +1 -1
  50. package/dist/test/remotes.spec.d.ts +2 -0
  51. package/dist/test/remotes.spec.d.ts.map +1 -0
  52. package/dist/test/remotes.spec.js +15 -0
  53. package/dist/test/remotes.spec.js.map +1 -0
  54. package/dist/tsconfig.tsbuildinfo +1 -1
  55. package/dist/ui/assets/index-CjZwCewh.js +10 -0
  56. package/dist/ui/assets/index-e3g42MbC.js +9 -0
  57. package/dist/ui/index.html +1 -1
  58. package/package.json +14 -19
  59. package/src/cli.ts +204 -408
  60. package/src/client.ts +2 -6
  61. package/src/docker.ts +841 -20
  62. package/src/domain-lease.ts +1118 -0
  63. package/src/domain.ts +650 -90
  64. package/src/hetzner.ts +4 -184
  65. package/src/nginx-template.conf +19 -1
  66. package/src/remotes.browser.ts +7 -1
  67. package/src/remotes.ts +6 -1
  68. package/src/server.ts +3 -5
  69. package/dist/src/aws.browser.d.ts +0 -2
  70. package/dist/src/aws.browser.d.ts.map +0 -1
  71. package/dist/src/aws.browser.js +0 -3
  72. package/dist/src/aws.browser.js.map +0 -1
  73. package/dist/src/aws.d.ts +0 -30
  74. package/dist/src/aws.d.ts.map +0 -1
  75. package/dist/src/aws.js +0 -240
  76. package/dist/src/aws.js.map +0 -1
  77. package/dist/test/launch.spec.d.ts +0 -2
  78. package/dist/test/launch.spec.d.ts.map +0 -1
  79. package/dist/test/launch.spec.js +0 -23
  80. package/dist/test/launch.spec.js.map +0 -1
  81. package/dist/ui/assets/index-BBTKOM0z.js +0 -6
  82. package/dist/ui/assets/index-DVtj_GOf.js +0 -13
  83. package/src/aws.browser.ts +0 -1
  84. package/src/aws.ts +0 -327
@@ -0,0 +1,126 @@
1
+ import type { DockerExecutor } from "./docker.js";
2
+ export declare const DNS_LEASE_STATE_VERSION: 1;
3
+ export declare const DNS_LEASE_ACCESS_TOKEN_ENV = "PEERBIT_DNS_LEASE_ACCESS_TOKEN";
4
+ export declare const DNS_LEASE_SERVICE_URL_ENV = "PEERBIT_DNS_LEASE_SERVICE_URL";
5
+ export declare const DNS_LEASE_STATE_FILE_ENV = "PEERBIT_DNS_LEASE_STATE_FILE";
6
+ export type DnsLeaseRecordType = "A" | "AAAA";
7
+ export type DnsLeaseStatus = "claiming" | "pending" | "active" | "released";
8
+ export interface DnsLeaseState {
9
+ version: typeof DNS_LEASE_STATE_VERSION;
10
+ serviceUrl: string;
11
+ idempotencyKey: string;
12
+ recordType: DnsLeaseRecordType;
13
+ address: string;
14
+ leaseToken?: string;
15
+ challengeToken?: string;
16
+ id?: string;
17
+ domain?: string;
18
+ status: DnsLeaseStatus;
19
+ challengeUrl?: string;
20
+ challengeExpiresAt?: string;
21
+ pendingExpiresAt?: string;
22
+ expiresAt?: string;
23
+ createdAt: string;
24
+ updatedAt: string;
25
+ configuredAt?: string;
26
+ }
27
+ export interface DnsLeaseClaimResponse {
28
+ id: string;
29
+ domain: string;
30
+ recordType: DnsLeaseRecordType;
31
+ address: string;
32
+ status: "pending";
33
+ challengeToken: string;
34
+ challengeUrl: string;
35
+ challengeExpiresAt: string;
36
+ pendingExpiresAt: string;
37
+ }
38
+ export interface DnsLeaseActiveResponse {
39
+ id: string;
40
+ domain: string;
41
+ recordType: DnsLeaseRecordType;
42
+ address: string;
43
+ status: "active";
44
+ pendingExpiresAt?: string;
45
+ expiresAt: string;
46
+ }
47
+ export interface DnsLeaseRenewChallengeResponse extends DnsLeaseActiveResponse {
48
+ challengeToken: string;
49
+ challengeUrl: string;
50
+ challengeExpiresAt: string;
51
+ }
52
+ export interface DnsLeaseReleaseResponse {
53
+ id: string;
54
+ status: "expired" | "released";
55
+ }
56
+ export type DnsLeaseFetch = (url: string, init: RequestInit) => Promise<{
57
+ body?: ReadableStream<Uint8Array> | null;
58
+ headers?: {
59
+ get(name: string): string | null;
60
+ };
61
+ status: number;
62
+ text: () => Promise<string>;
63
+ }>;
64
+ export declare class DnsLeaseClient {
65
+ readonly serviceUrl: string;
66
+ private readonly request;
67
+ private readonly timeoutMs;
68
+ constructor(properties: {
69
+ serviceUrl: string;
70
+ request?: DnsLeaseFetch;
71
+ timeoutMs?: number;
72
+ });
73
+ private post;
74
+ claim(request: {
75
+ idempotencyKey: string;
76
+ recordType: DnsLeaseRecordType;
77
+ address: string;
78
+ leaseToken: string;
79
+ }, accessToken: string): Promise<DnsLeaseClaimResponse>;
80
+ verify(id: string, leaseToken: string): Promise<DnsLeaseActiveResponse>;
81
+ renew(id: string, leaseToken: string): Promise<DnsLeaseActiveResponse>;
82
+ renewChallenge(id: string, leaseToken: string): Promise<DnsLeaseRenewChallengeResponse>;
83
+ release(id: string, leaseToken: string): Promise<DnsLeaseReleaseResponse>;
84
+ }
85
+ export declare const getDnsLeaseStatePath: (cwd?: string) => string;
86
+ export declare const readDnsLeaseState: (statePath?: string) => DnsLeaseState | undefined;
87
+ export declare const writeDnsLeaseState: (state: DnsLeaseState, statePath?: string) => void;
88
+ export declare const serveDnsLeaseChallenge: <T>(state: DnsLeaseState, whileServing: () => Promise<T>, listen?: {
89
+ dockerExecute?: DockerExecutor;
90
+ host?: string;
91
+ port?: number;
92
+ preferManagedProxy?: boolean;
93
+ quiesceManagedContainer?: boolean;
94
+ }) => Promise<T>;
95
+ export declare const provisionDnsLease: (properties: {
96
+ statePath?: string;
97
+ serviceUrl?: string;
98
+ accessToken?: string;
99
+ address?: string;
100
+ recordType?: DnsLeaseRecordType;
101
+ request?: DnsLeaseFetch;
102
+ timeoutMs?: number;
103
+ configure?: (domain: string) => Promise<void>;
104
+ serveChallenge?: typeof serveDnsLeaseChallenge;
105
+ }) => Promise<DnsLeaseActiveResponse>;
106
+ export declare const renewDnsLease: (properties: {
107
+ statePath?: string;
108
+ serviceUrl?: string;
109
+ request?: DnsLeaseFetch;
110
+ timeoutMs?: number;
111
+ serveChallenge?: typeof serveDnsLeaseChallenge;
112
+ }) => Promise<DnsLeaseActiveResponse>;
113
+ export declare const releaseDnsLease: (properties: {
114
+ statePath?: string;
115
+ serviceUrl?: string;
116
+ request?: DnsLeaseFetch;
117
+ timeoutMs?: number;
118
+ }) => Promise<void>;
119
+ export declare const startDnsLeaseRenewal: (properties?: {
120
+ statePath?: string;
121
+ request?: DnsLeaseFetch;
122
+ timeoutMs?: number;
123
+ onError?: (message: string) => void;
124
+ serveChallenge?: typeof serveDnsLeaseChallenge;
125
+ }) => Promise<() => void>;
126
+ //# sourceMappingURL=domain-lease.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domain-lease.d.ts","sourceRoot":"","sources":["../../src/domain-lease.ts"],"names":[],"mappings":"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"}