Class: Metatron::Template
- Inherits:
-
Object
- Object
- Metatron::Template
- Defined in:
- lib/metatron/template.rb
Overview
Base class for templating Kubernetes resources
Direct Known Subclasses
Metatron::Templates::ClusterRole, Metatron::Templates::ClusterRoleBinding, Metatron::Templates::ConfigMap, Metatron::Templates::CronJob, Metatron::Templates::DaemonSet, Metatron::Templates::Deployment, Metatron::Templates::Ingress, Metatron::Templates::Job, Metatron::Templates::LimitRange, Metatron::Templates::Namespace, Metatron::Templates::NetworkPolicy, Metatron::Templates::PersistentVolumeClaim, Metatron::Templates::Pod, Metatron::Templates::PriorityClass, Metatron::Templates::ReplicaSet, Metatron::Templates::ResourceQuota, Metatron::Templates::Role, Metatron::Templates::RoleBinding, Metatron::Templates::Secret, Metatron::Templates::Service, Metatron::Templates::ServiceAccount, Metatron::Templates::StatefulSet, Metatron::Templates::VolumeSnapshot, Metatron::Templates::VolumeSnapshotContent
Class Attribute Summary collapse
Instance Attribute Summary collapse
-
#additional_labels ⇒ Object
Returns the value of attribute additional_labels.
-
#api_version ⇒ Object
(also: #apiVersion)
Returns the value of attribute api_version.
- #base_labels ⇒ Object
-
#kind ⇒ Object
readonly
Returns the value of attribute kind.
-
#name ⇒ Object
Returns the value of attribute name.
Class Method Summary collapse
- .initializer(*args) ⇒ Object
- .initializers ⇒ Object
- .metatron_template_class? ⇒ Boolean
- .nearest_metatron_ancestor ⇒ Object
Instance Method Summary collapse
-
#initialize(name) ⇒ Template
constructor
A new instance of Template.
Constructor Details
permalink #initialize(name) ⇒ Template
Returns a new instance of Template.
40 41 42 43 44 45 46 |
# File 'lib/metatron/template.rb', line 40 def initialize(name) @name = name @api_version = "v1" @kind = find_kind @additional_labels = {} run_initializers end |
Class Attribute Details
permalink .label_namespace ⇒ Object
13 14 15 |
# File 'lib/metatron/template.rb', line 13 def label_namespace @label_namespace ||= "metatron.therubyist.org" end |
Instance Attribute Details
permalink #additional_labels ⇒ Object
Returns the value of attribute additional_labels.
6 7 8 |
# File 'lib/metatron/template.rb', line 6 def additional_labels @additional_labels end |
permalink #api_version ⇒ Object Also known as: apiVersion
Returns the value of attribute api_version.
6 7 8 |
# File 'lib/metatron/template.rb', line 6 def api_version @api_version end |
permalink #base_labels ⇒ Object
50 51 52 |
# File 'lib/metatron/template.rb', line 50 def base_labels @base_labels || { "#{label_namespace}/name": name } end |
permalink #kind ⇒ Object (readonly)
Returns the value of attribute kind.
7 8 9 |
# File 'lib/metatron/template.rb', line 7 def kind @kind end |
permalink #name ⇒ Object
Returns the value of attribute name.
6 7 8 |
# File 'lib/metatron/template.rb', line 6 def name @name end |
Class Method Details
permalink .initializer(*args) ⇒ Object
[View source]
17 18 19 20 |
# File 'lib/metatron/template.rb', line 17 def initializer(*args) @initializers ||= [] @initializers += args end |
permalink .initializers ⇒ Object
[View source]
22 23 24 |
# File 'lib/metatron/template.rb', line 22 def initializers @initializers ||= [] end |
permalink .metatron_template_class? ⇒ Boolean
32 33 34 35 36 37 |
# File 'lib/metatron/template.rb', line 32 def return true if name == "Metatron::Template" return false if name.start_with?("Metatron::Templates::Concerns") name.start_with?("Metatron::Templates::") end |
permalink .nearest_metatron_ancestor ⇒ Object
[View source]
26 27 28 29 30 |
# File 'lib/metatron/template.rb', line 26 def return self if ancestors.find { _1.respond_to?(:metatron_template_class?) && _1. } end |