@ankhorage/kubernetes 0.2.0 → 0.3.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 +19 -1
- package/dist/features/workload-reconciliation/application/use-cases/projectKubernetesResourcesAsync.d.ts +2 -0
- package/dist/features/workload-reconciliation/application/use-cases/projectKubernetesResourcesAsync.d.ts.map +1 -1
- package/dist/features/workload-reconciliation/application/use-cases/projectKubernetesResourcesAsync.js +2 -0
- package/dist/features/workload-reconciliation/application/use-cases/projectKubernetesResourcesAsync.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
# @ankhorage/kubernetes
|
|
5
5
|
|
|
6
|
-
         
|
|
7
7
|
|
|
8
8
|
Shared Kubernetes workload driver for provider-neutral Ankhorage infrastructure.
|
|
9
9
|
|
|
@@ -38,3 +38,21 @@ Source: `src/features/workload-reconciliation/composition/createKubernetesDriver
|
|
|
38
38
|
Related symbols: `KubernetesDriver`, `KubernetesDriverOptions`
|
|
39
39
|
|
|
40
40
|
</details>
|
|
41
|
+
|
|
42
|
+
<details>
|
|
43
|
+
<summary>projectKubernetesResourcesAsync</summary>
|
|
44
|
+
|
|
45
|
+
```ts
|
|
46
|
+
projectKubernetesResourcesAsync(request: KubernetesDriverRequest) => Promise<InfraResult<KubernetesProjection>>
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Project portable workload desired state into deterministic standard Kubernetes resources.
|
|
50
|
+
|
|
51
|
+
Resolved secret values are deliberately absent. The projection carries only references for
|
|
52
|
+
runtime materialization immediately before apply.
|
|
53
|
+
|
|
54
|
+
Module: `src/features/workload-reconciliation/application/use-cases/projectKubernetesResourcesAsync.ts`
|
|
55
|
+
Source: `src/features/workload-reconciliation/application/use-cases/projectKubernetesResourcesAsync.ts:23:1`
|
|
56
|
+
Related symbols: `KubernetesDriverRequest`, `KubernetesProjection`
|
|
57
|
+
|
|
58
|
+
</details>
|
|
@@ -6,6 +6,8 @@ import type { KubernetesProjection } from '../../../../types/kubernetesResources
|
|
|
6
6
|
*
|
|
7
7
|
* Resolved secret values are deliberately absent. The projection carries only references for
|
|
8
8
|
* runtime materialization immediately before apply.
|
|
9
|
+
*
|
|
10
|
+
* @readme
|
|
9
11
|
*/
|
|
10
12
|
export declare function projectKubernetesResourcesAsync(request: KubernetesDriverRequest): Promise<InfraResult<KubernetesProjection>>;
|
|
11
13
|
//# sourceMappingURL=projectKubernetesResourcesAsync.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projectKubernetesResourcesAsync.d.ts","sourceRoot":"","sources":["../../../../../src/features/workload-reconciliation/application/use-cases/projectKubernetesResourcesAsync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE9D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAClF,OAAO,KAAK,EAEV,oBAAoB,EAErB,MAAM,uCAAuC,CAAC;AAO/C
|
|
1
|
+
{"version":3,"file":"projectKubernetesResourcesAsync.d.ts","sourceRoot":"","sources":["../../../../../src/features/workload-reconciliation/application/use-cases/projectKubernetesResourcesAsync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE9D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAClF,OAAO,KAAK,EAEV,oBAAoB,EAErB,MAAM,uCAAuC,CAAC;AAO/C;;;;;;;GAOG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC,CA8B5C"}
|
|
@@ -8,6 +8,8 @@ import { validateKubernetesWorkloads } from './validateKubernetesWorkloads';
|
|
|
8
8
|
*
|
|
9
9
|
* Resolved secret values are deliberately absent. The projection carries only references for
|
|
10
10
|
* runtime materialization immediately before apply.
|
|
11
|
+
*
|
|
12
|
+
* @readme
|
|
11
13
|
*/
|
|
12
14
|
export function projectKubernetesResourcesAsync(request) {
|
|
13
15
|
const validation = validateKubernetesWorkloads(request.workloads);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projectKubernetesResourcesAsync.js","sourceRoot":"","sources":["../../../../../src/features/workload-reconciliation/application/use-cases/projectKubernetesResourcesAsync.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,+BAA+B,EAAE,MAAM,6CAA6C,CAAC;AAC9F,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,EAAE,2BAA2B,EAAE,MAAM,yCAAyC,CAAC;AACtF,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAE5E
|
|
1
|
+
{"version":3,"file":"projectKubernetesResourcesAsync.js","sourceRoot":"","sources":["../../../../../src/features/workload-reconciliation/application/use-cases/projectKubernetesResourcesAsync.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,+BAA+B,EAAE,MAAM,6CAA6C,CAAC;AAC9F,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,EAAE,2BAA2B,EAAE,MAAM,yCAAyC,CAAC;AACtF,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAE5E;;;;;;;GAOG;AACH,MAAM,UAAU,+BAA+B,CAC7C,OAAgC;IAEhC,MAAM,UAAU,GAAG,2BAA2B,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAClE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC;IAE1F,MAAM,EAAE,SAAS,EAAE,GAAG,2BAA2B,CAAC,OAAO,CAAC,CAAC;IAC3D,MAAM,iBAAiB,GAAG,eAAe,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC9D,MAAM,cAAc,GAAG,IAAI,GAAG,CAC5B,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC;QAClC,QAAQ,CAAC,EAAE;QACX,wBAAwB,CAAC,OAAO,EAAE,YAAY,QAAQ,CAAC,EAAE,EAAE,CAAC;KAC7D,CAAC,CACH,CAAC;IACF,MAAM,SAAS,GAAgC,CAAC,iBAAiB,CAAC,CAAC;IACnE,MAAM,cAAc,GAA8B,EAAE,CAAC;IACrD,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,yBAAyB,CAAC,OAAO,EAAE;YACnD,SAAS;YACT,cAAc,EAAE,iBAAiB,CAAC,KAAK,CAAC,QAAQ;YAChD,cAAc;YACd,QAAQ;SACT,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,CAAC,EAAE;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACrD,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC7C,cAAc,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,OAAO,CAAC,OAAO,CAAC;QACrB,EAAE,EAAE,IAAI;QACR,KAAK,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE;QACpC,WAAW,EAAE,EAAE;KAChB,CAAC,CAAC;AACL,CAAC;AAED,yEAAyE;AACzE,SAAS,eAAe,CACtB,OAAgC,EAChC,SAAiB;IAEjB,OAAO,+BAA+B,CAAC,OAAO,EAAE;QAC9C,UAAU,EAAE,aAAa,SAAS,EAAE;QACpC,QAAQ,EAAE;YACR,UAAU,EAAE,IAAI;YAChB,IAAI,EAAE,WAAW;YACjB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;SAC3D;KACF,CAAC,CAAC;AACL,CAAC","sourcesContent":["import type { InfraResult } from '@ankhorage/contracts/infra';\n\nimport type { KubernetesDriverRequest } from '../../../../types/kubernetesDriver';\nimport type {\n KubernetesDesiredResource,\n KubernetesProjection,\n KubernetesSecretBinding,\n} from '../../../../types/kubernetesResources';\nimport { createKubernetesDesiredResource } from '../../utils/createKubernetesDesiredResource';\nimport { createKubernetesIdentity } from '../../utils/createKubernetesIdentity';\nimport { getKubernetesOwnershipQuery } from '../../utils/getKubernetesOwnershipQuery';\nimport { projectKubernetesWorkload } from './projectKubernetesWorkload';\nimport { validateKubernetesWorkloads } from './validateKubernetesWorkloads';\n\n/***\n * Project portable workload desired state into deterministic standard Kubernetes resources.\n *\n * Resolved secret values are deliberately absent. The projection carries only references for\n * runtime materialization immediately before apply.\n *\n * @readme\n */\nexport function projectKubernetesResourcesAsync(\n request: KubernetesDriverRequest,\n): Promise<InfraResult<KubernetesProjection>> {\n const validation = validateKubernetesWorkloads(request.workloads);\n if (validation.length > 0) return Promise.resolve({ ok: false, diagnostics: validation });\n\n const { namespace } = getKubernetesOwnershipQuery(request);\n const namespaceResource = createNamespace(request, namespace);\n const workloadOwners = new Map(\n request.workloads.map((workload) => [\n workload.id,\n createKubernetesIdentity(request, `workload:${workload.id}`),\n ]),\n );\n const resources: KubernetesDesiredResource[] = [namespaceResource];\n const secretBindings: KubernetesSecretBinding[] = [];\n for (const workload of request.workloads) {\n const projected = projectKubernetesWorkload(request, {\n namespace,\n namespaceOwner: namespaceResource.owner.identity,\n workloadOwners,\n workload,\n });\n if (!projected.ok) return Promise.resolve(projected);\n resources.push(...projected.value.resources);\n secretBindings.push(...projected.value.secretBindings);\n }\n return Promise.resolve({\n ok: true,\n value: { resources, secretBindings },\n diagnostics: [],\n });\n}\n\n/*** Create the environment namespace before all namespaced resources. */\nfunction createNamespace(\n request: KubernetesDriverRequest,\n namespace: string,\n): KubernetesDesiredResource {\n return createKubernetesDesiredResource(request, {\n resourceId: `namespace:${namespace}`,\n resource: {\n apiVersion: 'v1',\n kind: 'Namespace',\n metadata: { name: namespace, labels: {}, annotations: {} },\n },\n });\n}\n"]}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/** Public shared Kubernetes workload-driver boundary. */
|
|
2
|
+
export { projectKubernetesResourcesAsync } from './features/workload-reconciliation/application/use-cases/projectKubernetesResourcesAsync';
|
|
2
3
|
export { createKubernetesDriver } from './features/workload-reconciliation/composition/createKubernetesDriver';
|
|
3
4
|
export type { KubernetesDriver, KubernetesDriverOptions, KubernetesDriverRequest, } from './types/kubernetesDriver';
|
|
4
5
|
export type { KubernetesApi, KubernetesDesiredResource, KubernetesOwnershipQuery, KubernetesProjection, KubernetesResource, KubernetesResourceMetadata, KubernetesResourceObservation, KubernetesResourceReference, KubernetesSecretBinding, } from './types/kubernetesResources';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uEAAuE,CAAC;AAC/G,YAAY,EACV,gBAAgB,EAChB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,aAAa,EACb,yBAAyB,EACzB,wBAAwB,EACxB,oBAAoB,EACpB,kBAAkB,EAClB,0BAA0B,EAC1B,6BAA6B,EAC7B,2BAA2B,EAC3B,uBAAuB,GACxB,MAAM,6BAA6B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,OAAO,EAAE,+BAA+B,EAAE,MAAM,0FAA0F,CAAC;AAC3I,OAAO,EAAE,sBAAsB,EAAE,MAAM,uEAAuE,CAAC;AAC/G,YAAY,EACV,gBAAgB,EAChB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,aAAa,EACb,yBAAyB,EACzB,wBAAwB,EACxB,oBAAoB,EACpB,kBAAkB,EAClB,0BAA0B,EAC1B,6BAA6B,EAC7B,2BAA2B,EAC3B,uBAAuB,GACxB,MAAM,6BAA6B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
/** Public shared Kubernetes workload-driver boundary. */
|
|
2
|
+
export { projectKubernetesResourcesAsync } from './features/workload-reconciliation/application/use-cases/projectKubernetesResourcesAsync';
|
|
2
3
|
export { createKubernetesDriver } from './features/workload-reconciliation/composition/createKubernetesDriver';
|
|
3
4
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uEAAuE,CAAC","sourcesContent":["/** Public shared Kubernetes workload-driver boundary. */\nexport { createKubernetesDriver } from './features/workload-reconciliation/composition/createKubernetesDriver';\nexport type {\n KubernetesDriver,\n KubernetesDriverOptions,\n KubernetesDriverRequest,\n} from './types/kubernetesDriver';\nexport type {\n KubernetesApi,\n KubernetesDesiredResource,\n KubernetesOwnershipQuery,\n KubernetesProjection,\n KubernetesResource,\n KubernetesResourceMetadata,\n KubernetesResourceObservation,\n KubernetesResourceReference,\n KubernetesSecretBinding,\n} from './types/kubernetesResources';\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,OAAO,EAAE,+BAA+B,EAAE,MAAM,0FAA0F,CAAC;AAC3I,OAAO,EAAE,sBAAsB,EAAE,MAAM,uEAAuE,CAAC","sourcesContent":["/** Public shared Kubernetes workload-driver boundary. */\nexport { projectKubernetesResourcesAsync } from './features/workload-reconciliation/application/use-cases/projectKubernetesResourcesAsync';\nexport { createKubernetesDriver } from './features/workload-reconciliation/composition/createKubernetesDriver';\nexport type {\n KubernetesDriver,\n KubernetesDriverOptions,\n KubernetesDriverRequest,\n} from './types/kubernetesDriver';\nexport type {\n KubernetesApi,\n KubernetesDesiredResource,\n KubernetesOwnershipQuery,\n KubernetesProjection,\n KubernetesResource,\n KubernetesResourceMetadata,\n KubernetesResourceObservation,\n KubernetesResourceReference,\n KubernetesSecretBinding,\n} from './types/kubernetesResources';\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ankhorage/kubernetes",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Shared Kubernetes workload driver for provider-neutral Ankhorage infrastructure.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
"version-packages": "ankhorage-changeset version"
|
|
56
56
|
},
|
|
57
57
|
"dependencies": {
|
|
58
|
-
"@ankhorage/contracts": "^
|
|
58
|
+
"@ankhorage/contracts": "^16.0.0"
|
|
59
59
|
},
|
|
60
60
|
"devDependencies": {
|
|
61
61
|
"@ankhorage/devtools": "^1.14.6",
|