Module: Kube::Cluster
- Defined in:
- lib/kube/cluster.rb,
lib/kube/cluster/version.rb,
lib/kube/cluster/instance.rb,
lib/kube/cluster/manifest.rb,
lib/kube/cluster/resource.rb,
lib/kube/cluster/connection.rb,
lib/kube/cluster/middleware.rb,
lib/kube/cluster/middleware/stack.rb,
lib/kube/cluster/middleware/labels.rb,
lib/kube/cluster/middleware/namespace.rb,
lib/kube/cluster/resource/persistence.rb,
lib/kube/cluster/middleware/annotations.rb,
lib/kube/cluster/resource/dirty_tracking.rb,
lib/kube/cluster/middleware/resource_preset.rb,
lib/kube/cluster/middleware/security_context.rb,
lib/kube/cluster/middleware/pod_anti_affinity.rb,
lib/kube/cluster/middleware/hpa_for_deployment.rb,
lib/kube/cluster/middleware/ingress_for_service.rb,
lib/kube/cluster/middleware/service_for_deployment.rb
Defined Under Namespace
Classes: Connection, Instance, Manifest, Middleware, Resource
Constant Summary collapse
- VERSION =
"0.3.0"
Class Method Summary collapse
-
.[](kind) ⇒ Object
Returns an anonymous subclass of Kube::Cluster::Resource for the given Kubernetes kind, mirroring Kube::Schema but with dirty tracking, persistence, and resource helper methods.
- .connect(kubeconfig:) ⇒ Object
Class Method Details
.[](kind) ⇒ Object
Returns an anonymous subclass of Kube::Cluster::Resource for the given Kubernetes kind, mirroring Kube::Schema but with dirty tracking, persistence, and resource helper methods.
Kube::Cluster["Deployment"].new { .name = "web" }
29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/kube/cluster.rb', line 29 def self.[](kind) @resource_classes ||= {} @resource_classes[kind] ||= begin schema_class = Kube::Schema[kind] Class.new(Resource) do @schema = schema_class.schema @defaults = schema_class.defaults def self.schema = @schema || superclass.schema def self.defaults = @defaults || superclass.defaults end end end |