Cl8r::Model::ClusterSpec
Inherits YAML::Serializable < Reference < Object
Root Abstract Syntax Tree (AST) entity deserialized from declarative YAML cluster definitions.
Constructors
Parses a ClusterSpec directly from a YAML file path.
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.
new(*, __context_for_yaml_serializable ctx : YAML::ParseContext, __node_for_yaml_serializable node : YAML::Nodes::Node)
SourceInstance methods
after_initialize
Post-deserialization hook to guarantee NetworkPlane names match their dictionary keys.
ceph
Sourceceph=(ceph : CephConfig | Nil)
Sourcechrony
Sourcechrony=(chrony : ChronyConfig | Nil)
Sourcedefault_mtu
Sourcedns
Sourcedns=(dns : DnsTopology | Nil)
Sourcedomain
Sourceenvironment
Sourcehaproxy
Sourcehaproxy=(haproxy : HaproxyConfig | Nil)
Sourcename
Sourcenetworks
Sourcenodes
Sourcepki
Sourcepki=(pki : PkiConfig | Nil)
Sourceprofile
Sourceprovisioning
Sourceprovisioning=(provisioning : ProvisioningConfig | Nil)
Sourceracks
Sourceraw_default_mtu
Sourceraw_domain
Sourceraw_environment
Sourceraw_name
Sourcesecurity
Sourcesecurity=(security : SecurityPolicy | Nil)
Sourceswitches
Sourcesysctl
Sourcetemplate_tier
Sourcewireguard
Sourcewireguard=(wireguard : WireGuardSubsystem | Nil)
Source