Skip to content

Commit fc41353

Browse files
committed
Remove manual text formatting
Signed-off-by: Pau Capdevila <[email protected]>
1 parent cc32af6 commit fc41353

File tree

2 files changed

+51
-51
lines changed

2 files changed

+51
-51
lines changed

docs/architecture/management.md

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -42,27 +42,27 @@ FC -->|Watches CRs| K8S
4242

4343
---
4444

45-
## **Management Workflow Overview**
45+
## Management Workflow Overview
4646

47-
### **User**
48-
- **Creates Fabric CR YAMLs** and applies them through standard Kubernetes resource management.
49-
- **Uses [`kubectl`](https://kubernetes.io/docs/reference/kubectl/) and `kubectl fabric`** to interact with the Kubernetes API for fabric resource management.
50-
- Can use their **own `kubectl` installation** or the one pre-installed on the control node as part of [k3s](https://k3s.io).
47+
### User
48+
- Creates Fabric CR YAMLs and applies them through standard Kubernetes resource management.
49+
- Uses [`kubectl`](https://kubernetes.io/docs/reference/kubectl/) and `kubectl fabric` to interact with the Kubernetes API for fabric resource management.
50+
- Can use their own `kubectl` installation or the one pre-installed on the control node as part of [k3s](https://k3s.io).
5151

52-
### **Kubernetes API Server (K8S)**
52+
### Kubernetes API Server (K8S)
5353
- Part of [Kubernetes](https://kubernetes.io).
54-
- Manages Fabric Custom Resources (CRs) and interacts with the **Fabric Controller**.
54+
- Manages Fabric Custom Resources (CRs) and interacts with the Fabric Controller.
5555

56-
### **kubectl & kubectl fabric**
56+
### kubectl & kubectl fabric
5757
- [`kubectl`](https://kubernetes.io/docs/reference/kubectl/) is the standard CLI tool for [Kubernetes](https://kubernetes.io).
5858
- `kubectl fabric` is a plugin that extends `kubectl` with fabric-specific commands and interacts with the Kubernetes API Server. It supports the following commands:
59-
- **vpc** – Manage VPCs: create, attach, peer, or wipe all related resources
60-
- **switch** – Manage switches: get IP, SSH, serial, reboot, reinstall
61-
- **connection** – View connections: management, fabric, vpc-loopback
62-
- **switchgroup** – Create SwitchGroups
63-
- **external** – Manage external BGP peers and VPC peering
64-
- **wiring** – Export fabric wiring diagrams
65-
- **inspect** – Inspect and troubleshoot fabric resources:
59+
- vpc – Manage VPCs: create, attach, peer, or wipe all related resources
60+
- switch – Manage switches: get IP, SSH, serial, reboot, reinstall
61+
- connection – View connections: management, fabric, vpc-loopback
62+
- switchgroup – Create SwitchGroups
63+
- external – Manage external BGP peers and VPC peering
64+
- wiring – Export fabric wiring diagrams
65+
- inspect – Inspect and troubleshoot fabric resources:
6666
- `fabric` – Overview of control nodes and switches
6767
- `switch`, `port` – Status, counters, and usage
6868
- `server`, `connection` – VPC/external attachments and link details
@@ -71,30 +71,30 @@ FC -->|Watches CRs| K8S
7171
- `ip`, `mac` – Lookup usage across the fabric
7272
- `access` – Check reachability between VPCs, servers, and IPs
7373

74-
### **Fabricator**
75-
- Using the **hhfab** CLI you can **SSH** the control node and use **K9s** or **kubectl** and **kubectl fabric** to manage or monitor Fabric API objects.
74+
### Fabricator
75+
- Using the hhfab CLI you can SSH the control node and use K9s or kubectl and kubectl fabric to manage or monitor Fabric API objects.
7676

77-
### **K9s**
77+
### K9s
7878
- K9s is a terminal based Kubernetes UI that provides visibility and control over Kubernetes resources, allowing you to manage pods, nodes, services, logs, and Fabric resources efficiently. It includes some helper plugins:
79-
- **SSH** – SSH into a fabric switch
80-
- **Serial** – Open a serial connection to a fabric switch
81-
- **Reboot** – Reboot a fabric switch
82-
- **Power Reset** Perform a power reset on a fabric switch in the NOS
83-
- **Reinstall** – Reinstall a fabric switch
79+
- SSH – SSH into a fabric switch
80+
- Serial – Open a serial connection to a fabric switch
81+
- Reboot – Reboot a fabric switch
82+
- Power Reset Perform a power reset on a fabric switch in the NOS
83+
- Reinstall – Reinstall a fabric switch
8484

8585
---
8686

87-
## **GitOps Integration**
87+
## GitOps Integration
8888

8989
GitOps is a continuous deployment approach where the desired state of a Kubernetes cluster is stored in Git. A GitOps controller monitors this repository and ensures the actual cluster state matches the declared state, using the Kubernetes API.
9090

9191
Hedgehog Fabric is fully compatible with GitOps workflows and can be managed declaratively using any GitOps-compatible tool such as [ArgoCD](https://argo-cd.readthedocs.io/en/stable/) or [Flux](https://fluxcd.io).
9292

93-
- **User Responsibilities:**
93+
- User Responsibilities:
9494
- Define Fabric Custom Resources (CRs) in YAML.
9595
- Commit and push these CRs to a [Git repository](https://git-scm.com) for version control and collaboration.
9696

97-
- **GitOps Tool Responsibilities:**
97+
- GitOps Tool Responsibilities:
9898
- Monitor the Git repository for updates.
9999
- Apply changes to the cluster automatically via the Kubernetes API Server.
100100

docs/architecture/overview.md

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ This section provides an architectural understanding of Hedgehog Open Network Fa
44

55
Hedgehog Open Network Fabric leverages the Kubernetes API to manage its resources. All user-facing APIs are exposed as Kubernetes Custom Resources Definitions (CRDs), allowing users to manage Fabric resources using standard Kubernetes tools.
66

7-
To make network switches Kubernetes-aware, the Fabric employs an **Agent** running on each switch. This agent acts as an interface between the Kubernetes control plane and the switch internal network configuration mechanisms. It continuously syncs desired state from Kubernetes via the Fabric Controller and applies configurations using **gNMI** (gRPC Network Management Interface).
7+
To make network switches Kubernetes-aware, the Fabric employs an Agent running on each switch. This agent acts as an interface between the Kubernetes control plane and the switch internal network configuration mechanisms. It continuously syncs desired state from Kubernetes via the Fabric Controller and applies configurations using gNMI (gRPC Network Management Interface).
88

99
## Components
1010

@@ -70,38 +70,38 @@ graph TD;
7070
The key components essential for understanding the Fabric architecture are:
7171

7272
### Control Node Components
73-
- **Fabric Controller**: The central control plane component that manages Fabric resources and configurations.
74-
- **Fabric CLI (kubectl plugin)**: A `kubectl` plugin that provides an easy way to manage Fabric resources.
75-
- **Fabric Proxy**: A pod responsible for collecting logs and metrics from switches (via Alloy) and forwarding them to an external system.
76-
- **Fabricator**: A tool for installing and configuring Fabric, including virtual lab environments.
73+
- Fabric Controller: The central control plane component that manages Fabric resources and configurations.
74+
- Fabric CLI (kubectl plugin): A `kubectl` plugin that provides an easy way to manage Fabric resources.
75+
- Fabric Proxy: A pod responsible for collecting logs and metrics from switches (via Alloy) and forwarding them to an external system.
76+
- Fabricator: A tool for installing and configuring Fabric, including virtual lab environments.
7777

7878
### SONiC Switch Components
79-
- **Fabric Agent**: Runs on each switch and applies configurations received from the control plane.
80-
- **Alloy**: Collects logs and telemetry data from the switch.
81-
- **gNMI Interface**: The main configuration API used by the Fabric Agent to interact with the switch.
82-
- **Config DB**: The central database in SONiC responsible for maintaining switch configuration.
83-
- **ASIC**: The hardware component handling packet forwarding.
79+
- Fabric Agent: Runs on each switch and applies configurations received from the control plane.
80+
- Alloy: Collects logs and telemetry data from the switch.
81+
- gNMI Interface: The main configuration API used by the Fabric Agent to interact with the switch.
82+
- Config DB: The central database in SONiC responsible for maintaining switch configuration.
83+
- ASIC: The hardware component handling packet forwarding.
8484

8585
The SONiC architecture presented here is a high-level abstraction, for simplicity.
8686

8787
## Architecture Flow
8888

89-
### 1. **Fabric Installation & Configuration**
90-
- The **Fabricator** tool installs and configures Hedgehog Fabric.
91-
- It provisions **Flatcar Linux** for Control Nodes and automatically installs **K3s** (lightweight Kubernetes).
89+
### 1. Fabric Installation & Configuration
90+
- The Fabricator tool installs and configures Hedgehog Fabric.
91+
- It provisions Flatcar Linux for Control Nodes and automatically installs K3s (lightweight Kubernetes).
9292
- All components, including their dependencies, are deployed within Kubernetes.
9393

94-
### 2. **Fabric API & Resource Management**
95-
- Hedgehog represents all infrastructure elements as **Fabric resources** using Kubernetes CRDs.
96-
- These CRDs define **switches, servers, control nodes, external systems, and their interconnections**.
97-
- The **Fabric Controller** watches these CRDs and manages configurations accordingly.
94+
### 2. Fabric API & Resource Management
95+
- Hedgehog represents all infrastructure elements as Fabric resources using Kubernetes CRDs.
96+
- These CRDs define switches, servers, control nodes, external systems, and their interconnections.
97+
- The Fabric Controller watches these CRDs and manages configurations accordingly.
9898

99-
### 3. **Switch Configuration & Management**
100-
- The **Fabric Controller** communicates with the **Fabric Agent** on each switch via the Kubernetes API.
101-
- The **Fabric Agent** applies configurations using the **gNMI** interface, updating the **Config DB**.
102-
- The **Config DB** ensures that all settings are applied to the **ASIC** for packet forwarding.
99+
### 3. Switch Configuration & Management
100+
- The Fabric Controller communicates with the Fabric Agent on each switch via the Kubernetes API.
101+
- The Fabric Agent applies configurations using the gNMI interface, updating the Config DB.
102+
- The Config DB ensures that all settings are applied to the ASIC for packet forwarding.
103103

104-
### 4. **Telemetry & Monitoring**
105-
- The **Alloy** agent on the switch collects logs and metrics.
106-
- Logs and metrics are sent to the **Fabric Proxy** running in Kubernetes.
107-
- The **Fabric Proxy** forwards this data to **LGTM**, an external logging and monitoring system.
104+
### 4. Telemetry & Monitoring
105+
- The Alloy agent on the switch collects logs and metrics.
106+
- Logs and metrics are sent to the Fabric Proxy running in Kubernetes.
107+
- The Fabric Proxy forwards this data to LGTM, an external logging and monitoring system.

0 commit comments

Comments
 (0)