2025-02-26 01:28:06 -07:00
2025-02-26 01:28:06 -07:00
2025-02-26 01:28:06 -07:00
2025-02-26 01:28:06 -07:00
2025-02-17 01:06:57 +00:00
2025-02-17 01:06:57 +00:00
2025-02-17 01:06:57 +00:00

Skyforge

Brief

Skyforge was designed to assist in render thousands of device configurations across the globe.

Assumptions

  • Partitions are groups of regions
  • Regions are groups of zones
  • Zones are groups of devices
  • Layers are groups of common devices and facilitate template mapping

Functionality

Skyforge takes a user provide regex pattern, performs a walk on a ./spec dir, and matches a list of devices specifications that do not have the word "common" in their path. All group files are labeled with common and mappable from the file itself.

For each file_path matched, Skyforge then maps to all consituent files:

  • Layer - from by the common file in parent dir and maps the region
  • Zonal - from the first group of chars in filename up to a - (region_id + zone_id)
  • Regional - from the region_id of containing folder
  • Partitional - from either layer (common.yaml) or regional yaml

Once all files are found, a compiled_specifcation is built. This spec is then passed to Tera as context. Tera then loads the template files for that layer and renders the configuration file.

Description
No description provided
Readme 166 KiB
Languages
Rust 100%