@toa.io/operations 1.0.0-alpha.326 → 1.0.0-alpha.327
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/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,14 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [1.0.0-alpha.327](https://github.com/toa-io/toa/compare/v1.0.0-alpha.326...v1.0.0-alpha.327) (2026-10-10)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @toa.io/operations
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
6
14
|
# [1.0.0-alpha.326](https://github.com/toa-io/toa/compare/v1.0.0-alpha.325...v1.0.0-alpha.326) (2026-10-06)
|
|
7
15
|
|
|
8
16
|
**Note:** Version bump only for package @toa.io/operations
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@toa.io/operations",
|
|
3
|
-
"version": "1.0.0-alpha.
|
|
3
|
+
"version": "1.0.0-alpha.327",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Toa Deployment",
|
|
6
6
|
"homepage": "https://toa.io",
|
|
@@ -30,9 +30,9 @@
|
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"@toa.io/generic": "1.0.0-alpha.311",
|
|
32
32
|
"@toa.io/kubernetes": "1.0.0-alpha.301",
|
|
33
|
-
"@toa.io/norm": "1.0.0-alpha.
|
|
33
|
+
"@toa.io/norm": "1.0.0-alpha.327",
|
|
34
34
|
"oxc-parser": "0.152.0",
|
|
35
35
|
"paseto": "4.0.1"
|
|
36
36
|
},
|
|
37
|
-
"gitHead": "
|
|
37
|
+
"gitHead": "cd6d6d77f19fbae5d7ff85d18005ca8deb9c77f3"
|
|
38
38
|
}
|
|
@@ -58,7 +58,9 @@ export class Factory {
|
|
|
58
58
|
packages: context.packages
|
|
59
59
|
})
|
|
60
60
|
else
|
|
61
|
-
this.#compositions = compositions.map((composition) =>
|
|
61
|
+
this.#compositions = compositions.map((composition) =>
|
|
62
|
+
this.#composition(composition)
|
|
63
|
+
)
|
|
62
64
|
}
|
|
63
65
|
|
|
64
66
|
async operator() {
|
|
@@ -124,7 +126,8 @@ export class Factory {
|
|
|
124
126
|
// components require; a service a composition lists is deployed for being listed
|
|
125
127
|
const managed = instances.filter(({ component }) => component.evicted !== true)
|
|
126
128
|
|
|
127
|
-
if (managed.length === 0 && instances.length > 0 && !this.#listed.has(reference))
|
|
129
|
+
if (managed.length === 0 && instances.length > 0 && !this.#listed.has(reference))
|
|
130
|
+
return
|
|
128
131
|
|
|
129
132
|
const annotation = this.#context.annotations?.[name]
|
|
130
133
|
|
|
@@ -77,7 +77,11 @@ export class Bundle extends Image {
|
|
|
77
77
|
|
|
78
78
|
// what was installed in the workspace is not what the image installs; a link is copied as
|
|
79
79
|
// the files it points to, which is the only way what it points to reaches the image at all
|
|
80
|
-
await cp(component.path, target, {
|
|
80
|
+
await cp(component.path, target, {
|
|
81
|
+
recursive: true,
|
|
82
|
+
filter: sources,
|
|
83
|
+
dereference: true
|
|
84
|
+
})
|
|
81
85
|
await declare(component.path, target, component.locator.label)
|
|
82
86
|
await normalized(component, target)
|
|
83
87
|
}
|
|
@@ -101,7 +101,10 @@ describe('reference', () => {
|
|
|
101
101
|
|
|
102
102
|
composition.packages = { 'lru-cache': '11.5.2' }
|
|
103
103
|
|
|
104
|
-
assert.notStrictEqual(
|
|
104
|
+
assert.notStrictEqual(
|
|
105
|
+
create().dependencies.reference,
|
|
106
|
+
component.dependencies.reference
|
|
107
|
+
)
|
|
105
108
|
})
|
|
106
109
|
|
|
107
110
|
it('should change with the registry build settings', () => {
|
|
@@ -94,9 +94,7 @@ describe('normalized', () => {
|
|
|
94
94
|
|
|
95
95
|
await normalized(component, target)
|
|
96
96
|
|
|
97
|
-
const carried = JSON.parse(
|
|
98
|
-
await readFile(join(target, 'manifest.toa.json'), 'utf8')
|
|
99
|
-
)
|
|
97
|
+
const carried = JSON.parse(await readFile(join(target, 'manifest.toa.json'), 'utf8'))
|
|
100
98
|
|
|
101
99
|
// where the manifest is, and what only a deploy reads, are not what it declares
|
|
102
100
|
assert.ok(!('path' in carried))
|
|
@@ -120,7 +118,10 @@ describe('a service image', () => {
|
|
|
120
118
|
const component = join(path, 'components', 'octets')
|
|
121
119
|
|
|
122
120
|
await mkdir(component, { recursive: true })
|
|
123
|
-
await writeFile(
|
|
121
|
+
await writeFile(
|
|
122
|
+
join(path, 'package.json'),
|
|
123
|
+
JSON.stringify({ name: 'ext', version: '1' })
|
|
124
|
+
)
|
|
124
125
|
await writeFile(
|
|
125
126
|
join(component, 'package.json'),
|
|
126
127
|
JSON.stringify({ dependencies: { cloudinary: '2.11.0', jose: '6.2.10' } })
|
|
@@ -29,9 +29,13 @@ describe('references', () => {
|
|
|
29
29
|
it('should reference a key read by two workloads once', () => {
|
|
30
30
|
const secret = { name: 'toa-mongodb.default', key: 'username' }
|
|
31
31
|
|
|
32
|
-
assert.deepStrictEqual(
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
assert.deepStrictEqual(
|
|
33
|
+
references([
|
|
34
|
+
{ name: 'A', secret },
|
|
35
|
+
{ name: 'B', secret }
|
|
36
|
+
]),
|
|
37
|
+
['toa-mongodb.default/username']
|
|
38
|
+
)
|
|
35
39
|
})
|
|
36
40
|
|
|
37
41
|
it('should reference the image pull secret by name', () => {
|
|
@@ -120,7 +124,11 @@ describe('verify', () => {
|
|
|
120
124
|
secrets = 'toa-mongodb.default username'
|
|
121
125
|
|
|
122
126
|
await assert.rejects(
|
|
123
|
-
verify(
|
|
127
|
+
verify(
|
|
128
|
+
process,
|
|
129
|
+
['toa-mongodb.default/username', 'toa-mongodb.default/password'],
|
|
130
|
+
{}
|
|
131
|
+
),
|
|
124
132
|
{ message: 'Secrets are not deployed: toa-mongodb.default/password' }
|
|
125
133
|
)
|
|
126
134
|
})
|