@fnndsc/stratus 0.0.0 → 0.2.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 +6 -1
- package/dist/args.d.ts +20 -6
- package/dist/args.js +45 -2
- package/dist/args.js.map +1 -1
- package/dist/backend.d.ts +35 -4
- package/dist/backend.js +77 -12
- package/dist/backend.js.map +1 -1
- package/dist/cloud/builder.d.ts +172 -0
- package/dist/cloud/builder.js +41 -0
- package/dist/cloud/builder.js.map +1 -0
- package/dist/cloud/driver.d.ts +149 -0
- package/dist/cloud/fake/builder.d.ts +147 -0
- package/dist/cloud/fake/builder.js +213 -0
- package/dist/cloud/fake/builder.js.map +1 -0
- package/dist/cloud/fake/driver.d.ts +73 -1
- package/dist/cloud/fake/driver.js +122 -0
- package/dist/cloud/fake/driver.js.map +1 -1
- package/dist/cloud/oci/api.d.ts +3 -2
- package/dist/cloud/oci/api.js +2 -0
- package/dist/cloud/oci/api.js.map +1 -1
- package/dist/cloud/oci/buildApi.d.ts +61 -0
- package/dist/cloud/oci/buildApi.js +132 -0
- package/dist/cloud/oci/buildApi.js.map +1 -0
- package/dist/cloud/oci/builder.d.ts +172 -0
- package/dist/cloud/oci/builder.js +370 -0
- package/dist/cloud/oci/builder.js.map +1 -0
- package/dist/cloud/oci/driver.d.ts +23 -2
- package/dist/cloud/oci/driver.js +107 -1
- package/dist/cloud/oci/driver.js.map +1 -1
- package/dist/cloud/oci/planRead.d.ts +38 -0
- package/dist/cloud/oci/planRead.js +67 -0
- package/dist/cloud/oci/planRead.js.map +1 -0
- package/dist/cloud/oci/prices.d.ts +22 -1
- package/dist/cloud/oci/prices.js +35 -0
- package/dist/cloud/oci/prices.js.map +1 -1
- package/dist/cloud/oci/resourceApi.d.ts +114 -0
- package/dist/cloud/oci/resourceApi.js +261 -0
- package/dist/cloud/oci/resourceApi.js.map +1 -0
- package/dist/cloud/oci/resourceMap.d.ts +44 -0
- package/dist/cloud/oci/resourceMap.js +70 -0
- package/dist/cloud/oci/resourceMap.js.map +1 -0
- package/dist/cloud/oci/rmApi.d.ts +74 -0
- package/dist/cloud/oci/rmApi.js +141 -0
- package/dist/cloud/oci/rmApi.js.map +1 -0
- package/dist/cloud/oci/stackVars.d.ts +49 -0
- package/dist/cloud/oci/stackVars.js +70 -0
- package/dist/cloud/oci/stackVars.js.map +1 -0
- package/dist/cluster/fakeKube.d.ts +43 -0
- package/dist/cluster/fakeKube.js +86 -0
- package/dist/cluster/fakeKube.js.map +1 -0
- package/dist/cluster/kube.d.ts +40 -0
- package/dist/cluster/kube.js +46 -0
- package/dist/cluster/kube.js.map +1 -0
- package/dist/cluster/kubeHttp.d.ts +16 -0
- package/dist/cluster/kubeHttp.js +86 -0
- package/dist/cluster/kubeHttp.js.map +1 -0
- package/dist/commands/build.d.ts +90 -0
- package/dist/commands/build.js +358 -0
- package/dist/commands/build.js.map +1 -0
- package/dist/commands/capacity.d.ts +37 -0
- package/dist/commands/capacity.js +93 -0
- package/dist/commands/capacity.js.map +1 -0
- package/dist/commands/domain.d.ts +45 -0
- package/dist/commands/domain.js +150 -0
- package/dist/commands/domain.js.map +1 -0
- package/dist/commands/spend.d.ts +22 -0
- package/dist/commands/spend.js +65 -0
- package/dist/commands/spend.js.map +1 -0
- package/dist/commands/teardown.d.ts +10 -0
- package/dist/commands/teardown.js +72 -0
- package/dist/commands/teardown.js.map +1 -0
- package/dist/commands/verify.d.ts +28 -0
- package/dist/commands/verify.js +98 -0
- package/dist/commands/verify.js.map +1 -0
- package/dist/domain/adopt.d.ts +60 -0
- package/dist/domain/adopt.js +143 -0
- package/dist/domain/adopt.js.map +1 -0
- package/dist/domain/sizing.d.ts +55 -0
- package/dist/domain/sizing.js +66 -0
- package/dist/domain/sizing.js.map +1 -0
- package/dist/domain/spec.d.ts +101 -0
- package/dist/domain/spec.js +191 -0
- package/dist/domain/spec.js.map +1 -0
- package/dist/domain/spend.d.ts +84 -0
- package/dist/domain/spend.js +109 -0
- package/dist/domain/spend.js.map +1 -0
- package/dist/domain/state.d.ts +149 -0
- package/dist/domain/state.js +182 -0
- package/dist/domain/state.js.map +1 -0
- package/dist/domain/steps.d.ts +82 -0
- package/dist/domain/steps.js +311 -0
- package/dist/domain/steps.js.map +1 -0
- package/dist/domain/teardown.d.ts +38 -0
- package/dist/domain/teardown.js +48 -0
- package/dist/domain/teardown.js.map +1 -0
- package/dist/domain/verify.d.ts +68 -0
- package/dist/domain/verify.js +216 -0
- package/dist/domain/verify.js.map +1 -0
- package/dist/domain/view.d.ts +24 -0
- package/dist/domain/view.js +38 -0
- package/dist/domain/view.js.map +1 -0
- package/dist/domains/harborOci.d.ts +75 -0
- package/dist/domains/harborOci.js +165 -0
- package/dist/domains/harborOci.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/installer/assisted.d.ts +97 -0
- package/dist/installer/assisted.js +171 -0
- package/dist/installer/assisted.js.map +1 -0
- package/dist/installer/installer.d.ts +86 -0
- package/dist/installer/installer.js +15 -0
- package/dist/installer/installer.js.map +1 -0
- package/dist/prompt.d.ts +33 -0
- package/dist/prompt.js +46 -0
- package/dist/prompt.js.map +1 -0
- package/dist/session.d.ts +2 -0
- package/dist/session.js +4 -0
- package/dist/session.js.map +1 -1
- package/dist/stratus.js +75 -3
- package/dist/stratus.js.map +1 -1
- package/dist/vfs/domains.d.ts +39 -0
- package/dist/vfs/domains.js +128 -0
- package/dist/vfs/domains.js.map +1 -0
- package/dist/vfs/look.d.ts +10 -0
- package/dist/vfs/look.js +43 -8
- package/dist/vfs/look.js.map +1 -1
- package/dist/vfs/resources.d.ts +136 -0
- package/dist/vfs/resources.js +325 -0
- package/dist/vfs/resources.js.map +1 -0
- package/dist/vfs/tenancy.d.ts +15 -2
- package/dist/vfs/tenancy.js +53 -17
- package/dist/vfs/tenancy.js.map +1 -1
- package/package.json +14 -7
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
/** The states a search leaves out: what is gone. */
|
|
2
|
+
const GONE_STATES = ['terminated', 'deleted'];
|
|
1
3
|
/** The key an availability is kept under. */
|
|
2
4
|
export function availabilityKey_make(region, service, name, zone) {
|
|
3
5
|
return zone === undefined ? `${region}/${service}/${name}` : `${region}/${service}/${name}/${zone}`;
|
|
@@ -61,6 +63,73 @@ export class FakeDriver {
|
|
|
61
63
|
this.call_count('prices_list');
|
|
62
64
|
return [...this.cloudData.prices];
|
|
63
65
|
}
|
|
66
|
+
async servicePrices_get() {
|
|
67
|
+
this.call_count('servicePrices_get');
|
|
68
|
+
return this.cloudData.servicePrices ?? null;
|
|
69
|
+
}
|
|
70
|
+
/** The records of one kind in a container and region, sorted by name; DNS is global. */
|
|
71
|
+
resources_of(kind, containerId, region) {
|
|
72
|
+
this.call_count(`${kind}_list`);
|
|
73
|
+
return this.cloudData.resources
|
|
74
|
+
.filter((entry) => entry.kind === kind && entry.containerId === containerId && (kind === 'dns' || entry.record.region === region))
|
|
75
|
+
.map((entry) => entry.record)
|
|
76
|
+
.sort((a, b) => a.name.localeCompare(b.name));
|
|
77
|
+
}
|
|
78
|
+
async instances_list(containerId, region) {
|
|
79
|
+
return this.resources_of('instances', containerId, region);
|
|
80
|
+
}
|
|
81
|
+
async networks_list(containerId, region) {
|
|
82
|
+
return this.resources_of('networks', containerId, region);
|
|
83
|
+
}
|
|
84
|
+
async subnets_list(containerId, region) {
|
|
85
|
+
return this.resources_of('subnets', containerId, region);
|
|
86
|
+
}
|
|
87
|
+
async securitygroups_list(containerId, region) {
|
|
88
|
+
return this.resources_of('securitygroups', containerId, region);
|
|
89
|
+
}
|
|
90
|
+
async loadbalancers_list(containerId, region) {
|
|
91
|
+
return this.resources_of('loadbalancers', containerId, region);
|
|
92
|
+
}
|
|
93
|
+
async volumes_list(containerId, region) {
|
|
94
|
+
return this.resources_of('volumes', containerId, region);
|
|
95
|
+
}
|
|
96
|
+
async buckets_list(containerId, region) {
|
|
97
|
+
return this.resources_of('buckets', containerId, region);
|
|
98
|
+
}
|
|
99
|
+
async dns_list(containerId, region) {
|
|
100
|
+
return this.resources_of('dns', containerId, region);
|
|
101
|
+
}
|
|
102
|
+
async objects_list(bucket) {
|
|
103
|
+
this.call_count('objects_list');
|
|
104
|
+
return [...(this.cloudData.objects[bucket] ?? [])];
|
|
105
|
+
}
|
|
106
|
+
async links_list(bucket) {
|
|
107
|
+
this.call_count('links_list');
|
|
108
|
+
return [...(this.cloudData.links[bucket] ?? [])];
|
|
109
|
+
}
|
|
110
|
+
async object_read(bucket, object) {
|
|
111
|
+
this.call_count('object_read');
|
|
112
|
+
const text = this.cloudData.objectBytes[`${bucket}/${object}`];
|
|
113
|
+
if (text === undefined)
|
|
114
|
+
throw new Error(`fake cloud: no object ${bucket}/${object}`);
|
|
115
|
+
return Buffer.from(text, 'utf-8');
|
|
116
|
+
}
|
|
117
|
+
async records_list(zoneId) {
|
|
118
|
+
this.call_count('records_list');
|
|
119
|
+
return [...(this.cloudData.records[zoneId] ?? [])];
|
|
120
|
+
}
|
|
121
|
+
async resources_search(containerId, region) {
|
|
122
|
+
this.call_count('resources_search');
|
|
123
|
+
const counts = {};
|
|
124
|
+
for (const entry of this.cloudData.resources) {
|
|
125
|
+
if (entry.containerId !== containerId || GONE_STATES.includes(entry.record.state))
|
|
126
|
+
continue;
|
|
127
|
+
if (entry.kind !== 'dns' && entry.record.region !== region)
|
|
128
|
+
continue;
|
|
129
|
+
counts[entry.kind] = (counts[entry.kind] ?? 0) + 1;
|
|
130
|
+
}
|
|
131
|
+
return counts;
|
|
132
|
+
}
|
|
64
133
|
}
|
|
65
134
|
/**
|
|
66
135
|
* A small cloud with the shape of the real one: a tenancy, two compartments
|
|
@@ -80,6 +149,7 @@ export function fakeCloud_sample(tenancy = 'fnndsc') {
|
|
|
80
149
|
const shape = (name, family, processor) => ({
|
|
81
150
|
name, family, flexible: true, vcpuPerCore: 2, cores: { min: 1, max: 94 }, memoryGib: { min: 1, max: 1049 }, processor, gpus: 0,
|
|
82
151
|
quotaNames: [`standard-${family.toLowerCase()}-core-count`, `standard-${family.toLowerCase()}-memory-count`],
|
|
152
|
+
limitService: 'compute',
|
|
83
153
|
raw: { shape: name, processorDescription: processor, isFlexible: true },
|
|
84
154
|
});
|
|
85
155
|
return {
|
|
@@ -110,6 +180,58 @@ export function fakeCloud_sample(tenancy = 'fnndsc') {
|
|
|
110
180
|
{ shape: 'VM.Standard.E5.Flex', vcpuHour: 0.015, gibHour: 0.002, currency: 'USD' },
|
|
111
181
|
{ shape: 'VM.Standard.A2.Flex', vcpuHour: 0.007, gibHour: 0.002, currency: 'USD' },
|
|
112
182
|
],
|
|
183
|
+
servicePrices: { volumeGibMonth: 0.0255, vpuGibMonth: 0.0017, balancerHour: 0.0113, balancerMbpsHour: 0.0001, currency: 'USD' },
|
|
184
|
+
...fakeResources_sample(region, 'ocid1.compartment.oc1..harbor'),
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* The resources of a small Trusted Domain in one compartment: three nodes, a
|
|
189
|
+
* network with subnets and security groups, two load balancers, their
|
|
190
|
+
* volumes, a bucket holding an image, and a DNS zone.
|
|
191
|
+
*
|
|
192
|
+
* @param region - The region they live in.
|
|
193
|
+
* @param containerId - The compartment holding them.
|
|
194
|
+
* @returns The resource part of a fake cloud.
|
|
195
|
+
*/
|
|
196
|
+
export function fakeResources_sample(region, containerId) {
|
|
197
|
+
const tags = { 'openshift-tags.openshift-resource': 'harbor' };
|
|
198
|
+
const base = (name, id, state) => ({
|
|
199
|
+
name, id, state, region, created: '2026-10-06T14:00:00.000Z', tags, raw: { id, displayName: name, lifecycleState: state.toUpperCase() },
|
|
200
|
+
});
|
|
201
|
+
const vcn = 'ocid1.vcn.oc1.iad.harbor';
|
|
202
|
+
const resources = [
|
|
203
|
+
...[0, 1, 2].map((n) => ({
|
|
204
|
+
kind: 'instances', containerId,
|
|
205
|
+
record: { ...base(`node-${n}`, `ocid1.instance.oc1.iad.node0${n}`, 'running'), shape: 'VM.Standard.E5.Flex', zone: `Uocm:US-ASHBURN-AD-${n + 1}`, ips: [`10.0.16.${10 + n}`], vcpus: 8, memoryGib: 24 },
|
|
206
|
+
})),
|
|
207
|
+
{ kind: 'instances', containerId, record: { ...base('bootstrap', 'ocid1.instance.oc1.iad.boot00', 'terminated'), shape: 'VM.Standard.E5.Flex', zone: 'Uocm:US-ASHBURN-AD-1', ips: [] } },
|
|
208
|
+
{ kind: 'networks', containerId, record: base('harbor-vcn', vcn, 'available') },
|
|
209
|
+
...['control', 'compute', 'lb'].map((name, n) => ({ kind: 'subnets', containerId, record: { ...base(name, `ocid1.subnet.oc1.iad.sub00${n}`, 'available'), networkId: vcn } })),
|
|
210
|
+
...['cluster', 'api'].map((name, n) => ({ kind: 'securitygroups', containerId, record: { ...base(name, `ocid1.networksecuritygroup.oc1.iad.nsg00${n}`, 'available'), networkId: vcn } })),
|
|
211
|
+
{ kind: 'loadbalancers', containerId, record: { ...base('api', 'ocid1.loadbalancer.oc1.iad.lbapi0', 'active'), ips: ['129.0.0.10', '10.0.32.5'], shape: 'flexible', minimumMbps: 10 } },
|
|
212
|
+
{ kind: 'loadbalancers', containerId, record: { ...base('apps', 'ocid1.loadbalancer.oc1.iad.lbapp0', 'active'), ips: ['129.0.0.11'], shape: 'flexible', minimumMbps: 10 } },
|
|
213
|
+
...[0, 1, 2].map((n) => ({
|
|
214
|
+
kind: 'volumes', containerId,
|
|
215
|
+
record: { ...base(`node-${n} (Boot Volume)`, `ocid1.bootvolume.oc1.iad.boot0${n}`, 'available'), sizeGib: 120, attachedTo: `ocid1.instance.oc1.iad.node0${n}`, boot: true, vpusPerGib: 10 },
|
|
216
|
+
})),
|
|
217
|
+
{ kind: 'volumes', containerId, record: { ...base('etcd-0', 'ocid1.volume.oc1.iad.etcd00', 'available'), sizeGib: 50, attachedTo: 'ocid1.instance.oc1.iad.node00', boot: false } },
|
|
218
|
+
{ kind: 'volumes', containerId, record: { ...base('spare', 'ocid1.volume.oc1.iad.spare0', 'available'), sizeGib: 50, attachedTo: null, boot: false } },
|
|
219
|
+
{ kind: 'buckets', containerId, record: base('iso', 'ocid1.bucket.oc1.iad.iso000', 'active') },
|
|
220
|
+
{ kind: 'dns', containerId, record: base('harbor.fnndsc.org', 'ocid1.dns-zone.oc1..harbor', 'active') },
|
|
221
|
+
];
|
|
222
|
+
return {
|
|
223
|
+
resources,
|
|
224
|
+
objects: { iso: [{ name: 'agent.x86_64.iso', size: 1_181_745_152, modified: '2026-10-06T14:10:00.000Z' }, { name: 'README', size: 30, modified: '2026-10-06T14:00:00.000Z' }] },
|
|
225
|
+
objectBytes: { 'iso/README': 'the agent ISO the nodes boot.\n' },
|
|
226
|
+
links: { iso: [{ object: 'agent.x86_64.iso', name: 'agent-iso-read', access: 'ObjectRead', expires: '2026-11-06T14:10:00.000Z' }] },
|
|
227
|
+
records: {
|
|
228
|
+
'ocid1.dns-zone.oc1..harbor': [
|
|
229
|
+
{ domain: 'harbor.fnndsc.org', type: 'SOA', ttl: 300, data: 'ns1.p201.dns.oraclecloud.net. hostmaster.oracle.com. 2 3600 3600 3600 300' },
|
|
230
|
+
{ domain: 'api.harbor.fnndsc.org', type: 'A', ttl: 300, data: '129.0.0.10' },
|
|
231
|
+
{ domain: 'api-int.harbor.fnndsc.org', type: 'A', ttl: 300, data: '10.0.32.5' },
|
|
232
|
+
{ domain: '*.apps.harbor.fnndsc.org', type: 'A', ttl: 300, data: '129.0.0.11' },
|
|
233
|
+
],
|
|
234
|
+
},
|
|
113
235
|
};
|
|
114
236
|
}
|
|
115
237
|
//# sourceMappingURL=driver.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.js","sourceRoot":"","sources":["../../../src/cloud/fake/driver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"driver.js","sourceRoot":"","sources":["../../../src/cloud/fake/driver.ts"],"names":[],"mappings":"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"}
|
package/dist/cloud/oci/api.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type OciResourceApi } from './resourceApi.js';
|
|
1
2
|
/** What the SDK says about the credential's tenancy. */
|
|
2
3
|
export interface OciTenancyRecord {
|
|
3
4
|
readonly id: string;
|
|
@@ -44,8 +45,8 @@ export interface OciShapeRecord {
|
|
|
44
45
|
readonly quotaNames: ReadonlyArray<string>;
|
|
45
46
|
readonly raw: unknown;
|
|
46
47
|
}
|
|
47
|
-
/** The calls the driver makes. */
|
|
48
|
-
export interface OciApi {
|
|
48
|
+
/** The calls the driver makes: the tenancy's facts here, its resources in `resourceApi.ts`. */
|
|
49
|
+
export interface OciApi extends OciResourceApi {
|
|
49
50
|
/** The credential's tenancy id, user id and home region, read from the profile without a call. */
|
|
50
51
|
credential_get(): {
|
|
51
52
|
tenancyId: string;
|
package/dist/cloud/oci/api.js
CHANGED
|
@@ -13,6 +13,7 @@ import * as common from 'oci-common';
|
|
|
13
13
|
import * as identity from 'oci-identity';
|
|
14
14
|
import * as limits from 'oci-limits';
|
|
15
15
|
import * as core from 'oci-core';
|
|
16
|
+
import { ociResourceApi_make } from './resourceApi.js';
|
|
16
17
|
/**
|
|
17
18
|
* Every item of a paged list call.
|
|
18
19
|
*
|
|
@@ -74,6 +75,7 @@ export function ociApi_make(options = {}) {
|
|
|
74
75
|
};
|
|
75
76
|
const homeRegion = provider.getRegion().regionId;
|
|
76
77
|
return {
|
|
78
|
+
...ociResourceApi_make(provider),
|
|
77
79
|
credential_get: () => ({
|
|
78
80
|
tenancyId: provider.getTenantId(),
|
|
79
81
|
userId: provider.getUser(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/cloud/oci/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,MAAM,MAAM,YAAY,CAAC;AACrC,OAAO,KAAK,QAAQ,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,MAAM,MAAM,YAAY,CAAC;AACrC,OAAO,KAAK,IAAI,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/cloud/oci/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file The OCI calls a build makes beside Resource Manager: the checks before
|
|
3
|
+
* it (tenancy, compartment, attribution tag, load-balancer room, the DNS
|
|
4
|
+
* zone's name servers), the discovery image's bucket, object and link, and
|
|
5
|
+
* the cluster's DNS records. The wire only; the builder decides what to ask
|
|
6
|
+
* and its tests replay recorded answers. Only this folder imports `oci-*`.
|
|
7
|
+
*
|
|
8
|
+
* @module
|
|
9
|
+
*/
|
|
10
|
+
import type { Readable } from 'node:stream';
|
|
11
|
+
/** A pre-authenticated link to an object. */
|
|
12
|
+
export interface OciLink {
|
|
13
|
+
readonly id: string;
|
|
14
|
+
/** The URL; a secret. */
|
|
15
|
+
readonly url: string;
|
|
16
|
+
}
|
|
17
|
+
/** The build's calls, in one region. */
|
|
18
|
+
export interface OciBuildApi {
|
|
19
|
+
/** The tenancy's id and name: the credential works. */
|
|
20
|
+
tenancy_get(): Promise<{
|
|
21
|
+
id: string;
|
|
22
|
+
name: string;
|
|
23
|
+
}>;
|
|
24
|
+
/** A compartment's lifecycle state. */
|
|
25
|
+
compartmentState_get(compartmentId: string): Promise<string>;
|
|
26
|
+
/** Whether a tag namespace holds a tag, in a compartment. */
|
|
27
|
+
tag_exists(compartmentId: string, namespace: string, tag: string): Promise<boolean>;
|
|
28
|
+
/** How many of a limit are free, region-wide. */
|
|
29
|
+
limitFree_get(service: string, limit: string): Promise<number | null>;
|
|
30
|
+
/** A DNS zone's name servers, as OCI serves it. */
|
|
31
|
+
zoneNameservers_get(zone: string, compartmentId: string): Promise<string[]>;
|
|
32
|
+
/** Makes a private bucket unless it is there. */
|
|
33
|
+
bucket_ensure(bucket: string, compartmentId: string): Promise<void>;
|
|
34
|
+
/** Puts an object. */
|
|
35
|
+
object_put(bucket: string, object: string, body: Readable | Buffer, length?: number): Promise<void>;
|
|
36
|
+
/** Removes an object; one already gone is no error. */
|
|
37
|
+
object_delete(bucket: string, object: string): Promise<void>;
|
|
38
|
+
/** Makes a read link to an object, until a time. */
|
|
39
|
+
link_create(bucket: string, object: string, name: string, expires: Date): Promise<OciLink>;
|
|
40
|
+
/** Removes a link; one already gone is no error. */
|
|
41
|
+
link_delete(bucket: string, linkId: string): Promise<void>;
|
|
42
|
+
/** Replaces an A record set. */
|
|
43
|
+
record_upsert(zone: string, name: string, address: string, compartmentId: string): Promise<void>;
|
|
44
|
+
/** Removes an A record set; one already gone is no error. */
|
|
45
|
+
record_delete(zone: string, name: string, compartmentId: string): Promise<void>;
|
|
46
|
+
/** Removes a block volume; one already gone is no error. */
|
|
47
|
+
volume_delete(volumeId: string): Promise<void>;
|
|
48
|
+
}
|
|
49
|
+
/** How the calls authenticate, and where. */
|
|
50
|
+
export interface OciBuildApiOptions {
|
|
51
|
+
readonly configFile?: string;
|
|
52
|
+
readonly profile?: string;
|
|
53
|
+
readonly region: string;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* The build's calls over the SDK.
|
|
57
|
+
*
|
|
58
|
+
* @param options - The profile and the region.
|
|
59
|
+
* @returns The calls.
|
|
60
|
+
*/
|
|
61
|
+
export declare function ociBuildApi_make(options: OciBuildApiOptions): OciBuildApi;
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import * as common from 'oci-common';
|
|
2
|
+
import * as core from 'oci-core';
|
|
3
|
+
import * as dns from 'oci-dns';
|
|
4
|
+
import * as identity from 'oci-identity';
|
|
5
|
+
import * as limits from 'oci-limits';
|
|
6
|
+
import * as objectstorage from 'oci-objectstorage';
|
|
7
|
+
/**
|
|
8
|
+
* Whether an SDK error is a not-found.
|
|
9
|
+
*
|
|
10
|
+
* @param error - The error.
|
|
11
|
+
* @returns True for a 404.
|
|
12
|
+
*/
|
|
13
|
+
function notFound(error) {
|
|
14
|
+
return error.statusCode === 404;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* The build's calls over the SDK.
|
|
18
|
+
*
|
|
19
|
+
* @param options - The profile and the region.
|
|
20
|
+
* @returns The calls.
|
|
21
|
+
*/
|
|
22
|
+
export function ociBuildApi_make(options) {
|
|
23
|
+
const provider = new common.ConfigFileAuthenticationDetailsProvider(options.configFile, options.profile);
|
|
24
|
+
const regional = (client) => { client.regionId = options.region; return client; };
|
|
25
|
+
const ident = regional(new identity.IdentityClient({ authenticationDetailsProvider: provider }));
|
|
26
|
+
const limit = regional(new limits.LimitsClient({ authenticationDetailsProvider: provider }));
|
|
27
|
+
const dnsClient = regional(new dns.DnsClient({ authenticationDetailsProvider: provider }));
|
|
28
|
+
const store = regional(new objectstorage.ObjectStorageClient({ authenticationDetailsProvider: provider }));
|
|
29
|
+
const blocks = regional(new core.BlockstorageClient({ authenticationDetailsProvider: provider }));
|
|
30
|
+
const tenancyId = provider.getTenantId();
|
|
31
|
+
let namespace = null;
|
|
32
|
+
const namespace_get = async () => {
|
|
33
|
+
if (namespace === null)
|
|
34
|
+
namespace = (await store.getNamespace({ compartmentId: tenancyId })).value;
|
|
35
|
+
return namespace;
|
|
36
|
+
};
|
|
37
|
+
return {
|
|
38
|
+
async tenancy_get() {
|
|
39
|
+
const tenancy = (await ident.getTenancy({ tenancyId })).tenancy;
|
|
40
|
+
return { id: tenancy.id ?? tenancyId, name: tenancy.name ?? '' };
|
|
41
|
+
},
|
|
42
|
+
async compartmentState_get(compartmentId) {
|
|
43
|
+
return String((await ident.getCompartment({ compartmentId })).compartment.lifecycleState);
|
|
44
|
+
},
|
|
45
|
+
async tag_exists(compartmentId, namespaceName, tag) {
|
|
46
|
+
const spaces = (await ident.listTagNamespaces({ compartmentId, lifecycleState: identity.models.TagNamespace.LifecycleState.Active })).items;
|
|
47
|
+
const space = spaces.find((entry) => entry.name === namespaceName);
|
|
48
|
+
if (space === undefined || space.id === undefined)
|
|
49
|
+
return false;
|
|
50
|
+
try {
|
|
51
|
+
await ident.getTag({ tagNamespaceId: space.id, tagName: tag });
|
|
52
|
+
return true;
|
|
53
|
+
}
|
|
54
|
+
catch (error) {
|
|
55
|
+
if (notFound(error))
|
|
56
|
+
return false;
|
|
57
|
+
throw error;
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
async limitFree_get(service, name) {
|
|
61
|
+
const answer = await limit.getResourceAvailability({ serviceName: service, limitName: name, compartmentId: tenancyId });
|
|
62
|
+
return answer.resourceAvailability.available ?? null;
|
|
63
|
+
},
|
|
64
|
+
async zoneNameservers_get(zone, compartmentId) {
|
|
65
|
+
const answer = await dnsClient.getZone({ zoneNameOrId: zone, compartmentId });
|
|
66
|
+
return (answer.zone.nameservers ?? []).map((server) => server.hostname.replace(/\.$/, '')).sort();
|
|
67
|
+
},
|
|
68
|
+
async bucket_ensure(bucket, compartmentId) {
|
|
69
|
+
const namespaceName = await namespace_get();
|
|
70
|
+
try {
|
|
71
|
+
await store.getBucket({ namespaceName, bucketName: bucket });
|
|
72
|
+
}
|
|
73
|
+
catch (error) {
|
|
74
|
+
if (!notFound(error))
|
|
75
|
+
throw error;
|
|
76
|
+
await store.createBucket({ namespaceName, createBucketDetails: { name: bucket, compartmentId, publicAccessType: objectstorage.models.CreateBucketDetails.PublicAccessType.NoPublicAccess, storageTier: objectstorage.models.CreateBucketDetails.StorageTier.Standard } });
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
async object_put(bucket, object, body, length) {
|
|
80
|
+
await store.putObject({ namespaceName: await namespace_get(), bucketName: bucket, objectName: object, putObjectBody: body, ...(length !== undefined ? { contentLength: length } : {}) });
|
|
81
|
+
},
|
|
82
|
+
async object_delete(bucket, object) {
|
|
83
|
+
try {
|
|
84
|
+
await store.deleteObject({ namespaceName: await namespace_get(), bucketName: bucket, objectName: object });
|
|
85
|
+
}
|
|
86
|
+
catch (error) {
|
|
87
|
+
if (!notFound(error))
|
|
88
|
+
throw error;
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
async link_create(bucket, object, name, expires) {
|
|
92
|
+
const answer = await store.createPreauthenticatedRequest({
|
|
93
|
+
namespaceName: await namespace_get(),
|
|
94
|
+
bucketName: bucket,
|
|
95
|
+
createPreauthenticatedRequestDetails: { name, objectName: object, accessType: objectstorage.models.CreatePreauthenticatedRequestDetails.AccessType.ObjectRead, timeExpires: expires },
|
|
96
|
+
});
|
|
97
|
+
const link = answer.preauthenticatedRequest;
|
|
98
|
+
return { id: link.id, url: link.fullPath ?? `https://objectstorage.${options.region}.oraclecloud.com${link.accessUri}` };
|
|
99
|
+
},
|
|
100
|
+
async link_delete(bucket, linkId) {
|
|
101
|
+
try {
|
|
102
|
+
await store.deletePreauthenticatedRequest({ namespaceName: await namespace_get(), bucketName: bucket, parId: linkId });
|
|
103
|
+
}
|
|
104
|
+
catch (error) {
|
|
105
|
+
if (!notFound(error))
|
|
106
|
+
throw error;
|
|
107
|
+
}
|
|
108
|
+
},
|
|
109
|
+
async record_upsert(zone, name, address, compartmentId) {
|
|
110
|
+
await dnsClient.updateRRSet({ zoneNameOrId: zone, domain: name, rtype: 'A', compartmentId, updateRRSetDetails: { items: [{ domain: name, rtype: 'A', rdata: address, ttl: 300 }] } });
|
|
111
|
+
},
|
|
112
|
+
async volume_delete(volumeId) {
|
|
113
|
+
try {
|
|
114
|
+
await blocks.deleteVolume({ volumeId });
|
|
115
|
+
}
|
|
116
|
+
catch (error) {
|
|
117
|
+
if (!notFound(error))
|
|
118
|
+
throw error;
|
|
119
|
+
}
|
|
120
|
+
},
|
|
121
|
+
async record_delete(zone, name, compartmentId) {
|
|
122
|
+
try {
|
|
123
|
+
await dnsClient.deleteRRSet({ zoneNameOrId: zone, domain: name, rtype: 'A', compartmentId });
|
|
124
|
+
}
|
|
125
|
+
catch (error) {
|
|
126
|
+
if (!notFound(error))
|
|
127
|
+
throw error;
|
|
128
|
+
}
|
|
129
|
+
},
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
//# sourceMappingURL=buildApi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildApi.js","sourceRoot":"","sources":["../../../src/cloud/oci/buildApi.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
import type { DomainSpec } from '../../domain/spec.js';
|
|
2
|
+
import type { BuildCall, CloudBuilder, InfraOutputs, InfraPlan, PreflightCheck, TeardownRequest } from '../builder.js';
|
|
3
|
+
import { Readable } from 'node:stream';
|
|
4
|
+
import type { OciBuildApi } from './buildApi.js';
|
|
5
|
+
import type { CloudDriver } from '../driver.js';
|
|
6
|
+
import type { RmApi, RmJobRecord, RmOperation } from './rmApi.js';
|
|
7
|
+
/** The stack release stratus builds with: Oracle's zip of `create-cluster`, pinned. */
|
|
8
|
+
export declare const STACK_RELEASE: {
|
|
9
|
+
readonly version: "v1.6.1";
|
|
10
|
+
readonly url: "https://github.com/oracle-quickstart/oci-openshift/releases/download/v1.6.1/create-cluster-v1.6.1.zip";
|
|
11
|
+
readonly sha256: "a4c8a52dcc4ffc030e90b94e90553cc9294fbb87ed66fb6ac6fae2c573b14c8b";
|
|
12
|
+
};
|
|
13
|
+
/** The freeform tag a domain's stack carries, so a fresh bastion finds it (D4). */
|
|
14
|
+
export declare const DOMAIN_TAG: string;
|
|
15
|
+
/** How the OCI builder is made. */
|
|
16
|
+
export interface OciBuilderOptions {
|
|
17
|
+
/** Resource Manager in a region. */
|
|
18
|
+
readonly rm: (region: string) => RmApi;
|
|
19
|
+
/** The stack's zip, as fetched; `fetch` of {@link STACK_RELEASE} when absent. */
|
|
20
|
+
readonly zip_fetch?: () => Promise<Buffer>;
|
|
21
|
+
/** How often a job is asked again, in milliseconds. */
|
|
22
|
+
readonly pollMs?: number;
|
|
23
|
+
/** The build's other OCI calls in a region; absent, only adoption and re-plans work. */
|
|
24
|
+
readonly api?: (region: string) => OciBuildApi;
|
|
25
|
+
/** The read driver, for the fit per availability domain. */
|
|
26
|
+
readonly driver?: CloudDriver;
|
|
27
|
+
/** The nodes' SSH public key, read on the host, or null when there is none. */
|
|
28
|
+
readonly sshPublicKey?: () => string | null;
|
|
29
|
+
/** A zone's name servers from a resolver outside the tenancy. */
|
|
30
|
+
readonly nameservers_resolve?: (zone: string) => Promise<string[]>;
|
|
31
|
+
/** Fetches the discovery image: its bytes as a stream, and their length when known. */
|
|
32
|
+
readonly iso_fetch?: (url: string) => Promise<{
|
|
33
|
+
body: Readable;
|
|
34
|
+
length?: number;
|
|
35
|
+
}>;
|
|
36
|
+
/** The bucket the discovery images live in. */
|
|
37
|
+
readonly bucket?: string;
|
|
38
|
+
/** How long the image's link lasts, in days. */
|
|
39
|
+
readonly linkDays?: number;
|
|
40
|
+
}
|
|
41
|
+
/** The bucket the discovery images live in, one object per domain. */
|
|
42
|
+
export declare const ISO_BUCKET: string;
|
|
43
|
+
/**
|
|
44
|
+
* Fetches a discovery image as a stream.
|
|
45
|
+
*
|
|
46
|
+
* @param url - Its address.
|
|
47
|
+
* @returns Its bytes and their length.
|
|
48
|
+
*/
|
|
49
|
+
export declare function iso_fetch(url: string): Promise<{
|
|
50
|
+
body: Readable;
|
|
51
|
+
length?: number;
|
|
52
|
+
}>;
|
|
53
|
+
/**
|
|
54
|
+
* Fetches the pinned stack zip and checks its digest.
|
|
55
|
+
*
|
|
56
|
+
* @returns The zip.
|
|
57
|
+
* @throws Error - When the download fails or the digest is not the pinned one.
|
|
58
|
+
*/
|
|
59
|
+
export declare function stackZip_fetch(): Promise<Buffer>;
|
|
60
|
+
/**
|
|
61
|
+
* Checks a zip against the pinned digest.
|
|
62
|
+
*
|
|
63
|
+
* @param zip - The zip.
|
|
64
|
+
* @returns It, when it is the pinned one.
|
|
65
|
+
* @throws Error - When it is not.
|
|
66
|
+
*/
|
|
67
|
+
export declare function stackZip_check(zip: Buffer): Buffer;
|
|
68
|
+
/** OCI's build half, over Resource Manager. */
|
|
69
|
+
export declare class OciBuilder implements CloudBuilder {
|
|
70
|
+
private readonly options;
|
|
71
|
+
readonly id: string;
|
|
72
|
+
private zip;
|
|
73
|
+
constructor(options: OciBuilderOptions);
|
|
74
|
+
/** The stack's zip, fetched once. */
|
|
75
|
+
private zip_get;
|
|
76
|
+
/**
|
|
77
|
+
* Runs a job to its end: its log streamed to the step's, a stop passed on
|
|
78
|
+
* as a cancel that is never forced.
|
|
79
|
+
*
|
|
80
|
+
* @param rm - Resource Manager.
|
|
81
|
+
* @param stackId - The stack.
|
|
82
|
+
* @param operation - What the job does.
|
|
83
|
+
* @param name - What the job is called.
|
|
84
|
+
* @param call - The step's log and stop.
|
|
85
|
+
* @returns The job at its end.
|
|
86
|
+
* @throws Error - When it failed or was cancelled.
|
|
87
|
+
*/
|
|
88
|
+
job_run(rm: RmApi, stackId: string, operation: RmOperation, name: string, call: BuildCall): Promise<RmJobRecord>;
|
|
89
|
+
/**
|
|
90
|
+
* Passes on the lines of a job's log not yet shown. A log read while the
|
|
91
|
+
* job writes it can fail (Resource Manager pages a log that grows); the
|
|
92
|
+
* log is only ever shown, so a failed read is skipped and read again on
|
|
93
|
+
* the next poll, never the job's failure.
|
|
94
|
+
*
|
|
95
|
+
* @param rm - Resource Manager.
|
|
96
|
+
* @param jobId - The job.
|
|
97
|
+
* @param shown - How many lines were passed on already.
|
|
98
|
+
* @param call - The step's log.
|
|
99
|
+
* @returns How many lines have been passed on now.
|
|
100
|
+
*/
|
|
101
|
+
private log_follow;
|
|
102
|
+
/**
|
|
103
|
+
* Adopts a domain `harbor-oci` built: a stack of the pinned release with its
|
|
104
|
+
* variables, tagged with the domain's name, and its Terraform state imported.
|
|
105
|
+
*
|
|
106
|
+
* @param request - The domain, where the stack goes, its variables and its state.
|
|
107
|
+
* @param call - The step's log and stop.
|
|
108
|
+
* @returns The stack's id.
|
|
109
|
+
*/
|
|
110
|
+
stack_adopt(request: {
|
|
111
|
+
domain: string;
|
|
112
|
+
region: string;
|
|
113
|
+
compartmentId: string;
|
|
114
|
+
variables: Record<string, string>;
|
|
115
|
+
state: Buffer;
|
|
116
|
+
stackVersion: string;
|
|
117
|
+
}, call: BuildCall): Promise<string>;
|
|
118
|
+
/**
|
|
119
|
+
* The build's other calls in a region.
|
|
120
|
+
*
|
|
121
|
+
* @param region - The region.
|
|
122
|
+
* @returns The calls.
|
|
123
|
+
* @throws Error - When the builder was made without them.
|
|
124
|
+
*/
|
|
125
|
+
private api_in;
|
|
126
|
+
preflight(request: {
|
|
127
|
+
domain: string;
|
|
128
|
+
spec: DomainSpec;
|
|
129
|
+
region: string;
|
|
130
|
+
baseDomain: string;
|
|
131
|
+
compartmentId: string;
|
|
132
|
+
}, call: BuildCall): Promise<PreflightCheck[]>;
|
|
133
|
+
iso_store(request: {
|
|
134
|
+
domain: string;
|
|
135
|
+
url: string;
|
|
136
|
+
region: string;
|
|
137
|
+
compartmentId: string;
|
|
138
|
+
}, call: BuildCall): Promise<{
|
|
139
|
+
object: string;
|
|
140
|
+
expires: string;
|
|
141
|
+
link: string;
|
|
142
|
+
linkId: string;
|
|
143
|
+
}>;
|
|
144
|
+
infra_plan(request: {
|
|
145
|
+
domain: string;
|
|
146
|
+
spec: DomainSpec;
|
|
147
|
+
region: string;
|
|
148
|
+
isoObject: string;
|
|
149
|
+
stackRef?: string;
|
|
150
|
+
compartmentId?: string;
|
|
151
|
+
baseDomain?: string;
|
|
152
|
+
isoLink?: string;
|
|
153
|
+
}, call: BuildCall): Promise<InfraPlan>;
|
|
154
|
+
infra_apply(request: {
|
|
155
|
+
domain: string;
|
|
156
|
+
plan: InfraPlan;
|
|
157
|
+
region: string;
|
|
158
|
+
stackRef?: string;
|
|
159
|
+
}, call: BuildCall): Promise<InfraOutputs>;
|
|
160
|
+
dns_upsert(request: {
|
|
161
|
+
domain: string;
|
|
162
|
+
baseDomain: string;
|
|
163
|
+
outputs: InfraOutputs;
|
|
164
|
+
compartmentId: string;
|
|
165
|
+
region: string;
|
|
166
|
+
}, call: BuildCall): Promise<string[]>;
|
|
167
|
+
stackResources_count(request: {
|
|
168
|
+
region: string;
|
|
169
|
+
stackRef: string;
|
|
170
|
+
}): Promise<number>;
|
|
171
|
+
teardown_run(request: TeardownRequest, call: BuildCall): Promise<string[]>;
|
|
172
|
+
}
|