@ankhorage/infra 5.1.3 → 5.1.4
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 +6 -0
- package/package.json +3 -3
- package/src/hetznerK3sProduction.test.ts +12 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# @ankhorage/infra
|
|
2
2
|
|
|
3
|
+
## 5.1.4
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 3a4d8a3: Consume the current Infra networking TLS contract while proving the released k3s production HTTPS integration in the Hetzner composition acceptance baseline.
|
|
8
|
+
|
|
3
9
|
## 5.1.3
|
|
4
10
|
|
|
5
11
|
### Patch Changes
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ankhorage/infra",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "5.1.
|
|
4
|
+
"version": "5.1.4",
|
|
5
5
|
"description": "Project-aware infrastructure generation library and executable Ankh provider for Ankhorage.",
|
|
6
6
|
"homepage": "https://github.com/ankhorage/infra#readme",
|
|
7
7
|
"bugs": {
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"openapi"
|
|
36
36
|
],
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@ankhorage/contracts": "^19.
|
|
38
|
+
"@ankhorage/contracts": "^19.3.0"
|
|
39
39
|
},
|
|
40
40
|
"files": [
|
|
41
41
|
"dist",
|
|
@@ -114,7 +114,7 @@
|
|
|
114
114
|
"@ankhorage/devtools": "^1.14.0",
|
|
115
115
|
"@ankhorage/docker-compose": "^0.5.3",
|
|
116
116
|
"@ankhorage/hetzner": "^0.3.0",
|
|
117
|
-
"@ankhorage/k3s": "^0.
|
|
117
|
+
"@ankhorage/k3s": "^0.4.0",
|
|
118
118
|
"@ankhorage/local": "^0.3.0",
|
|
119
119
|
"@ankhorage/minikube": "^0.4.1",
|
|
120
120
|
"@ankhorage/paradox": "^0.1.24",
|
|
@@ -56,7 +56,11 @@ const manifest = {
|
|
|
56
56
|
},
|
|
57
57
|
database: { provider: 'supabase', tier: 'prod' },
|
|
58
58
|
auth: { provider: 'supabase' },
|
|
59
|
-
networking: {
|
|
59
|
+
networking: {
|
|
60
|
+
domain,
|
|
61
|
+
publicBaseUrl,
|
|
62
|
+
tls: { mode: 'acme-http-01', contactEmail: 'infra@example.test' },
|
|
63
|
+
},
|
|
60
64
|
},
|
|
61
65
|
},
|
|
62
66
|
modules: [],
|
|
@@ -92,6 +96,11 @@ test('composes Hetzner, k3s, Kubernetes and Supabase while retaining compute for
|
|
|
92
96
|
},
|
|
93
97
|
]);
|
|
94
98
|
expect(fixture.k3s.lastAccess).toHaveLength(1);
|
|
99
|
+
expect(fixture.k3s.lastSpec?.networking).toEqual({
|
|
100
|
+
domain,
|
|
101
|
+
publicBaseUrl,
|
|
102
|
+
tls: { mode: 'acme-http-01', contactEmail: 'infra@example.test' },
|
|
103
|
+
});
|
|
95
104
|
const [access] = fixture.k3s.lastAccess;
|
|
96
105
|
expect(access?.transport.kind).toBe('ssh');
|
|
97
106
|
expect(access?.transport.kind === 'ssh' && access.transport.host).toBe('203.0.113.10');
|
|
@@ -308,6 +317,7 @@ class FakeK3sControlPlane implements K3sControlPlane {
|
|
|
308
317
|
readonly api = new FakeKubernetesApi();
|
|
309
318
|
readonly calls: string[] = [];
|
|
310
319
|
lastAccess: readonly K3sNodeAccess[] = [];
|
|
320
|
+
lastSpec?: K3sClusterSpec;
|
|
311
321
|
state: K3sClusterObservation['state'] = 'absent';
|
|
312
322
|
nodes: K3sClusterObservation['nodes'] = [];
|
|
313
323
|
|
|
@@ -331,6 +341,7 @@ class FakeK3sControlPlane implements K3sControlPlane {
|
|
|
331
341
|
): Promise<InfraResult<K3sClusterObservation>> {
|
|
332
342
|
this.calls.push('ensure');
|
|
333
343
|
this.lastAccess = access;
|
|
344
|
+
this.lastSpec = spec;
|
|
334
345
|
this.state = 'ready';
|
|
335
346
|
this.nodes = spec.nodes.map(({ id }) => ({
|
|
336
347
|
id,
|