class

Cl8r::Model::ClusterSpec

Inherits YAML::Serializable < Reference < Object

Root Abstract Syntax Tree (AST) entity deserialized from declarative YAML cluster definitions.

Constructors

from_yaml_file(path : String) : ClusterSpec

Parses a ClusterSpec directly from a YAML file path.

Source
new(name : String | Nil = nil, environment : String | Nil = nil, domain : String | Nil = nil, default_mtu : Int32 | Nil = nil, profile : String | Nil = nil, template_tier : String | Nil = nil, networks : Hash(String, NetworkPlane) = {} of String => NetworkPlane, racks : Array(Rack) = [] of Rack, switches : Array(Switch) = [] of Switch, nodes : Array(Node) = [] of Node, haproxy : HaproxyConfig | Nil = nil, chrony : ChronyConfig | Nil = nil, dns : DnsTopology | Nil = nil, pki : PkiConfig | Nil = nil, ceph : CephConfig | Nil = nil, provisioning : ProvisioningConfig | Nil = nil, security : SecurityPolicy | Nil = nil, wireguard : WireGuardSubsystem | Nil = nil, sysctl : Hash(String, String) = {} of String => String)

Initializes a ClusterSpec with all subcomponents, networks, racks, and nodes.

Source
new(*, __context_for_yaml_serializable ctx : YAML::ParseContext, __node_for_yaml_serializable node : YAML::Nodes::Node)
Source

Instance methods

after_initialize

Post-deserialization hook to guarantee NetworkPlane names match their dictionary keys.

Source
ceph
Source
ceph=(ceph : CephConfig | Nil)
Source
chrony
Source
chrony=(chrony : ChronyConfig | Nil)
Source
default_mtu
Source
default_mtu=(default_mtu : Int32 | Nil)
Source
dns=(dns : DnsTopology | Nil)
Source
domain
Source
domain=(domain : String | Nil)
Source
environment
Source
environment=(environment : String | Nil)
Source
haproxy
Source
haproxy=(haproxy : HaproxyConfig | Nil)
Source
name
Source
name=(name : String | Nil)
Source
networks
Source
networks=(networks : Hash(String, NetworkPlane))
Source
nodes
Source
nodes=(nodes : Array(Node))
Source
pki=(pki : PkiConfig | Nil)
Source
profile
Source
profile=(profile : String | Nil)
Source
provisioning
Source
provisioning=(provisioning : ProvisioningConfig | Nil)
Source
racks
Source
racks=(racks : Array(Rack))
Source
raw_default_mtu
Source
raw_domain
Source
raw_environment
Source
raw_name
Source
security
Source
security=(security : SecurityPolicy | Nil)
Source
switches
Source
switches=(switches : Array(Switch))
Source
sysctl
Source
sysctl=(sysctl : Hash(String, String))
Source
template_tier
Source
template_tier=(template_tier : String | Nil)
Source
wireguard
Source
wireguard=(wireguard : WireGuardSubsystem | Nil)
Source