@toa.io/extensions.configuration 1.0.0-alpha.284 → 1.0.0-alpha.287

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 (91) hide show
  1. package/CHANGELOG.md +1 -365
  2. package/components/configuration.values/manifest.toa.yaml +14 -21
  3. package/components/configuration.values/migrations/0001-system-properties.yaml +14 -0
  4. package/components/configuration.values/migrations/0002-indexes.yaml +7 -0
  5. package/components/configuration.values/operations/create.js +1 -2
  6. package/components/configuration.values/operations/fetch.js +1 -1
  7. package/components/configuration.values/operations/get.js +1 -1
  8. package/components/configuration.values/operations/lib/map.js +1 -1
  9. package/components/configuration.values/operations/lib/resolve.js +3 -3
  10. package/components/configuration.values/operations/list.js +1 -1
  11. package/components/configuration.values/source/create.ts +3 -5
  12. package/components/configuration.values/source/fetch.ts +12 -10
  13. package/components/configuration.values/source/get.ts +2 -3
  14. package/components/configuration.values/source/lib/map.test.ts +7 -2
  15. package/components/configuration.values/source/lib/map.ts +3 -3
  16. package/components/configuration.values/source/lib/resolve.ts +9 -6
  17. package/components/configuration.values/source/list.ts +8 -6
  18. package/components/configuration.values/tsconfig.tsbuildinfo +1 -1
  19. package/components/configuration.values/types/toa.d.ts +5 -5
  20. package/cucumber.mjs +3 -0
  21. package/features/site/index.html +6 -2
  22. package/features/steps/UI.ts +20 -13
  23. package/notes/consistency.md +10 -9
  24. package/package.json +6 -6
  25. package/readme.md +15 -14
  26. package/schemas/annotation.cos.yaml +1 -1
  27. package/source/Aspect.test.ts +32 -8
  28. package/source/Aspect.ts +28 -19
  29. package/source/Client.test.ts +31 -14
  30. package/source/Client.ts +41 -48
  31. package/source/Composition.ts +6 -6
  32. package/source/Factory.ts +7 -7
  33. package/source/Secret.test.ts +1 -1
  34. package/source/Secret.ts +5 -5
  35. package/source/UI.ts +33 -32
  36. package/source/configuration.test.ts +14 -8
  37. package/source/configuration.ts +11 -15
  38. package/source/const.ts +13 -1
  39. package/source/context.ts +2 -2
  40. package/source/deployment.test.ts +37 -12
  41. package/source/deployment.ts +45 -19
  42. package/source/epoch.test.ts +8 -2
  43. package/source/epoch.ts +6 -5
  44. package/source/index.ts +1 -1
  45. package/source/manifest.test.ts +12 -6
  46. package/source/manifest.ts +1 -1
  47. package/transpiled/Aspect.d.ts +2 -1
  48. package/transpiled/Aspect.js +15 -3
  49. package/transpiled/Aspect.js.map +1 -1
  50. package/transpiled/Client.d.ts +1 -1
  51. package/transpiled/Client.js +8 -2
  52. package/transpiled/Client.js.map +1 -1
  53. package/transpiled/Composition.js +2 -2
  54. package/transpiled/Composition.js.map +1 -1
  55. package/transpiled/Factory.d.ts +2 -1
  56. package/transpiled/Factory.js.map +1 -1
  57. package/transpiled/Secret.js.map +1 -1
  58. package/transpiled/UI.js +2 -1
  59. package/transpiled/UI.js.map +1 -1
  60. package/transpiled/configuration.js.map +1 -1
  61. package/transpiled/const.d.ts +8 -1
  62. package/transpiled/const.js +10 -0
  63. package/transpiled/const.js.map +1 -1
  64. package/transpiled/context.d.ts +1 -1
  65. package/transpiled/context.js.map +1 -1
  66. package/transpiled/deployment.d.ts +3 -0
  67. package/transpiled/deployment.js +19 -5
  68. package/transpiled/deployment.js.map +1 -1
  69. package/transpiled/epoch.js +3 -1
  70. package/transpiled/epoch.js.map +1 -1
  71. package/transpiled/index.d.ts +1 -1
  72. package/transpiled/index.js +1 -1
  73. package/transpiled/index.js.map +1 -1
  74. package/transpiled/manifest.js.map +1 -1
  75. package/tsconfig.tsbuildinfo +1 -1
  76. package/ui/dist/_app/immutable/chunks/{BzG-gka8.js → BW57cOwz.js} +1 -1
  77. package/ui/dist/_app/immutable/chunks/{_I_MUoRn.js → Bhnl1Avs.js} +1 -1
  78. package/ui/dist/_app/immutable/chunks/{Bxde3uE_.js → BxOvOexd.js} +1 -1
  79. package/ui/dist/_app/immutable/chunks/{mvspXr3J.js → CkX_FNYa.js} +2 -2
  80. package/ui/dist/_app/immutable/chunks/{p9RyiXQ-.js → Dmv4yvb8.js} +1 -1
  81. package/ui/dist/_app/immutable/entry/{app.C1VIepN7.js → app.Cr7od9uH.js} +2 -2
  82. package/ui/dist/_app/immutable/entry/start.DWf-Tl0X.js +1 -0
  83. package/ui/dist/_app/immutable/nodes/{0.D_0dtFej.js → 0.CcGZUFKo.js} +1 -1
  84. package/ui/dist/_app/immutable/nodes/{1.DFlgHh-H.js → 1.CR6En12y.js} +1 -1
  85. package/ui/dist/_app/immutable/nodes/{2.BIHgAxXR.js → 2.BhyO8bGT.js} +1 -1
  86. package/ui/dist/_app/immutable/nodes/3.DcbMtJtb.js +1 -0
  87. package/ui/dist/_app/immutable/nodes/{4.BZMuJGfA.js → 4.qVnVQBNq.js} +1 -1
  88. package/ui/dist/_app/version.json +1 -1
  89. package/ui/dist/index.html +28 -23
  90. package/ui/dist/_app/immutable/entry/start.BQWCs_Pq.js +0 -1
  91. package/ui/dist/_app/immutable/nodes/3.R-_yCt5X.js +0 -1
@@ -1,9 +1,13 @@
1
1
  import { readFileSync } from 'node:fs';
2
2
  import assert from 'node:assert';
3
+ import { add } from '@toa.io/generic';
3
4
  import { components } from './Composition.js';
4
5
  import { EVENT, PREFIX, SECRET_RX, UI_PATH, UI_PORT, VALUES } from './const.js';
5
6
  import { epoch } from './epoch.js';
6
7
  import * as validators from './schemas.js';
8
+ /** Where Toa's release publishes this service's image. An application takes it
9
+ * instead of building one when its context says `registry.services: published`. */
10
+ export const image = 'ghcr.io/toa-io/extension-configuration-values';
7
11
  export function deployment(instances, annotation = {}) {
8
12
  const { resources, values } = split(annotation);
9
13
  annotation = prepare(values, instances);
@@ -19,16 +23,20 @@ export function deployment(instances, annotation = {}) {
19
23
  const service = {
20
24
  group: 'configuration',
21
25
  name: 'values',
22
- version: JSON.parse(readFileSync(new URL('../package.json', import.meta.url), 'utf8')).version,
26
+ image,
27
+ version: JSON.parse(readFileSync(new URL('../package.json', import.meta.url), 'utf8'))
28
+ .version,
23
29
  components: components().labels,
24
30
  resources,
25
31
  // the service that holds the values also serves the page that reads them
26
32
  port: UI_PORT,
27
33
  ingress: { path: UI_PATH },
28
- variables: [{
34
+ variables: [
35
+ {
29
36
  name: VALUES,
30
37
  value: JSON.stringify(describe(instances, annotation))
31
- }]
38
+ }
39
+ ]
32
40
  };
33
41
  return { services: [service], variables, events: [EVENT] };
34
42
  }
@@ -36,12 +44,18 @@ export function deployment(instances, annotation = {}) {
36
44
  export function describe(instances, annotation = {}) {
37
45
  annotation = prepare(split(annotation).values, instances);
38
46
  const values = {};
39
- for (const { locator, manifest } of instances)
47
+ for (const { locator, manifest } of instances) {
48
+ const deployed = annotation[locator.id];
40
49
  values[locator.id] = {
41
50
  epoch: epoch(manifest.schema),
42
51
  schema: manifest.schema,
43
- defaults: annotation[locator.id] ?? manifest.defaults
52
+ // what the Context says stands over what the manifest declares, value by value: a
53
+ // deployment that names one of them does not thereby unset the rest
54
+ defaults: deployed === undefined
55
+ ? manifest.defaults
56
+ : add(structuredClone(deployed), manifest.defaults ?? {})
44
57
  };
58
+ }
45
59
  return values;
46
60
  }
47
61
  function createSecrets(values) {
@@ -1 +1 @@
1
- {"version":3,"file":"deployment.js","sourceRoot":"","sources":["../source/deployment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deployment.js","sourceRoot":"","sources":["../source/deployment.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,9 @@ function canonical(value) {
8
8
  return '[' + value.map(canonical).join(',') + ']';
9
9
  if (value !== null && typeof value === 'object') {
10
10
  const object = value;
11
- const keys = Object.keys(object).filter((key) => object[key] !== undefined).sort();
11
+ const keys = Object.keys(object)
12
+ .filter((key) => object[key] !== undefined)
13
+ .sort();
12
14
  const entries = keys.map((key) => JSON.stringify(key) + ':' + canonical(object[key]));
13
15
  return '{' + entries.join(',') + '}';
14
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"epoch.js","sourceRoot":"","sources":["../source/epoch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,8EAA8E;AAC9E,MAAM,UAAU,KAAK,CAAE,MAAc;IACnC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AACrE,CAAC;AAED,SAAS,SAAS,CAAE,KAAc;IAChC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACtB,OAAO,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAA;IAEnD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,KAAgC,CAAA;QAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,CAAC,IAAI,EAAE,CAAA;QAClF,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QAErF,OAAO,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAA;IACtC,CAAC;IAED,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,MAAM,CAAA;AACxC,CAAC"}
1
+ {"version":3,"file":"epoch.js","sourceRoot":"","sources":["../source/epoch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,8EAA8E;AAC9E,MAAM,UAAU,KAAK,CAAC,MAAc;IAClC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AACrE,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAA;IAE3E,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,KAAgC,CAAA;QAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;aAC7B,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC;aAC1C,IAAI,EAAE,CAAA;QACT,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QAErF,OAAO,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAA;IACtC,CAAC;IAED,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,MAAM,CAAA;AACxC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  export { manifest } from './manifest.js';
2
- export { deployment, describe } from './deployment.js';
2
+ export { deployment, describe, image } from './deployment.js';
3
3
  export { components } from './Composition.js';
4
4
  export { Factory } from './Factory.js';
5
5
  export { Secret } from './Secret.js';
@@ -1,5 +1,5 @@
1
1
  export { manifest } from './manifest.js';
2
- export { deployment, describe } from './deployment.js';
2
+ export { deployment, describe, image } from './deployment.js';
3
3
  export { components } from './Composition.js';
4
4
  export { Factory } from './Factory.js';
5
5
  // what a value declared `format: secret` is on a component's context
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,qEAAqE;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,oDAAoD;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,qEAAqE;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,oDAAoD;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../source/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAGvC,MAAM,UAAU,QAAQ,CAAE,QAAkB;IAC1C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAEnC,OAAO,QAAQ,CAAA;AACjB,CAAC"}
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../source/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAGvC,MAAM,UAAU,QAAQ,CAAC,QAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAEnC,OAAO,QAAQ,CAAA;AACjB,CAAC"}