kuby-kube-db 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (170) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +19 -0
  3. data/LICENSE +21 -0
  4. data/Rakefile +74 -0
  5. data/kuby-kube-db.gemspec +19 -0
  6. data/lib/kuby/kube-db.rb +13 -0
  7. data/lib/kuby/kube-db/dsl.rb +7 -0
  8. data/lib/kuby/kube-db/dsl/api.rb +3 -0
  9. data/lib/kuby/kube-db/dsl/api/v1.rb +20 -0
  10. data/lib/kuby/kube-db/dsl/api/v1/agent_spec.rb +24 -0
  11. data/lib/kuby/kube-db/dsl/api/v1/azure_spec.rb +17 -0
  12. data/lib/kuby/kube-db/dsl/api/v1/b2_spec.rb +17 -0
  13. data/lib/kuby/kube-db/dsl/api/v1/backend.rb +29 -0
  14. data/lib/kuby/kube-db/dsl/api/v1/gcs_spec.rb +17 -0
  15. data/lib/kuby/kube-db/dsl/api/v1/local_spec.rb +72 -0
  16. data/lib/kuby/kube-db/dsl/api/v1/object_meta.rb +34 -0
  17. data/lib/kuby/kube-db/dsl/api/v1/pod_spec.rb +41 -0
  18. data/lib/kuby/kube-db/dsl/api/v1/pod_template_spec.rb +19 -0
  19. data/lib/kuby/kube-db/dsl/api/v1/prometheus_exporter_spec.rb +22 -0
  20. data/lib/kuby/kube-db/dsl/api/v1/prometheus_spec.rb +23 -0
  21. data/lib/kuby/kube-db/dsl/api/v1/rest_server_spec.rb +15 -0
  22. data/lib/kuby/kube-db/dsl/api/v1/s3_spec.rb +18 -0
  23. data/lib/kuby/kube-db/dsl/api/v1/service_monitor_spec.rb +18 -0
  24. data/lib/kuby/kube-db/dsl/api/v1/service_port.rb +17 -0
  25. data/lib/kuby/kube-db/dsl/api/v1/service_spec.rb +25 -0
  26. data/lib/kuby/kube-db/dsl/api/v1/service_template_spec.rb +17 -0
  27. data/lib/kuby/kube-db/dsl/api/v1/swift_spec.rb +16 -0
  28. data/lib/kuby/kube-db/dsl/appcatalog.rb +3 -0
  29. data/lib/kuby/kube-db/dsl/appcatalog/v1alpha1.rb +3 -0
  30. data/lib/kuby/kube-db/dsl/appcatalog/v1alpha1/app_reference.rb +17 -0
  31. data/lib/kuby/kube-db/dsl/catalog.rb +3 -0
  32. data/lib/kuby/kube-db/dsl/catalog/v1alpha1.rb +65 -0
  33. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/elasticsearch_version.rb +20 -0
  34. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/elasticsearch_version_database.rb +15 -0
  35. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/elasticsearch_version_exporter.rb +15 -0
  36. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/elasticsearch_version_init_container.rb +16 -0
  37. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/elasticsearch_version_list.rb +20 -0
  38. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/elasticsearch_version_pod_security_policy.rb +15 -0
  39. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/elasticsearch_version_spec.rb +27 -0
  40. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/elasticsearch_version_tools.rb +15 -0
  41. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/etcd_version.rb +20 -0
  42. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/etcd_version_database.rb +15 -0
  43. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/etcd_version_exporter.rb +15 -0
  44. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/etcd_version_list.rb +20 -0
  45. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/etcd_version_spec.rb +22 -0
  46. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/etcd_version_tools.rb +15 -0
  47. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/memcached_version.rb +20 -0
  48. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/memcached_version_database.rb +15 -0
  49. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/memcached_version_exporter.rb +15 -0
  50. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/memcached_version_list.rb +20 -0
  51. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/memcached_version_pod_security_policy.rb +15 -0
  52. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/memcached_version_spec.rb +22 -0
  53. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/mongo_db_version.rb +20 -0
  54. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/mongo_db_version_database.rb +15 -0
  55. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/mongo_db_version_exporter.rb +15 -0
  56. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/mongo_db_version_init_container.rb +15 -0
  57. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/mongo_db_version_list.rb +20 -0
  58. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/mongo_db_version_pod_security_policy.rb +15 -0
  59. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/mongo_db_version_spec.rb +26 -0
  60. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/mongo_db_version_tools.rb +15 -0
  61. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/my_sql_version.rb +20 -0
  62. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/my_sql_version_database.rb +15 -0
  63. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/my_sql_version_exporter.rb +15 -0
  64. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/my_sql_version_init_container.rb +15 -0
  65. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/my_sql_version_list.rb +20 -0
  66. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/my_sql_version_pod_security_policy.rb +15 -0
  67. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/my_sql_version_replication_mode_detector.rb +15 -0
  68. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/my_sql_version_spec.rb +28 -0
  69. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/my_sql_version_tools.rb +15 -0
  70. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/percona_xtra_db_version.rb +20 -0
  71. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/percona_xtra_db_version_database.rb +15 -0
  72. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/percona_xtra_db_version_exporter.rb +15 -0
  73. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/percona_xtra_db_version_init_container.rb +15 -0
  74. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/percona_xtra_db_version_list.rb +20 -0
  75. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/percona_xtra_db_version_pod_security_policy.rb +15 -0
  76. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/percona_xtra_db_version_spec.rb +24 -0
  77. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/postgres_version.rb +20 -0
  78. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/postgres_version_database.rb +15 -0
  79. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/postgres_version_exporter.rb +15 -0
  80. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/postgres_version_list.rb +20 -0
  81. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/postgres_version_pod_security_policy.rb +15 -0
  82. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/postgres_version_spec.rb +24 -0
  83. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/postgres_version_tools.rb +15 -0
  84. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/proxy_sql_version.rb +20 -0
  85. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/proxy_sql_version_exporter.rb +15 -0
  86. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/proxy_sql_version_list.rb +20 -0
  87. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/proxy_sql_version_pod_security_policy.rb +15 -0
  88. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/proxy_sql_version_proxysql.rb +15 -0
  89. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/proxy_sql_version_spec.rb +22 -0
  90. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/redis_version.rb +20 -0
  91. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/redis_version_database.rb +15 -0
  92. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/redis_version_exporter.rb +15 -0
  93. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/redis_version_list.rb +20 -0
  94. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/redis_version_pod_security_policy.rb +15 -0
  95. data/lib/kuby/kube-db/dsl/catalog/v1alpha1/redis_version_spec.rb +22 -0
  96. data/lib/kuby/kube-db/dsl/kubedb.rb +3 -0
  97. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1.rb +69 -0
  98. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/certificate_spec.rb +20 -0
  99. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/connection_pool_config.rb +28 -0
  100. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/databases.rb +20 -0
  101. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/elasticsearch.rb +22 -0
  102. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/elasticsearch_cluster_topology.rb +19 -0
  103. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/elasticsearch_list.rb +20 -0
  104. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/elasticsearch_node.rb +21 -0
  105. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/elasticsearch_spec.rb +44 -0
  106. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/elasticsearch_status.rb +17 -0
  107. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/etcd.rb +22 -0
  108. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/etcd_list.rb +20 -0
  109. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/etcd_spec.rb +36 -0
  110. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/etcd_status.rb +17 -0
  111. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/init_spec.rb +19 -0
  112. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/leader_election_config.rb +17 -0
  113. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/maria_db.rb +22 -0
  114. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/maria_db_list.rb +20 -0
  115. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/maria_db_spec.rb +36 -0
  116. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/maria_db_status.rb +17 -0
  117. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/member_secret.rb +16 -0
  118. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/memcached.rb +22 -0
  119. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/memcached_list.rb +20 -0
  120. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/memcached_spec.rb +29 -0
  121. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/memcached_status.rb +17 -0
  122. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/mongo_db.rb +22 -0
  123. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/mongo_db_config_node.rb +22 -0
  124. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/mongo_db_list.rb +20 -0
  125. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/mongo_db_mongos_node.rb +22 -0
  126. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/mongo_db_replica_set.rb +15 -0
  127. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/mongo_db_shard_node.rb +23 -0
  128. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/mongo_db_sharding_topology.rb +19 -0
  129. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/mongo_db_spec.rb +46 -0
  130. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/mongo_db_status.rb +17 -0
  131. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/my_sql.rb +22 -0
  132. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/my_sql_cluster_topology.rb +17 -0
  133. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/my_sql_group_spec.rb +17 -0
  134. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/my_sql_list.rb +20 -0
  135. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/my_sql_spec.rb +40 -0
  136. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/my_sql_status.rb +17 -0
  137. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/percona_xtra_db.rb +22 -0
  138. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/percona_xtra_db_list.rb +20 -0
  139. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/percona_xtra_db_spec.rb +38 -0
  140. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/percona_xtra_db_status.rb +17 -0
  141. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/pg_bouncer.rb +22 -0
  142. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/pg_bouncer_list.rb +20 -0
  143. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/pg_bouncer_spec.rb +31 -0
  144. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/pg_bouncer_status.rb +17 -0
  145. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/postgres.rb +22 -0
  146. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/postgres_archiver_spec.rb +15 -0
  147. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/postgres_list.rb +20 -0
  148. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/postgres_spec.rb +46 -0
  149. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/postgres_status.rb +17 -0
  150. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/postgres_wal_source_spec.rb +32 -0
  151. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/proxy_sql.rb +22 -0
  152. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/proxy_sql_backend_spec.rb +17 -0
  153. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/proxy_sql_list.rb +20 -0
  154. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/proxy_sql_spec.rb +34 -0
  155. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/proxy_sql_status.rb +17 -0
  156. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/recovery_target.rb +18 -0
  157. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/redis.rb +22 -0
  158. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/redis_cluster_spec.rb +16 -0
  159. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/redis_list.rb +20 -0
  160. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/redis_spec.rb +35 -0
  161. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/redis_status.rb +17 -0
  162. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/script_source_spec.rb +71 -0
  163. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/tls_config.rb +17 -0
  164. data/lib/kuby/kube-db/dsl/kubedb/v1alpha1/tls_policy.rb +17 -0
  165. data/lib/kuby/kube-db/dsl/v1.rb +3 -0
  166. data/lib/kuby/kube-db/dsl/v1/volume_source.rb +69 -0
  167. data/lib/kuby/kube-db/entrypoint.rb +269 -0
  168. data/lib/kuby/kube-db/plugin.rb +182 -0
  169. data/lib/kuby/kube-db/version.rb +6 -0
  170. metadata +224 -0
@@ -0,0 +1,19 @@
1
+ module Kuby::KubeDB::DSL::Api::V1
2
+ class PodTemplateSpec < ::KubeDSL::DSLObject
3
+ object_field(:controller) { Kuby::KubeDB::DSL::Api::V1::ObjectMeta.new }
4
+ object_field(:spec) { Kuby::KubeDB::DSL::Api::V1::PodSpec.new }
5
+ object_field(:metadata) { Kuby::KubeDB::DSL::Api::V1::ObjectMeta.new }
6
+
7
+ def serialize
8
+ {}.tap do |result|
9
+ result[:controller] = controller.serialize
10
+ result[:spec] = spec.serialize
11
+ result[:metadata] = metadata.serialize
12
+ end
13
+ end
14
+
15
+ def kind_sym
16
+ :pod_template_spec
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,22 @@
1
+ module Kuby::KubeDB::DSL::Api::V1
2
+ class PrometheusExporterSpec < ::KubeDSL::DSLObject
3
+ value_fields :args, :port
4
+ array_field(:env) { KubeDSL::DSL::V1::EnvVar.new }
5
+ object_field(:security_context) { KubeDSL::DSL::V1::SecurityContext.new }
6
+ object_field(:resources) { KubeDSL::DSL::V1::ResourceRequirements.new }
7
+
8
+ def serialize
9
+ {}.tap do |result|
10
+ result[:args] = args
11
+ result[:port] = port
12
+ result[:env] = envs.map(&:serialize)
13
+ result[:securityContext] = security_context.serialize
14
+ result[:resources] = resources.serialize
15
+ end
16
+ end
17
+
18
+ def kind_sym
19
+ :prometheus_exporter_spec
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,23 @@
1
+ module Kuby::KubeDB::DSL::Api::V1
2
+ class PrometheusSpec < ::KubeDSL::DSLObject
3
+ value_fields :namespace, :interval, :port
4
+ object_field(:exporter) { Kuby::KubeDB::DSL::Api::V1::PrometheusExporterSpec.new }
5
+ object_field(:service_monitor) { Kuby::KubeDB::DSL::Api::V1::ServiceMonitorSpec.new }
6
+ object_field(:labels) { ::KubeDSL::KeyValueFields.new(format: :string) }
7
+
8
+ def serialize
9
+ {}.tap do |result|
10
+ result[:namespace] = namespace
11
+ result[:interval] = interval
12
+ result[:port] = port
13
+ result[:exporter] = exporter.serialize
14
+ result[:serviceMonitor] = service_monitor.serialize
15
+ result[:labels] = labels.serialize
16
+ end
17
+ end
18
+
19
+ def kind_sym
20
+ :prometheus_spec
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,15 @@
1
+ module Kuby::KubeDB::DSL::Api::V1
2
+ class RestServerSpec < ::KubeDSL::DSLObject
3
+ value_fields :url
4
+
5
+ def serialize
6
+ {}.tap do |result|
7
+ result[:url] = url
8
+ end
9
+ end
10
+
11
+ def kind_sym
12
+ :rest_server_spec
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,18 @@
1
+ module Kuby::KubeDB::DSL::Api::V1
2
+ class S3Spec < ::KubeDSL::DSLObject
3
+ value_fields :prefix, :endpoint, :bucket, :region
4
+
5
+ def serialize
6
+ {}.tap do |result|
7
+ result[:prefix] = prefix
8
+ result[:endpoint] = endpoint
9
+ result[:bucket] = bucket
10
+ result[:region] = region
11
+ end
12
+ end
13
+
14
+ def kind_sym
15
+ :s3_spec
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,18 @@
1
+ module Kuby::KubeDB::DSL::Api::V1
2
+ class ServiceMonitorSpec < ::KubeDSL::DSLObject
3
+ value_fields :namespace, :interval
4
+ object_field(:labels) { ::KubeDSL::KeyValueFields.new(format: :string) }
5
+
6
+ def serialize
7
+ {}.tap do |result|
8
+ result[:namespace] = namespace
9
+ result[:interval] = interval
10
+ result[:labels] = labels.serialize
11
+ end
12
+ end
13
+
14
+ def kind_sym
15
+ :service_monitor_spec
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,17 @@
1
+ module Kuby::KubeDB::DSL::Api::V1
2
+ class ServicePort < ::KubeDSL::DSLObject
3
+ value_fields :port, :name, :node_port
4
+
5
+ def serialize
6
+ {}.tap do |result|
7
+ result[:port] = port
8
+ result[:name] = name
9
+ result[:nodePort] = node_port
10
+ end
11
+ end
12
+
13
+ def kind_sym
14
+ :service_port
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,25 @@
1
+ module Kuby::KubeDB::DSL::Api::V1
2
+ class ServiceSpec < ::KubeDSL::DSLObject
3
+ value_fields :load_balancer_ip, :external_i_ps, :external_traffic_policy, :type, :cluster_ip, :load_balancer_source_ranges, :health_check_node_port
4
+ array_field(:port) { Kuby::KubeDB::DSL::Api::V1::ServicePort.new }
5
+ object_field(:session_affinity_config) { KubeDSL::DSL::V1::SessionAffinityConfig.new }
6
+
7
+ def serialize
8
+ {}.tap do |result|
9
+ result[:loadBalancerIP] = load_balancer_ip
10
+ result[:externalIPs] = external_i_ps
11
+ result[:externalTrafficPolicy] = external_traffic_policy
12
+ result[:type] = type
13
+ result[:clusterIP] = cluster_ip
14
+ result[:loadBalancerSourceRanges] = load_balancer_source_ranges
15
+ result[:healthCheckNodePort] = health_check_node_port
16
+ result[:ports] = ports.map(&:serialize)
17
+ result[:sessionAffinityConfig] = session_affinity_config.serialize
18
+ end
19
+ end
20
+
21
+ def kind_sym
22
+ :service_spec
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,17 @@
1
+ module Kuby::KubeDB::DSL::Api::V1
2
+ class ServiceTemplateSpec < ::KubeDSL::DSLObject
3
+ object_field(:spec) { Kuby::KubeDB::DSL::Api::V1::ServiceSpec.new }
4
+ object_field(:metadata) { Kuby::KubeDB::DSL::Api::V1::ObjectMeta.new }
5
+
6
+ def serialize
7
+ {}.tap do |result|
8
+ result[:spec] = spec.serialize
9
+ result[:metadata] = metadata.serialize
10
+ end
11
+ end
12
+
13
+ def kind_sym
14
+ :service_template_spec
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,16 @@
1
+ module Kuby::KubeDB::DSL::Api::V1
2
+ class SwiftSpec < ::KubeDSL::DSLObject
3
+ value_fields :prefix, :container
4
+
5
+ def serialize
6
+ {}.tap do |result|
7
+ result[:prefix] = prefix
8
+ result[:container] = container
9
+ end
10
+ end
11
+
12
+ def kind_sym
13
+ :swift_spec
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,3 @@
1
+ module Kuby::KubeDB::DSL::Appcatalog
2
+ autoload :V1alpha1, 'kuby/kube-db/dsl/appcatalog/v1alpha1'
3
+ end
@@ -0,0 +1,3 @@
1
+ module Kuby::KubeDB::DSL::Appcatalog::V1alpha1
2
+ autoload :AppReference, 'kuby/kube-db/dsl/appcatalog/v1alpha1/app_reference'
3
+ end
@@ -0,0 +1,17 @@
1
+ module Kuby::KubeDB::DSL::Appcatalog::V1alpha1
2
+ class AppReference < ::KubeDSL::DSLObject
3
+ value_fields :namespace, :name, :parameters
4
+
5
+ def serialize
6
+ {}.tap do |result|
7
+ result[:namespace] = namespace
8
+ result[:name] = name
9
+ result[:parameters] = parameters
10
+ end
11
+ end
12
+
13
+ def kind_sym
14
+ :app_reference
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,3 @@
1
+ module Kuby::KubeDB::DSL::Catalog
2
+ autoload :V1alpha1, 'kuby/kube-db/dsl/catalog/v1alpha1'
3
+ end
@@ -0,0 +1,65 @@
1
+ module Kuby::KubeDB::DSL::Catalog::V1alpha1
2
+ autoload :ElasticsearchVersionDatabase, 'kuby/kube-db/dsl/catalog/v1alpha1/elasticsearch_version_database'
3
+ autoload :ElasticsearchVersionList, 'kuby/kube-db/dsl/catalog/v1alpha1/elasticsearch_version_list'
4
+ autoload :MongoDBVersionInitContainer, 'kuby/kube-db/dsl/catalog/v1alpha1/mongo_db_version_init_container'
5
+ autoload :MySQLVersionExporter, 'kuby/kube-db/dsl/catalog/v1alpha1/my_sql_version_exporter'
6
+ autoload :MongoDBVersionTools, 'kuby/kube-db/dsl/catalog/v1alpha1/mongo_db_version_tools'
7
+ autoload :ProxySQLVersion, 'kuby/kube-db/dsl/catalog/v1alpha1/proxy_sql_version'
8
+ autoload :ElasticsearchVersionExporter, 'kuby/kube-db/dsl/catalog/v1alpha1/elasticsearch_version_exporter'
9
+ autoload :MemcachedVersionDatabase, 'kuby/kube-db/dsl/catalog/v1alpha1/memcached_version_database'
10
+ autoload :MemcachedVersion, 'kuby/kube-db/dsl/catalog/v1alpha1/memcached_version'
11
+ autoload :ProxySQLVersionExporter, 'kuby/kube-db/dsl/catalog/v1alpha1/proxy_sql_version_exporter'
12
+ autoload :MongoDBVersionExporter, 'kuby/kube-db/dsl/catalog/v1alpha1/mongo_db_version_exporter'
13
+ autoload :EtcdVersionTools, 'kuby/kube-db/dsl/catalog/v1alpha1/etcd_version_tools'
14
+ autoload :PostgresVersionTools, 'kuby/kube-db/dsl/catalog/v1alpha1/postgres_version_tools'
15
+ autoload :MySQLVersionDatabase, 'kuby/kube-db/dsl/catalog/v1alpha1/my_sql_version_database'
16
+ autoload :RedisVersionDatabase, 'kuby/kube-db/dsl/catalog/v1alpha1/redis_version_database'
17
+ autoload :PostgresVersionExporter, 'kuby/kube-db/dsl/catalog/v1alpha1/postgres_version_exporter'
18
+ autoload :MemcachedVersionPodSecurityPolicy, 'kuby/kube-db/dsl/catalog/v1alpha1/memcached_version_pod_security_policy'
19
+ autoload :MongoDBVersionPodSecurityPolicy, 'kuby/kube-db/dsl/catalog/v1alpha1/mongo_db_version_pod_security_policy'
20
+ autoload :ElasticsearchVersionInitContainer, 'kuby/kube-db/dsl/catalog/v1alpha1/elasticsearch_version_init_container'
21
+ autoload :ProxySQLVersionSpec, 'kuby/kube-db/dsl/catalog/v1alpha1/proxy_sql_version_spec'
22
+ autoload :RedisVersionList, 'kuby/kube-db/dsl/catalog/v1alpha1/redis_version_list'
23
+ autoload :ElasticsearchVersionSpec, 'kuby/kube-db/dsl/catalog/v1alpha1/elasticsearch_version_spec'
24
+ autoload :ProxySQLVersionPodSecurityPolicy, 'kuby/kube-db/dsl/catalog/v1alpha1/proxy_sql_version_pod_security_policy'
25
+ autoload :ProxySQLVersionList, 'kuby/kube-db/dsl/catalog/v1alpha1/proxy_sql_version_list'
26
+ autoload :PostgresVersion, 'kuby/kube-db/dsl/catalog/v1alpha1/postgres_version'
27
+ autoload :EtcdVersionSpec, 'kuby/kube-db/dsl/catalog/v1alpha1/etcd_version_spec'
28
+ autoload :MySQLVersionInitContainer, 'kuby/kube-db/dsl/catalog/v1alpha1/my_sql_version_init_container'
29
+ autoload :ElasticsearchVersionTools, 'kuby/kube-db/dsl/catalog/v1alpha1/elasticsearch_version_tools'
30
+ autoload :PerconaXtraDBVersionSpec, 'kuby/kube-db/dsl/catalog/v1alpha1/percona_xtra_db_version_spec'
31
+ autoload :MemcachedVersionList, 'kuby/kube-db/dsl/catalog/v1alpha1/memcached_version_list'
32
+ autoload :MySQLVersionReplicationModeDetector, 'kuby/kube-db/dsl/catalog/v1alpha1/my_sql_version_replication_mode_detector'
33
+ autoload :EtcdVersionList, 'kuby/kube-db/dsl/catalog/v1alpha1/etcd_version_list'
34
+ autoload :ElasticsearchVersion, 'kuby/kube-db/dsl/catalog/v1alpha1/elasticsearch_version'
35
+ autoload :PostgresVersionSpec, 'kuby/kube-db/dsl/catalog/v1alpha1/postgres_version_spec'
36
+ autoload :EtcdVersion, 'kuby/kube-db/dsl/catalog/v1alpha1/etcd_version'
37
+ autoload :ProxySQLVersionProxysql, 'kuby/kube-db/dsl/catalog/v1alpha1/proxy_sql_version_proxysql'
38
+ autoload :MySQLVersionPodSecurityPolicy, 'kuby/kube-db/dsl/catalog/v1alpha1/my_sql_version_pod_security_policy'
39
+ autoload :MySQLVersion, 'kuby/kube-db/dsl/catalog/v1alpha1/my_sql_version'
40
+ autoload :MongoDBVersionSpec, 'kuby/kube-db/dsl/catalog/v1alpha1/mongo_db_version_spec'
41
+ autoload :PostgresVersionDatabase, 'kuby/kube-db/dsl/catalog/v1alpha1/postgres_version_database'
42
+ autoload :ElasticsearchVersionPodSecurityPolicy, 'kuby/kube-db/dsl/catalog/v1alpha1/elasticsearch_version_pod_security_policy'
43
+ autoload :PerconaXtraDBVersionExporter, 'kuby/kube-db/dsl/catalog/v1alpha1/percona_xtra_db_version_exporter'
44
+ autoload :PostgresVersionList, 'kuby/kube-db/dsl/catalog/v1alpha1/postgres_version_list'
45
+ autoload :MySQLVersionTools, 'kuby/kube-db/dsl/catalog/v1alpha1/my_sql_version_tools'
46
+ autoload :RedisVersionPodSecurityPolicy, 'kuby/kube-db/dsl/catalog/v1alpha1/redis_version_pod_security_policy'
47
+ autoload :PostgresVersionPodSecurityPolicy, 'kuby/kube-db/dsl/catalog/v1alpha1/postgres_version_pod_security_policy'
48
+ autoload :PerconaXtraDBVersionInitContainer, 'kuby/kube-db/dsl/catalog/v1alpha1/percona_xtra_db_version_init_container'
49
+ autoload :RedisVersionSpec, 'kuby/kube-db/dsl/catalog/v1alpha1/redis_version_spec'
50
+ autoload :MongoDBVersionList, 'kuby/kube-db/dsl/catalog/v1alpha1/mongo_db_version_list'
51
+ autoload :PerconaXtraDBVersion, 'kuby/kube-db/dsl/catalog/v1alpha1/percona_xtra_db_version'
52
+ autoload :PerconaXtraDBVersionList, 'kuby/kube-db/dsl/catalog/v1alpha1/percona_xtra_db_version_list'
53
+ autoload :RedisVersionExporter, 'kuby/kube-db/dsl/catalog/v1alpha1/redis_version_exporter'
54
+ autoload :MySQLVersionSpec, 'kuby/kube-db/dsl/catalog/v1alpha1/my_sql_version_spec'
55
+ autoload :PerconaXtraDBVersionDatabase, 'kuby/kube-db/dsl/catalog/v1alpha1/percona_xtra_db_version_database'
56
+ autoload :MongoDBVersionDatabase, 'kuby/kube-db/dsl/catalog/v1alpha1/mongo_db_version_database'
57
+ autoload :MySQLVersionList, 'kuby/kube-db/dsl/catalog/v1alpha1/my_sql_version_list'
58
+ autoload :MongoDBVersion, 'kuby/kube-db/dsl/catalog/v1alpha1/mongo_db_version'
59
+ autoload :EtcdVersionDatabase, 'kuby/kube-db/dsl/catalog/v1alpha1/etcd_version_database'
60
+ autoload :RedisVersion, 'kuby/kube-db/dsl/catalog/v1alpha1/redis_version'
61
+ autoload :MemcachedVersionExporter, 'kuby/kube-db/dsl/catalog/v1alpha1/memcached_version_exporter'
62
+ autoload :MemcachedVersionSpec, 'kuby/kube-db/dsl/catalog/v1alpha1/memcached_version_spec'
63
+ autoload :PerconaXtraDBVersionPodSecurityPolicy, 'kuby/kube-db/dsl/catalog/v1alpha1/percona_xtra_db_version_pod_security_policy'
64
+ autoload :EtcdVersionExporter, 'kuby/kube-db/dsl/catalog/v1alpha1/etcd_version_exporter'
65
+ end
@@ -0,0 +1,20 @@
1
+ module Kuby::KubeDB::DSL::Catalog::V1alpha1
2
+ class ElasticsearchVersion < ::KubeDSL::DSLObject
3
+ value_fields :api_version
4
+ object_field(:spec) { Kuby::KubeDB::DSL::Catalog::V1alpha1::ElasticsearchVersionSpec.new }
5
+ object_field(:metadata) { KubeDSL::DSL::Meta::V1::ObjectMeta.new }
6
+
7
+ def serialize
8
+ {}.tap do |result|
9
+ result[:kind] = "ElasticsearchVersion"
10
+ result[:apiVersion] = api_version
11
+ result[:spec] = spec.serialize
12
+ result[:metadata] = metadata.serialize
13
+ end
14
+ end
15
+
16
+ def kind_sym
17
+ :elasticsearch_version
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,15 @@
1
+ module Kuby::KubeDB::DSL::Catalog::V1alpha1
2
+ class ElasticsearchVersionDatabase < ::KubeDSL::DSLObject
3
+ value_fields :image
4
+
5
+ def serialize
6
+ {}.tap do |result|
7
+ result[:image] = image
8
+ end
9
+ end
10
+
11
+ def kind_sym
12
+ :elasticsearch_version_database
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,15 @@
1
+ module Kuby::KubeDB::DSL::Catalog::V1alpha1
2
+ class ElasticsearchVersionExporter < ::KubeDSL::DSLObject
3
+ value_fields :image
4
+
5
+ def serialize
6
+ {}.tap do |result|
7
+ result[:image] = image
8
+ end
9
+ end
10
+
11
+ def kind_sym
12
+ :elasticsearch_version_exporter
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,16 @@
1
+ module Kuby::KubeDB::DSL::Catalog::V1alpha1
2
+ class ElasticsearchVersionInitContainer < ::KubeDSL::DSLObject
3
+ value_fields :image, :yq_image
4
+
5
+ def serialize
6
+ {}.tap do |result|
7
+ result[:image] = image
8
+ result[:yqImage] = yq_image
9
+ end
10
+ end
11
+
12
+ def kind_sym
13
+ :elasticsearch_version_init_container
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,20 @@
1
+ module Kuby::KubeDB::DSL::Catalog::V1alpha1
2
+ class ElasticsearchVersionList < ::KubeDSL::DSLObject
3
+ value_fields :api_version
4
+ array_field(:item) { Kuby::KubeDB::DSL::Catalog::V1alpha1::ElasticsearchVersion.new }
5
+ object_field(:metadata) { KubeDSL::DSL::Meta::V1::ListMeta.new }
6
+
7
+ def serialize
8
+ {}.tap do |result|
9
+ result[:kind] = "ElasticsearchVersionList"
10
+ result[:apiVersion] = api_version
11
+ result[:items] = items.map(&:serialize)
12
+ result[:metadata] = metadata.serialize
13
+ end
14
+ end
15
+
16
+ def kind_sym
17
+ :elasticsearch_version_list
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,15 @@
1
+ module Kuby::KubeDB::DSL::Catalog::V1alpha1
2
+ class ElasticsearchVersionPodSecurityPolicy < ::KubeDSL::DSLObject
3
+ value_fields :database_policy_name
4
+
5
+ def serialize
6
+ {}.tap do |result|
7
+ result[:databasePolicyName] = database_policy_name
8
+ end
9
+ end
10
+
11
+ def kind_sym
12
+ :elasticsearch_version_pod_security_policy
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,27 @@
1
+ module Kuby::KubeDB::DSL::Catalog::V1alpha1
2
+ class ElasticsearchVersionSpec < ::KubeDSL::DSLObject
3
+ value_fields :deprecated, :version, :auth_plugin
4
+ object_field(:exporter) { Kuby::KubeDB::DSL::Catalog::V1alpha1::ElasticsearchVersionExporter.new }
5
+ object_field(:pod_security_policies) { Kuby::KubeDB::DSL::Catalog::V1alpha1::ElasticsearchVersionPodSecurityPolicy.new }
6
+ object_field(:init_container) { Kuby::KubeDB::DSL::Catalog::V1alpha1::ElasticsearchVersionInitContainer.new }
7
+ object_field(:db) { Kuby::KubeDB::DSL::Catalog::V1alpha1::ElasticsearchVersionDatabase.new }
8
+ object_field(:tools) { Kuby::KubeDB::DSL::Catalog::V1alpha1::ElasticsearchVersionTools.new }
9
+
10
+ def serialize
11
+ {}.tap do |result|
12
+ result[:deprecated] = deprecated
13
+ result[:version] = version
14
+ result[:authPlugin] = auth_plugin
15
+ result[:exporter] = exporter.serialize
16
+ result[:podSecurityPolicies] = pod_security_policies.serialize
17
+ result[:initContainer] = init_container.serialize
18
+ result[:db] = db.serialize
19
+ result[:tools] = tools.serialize
20
+ end
21
+ end
22
+
23
+ def kind_sym
24
+ :elasticsearch_version_spec
25
+ end
26
+ end
27
+ end