@astrale-domains/services 0.4.9 → 0.5.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.
- package/README.md +153 -816
- package/dist/schema/index.d.ts +4 -5
- package/dist/schema/index.js +2 -3
- package/dist/schema/modules/deployment/classes/cloudflare-deployment.d.ts +4 -321
- package/dist/schema/modules/deployment/classes/cloudflare-deployment.js +1 -19
- package/dist/schema/modules/deployment/classes/current-deployment.d.ts +20 -0
- package/dist/schema/modules/deployment/classes/current-deployment.js +13 -0
- package/dist/schema/modules/deployment/classes/{deployment-on-line.d.ts → deployment-of.d.ts} +3 -3
- package/dist/schema/modules/deployment/classes/deployment-of.js +11 -0
- package/dist/schema/modules/deployment/classes/deployment.d.ts +9 -57
- package/dist/schema/modules/deployment/classes/deployment.js +9 -23
- package/dist/schema/modules/deployment/classes/index.d.ts +2 -3
- package/dist/schema/modules/deployment/classes/index.js +2 -3
- package/dist/schema/modules/deployment/errors/deployment-not-found.d.ts +2 -5
- package/dist/schema/modules/deployment/errors/deployment-not-found.js +2 -5
- package/dist/schema/modules/deployment/errors/index.d.ts +0 -2
- package/dist/schema/modules/deployment/errors/index.js +0 -2
- package/dist/schema/modules/deployment/functions/index.d.ts +0 -10
- package/dist/schema/modules/deployment/functions/index.js +0 -10
- package/dist/schema/modules/deployment/functions/retire-deployment.d.ts +8 -7
- package/dist/schema/modules/deployment/functions/retire-deployment.js +8 -7
- package/dist/schema/modules/deployment/index.d.ts +6 -6
- package/dist/schema/modules/deployment/index.js +7 -5
- package/dist/schema/modules/deployment/policies/index.d.ts +1 -4
- package/dist/schema/modules/deployment/policies/index.js +1 -4
- package/dist/schema/modules/deployment/policies/own-deployment.d.ts +1 -1
- package/dist/schema/modules/deployment/policies/own-deployment.js +6 -7
- package/dist/schema/modules/deployment/policies/traverse-owned-service-deployment.d.ts +2 -0
- package/dist/schema/modules/deployment/policies/traverse-owned-service-deployment.js +7 -0
- package/dist/schema/modules/deployment/states/deployment-lifecycle.d.ts +6 -9
- package/dist/schema/modules/deployment/states/deployment-lifecycle.js +6 -7
- package/dist/schema/modules/deployment/types/deployment-hosting.d.ts +9 -28
- package/dist/schema/modules/deployment/types/deployment-hosting.js +3 -3
- package/dist/schema/modules/deployment/types/deployment-request.d.ts +12 -40
- package/dist/schema/modules/deployment/types/deployment-request.js +17 -9
- package/dist/schema/modules/deployment/types/deployment-response.d.ts +7 -15
- package/dist/schema/modules/deployment/types/deployment-response.js +2 -2
- package/dist/schema/modules/deployment/types/deployment-retire.d.ts +1 -1
- package/dist/schema/modules/deployment/types/deployment-secret.d.ts +0 -39
- package/dist/schema/modules/deployment/types/deployment-secret.js +0 -34
- package/dist/schema/modules/deployment/types/deployment-summary.d.ts +14 -45
- package/dist/schema/modules/deployment/types/deployment-summary.js +9 -8
- package/dist/schema/modules/deployment/types/index.d.ts +7 -3
- package/dist/schema/modules/deployment/types/index.js +4 -2
- package/dist/schema/modules/{service → deployment}/types/service-deployment-artifact-module.d.ts +2 -20
- package/dist/schema/modules/deployment/types/service-deployment-artifact-module.js +10 -0
- package/dist/schema/modules/{service → deployment}/types/service-deployment-assets.d.ts +4 -20
- package/dist/schema/modules/{service → deployment}/types/service-deployment-assets.js +4 -7
- package/dist/schema/modules/service/classes/cloudflare-service.d.ts +321 -0
- package/dist/schema/modules/service/classes/cloudflare-service.js +35 -0
- package/dist/schema/modules/service/classes/index.d.ts +1 -1
- package/dist/schema/modules/service/classes/index.js +1 -1
- package/dist/schema/modules/service/classes/service.d.ts +18 -107
- package/dist/schema/modules/service/classes/service.js +16 -27
- package/dist/schema/modules/service/errors/index.d.ts +1 -0
- package/dist/schema/modules/service/errors/index.js +1 -0
- package/dist/schema/modules/service/errors/service-not-found.d.ts +7 -0
- package/dist/schema/modules/service/errors/service-not-found.js +8 -0
- package/dist/schema/modules/service/functions/delete-service.d.ts +1 -1
- package/dist/schema/modules/service/functions/delete-service.js +1 -1
- package/dist/schema/modules/{deployment/functions/deploy-cloudflare-deployment.d.ts → service/functions/deploy-service.d.ts} +20 -35
- package/dist/schema/modules/service/functions/deploy-service.js +15 -0
- package/dist/schema/modules/service/functions/describe-hosting.d.ts +8 -0
- package/dist/schema/modules/service/functions/describe-hosting.js +11 -0
- package/dist/schema/modules/service/functions/index.d.ts +5 -10
- package/dist/schema/modules/service/functions/index.js +5 -10
- package/dist/schema/modules/{deployment/functions/list-cloudflare-deployments.d.ts → service/functions/list-service-deployments.d.ts} +8 -12
- package/dist/schema/modules/service/functions/list-service-deployments.js +10 -0
- package/dist/schema/modules/service/functions/list-service-logs.d.ts +2 -1
- package/dist/schema/modules/service/functions/list-service-logs.js +1 -1
- package/dist/schema/modules/service/functions/list-service-schedules.d.ts +1 -1
- package/dist/schema/modules/service/functions/list-service-schedules.js +1 -1
- package/dist/schema/modules/service/functions/list-service-secret-names.d.ts +1 -1
- package/dist/schema/modules/service/functions/list-service-secret-names.js +1 -1
- package/dist/schema/modules/service/functions/promote-service.d.ts +14 -0
- package/dist/schema/modules/service/functions/promote-service.js +4 -0
- package/dist/schema/modules/service/functions/replace-service-schedules.d.ts +1 -1
- package/dist/schema/modules/service/functions/replace-service-schedules.js +1 -4
- package/dist/schema/modules/service/functions/set-service-secret.d.ts +4 -2
- package/dist/schema/modules/service/functions/set-service-secret.js +1 -1
- package/dist/schema/modules/service/functions/transfer-service.d.ts +14 -0
- package/dist/schema/modules/service/functions/transfer-service.js +4 -0
- package/dist/schema/modules/service/index.d.ts +5 -5
- package/dist/schema/modules/service/index.js +5 -4
- package/dist/schema/modules/service/policies/act-as.d.ts +6 -0
- package/dist/schema/modules/service/policies/act-as.js +10 -0
- package/dist/schema/modules/service/policies/index.d.ts +1 -0
- package/dist/schema/modules/service/policies/index.js +1 -0
- package/dist/schema/modules/service/states/service-lifecycle.d.ts +7 -20
- package/dist/schema/modules/service/states/service-lifecycle.js +6 -21
- package/dist/schema/modules/service/types/index.d.ts +1 -13
- package/dist/schema/modules/service/types/index.js +1 -8
- package/dist/schema/modules/service/types/service-management.d.ts +65 -24
- package/dist/schema/modules/service/types/service-management.js +46 -21
- package/dist/schema/schema.d.ts +252 -758
- package/dist/schema/schema.js +7 -11
- package/package.json +2 -9
- package/dist/scaffold/create-service.mjs +0 -77
- package/dist/scaffold/template/.env.example +0 -2
- package/dist/scaffold/template/README.md +0 -37
- package/dist/scaffold/template/gitignore +0 -6
- package/dist/scaffold/template/scripts/build.mjs +0 -10
- package/dist/scaffold/template/scripts/deploy.mjs +0 -50
- package/dist/scaffold/template/src/account.js +0 -26
- package/dist/scaffold/template/src/index.js +0 -32
- package/dist/scaffold/template/src/job.js +0 -19
- package/dist/schema/modules/deployment/classes/deployment-line.d.ts +0 -23
- package/dist/schema/modules/deployment/classes/deployment-line.js +0 -24
- package/dist/schema/modules/deployment/classes/deployment-on-line.js +0 -11
- package/dist/schema/modules/deployment/classes/line-owned-by.d.ts +0 -26
- package/dist/schema/modules/deployment/classes/line-owned-by.js +0 -19
- package/dist/schema/modules/deployment/errors/deployment-label-not-found.d.ts +0 -12
- package/dist/schema/modules/deployment/errors/deployment-label-not-found.js +0 -11
- package/dist/schema/modules/deployment/errors/deployment-registry-only.d.ts +0 -11
- package/dist/schema/modules/deployment/errors/deployment-registry-only.js +0 -12
- package/dist/schema/modules/deployment/functions/deploy-cloudflare-deployment.js +0 -14
- package/dist/schema/modules/deployment/functions/describe-deployment-hosting.d.ts +0 -8
- package/dist/schema/modules/deployment/functions/describe-deployment-hosting.js +0 -11
- package/dist/schema/modules/deployment/functions/expire-deployment-previews.d.ts +0 -16
- package/dist/schema/modules/deployment/functions/expire-deployment-previews.js +0 -14
- package/dist/schema/modules/deployment/functions/list-cloudflare-deployment-secret-names.d.ts +0 -5
- package/dist/schema/modules/deployment/functions/list-cloudflare-deployment-secret-names.js +0 -4
- package/dist/schema/modules/deployment/functions/list-cloudflare-deployments.js +0 -10
- package/dist/schema/modules/deployment/functions/list-deployment-secret-names.d.ts +0 -4
- package/dist/schema/modules/deployment/functions/list-deployment-secret-names.js +0 -6
- package/dist/schema/modules/deployment/functions/read-deployment-last-calls.d.ts +0 -10
- package/dist/schema/modules/deployment/functions/read-deployment-last-calls.js +0 -13
- package/dist/schema/modules/deployment/functions/retain-deployment.d.ts +0 -12
- package/dist/schema/modules/deployment/functions/retain-deployment.js +0 -13
- package/dist/schema/modules/deployment/functions/set-cloudflare-deployment-secret.d.ts +0 -18
- package/dist/schema/modules/deployment/functions/set-cloudflare-deployment-secret.js +0 -7
- package/dist/schema/modules/deployment/functions/set-deployment-secret.d.ts +0 -14
- package/dist/schema/modules/deployment/functions/set-deployment-secret.js +0 -3
- package/dist/schema/modules/deployment/policies/act-for-organization.d.ts +0 -6
- package/dist/schema/modules/deployment/policies/act-for-organization.js +0 -10
- package/dist/schema/modules/deployment/policies/own-line.d.ts +0 -5
- package/dist/schema/modules/deployment/policies/own-line.js +0 -10
- package/dist/schema/modules/deployment/policies/traverse-owned-line-deployment.d.ts +0 -2
- package/dist/schema/modules/deployment/policies/traverse-owned-line-deployment.js +0 -7
- package/dist/schema/modules/deployment/policies/traverse-owned-line.d.ts +0 -2
- package/dist/schema/modules/deployment/policies/traverse-owned-line.js +0 -7
- package/dist/schema/modules/deployment/types/deployment-retention.d.ts +0 -49
- package/dist/schema/modules/deployment/types/deployment-retention.js +0 -45
- package/dist/schema/modules/service/classes/cloudflare-worker.d.ts +0 -352
- package/dist/schema/modules/service/classes/cloudflare-worker.js +0 -41
- package/dist/schema/modules/service/functions/delete-service-secret.d.ts +0 -11
- package/dist/schema/modules/service/functions/delete-service-secret.js +0 -3
- package/dist/schema/modules/service/functions/delete-worker-secret.d.ts +0 -11
- package/dist/schema/modules/service/functions/delete-worker-secret.js +0 -7
- package/dist/schema/modules/service/functions/delete-worker.d.ts +0 -9
- package/dist/schema/modules/service/functions/delete-worker.js +0 -7
- package/dist/schema/modules/service/functions/deploy-cloudflare-worker.d.ts +0 -109
- package/dist/schema/modules/service/functions/deploy-cloudflare-worker.js +0 -9
- package/dist/schema/modules/service/functions/list-worker-logs.d.ts +0 -12
- package/dist/schema/modules/service/functions/list-worker-logs.js +0 -7
- package/dist/schema/modules/service/functions/list-worker-schedules.d.ts +0 -4
- package/dist/schema/modules/service/functions/list-worker-schedules.js +0 -7
- package/dist/schema/modules/service/functions/list-worker-secret-names.d.ts +0 -4
- package/dist/schema/modules/service/functions/list-worker-secret-names.js +0 -7
- package/dist/schema/modules/service/functions/migrate-worker-ingress.d.ts +0 -24
- package/dist/schema/modules/service/functions/migrate-worker-ingress.js +0 -26
- package/dist/schema/modules/service/functions/replace-worker-schedules.d.ts +0 -11
- package/dist/schema/modules/service/functions/replace-worker-schedules.js +0 -7
- package/dist/schema/modules/service/functions/set-worker-secret.d.ts +0 -12
- package/dist/schema/modules/service/functions/set-worker-secret.js +0 -7
- package/dist/schema/modules/service/types/deploy-cloudflare-worker.d.ts +0 -286
- package/dist/schema/modules/service/types/deploy-cloudflare-worker.js +0 -51
- package/dist/schema/modules/service/types/legacy/service-deployment-content.js +0 -22
- package/dist/schema/modules/service/types/service-deployment-artifact-module.js +0 -13
- package/dist/schema/modules/service/types/service-deployment-resource-limits.d.ts +0 -6
- package/dist/schema/modules/service/types/service-deployment-resource-limits.js +0 -7
- package/dist/schema/modules/service/types/service-readiness.d.ts +0 -6
- package/dist/schema/modules/service/types/service-readiness.js +0 -6
- package/dist/schema/modules/service/types/service-secret-operation-rejection.d.ts +0 -9
- package/dist/schema/modules/service/types/service-secret-operation-rejection.js +0 -5
- /package/dist/schema/modules/{service → deployment}/types/content/index.d.ts +0 -0
- /package/dist/schema/modules/{service → deployment}/types/content/index.js +0 -0
- /package/dist/schema/modules/{service → deployment}/types/content/limits.d.ts +0 -0
- /package/dist/schema/modules/{service → deployment}/types/content/limits.js +0 -0
- /package/dist/schema/modules/{service → deployment}/types/service-deployment-content.d.ts +0 -0
- /package/dist/schema/modules/{service → deployment}/types/service-deployment-content.js +0 -0
|
@@ -1,48 +1,84 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
export declare const
|
|
3
|
-
readonly description: '
|
|
4
|
-
readonly auth: '
|
|
2
|
+
export declare const promoteServiceContract: {
|
|
3
|
+
readonly description: 'Make one active deployment of this Service the one its URL serves.';
|
|
4
|
+
readonly auth: 'authenticated';
|
|
5
5
|
readonly input: z.ZodObject<{
|
|
6
|
-
|
|
7
|
-
value: z.ZodString;
|
|
6
|
+
label: z.ZodString;
|
|
8
7
|
}, z.core.$strict>;
|
|
9
8
|
readonly output: z.ZodUnion<readonly [z.ZodObject<{
|
|
10
|
-
|
|
9
|
+
current: z.ZodString;
|
|
11
10
|
}, z.core.$strict>, z.ZodObject<{
|
|
12
11
|
kind: z.ZodLiteral<"rejected">;
|
|
13
12
|
reason: z.ZodEnum<{
|
|
14
|
-
"
|
|
15
|
-
"
|
|
13
|
+
"address-mismatch": "address-mismatch";
|
|
14
|
+
"build-mismatch": "build-mismatch";
|
|
15
|
+
"deployment-conflict": "deployment-conflict";
|
|
16
|
+
"deployment-retired": "deployment-retired";
|
|
17
|
+
"hosting-unavailable": "hosting-unavailable";
|
|
18
|
+
"invalid-deployment": "invalid-deployment";
|
|
19
|
+
"service-owned-elsewhere": "service-owned-elsewhere";
|
|
16
20
|
"service-unavailable": "service-unavailable";
|
|
17
21
|
}>;
|
|
22
|
+
message: z.ZodString;
|
|
23
|
+
retryAfter: z.ZodOptional<z.ZodString>;
|
|
18
24
|
}, z.core.$strict>]>;
|
|
19
25
|
};
|
|
20
|
-
export declare const
|
|
21
|
-
readonly description: '
|
|
22
|
-
readonly auth: '
|
|
26
|
+
export declare const transferServiceContract: {
|
|
27
|
+
readonly description: 'Give this Service to another Identity the caller is or acts as.';
|
|
28
|
+
readonly auth: 'authenticated';
|
|
29
|
+
readonly input: z.ZodObject<{
|
|
30
|
+
owner: z.ZodString;
|
|
31
|
+
}, z.core.$strict>;
|
|
32
|
+
readonly output: z.ZodUnion<readonly [z.ZodObject<{
|
|
33
|
+
owner: z.ZodString;
|
|
34
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
35
|
+
kind: z.ZodLiteral<"rejected">;
|
|
36
|
+
reason: z.ZodEnum<{
|
|
37
|
+
"address-mismatch": "address-mismatch";
|
|
38
|
+
"build-mismatch": "build-mismatch";
|
|
39
|
+
"deployment-conflict": "deployment-conflict";
|
|
40
|
+
"deployment-retired": "deployment-retired";
|
|
41
|
+
"hosting-unavailable": "hosting-unavailable";
|
|
42
|
+
"invalid-deployment": "invalid-deployment";
|
|
43
|
+
"service-owned-elsewhere": "service-owned-elsewhere";
|
|
44
|
+
"service-unavailable": "service-unavailable";
|
|
45
|
+
}>;
|
|
46
|
+
message: z.ZodString;
|
|
47
|
+
retryAfter: z.ZodOptional<z.ZodString>;
|
|
48
|
+
}, z.core.$strict>]>;
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* Rewrite one secret of the current deployment in place. The next deploy binds the values it
|
|
52
|
+
* carries itself: Services never keeps a secret value.
|
|
53
|
+
*/
|
|
54
|
+
export declare const setServiceSecretContract: {
|
|
55
|
+
readonly description: 'Rewrite one declared secret of the current deployment in place.';
|
|
56
|
+
readonly auth: 'authenticated';
|
|
23
57
|
readonly input: z.ZodObject<{
|
|
24
58
|
name: z.ZodString;
|
|
59
|
+
value: z.ZodString;
|
|
25
60
|
}, z.core.$strict>;
|
|
26
61
|
readonly output: z.ZodUnion<readonly [z.ZodObject<{
|
|
27
|
-
|
|
62
|
+
name: z.ZodString;
|
|
28
63
|
}, z.core.$strict>, z.ZodObject<{
|
|
29
64
|
kind: z.ZodLiteral<"rejected">;
|
|
30
65
|
reason: z.ZodEnum<{
|
|
31
|
-
"
|
|
32
|
-
"invalid-secret-name": "invalid-secret-name";
|
|
66
|
+
"secret-undeclared": "secret-undeclared";
|
|
33
67
|
"service-unavailable": "service-unavailable";
|
|
34
68
|
}>;
|
|
69
|
+
message: z.ZodString;
|
|
70
|
+
retryAfter: z.ZodOptional<z.ZodString>;
|
|
35
71
|
}, z.core.$strict>]>;
|
|
36
72
|
};
|
|
37
73
|
export declare const listServiceSecretNamesContract: {
|
|
38
|
-
readonly description: 'List
|
|
39
|
-
readonly auth: '
|
|
74
|
+
readonly description: 'List the names of the secrets the current deployment binds, never their values.';
|
|
75
|
+
readonly auth: 'authenticated';
|
|
40
76
|
readonly input: z.ZodObject<{}, z.core.$strict>;
|
|
41
77
|
readonly output: z.ZodArray<z.ZodString>;
|
|
42
78
|
};
|
|
43
79
|
export declare const replaceServiceSchedulesContract: {
|
|
44
|
-
readonly description: 'Replace the complete
|
|
45
|
-
readonly auth: '
|
|
80
|
+
readonly description: 'Replace the complete UTC cron set of this Service; it runs on the current deployment.';
|
|
81
|
+
readonly auth: 'authenticated';
|
|
46
82
|
readonly input: z.ZodObject<{
|
|
47
83
|
crons: z.ZodArray<z.ZodString>;
|
|
48
84
|
}, z.core.$strict>;
|
|
@@ -57,15 +93,16 @@ export declare const replaceServiceSchedulesContract: {
|
|
|
57
93
|
}, z.core.$strict>]>;
|
|
58
94
|
};
|
|
59
95
|
export declare const listServiceSchedulesContract: {
|
|
60
|
-
readonly description: 'List
|
|
61
|
-
readonly auth: '
|
|
96
|
+
readonly description: 'List the UTC cron expressions of this Service.';
|
|
97
|
+
readonly auth: 'authenticated';
|
|
62
98
|
readonly input: z.ZodObject<{}, z.core.$strict>;
|
|
63
99
|
readonly output: z.ZodArray<z.ZodString>;
|
|
64
100
|
};
|
|
65
101
|
export declare const listServiceLogsContract: {
|
|
66
|
-
readonly description: 'Read recent
|
|
67
|
-
readonly auth: '
|
|
102
|
+
readonly description: 'Read recent runtime logs of the current deployment, or of one named deployment.';
|
|
103
|
+
readonly auth: 'authenticated';
|
|
68
104
|
readonly input: z.ZodObject<{
|
|
105
|
+
label: z.ZodOptional<z.ZodString>;
|
|
69
106
|
tail: z.ZodOptional<z.ZodNumber>;
|
|
70
107
|
since: z.ZodOptional<z.ZodNumber>;
|
|
71
108
|
}, z.core.$strict>;
|
|
@@ -76,9 +113,13 @@ export declare const listServiceLogsContract: {
|
|
|
76
113
|
line: z.ZodString;
|
|
77
114
|
}, z.core.$strict>>;
|
|
78
115
|
};
|
|
116
|
+
/**
|
|
117
|
+
* Retire every deployment of this Service, then delete it and free its name. Retirement is two
|
|
118
|
+
* phases per deployment: `deleting` answers when a retry may finish.
|
|
119
|
+
*/
|
|
79
120
|
export declare const deleteServiceContract: {
|
|
80
|
-
readonly description: '
|
|
81
|
-
readonly auth: '
|
|
121
|
+
readonly description: 'Retire every deployment of this Service, then delete it and free its name.';
|
|
122
|
+
readonly auth: 'authenticated';
|
|
82
123
|
readonly input: z.ZodObject<{}, z.core.$strict>;
|
|
83
124
|
readonly output: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
84
125
|
kind: z.ZodLiteral<"deleted">;
|
|
@@ -1,9 +1,35 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
import { deploymentRejection, deploymentSecretRejection } from '../../deployment/index.js';
|
|
2
3
|
import { secretName } from './service-secret-name.js';
|
|
3
|
-
|
|
4
|
+
/**
|
|
5
|
+
* Every Service Method is `authenticated`: a deployer's identities on the Admin instance hold no
|
|
6
|
+
* `can_use` on Services' Functions, which an `authorized` Method requires of every non-Root
|
|
7
|
+
* caller. Each handler asks the Kernel `OwnService` for the caller on its own session before it
|
|
8
|
+
* reads anything, and a caller who does not own the Service finds none (`SERVICE_NOT_FOUND`). The
|
|
9
|
+
* day the Admin instance grants deployers `can_use` on these Methods, they become `authorized` with
|
|
10
|
+
* the `OwnService` Policy and the handler checks go.
|
|
11
|
+
*/
|
|
12
|
+
/** One deployment of this Service, named by its label. */
|
|
13
|
+
const deploymentLabel = z.string().min(33).max(57);
|
|
14
|
+
export const promoteServiceContract = {
|
|
15
|
+
description: 'Make one active deployment of this Service the one its URL serves.',
|
|
16
|
+
auth: 'authenticated',
|
|
17
|
+
input: z.strictObject({ label: deploymentLabel }),
|
|
18
|
+
output: z.union([z.strictObject({ current: deploymentLabel }), deploymentRejection]),
|
|
19
|
+
};
|
|
20
|
+
export const transferServiceContract = {
|
|
21
|
+
description: 'Give this Service to another Identity the caller is or acts as.',
|
|
22
|
+
auth: 'authenticated',
|
|
23
|
+
input: z.strictObject({ owner: z.string().min(1).max(256) }),
|
|
24
|
+
output: z.union([z.strictObject({ owner: z.string().min(1) }), deploymentRejection]),
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Rewrite one secret of the current deployment in place. The next deploy binds the values it
|
|
28
|
+
* carries itself: Services never keeps a secret value.
|
|
29
|
+
*/
|
|
4
30
|
export const setServiceSecretContract = {
|
|
5
|
-
description: '
|
|
6
|
-
auth: '
|
|
31
|
+
description: 'Rewrite one declared secret of the current deployment in place.',
|
|
32
|
+
auth: 'authenticated',
|
|
7
33
|
input: z.strictObject({
|
|
8
34
|
name: secretName,
|
|
9
35
|
value: z
|
|
@@ -11,23 +37,17 @@ export const setServiceSecretContract = {
|
|
|
11
37
|
.min(1)
|
|
12
38
|
.max(64 * 1024),
|
|
13
39
|
}),
|
|
14
|
-
output: z.union([z.strictObject({ name: secretName }),
|
|
15
|
-
};
|
|
16
|
-
export const deleteServiceSecretContract = {
|
|
17
|
-
description: 'Delete one write-only Service secret.',
|
|
18
|
-
auth: 'authorized',
|
|
19
|
-
input: z.strictObject({ name: secretName }),
|
|
20
|
-
output: z.union([z.strictObject({ ok: z.literal(true) }), secretOperationRejection]),
|
|
40
|
+
output: z.union([z.strictObject({ name: secretName }), deploymentSecretRejection]),
|
|
21
41
|
};
|
|
22
42
|
export const listServiceSecretNamesContract = {
|
|
23
|
-
description: 'List
|
|
24
|
-
auth: '
|
|
43
|
+
description: 'List the names of the secrets the current deployment binds, never their values.',
|
|
44
|
+
auth: 'authenticated',
|
|
25
45
|
input: z.strictObject({}),
|
|
26
46
|
output: z.array(secretName),
|
|
27
47
|
};
|
|
28
48
|
export const replaceServiceSchedulesContract = {
|
|
29
|
-
description: 'Replace the complete
|
|
30
|
-
auth: '
|
|
49
|
+
description: 'Replace the complete UTC cron set of this Service; it runs on the current deployment.',
|
|
50
|
+
auth: 'authenticated',
|
|
31
51
|
input: z.strictObject({ crons: z.array(z.string()).max(24) }),
|
|
32
52
|
output: z.union([
|
|
33
53
|
z.strictObject({ crons: z.array(z.string()) }),
|
|
@@ -38,29 +58,34 @@ export const replaceServiceSchedulesContract = {
|
|
|
38
58
|
]),
|
|
39
59
|
};
|
|
40
60
|
export const listServiceSchedulesContract = {
|
|
41
|
-
description: 'List
|
|
42
|
-
auth: '
|
|
61
|
+
description: 'List the UTC cron expressions of this Service.',
|
|
62
|
+
auth: 'authenticated',
|
|
43
63
|
input: z.strictObject({}),
|
|
44
64
|
output: z.array(z.string()),
|
|
45
65
|
};
|
|
46
66
|
export const listServiceLogsContract = {
|
|
47
|
-
description: 'Read recent
|
|
48
|
-
auth: '
|
|
67
|
+
description: 'Read recent runtime logs of the current deployment, or of one named deployment.',
|
|
68
|
+
auth: 'authenticated',
|
|
49
69
|
input: z.strictObject({
|
|
70
|
+
label: deploymentLabel.optional(),
|
|
50
71
|
tail: z.number().int().min(1).max(1_000).optional(),
|
|
51
72
|
since: z.number().int().min(0).optional(),
|
|
52
73
|
}),
|
|
53
74
|
output: z.array(z.strictObject({ id: z.string(), ts: z.number(), level: z.string(), line: z.string() })),
|
|
54
75
|
};
|
|
76
|
+
/**
|
|
77
|
+
* Retire every deployment of this Service, then delete it and free its name. Retirement is two
|
|
78
|
+
* phases per deployment: `deleting` answers when a retry may finish.
|
|
79
|
+
*/
|
|
55
80
|
export const deleteServiceContract = {
|
|
56
|
-
description: '
|
|
57
|
-
auth: '
|
|
81
|
+
description: 'Retire every deployment of this Service, then delete it and free its name.',
|
|
82
|
+
auth: 'authenticated',
|
|
58
83
|
input: z.strictObject({}),
|
|
59
84
|
output: z.discriminatedUnion('kind', [
|
|
60
85
|
z.strictObject({ kind: z.literal('deleted') }),
|
|
61
86
|
z.strictObject({
|
|
62
87
|
kind: z.literal('deleting'),
|
|
63
|
-
retryAfterMs: z.number().int().min(
|
|
88
|
+
retryAfterMs: z.number().int().min(0).max(3_600_000),
|
|
64
89
|
}),
|
|
65
90
|
]),
|
|
66
91
|
};
|