@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 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.3",
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.1.0"
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.3.1",
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: { domain, publicBaseUrl },
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,