# seapath/meta-seapath architecture

> Architecture diagram of the GitHub repository seapath/meta-seapath, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-26). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/seapath/meta-seapath
- Repository: https://github.com/seapath/meta-seapath

## Overview

meta-seapath is a Yocto layer for producing Seapath host, guest, flasher, and related images. The principal workflow is that an engineer selects a machine and distribution configuration, builds an image recipe, and installs the resulting image on a target. The tree also documents security hardening, clustering, virtualization, container-host, web administration, and system configuration capabilities. The README is brief and sampled source is limited, so internal links for those broader subsystems are based on the repository’s declared layout rather than inspected call paths.

Main entry points: [`recipes-core/images`](https://github.com/seapath/meta-seapath/tree/wrynose/recipes-core/images) (Image recipes), [`classes/security`](https://github.com/seapath/meta-seapath/tree/wrynose/classes/security) (Security hardening), [`conf/distro`](https://github.com/seapath/meta-seapath/tree/wrynose/conf/distro) (Distribution profiles), [`conf/machine`](https://github.com/seapath/meta-seapath/tree/wrynose/conf/machine) (Machine profiles)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_configuration["Build configuration"]
  node_distro["Distribution profiles"]
  node_machine["Machine profiles"]
  node_layer["Layer metadata<br/>[layer.conf]"]
end

subgraph group_images["Image production"]
  node_image_recipes["Image recipes"]
  node_wic_layouts["Disk layouts"]
  node_upgrade["System upgrade"]
  node_image_artifact["Installable images"]
end

subgraph group_security["Security"]
  node_hardening["Security hardening"]
  node_security_policy["Security policy artifacts"]
end

subgraph group_platform["Platform services"]
  node_cluster["Cluster services"]
  node_virtualization["Virtualization"]
  node_containers["Container host"]
end

subgraph group_operations["Operations"]
  node_system_config["System configuration"]
  node_web_admin["Web administration"]
  node_time_sync["Precision time"]
end

node_engineer(("Engineer"))
node_yocto["Yocto build system"]
node_target(("Seapath target"))

node_engineer -->|"requests build"| node_yocto
node_yocto -->|"loads metadata"| node_layer
node_yocto -->|"uses profile"| node_distro
node_yocto -->|"uses profile"| node_machine
node_yocto -->|"builds recipe"| node_image_recipes
node_image_recipes -->|"produces image"| node_image_artifact
node_image_recipes -->|"uses layout"| node_wic_layouts
node_image_recipes -.->|"includes hardening"| node_hardening
node_hardening -->|"installs policy"| node_security_policy
node_image_recipes -.->|"includes services"| node_cluster
node_image_recipes -.->|"includes packages"| node_virtualization
node_image_recipes -.->|"includes packages"| node_containers
node_image_recipes -.->|"includes package"| node_system_config
node_image_recipes -.->|"includes packages"| node_web_admin
node_image_recipes -.->|"includes package"| node_time_sync
node_image_artifact -->|"installed on"| node_target
node_target -.->|"receives updates"| node_upgrade

click node_distro "https://github.com/seapath/meta-seapath/tree/wrynose/conf/distro"
click node_machine "https://github.com/seapath/meta-seapath/tree/wrynose/conf/machine"
click node_layer "https://github.com/seapath/meta-seapath/blob/wrynose/conf/layer.conf"
click node_image_recipes "https://github.com/seapath/meta-seapath/tree/wrynose/recipes-core/images"
click node_wic_layouts "https://github.com/seapath/meta-seapath/tree/wrynose/files/wic"
click node_upgrade "https://github.com/seapath/meta-seapath/tree/wrynose/recipes-seapath/system-upgrade"
click node_hardening "https://github.com/seapath/meta-seapath/tree/wrynose/classes/security"
click node_security_policy "https://github.com/seapath/meta-seapath/tree/wrynose/classes/security/artifacts"
click node_cluster "https://github.com/seapath/meta-seapath/tree/wrynose/recipes-cgl"
click node_virtualization "https://github.com/seapath/meta-seapath/tree/wrynose/recipes-extended/libvirt"
click node_containers "https://github.com/seapath/meta-seapath/tree/wrynose/recipes-containers"
click node_system_config "https://github.com/seapath/meta-seapath/tree/wrynose/recipes-seapath/system-config"
click node_web_admin "https://github.com/seapath/meta-seapath/tree/wrynose/recipes-webadmin"
click node_time_sync "https://github.com/seapath/meta-seapath/tree/wrynose/recipes-connectivity/linuxptp"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_distro,node_machine,node_layer toneBlue
class node_image_recipes,node_wic_layouts,node_upgrade,node_image_artifact toneAmber
class node_hardening,node_security_policy toneMint
class node_cluster,node_virtualization,node_containers toneRose
class node_system_config,node_web_admin,node_time_sync,node_engineer,node_yocto,node_target toneIndigo
```

## Components

### Build configuration

- [Distribution profiles](https://github.com/seapath/meta-seapath/tree/wrynose/conf/distro): `conf/distro`
- [Machine profiles](https://github.com/seapath/meta-seapath/tree/wrynose/conf/machine): `conf/machine`
- [Layer metadata](https://github.com/seapath/meta-seapath/blob/wrynose/conf/layer.conf): `conf/layer.conf`

### Image production

- [Image recipes](https://github.com/seapath/meta-seapath/tree/wrynose/recipes-core/images): `recipes-core/images`
- [Disk layouts](https://github.com/seapath/meta-seapath/tree/wrynose/files/wic): `files/wic`
- [System upgrade](https://github.com/seapath/meta-seapath/tree/wrynose/recipes-seapath/system-upgrade): `recipes-seapath/system-upgrade`
- **Installable images**

### Security

- [Security hardening](https://github.com/seapath/meta-seapath/tree/wrynose/classes/security): `classes/security`
- [Security policy artifacts](https://github.com/seapath/meta-seapath/tree/wrynose/classes/security/artifacts): `classes/security/artifacts`

### Platform services

- [Cluster services](https://github.com/seapath/meta-seapath/tree/wrynose/recipes-cgl): `recipes-cgl`
- [Virtualization](https://github.com/seapath/meta-seapath/tree/wrynose/recipes-extended/libvirt): `recipes-extended/libvirt`
- [Container host](https://github.com/seapath/meta-seapath/tree/wrynose/recipes-containers): `recipes-containers`

### Operations

- [System configuration](https://github.com/seapath/meta-seapath/tree/wrynose/recipes-seapath/system-config): `recipes-seapath/system-config`
- [Web administration](https://github.com/seapath/meta-seapath/tree/wrynose/recipes-webadmin): `recipes-webadmin`
- [Precision time](https://github.com/seapath/meta-seapath/tree/wrynose/recipes-connectivity/linuxptp): `recipes-connectivity/linuxptp`

### Other components

- **Engineer**
- **Yocto build system**
- **Seapath target**

## Connections

- Engineer → Yocto build system: requests build
- Yocto build system → Layer metadata: loads metadata
- Yocto build system → Distribution profiles: uses profile
- Yocto build system → Machine profiles: uses profile
- Yocto build system → Image recipes: builds recipe
- Image recipes → Installable images: produces image
- Image recipes → Disk layouts: uses layout
- Image recipes → Security hardening: includes hardening
- Security hardening → Security policy artifacts: installs policy
- Image recipes → Cluster services: includes services
- Image recipes → Virtualization: includes packages
- Image recipes → Container host: includes packages
- Image recipes → System configuration: includes package
- Image recipes → Web administration: includes packages
- Image recipes → Precision time: includes package
- Installable images → Seapath target: installed on
- Seapath target → System upgrade: receives updates
