Class: EksCli::K8s::ConfigmapBuilder
- Inherits:
-
Object
- Object
- EksCli::K8s::ConfigmapBuilder
- Defined in:
- lib/eks_cli/k8s/configmap_builder.rb
Class Method Summary collapse
- .build(node_arns, users) ⇒ Object
- .map_role(stack_arn) ⇒ Object
- .map_roles(node_arns) ⇒ Object
- .map_users(users) ⇒ Object
- .to_auth_obj(type, arn, username, groups) ⇒ Object
- .to_role_obj(arn, username, groups) ⇒ Object
- .to_user_obj(arn, username, groups) ⇒ Object
Class Method Details
.build(node_arns, users) ⇒ Object
8 9 10 11 12 13 14 15 16 17 |
# File 'lib/eks_cli/k8s/configmap_builder.rb', line 8 def build(node_arns, users) cm = Kubeclient::Resource.new cm.={} cm..name = "aws-auth" cm..namespace = "kube-system" cm.data = {} cm.data.mapRoles = map_roles(node_arns) cm.data.mapUsers = map_users(users) if users && !users.empty? cm end |
.map_role(stack_arn) ⇒ Object
27 28 29 |
# File 'lib/eks_cli/k8s/configmap_builder.rb', line 27 def map_role(stack_arn) to_role_obj(stack_arn, "system:node:{{EC2PrivateDNSName}}", ["system:bootstrappers", "system:nodes"]) end |
.map_roles(node_arns) ⇒ Object
19 20 21 |
# File 'lib/eks_cli/k8s/configmap_builder.rb', line 19 def map_roles(node_arns) node_arns.map {|a| map_role(a)}.to_yaml.sub("---\n","") end |
.map_users(users) ⇒ Object
23 24 25 |
# File 'lib/eks_cli/k8s/configmap_builder.rb', line 23 def map_users(users) users.map {|arn, attrs| to_user_obj(arn, attrs["username"], attrs["groups"]) }.to_yaml.sub("---\n","") end |
.to_auth_obj(type, arn, username, groups) ⇒ Object
31 32 33 34 35 |
# File 'lib/eks_cli/k8s/configmap_builder.rb', line 31 def to_auth_obj(type, arn, username, groups) {"#{type}arn" => arn, "username" => username, "groups" => groups} end |
.to_role_obj(arn, username, groups) ⇒ Object
37 38 39 |
# File 'lib/eks_cli/k8s/configmap_builder.rb', line 37 def to_role_obj(arn, username, groups) to_auth_obj("role", arn ,username, groups) end |
.to_user_obj(arn, username, groups) ⇒ Object
41 42 43 |
# File 'lib/eks_cli/k8s/configmap_builder.rb', line 41 def to_user_obj(arn, username, groups) to_auth_obj("user", arn ,username, groups) end |