@fnndsc/stratus 0.2.1 → 0.4.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/chris/values-openshift.yaml +59 -0
- package/dist/backend.d.ts +9 -3
- package/dist/backend.js +32 -8
- package/dist/backend.js.map +1 -1
- package/dist/cloud/builder.d.ts +16 -1
- package/dist/cloud/builder.js +1 -1
- package/dist/cloud/builder.js.map +1 -1
- package/dist/cloud/fake/builder.d.ts +13 -1
- package/dist/cloud/fake/builder.js +26 -9
- package/dist/cloud/fake/builder.js.map +1 -1
- package/dist/cloud/fake/driver.d.ts +1 -1
- package/dist/cloud/fake/driver.js +9 -9
- package/dist/cloud/fake/driver.js.map +1 -1
- package/dist/cloud/oci/api.js +15 -15
- package/dist/cloud/oci/api.js.map +1 -1
- package/dist/cloud/oci/buildApi.d.ts +11 -0
- package/dist/cloud/oci/buildApi.js +40 -9
- package/dist/cloud/oci/buildApi.js.map +1 -1
- package/dist/cloud/oci/builder.d.ts +42 -1
- package/dist/cloud/oci/builder.js +100 -16
- package/dist/cloud/oci/builder.js.map +1 -1
- package/dist/cloud/oci/driver.d.ts +1 -1
- package/dist/cloud/oci/driver.js +21 -21
- package/dist/cloud/oci/driver.js.map +1 -1
- package/dist/cloud/oci/errors.d.ts +13 -0
- package/dist/cloud/oci/errors.js +16 -0
- package/dist/cloud/oci/errors.js.map +1 -0
- package/dist/cloud/oci/resourceApi.js +22 -22
- package/dist/cloud/oci/resourceApi.js.map +1 -1
- package/dist/cloud/oci/resourceMap.d.ts +3 -3
- package/dist/cloud/oci/resourceMap.js +3 -3
- package/dist/cloud/oci/resourceMap.js.map +1 -1
- package/dist/cloud/oci/rmApi.js +7 -7
- package/dist/cloud/oci/rmApi.js.map +1 -1
- package/dist/cloud/oci/stackVars.d.ts +5 -3
- package/dist/cloud/oci/stackVars.js +3 -3
- package/dist/cloud/oci/stackVars.js.map +1 -1
- package/dist/cluster/chris.d.ts +156 -0
- package/dist/cluster/chris.js +493 -0
- package/dist/cluster/chris.js.map +1 -0
- package/dist/cluster/fakeKube.d.ts +6 -0
- package/dist/cluster/fakeKube.js +21 -0
- package/dist/cluster/fakeKube.js.map +1 -1
- package/dist/cluster/kubeHttp.d.ts +7 -0
- package/dist/cluster/kubeHttp.js +26 -1
- package/dist/cluster/kubeHttp.js.map +1 -1
- package/dist/commands/build.d.ts +33 -0
- package/dist/commands/build.js +123 -22
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/capacity.d.ts +1 -1
- package/dist/commands/capacity.js +2 -2
- package/dist/commands/capacity.js.map +1 -1
- package/dist/commands/domain.js +13 -12
- package/dist/commands/domain.js.map +1 -1
- package/dist/commands/protect.d.ts +10 -0
- package/dist/commands/protect.js +37 -0
- package/dist/commands/protect.js.map +1 -0
- package/dist/commands/size.d.ts +10 -0
- package/dist/commands/size.js +84 -0
- package/dist/commands/size.js.map +1 -0
- package/dist/commands/teardown.js +2 -0
- package/dist/commands/teardown.js.map +1 -1
- package/dist/commands/verify.js +4 -10
- package/dist/commands/verify.js.map +1 -1
- package/dist/domain/adopt.d.ts +11 -1
- package/dist/domain/adopt.js +28 -2
- package/dist/domain/adopt.js.map +1 -1
- package/dist/domain/expect.d.ts +32 -0
- package/dist/domain/expect.js +53 -0
- package/dist/domain/expect.js.map +1 -0
- package/dist/domain/manifests.d.ts +17 -0
- package/dist/domain/manifests.js +36 -0
- package/dist/domain/manifests.js.map +1 -0
- package/dist/domain/readout.d.ts +64 -0
- package/dist/domain/readout.js +188 -0
- package/dist/domain/readout.js.map +1 -0
- package/dist/domain/sizing.d.ts +1 -1
- package/dist/domain/sizing.js +3 -3
- package/dist/domain/sizing.js.map +1 -1
- package/dist/domain/spec.d.ts +1 -1
- package/dist/domain/spec.js +1 -1
- package/dist/domain/spec.js.map +1 -1
- package/dist/domain/state.d.ts +6 -2
- package/dist/domain/state.js +11 -11
- package/dist/domain/state.js.map +1 -1
- package/dist/domain/steps.d.ts +18 -20
- package/dist/domain/steps.js +122 -11
- package/dist/domain/steps.js.map +1 -1
- package/dist/domain/verify.d.ts +39 -0
- package/dist/domain/verify.js +64 -17
- package/dist/domain/verify.js.map +1 -1
- package/dist/domain/view.d.ts +4 -2
- package/dist/domain/view.js +7 -4
- package/dist/domain/view.js.map +1 -1
- package/dist/domains/harborOci.d.ts +1 -1
- package/dist/domains/harborOci.js +1 -1
- package/dist/domains/harborOci.js.map +1 -1
- package/dist/index.d.ts +7 -7
- package/dist/index.js +7 -7
- package/dist/index.js.map +1 -1
- package/dist/installer/account.d.ts +16 -0
- package/dist/installer/account.js +33 -0
- package/dist/installer/account.js.map +1 -0
- package/dist/names.d.ts +1 -1
- package/dist/names.js +2 -2
- package/dist/names.js.map +1 -1
- package/dist/prompt.d.ts +1 -1
- package/dist/prompt.js +2 -2
- package/dist/prompt.js.map +1 -1
- package/dist/stratus.js +5 -2
- package/dist/stratus.js.map +1 -1
- package/dist/vfs/domains.d.ts +3 -0
- package/dist/vfs/domains.js +12 -4
- package/dist/vfs/domains.js.map +1 -1
- package/dist/vfs/resources.d.ts +4 -4
- package/dist/vfs/resources.js +14 -14
- package/dist/vfs/resources.js.map +1 -1
- package/dist/vfs/tenancy.d.ts +3 -3
- package/dist/vfs/tenancy.js +10 -10
- package/dist/vfs/tenancy.js.map +1 -1
- package/manifests/tenant.mise +27 -0
- package/package.json +8 -6
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* is a string, as Resource Manager takes them.
|
|
5
5
|
*
|
|
6
6
|
* The choices: the stack writes no DNS (the zone is long-lived and the dns
|
|
7
|
-
* step writes the three records), the attribution tag namespace
|
|
8
|
-
*
|
|
7
|
+
* step writes the three records), the attribution tag namespace is the one
|
|
8
|
+
* the tenancy already has, wherever it lives (its name is tenancy-wide), the API's load balancer is public, the Assisted
|
|
9
9
|
* Installer installs. With no workers only `compute_count` is set: the stack
|
|
10
10
|
* still reads `compute_shape` for the image, so its other compute variables
|
|
11
11
|
* keep their defaults and a compact cluster plans unchanged.
|
|
@@ -24,7 +24,7 @@ export declare const OCI_DRIVER_VERSION: string;
|
|
|
24
24
|
* @returns The shape and its ratio.
|
|
25
25
|
* @throws Error - For a family with no flexible shape known.
|
|
26
26
|
*/
|
|
27
|
-
export declare function
|
|
27
|
+
export declare function familyShape_resolve(family: string): {
|
|
28
28
|
shape: string;
|
|
29
29
|
vcpuPerOcpu: number;
|
|
30
30
|
};
|
|
@@ -34,6 +34,8 @@ export interface StackVarsRequest {
|
|
|
34
34
|
readonly spec: DomainSpec;
|
|
35
35
|
readonly tenancyId: string;
|
|
36
36
|
readonly compartmentId: string;
|
|
37
|
+
/** Where the `openshift-tags` namespace lives: a tenancy-wide name, so wherever the first domain made it. */
|
|
38
|
+
readonly tagNamespaceCompartmentId?: string;
|
|
37
39
|
readonly region: string;
|
|
38
40
|
readonly baseDomain: string;
|
|
39
41
|
/** The discovery image's link; a secret. */
|
|
@@ -10,7 +10,7 @@ export const OCI_DRIVER_VERSION = 'v1.34.0';
|
|
|
10
10
|
* @returns The shape and its ratio.
|
|
11
11
|
* @throws Error - For a family with no flexible shape known.
|
|
12
12
|
*/
|
|
13
|
-
export function
|
|
13
|
+
export function familyShape_resolve(family) {
|
|
14
14
|
const found = Object.entries(SHAPE_TERMS).find(([, terms]) => terms.family === family);
|
|
15
15
|
if (found === undefined)
|
|
16
16
|
throw new Error(`${family}: no flexible shape known for this family`);
|
|
@@ -26,7 +26,7 @@ export function familyShape_of(family) {
|
|
|
26
26
|
* @throws Error - When the vCPU is not whole OCPUs, or the tier is unknown.
|
|
27
27
|
*/
|
|
28
28
|
function pool_variables(prefix, pool, family) {
|
|
29
|
-
const { shape, vcpuPerOcpu } =
|
|
29
|
+
const { shape, vcpuPerOcpu } = familyShape_resolve(family);
|
|
30
30
|
if (pool.vcpu % vcpuPerOcpu !== 0)
|
|
31
31
|
throw new Error(`${prefix}: ${pool.vcpu} vCPU is not whole OCPUs on ${family} (${vcpuPerOcpu} vCPU an OCPU)`);
|
|
32
32
|
const vpus = TIER_VPUS[pool.bootTier];
|
|
@@ -51,7 +51,7 @@ export function stackVariables_build(request) {
|
|
|
51
51
|
return {
|
|
52
52
|
tenancy_ocid: request.tenancyId,
|
|
53
53
|
compartment_ocid: request.compartmentId,
|
|
54
|
-
tag_namespace_compartment_ocid_resource_tagging: request.compartmentId,
|
|
54
|
+
tag_namespace_compartment_ocid_resource_tagging: request.tagNamespaceCompartmentId ?? request.compartmentId,
|
|
55
55
|
region: request.region,
|
|
56
56
|
cluster_name: request.domain,
|
|
57
57
|
zone_dns: request.baseDomain,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stackVars.js","sourceRoot":"","sources":["../../../src/cloud/oci/stackVars.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,gFAAgF;AAChF,MAAM,CAAC,MAAM,SAAS,GAAqC,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AAEpG,0EAA0E;AAC1E,MAAM,CAAC,MAAM,kBAAkB,GAAW,SAAS,CAAC;AAEpD;;;;;;GAMG;AACH,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"stackVars.js","sourceRoot":"","sources":["../../../src/cloud/oci/stackVars.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import { type KubeApi } from './kube.js';
|
|
2
|
+
import type { DomainSpec } from '../domain/spec.js';
|
|
3
|
+
/** What is installed, and as whom the smoke journey logs in; `harbor-oci`'s pins. */
|
|
4
|
+
export interface ChrisRelease {
|
|
5
|
+
readonly namespace: string;
|
|
6
|
+
readonly release: string;
|
|
7
|
+
readonly chartVersion: string;
|
|
8
|
+
readonly chrisomaticImage: string;
|
|
9
|
+
readonly testUser: string;
|
|
10
|
+
/** A pip requirement for `chris_smoke`. */
|
|
11
|
+
readonly smokeSource: string;
|
|
12
|
+
}
|
|
13
|
+
/** The release every domain gets. */
|
|
14
|
+
export declare const CHRIS_RELEASE: ChrisRelease;
|
|
15
|
+
/** The chart's OpenShift values, shipped beside `dist/`. */
|
|
16
|
+
export declare const CHRIS_VALUES: string;
|
|
17
|
+
/** The test user's password, under the domain's `auth/`. */
|
|
18
|
+
export declare const TEST_PASSWORD_FILE: string;
|
|
19
|
+
/** The router's CA, under the domain's `auth/`, for the smoke journey's HTTPS. */
|
|
20
|
+
export declare const ROUTER_CA_FILE: string;
|
|
21
|
+
/** What a host command answered. */
|
|
22
|
+
export interface HostResult {
|
|
23
|
+
readonly code: number;
|
|
24
|
+
readonly stdout: string;
|
|
25
|
+
readonly stderr: string;
|
|
26
|
+
}
|
|
27
|
+
/** How a host command is run. */
|
|
28
|
+
export interface HostRunOptions {
|
|
29
|
+
readonly env?: Record<string, string>;
|
|
30
|
+
readonly cwd?: string;
|
|
31
|
+
/** Each line of its output, as it comes. */
|
|
32
|
+
readonly line?: (text: string) => void;
|
|
33
|
+
readonly signal?: AbortSignal;
|
|
34
|
+
}
|
|
35
|
+
/** Runs a command on the host, with no shell between. */
|
|
36
|
+
export type HostRun = (command: string, args: ReadonlyArray<string>, options?: HostRunOptions) => Promise<HostResult>;
|
|
37
|
+
/** How long the waits are, in milliseconds. */
|
|
38
|
+
export interface ChrisWaits {
|
|
39
|
+
readonly pollMs: number;
|
|
40
|
+
/** For the nodes to start taking the mirror; a pool that never starts needed no rollout. */
|
|
41
|
+
readonly mirrorReactMs: number;
|
|
42
|
+
/** For the nodes to take the mirror. */
|
|
43
|
+
readonly mirrorWaitMs: number;
|
|
44
|
+
/** For every workload to roll out; the first pulls images and migrates the database. */
|
|
45
|
+
readonly rolloutWaitMs: number;
|
|
46
|
+
/** For the seed job. */
|
|
47
|
+
readonly seedWaitMs: number;
|
|
48
|
+
}
|
|
49
|
+
/** `harbor-oci`'s waits. */
|
|
50
|
+
export declare const CHRIS_WAITS: ChrisWaits;
|
|
51
|
+
/** What a ChRIS step is handed. */
|
|
52
|
+
export interface ChrisCall {
|
|
53
|
+
readonly kube: KubeApi;
|
|
54
|
+
readonly host: HostRun;
|
|
55
|
+
/** The kubeconfig's path on the host, for `helm`. */
|
|
56
|
+
readonly kubeconfigPath: string;
|
|
57
|
+
/** The domain's folder, where the smoke virtualenv lives. */
|
|
58
|
+
readonly folder: string;
|
|
59
|
+
/** The CUBE's public host (`cube.apps.<cluster>`). */
|
|
60
|
+
readonly cubeHost: string;
|
|
61
|
+
readonly spec: DomainSpec;
|
|
62
|
+
readonly release: ChrisRelease;
|
|
63
|
+
readonly waits: ChrisWaits;
|
|
64
|
+
readonly secret_read: (file: string) => string | null;
|
|
65
|
+
readonly secret_write: (file: string, text: string) => void;
|
|
66
|
+
/** A secret's path on the host. */
|
|
67
|
+
readonly secret_path: (file: string) => string;
|
|
68
|
+
readonly log: (line: string) => void;
|
|
69
|
+
readonly signal: AbortSignal;
|
|
70
|
+
}
|
|
71
|
+
/** The three ChRIS steps; the fake world answers them too. */
|
|
72
|
+
export interface ChrisWork {
|
|
73
|
+
deploy(call: ChrisCall): Promise<string>;
|
|
74
|
+
seed(call: ChrisCall): Promise<string>;
|
|
75
|
+
smoke(call: ChrisCall): Promise<string>;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Runs a command on the host: no shell, its output streamed by line.
|
|
79
|
+
*
|
|
80
|
+
* @param command - The program.
|
|
81
|
+
* @param args - Its arguments.
|
|
82
|
+
* @param options - Environment, folder, a line reader and a stop.
|
|
83
|
+
* @returns Its exit code and output.
|
|
84
|
+
*/
|
|
85
|
+
export declare const hostRun_spawn: HostRun;
|
|
86
|
+
/**
|
|
87
|
+
* The `helm upgrade --install` arguments: the pinned chart, the OpenShift
|
|
88
|
+
* values, the domain's host, node and the spec's sizes.
|
|
89
|
+
*
|
|
90
|
+
* @param call - The step.
|
|
91
|
+
* @param node - The pinned node.
|
|
92
|
+
* @returns The arguments after `helm`.
|
|
93
|
+
*/
|
|
94
|
+
export declare function helmInstall_args(call: Pick<ChrisCall, 'kubeconfigPath' | 'release' | 'cubeHost' | 'spec'>, node: string): string[];
|
|
95
|
+
/** A workload's rollout, as far as the wait reads it. */
|
|
96
|
+
interface Workload {
|
|
97
|
+
metadata?: {
|
|
98
|
+
generation?: number;
|
|
99
|
+
};
|
|
100
|
+
spec?: {
|
|
101
|
+
replicas?: number;
|
|
102
|
+
};
|
|
103
|
+
status?: {
|
|
104
|
+
observedGeneration?: number;
|
|
105
|
+
replicas?: number;
|
|
106
|
+
updatedReplicas?: number;
|
|
107
|
+
readyReplicas?: number;
|
|
108
|
+
availableReplicas?: number;
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Whether a workload has rolled out: its generation seen, every replica
|
|
113
|
+
* updated and ready.
|
|
114
|
+
*
|
|
115
|
+
* @param workload - The deployment or stateful set.
|
|
116
|
+
* @returns True when done.
|
|
117
|
+
*/
|
|
118
|
+
export declare function rollout_done(workload: Workload | null): boolean;
|
|
119
|
+
/**
|
|
120
|
+
* The chrisomatic config the seed job runs: the test user, the compute
|
|
121
|
+
* resource the chart registers (re-declared with its own credentials, so a
|
|
122
|
+
* re-run converges), and the smoke journey's plugins. YAML strings are
|
|
123
|
+
* written as JSON strings, which YAML reads the same.
|
|
124
|
+
*
|
|
125
|
+
* @param values - The addresses and credentials.
|
|
126
|
+
* @returns The config's text.
|
|
127
|
+
*/
|
|
128
|
+
export declare function chrisomaticConfig_render(values: {
|
|
129
|
+
cubeUrl: string;
|
|
130
|
+
superuserPassword: string;
|
|
131
|
+
testUser: string;
|
|
132
|
+
testPassword: string;
|
|
133
|
+
pfconUrl: string;
|
|
134
|
+
pfconUser: string;
|
|
135
|
+
pfconPassword: string;
|
|
136
|
+
}): string;
|
|
137
|
+
/**
|
|
138
|
+
* The seed job: chrisomatic once over the config in its secret.
|
|
139
|
+
*
|
|
140
|
+
* @param release - The release.
|
|
141
|
+
* @param timeoutSeconds - Its deadline.
|
|
142
|
+
* @returns The Job.
|
|
143
|
+
*/
|
|
144
|
+
export declare function seedJob_build(release: ChrisRelease, timeoutSeconds: number): unknown;
|
|
145
|
+
/**
|
|
146
|
+
* The journey's last line in a few words: `chris_smoke` ends with its verdict
|
|
147
|
+
* as JSON (`pass · 7 steps · 17 s`, or the step that failed); any other line
|
|
148
|
+
* is kept as it is.
|
|
149
|
+
*
|
|
150
|
+
* @param line - The last line it printed.
|
|
151
|
+
* @returns The words.
|
|
152
|
+
*/
|
|
153
|
+
export declare function smokeVerdict_words(line: string): string;
|
|
154
|
+
/** ChRIS on a real cluster. */
|
|
155
|
+
export declare const chrisWork_cluster: ChrisWork;
|
|
156
|
+
export {};
|