You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
| 9 |[References & Further Reading](#9-references--further-reading)|
@@ -124,6 +124,21 @@ Distributing static registry credentials (`docker login` tokens) to thousands of
124
124
***Automated Rotation:** SVIDs maintain a strict Time-To-Live (TTL). The SPIRE Workload API seamlessly renews certificates before expiration, eliminating maintenance windows and human intervention.
125
125
***Hardware-Change Protection:** Credentials are encrypted at rest using a device fingerprint derived from the `machine-id`, MAC address, and disk serial number. If an edge device is physically stolen or its storage is cloned, the credentials become unreadable.
126
126
127
+
### 3.3 SPIRE Attestation Methods for K3s Edge Nodes
-**Single trust domain:** Recommended when cloud and edge are under one platform/security team.
140
+
-**Federated trust domains:** Recommended when multiple organizations, regions, or teams need separate trust roots with controlled federation between them.
141
+
127
142
---
128
143
129
144
## 4. Connectivity Model
@@ -136,7 +151,7 @@ The Satellite utilizes three concurrent scheduling loops:
136
151
137
152
| Scheduler | Default Interval | Behavior |
138
153
| --- | --- | --- |
139
-
|**State Replication**| 10 seconds | Fetches the desired state from Harbor; pulls missing layers; purges stale artifacts. |
154
+
|**State Replication**| 10 seconds | Fetches desired state from Ground Control, then pulls missing layers from Harbor and purges stale artifacts. |
140
155
|**Telemetry Heartbeat**| 30 seconds | Transmits CPU, memory, disk utilization, and local inventory to Ground Control. |
141
156
|**Registration**| 30 seconds (Retry) | Re-authenticates via ZTR to refresh Harbor credentials if required. |
142
157
@@ -154,16 +169,20 @@ During a WAN partition, the State Replication and Heartbeat schedulers enter a s
This guide provides end-to-end instructions on how to integrate Harbor Satellite with K3s. By the end of this guide, you will have a resilient Edge node capable of deploying container workloads even when completely disconnected from the central cloud registry.
177
+
This reference uses the **standalone Satellite deployment** path on K3s nodes (valid scope: `DaemonSet` or standalone).
161
178
162
179
### Prerequisites
163
180
164
181
* A Linux machine (Edge Node) with **K3s** installed.
182
+
* A reachable **Central Harbor Registry** with at least one test image.
183
+
***Ground Control** deployment for group/config orchestration.
184
+
***SPIRE Server + SPIRE Agents** (Ground Control side and Edge side).
165
185
***Docker** and **Docker Compose** installed.
166
-
* Access to deploy a Central Harbor Registry.
167
186
168
187
---
169
188
@@ -218,16 +237,29 @@ sudo systemctl restart k3s
218
237
sudo k3s crictl rmi --prune
219
238
```
220
239
240
+
3.**Alternative Mirror Configuration via Satellite Flag (Optional):**
241
+
242
+
If Satellite is launched directly, you can configure containerd mirror wiring with:
### Step 3: Deploy Ground Control & Satellite (Zero-Touch)
224
254
225
255
Deploy the Harbor Satellite components. This utilizes SPIFFE/SPIRE for Zero-Touch Registration (ZTR), automatically authenticating the Edge node without manual secrets.
256
+
This walkthrough uses the **external SPIRE** quickstart; embedded SPIRE is an alternative deployment model.
257
+
The setup scripts start the required SPIRE agents (including the edge-side agent on the K3s node).
## Method 2: Automated Air-Gap via Direct Delivery
360
+
<aid="setup-method-2"></a>
361
+
362
+
## 6. Setup Guide: Method 2 - Automated Air-Gap via Direct Delivery
330
363
331
364
This guide documents the automated **Direct Delivery** workflow for integrating Harbor Satellite with K3s. Instead of manually running `docker pull`, `docker tag`, and `docker save`, Satellite writes image tarballs directly into the K3s import directory, where `containerd` loads them automatically.
332
365
@@ -370,7 +403,7 @@ services:
370
403
Restart Satellite after editing:
371
404
372
405
```bash
373
-
cd harbor-satellite/deploy/quickstart/spiffe/join-token/external/sat
406
+
cd deploy/quickstart/spiffe/join-token/external/sat
374
407
docker compose up -d satellite --build
375
408
376
409
# Optional: confirm Direct Delivery is active
@@ -480,8 +513,10 @@ Harbor Satellite serves as a critical **registry layer** within the broader SUSE
480
513
| Component | Integration Value |
481
514
| --- | --- |
482
515
| **K3s** | Native integration via `registries.yaml` or auto-import; requires zero external CRDs or operators. |
| **SUSE Edge 3.x Stack (SLE Micro + K3s + Rancher)** | Satellite serves as the local registry layer while the SUSE stack handles OS, orchestration, and lifecycle. |
484
517
| **Rancher Fleet** | While Fleet synchronizes GitOps YAML manifests, Satellite guarantees the binary image blobs are physically present at the edge site before execution. |
518
+
| **ATIP (Adaptive Telecom Infrastructure Platform)** | Complements telecom edge platforms with local image availability under constrained WAN links. |
519
+
| **Akri** | Works with edge device discovery workflows by ensuring discovered workloads have local image availability. |
485
520
| **Elemental** | Node provisioning automatically registers the Harbor Satellite via ZTR, providing end-to-end zero-touch edge bootstrapping. |
486
521
| **SPIFFE/SPIRE** | Replaces all rigid credential arrays with ephemeral cryptographic machine identities. |
487
522
@@ -506,5 +541,6 @@ To explore the underlying technologies and concepts discussed in this reference
506
541
### Security & Identity (Zero-Trust)
507
542
508
543
* **[SPIFFE & SPIRE Architecture](https://spiffe.io/docs/latest/spire-about/)** : *Foundational reading on how SPIFFE cryptographic identities and SPIRE workload attestation replace static secrets at scale.*
544
+
* **[Harbor Satellite SPIFFE Quickstarts](https://github.com/container-registry/harbor-satellite/tree/main/deploy/quickstart/spiffe)** : *Join token, x509pop, and sshpop setup variants for practical deployment paths.*
0 commit comments