Files
skyforge/README.md
2025-02-17 01:06:57 +00:00

1.1 KiB

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.