Module: Pangea::Kubernetes::Backends::Base
- Defined in:
- lib/pangea/kubernetes/backends/base.rb
Overview
Contract interface for Kubernetes backends. Each backend module must implement these class methods (via class << self):
Identity methods:
backend_name → Symbol (:aws, :gcp, :azure, :hcloud, etc.)
managed_kubernetes? → true for EKS/GKE/AKS, false for NixOS/k3s
required_gem → String gem name to require
load_provider! → Require the provider gem (or raise LoadError)
Infrastructure pipeline methods (all class-level):
create_network(ctx, name, config, tags) → Pangea::Contracts::NetworkResult
create_iam(ctx, name, config, tags) → Pangea::Contracts::IamResult
create_cluster(ctx, name, config, result, tags) → control plane ref
create_node_pool(ctx, name, cluster_ref, pool_config, tags) → ResourceReference
Backends implement all pipeline methods in ‘class << self` so they are called as e.g. AwsNixos.create_network(ctx, …).
Defined Under Namespace
Modules: ClassMethods
Class Method Summary collapse
Class Method Details
.included(base) ⇒ Object
38 39 40 |
# File 'lib/pangea/kubernetes/backends/base.rb', line 38 def self.included(base) base.extend(ClassMethods) end |