Module: Pangea::Kubernetes::Backends::Base::ClassMethods
- Defined in:
- lib/pangea/kubernetes/backends/base.rb
Instance Method Summary collapse
- #backend_name ⇒ Object
-
#create_cluster(_ctx, _name, _config, _result, _tags) ⇒ Object
Create the cluster control plane (EKS cluster, ASG+NLB, GKE cluster, etc.).
-
#create_iam(_ctx, _name, _config, _tags) ⇒ Pangea::Contracts::IamResult
Create IAM resources (roles, policies, service accounts).
-
#create_network(_ctx, _name, _config, _tags) ⇒ Pangea::Contracts::NetworkResult
Create networking resources (VPC, subnets, security groups, etc.).
-
#create_node_pool(_ctx, _name, _cluster_ref, _pool_config, _tags) ⇒ Object
Create a worker node pool for the cluster.
- #load_provider! ⇒ Object
- #managed_kubernetes? ⇒ Boolean
- #required_gem ⇒ Object
Instance Method Details
#backend_name ⇒ Object
43 44 45 |
# File 'lib/pangea/kubernetes/backends/base.rb', line 43 def backend_name raise NotImplementedError, "#{self} must implement .backend_name" end |
#create_cluster(_ctx, _name, _config, _result, _tags) ⇒ Object
Create the cluster control plane (EKS cluster, ASG+NLB, GKE cluster, etc.). Return type is backend-specific (ControlPlaneRef, resource ref, etc.).
97 98 99 |
# File 'lib/pangea/kubernetes/backends/base.rb', line 97 def create_cluster(_ctx, _name, _config, _result, ) raise NotImplementedError, "#{self} must implement .create_cluster" end |
#create_iam(_ctx, _name, _config, _tags) ⇒ Pangea::Contracts::IamResult
Create IAM resources (roles, policies, service accounts). Must return a Pangea::Contracts::IamResult (or subclass).
84 85 86 |
# File 'lib/pangea/kubernetes/backends/base.rb', line 84 def create_iam(_ctx, _name, _config, ) raise NotImplementedError, "#{self} must implement .create_iam" end |
#create_network(_ctx, _name, _config, _tags) ⇒ Pangea::Contracts::NetworkResult
Create networking resources (VPC, subnets, security groups, etc.). Must return a Pangea::Contracts::NetworkResult (or subclass).
72 73 74 |
# File 'lib/pangea/kubernetes/backends/base.rb', line 72 def create_network(_ctx, _name, _config, ) raise NotImplementedError, "#{self} must implement .create_network" end |
#create_node_pool(_ctx, _name, _cluster_ref, _pool_config, _tags) ⇒ Object
Create a worker node pool for the cluster.
109 110 111 |
# File 'lib/pangea/kubernetes/backends/base.rb', line 109 def create_node_pool(_ctx, _name, _cluster_ref, _pool_config, ) raise NotImplementedError, "#{self} must implement .create_node_pool" end |
#load_provider! ⇒ Object
55 56 57 58 59 60 61 62 |
# File 'lib/pangea/kubernetes/backends/base.rb', line 55 def load_provider! require required_gem rescue LoadError => e raise LoadError, "Backend #{backend_name} requires gem '#{required_gem}'. " \ "Add it to your Gemfile: gem '#{required_gem}'\n" \ "Original error: #{e.}" end |
#managed_kubernetes? ⇒ Boolean
47 48 49 |
# File 'lib/pangea/kubernetes/backends/base.rb', line 47 def managed_kubernetes? raise NotImplementedError, "#{self} must implement .managed_kubernetes?" end |
#required_gem ⇒ Object
51 52 53 |
# File 'lib/pangea/kubernetes/backends/base.rb', line 51 def required_gem raise NotImplementedError, "#{self} must implement .required_gem" end |