kuby-kube-db 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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,15 @@
1
+ module Kuby::KubeDB::DSL::Kubedb::V1alpha1
2
+ class MongoDBReplicaSet < ::KubeDSL::DSLObject
3
+ value_fields :name
4
+
5
+ def serialize
6
+ {}.tap do |result|
7
+ result[:name] = name
8
+ end
9
+ end
10
+
11
+ def kind_sym
12
+ :mongo_db_replica_set
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,23 @@
1
+ module Kuby::KubeDB::DSL::Kubedb::V1alpha1
2
+ class MongoDBShardNode < ::KubeDSL::DSLObject
3
+ value_fields :replicas, :shards, :prefix
4
+ object_field(:pod_template) { Kuby::KubeDB::DSL::Api::V1::PodTemplateSpec.new }
5
+ object_field(:storage) { KubeDSL::DSL::V1::PersistentVolumeClaimSpec.new }
6
+ object_field(:config_source) { Kuby::KubeDB::DSL::V1::VolumeSource.new }
7
+
8
+ def serialize
9
+ {}.tap do |result|
10
+ result[:replicas] = replicas
11
+ result[:shards] = shards
12
+ result[:prefix] = prefix
13
+ result[:podTemplate] = pod_template.serialize
14
+ result[:storage] = storage.serialize
15
+ result[:configSource] = config_source.serialize
16
+ end
17
+ end
18
+
19
+ def kind_sym
20
+ :mongo_db_shard_node
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,19 @@
1
+ module Kuby::KubeDB::DSL::Kubedb::V1alpha1
2
+ class MongoDBShardingTopology < ::KubeDSL::DSLObject
3
+ object_field(:shard) { Kuby::KubeDB::DSL::Kubedb::V1alpha1::MongoDBShardNode.new }
4
+ object_field(:mongos) { Kuby::KubeDB::DSL::Kubedb::V1alpha1::MongoDBMongosNode.new }
5
+ object_field(:config_server) { Kuby::KubeDB::DSL::Kubedb::V1alpha1::MongoDBConfigNode.new }
6
+
7
+ def serialize
8
+ {}.tap do |result|
9
+ result[:shard] = shard.serialize
10
+ result[:mongos] = mongos.serialize
11
+ result[:configServer] = config_server.serialize
12
+ end
13
+ end
14
+
15
+ def kind_sym
16
+ :mongo_db_sharding_topology
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,46 @@
1
+ module Kuby::KubeDB::DSL::Kubedb::V1alpha1
2
+ class MongoDBSpec < ::KubeDSL::DSLObject
3
+ value_fields :halted, :replicas, :storage_type, :termination_policy, :paused, :version, :cluster_auth_mode, :ssl_mode
4
+ object_field(:tls) { Kuby::KubeDB::DSL::Kubedb::V1alpha1::TLSConfig.new }
5
+ object_field(:shard_topology) { Kuby::KubeDB::DSL::Kubedb::V1alpha1::MongoDBShardingTopology.new }
6
+ object_field(:service_template) { Kuby::KubeDB::DSL::Api::V1::ServiceTemplateSpec.new }
7
+ object_field(:monitor) { Kuby::KubeDB::DSL::Api::V1::AgentSpec.new }
8
+ object_field(:replica_set) { Kuby::KubeDB::DSL::Kubedb::V1alpha1::MongoDBReplicaSet.new }
9
+ object_field(:storage) { KubeDSL::DSL::V1::PersistentVolumeClaimSpec.new }
10
+ object_field(:database_secret) { KubeDSL::DSL::V1::SecretVolumeSource.new }
11
+ object_field(:config_source) { Kuby::KubeDB::DSL::V1::VolumeSource.new }
12
+ object_field(:pod_template) { Kuby::KubeDB::DSL::Api::V1::PodTemplateSpec.new }
13
+ object_field(:init) { Kuby::KubeDB::DSL::Kubedb::V1alpha1::InitSpec.new }
14
+ object_field(:key_file) { KubeDSL::DSL::V1::SecretVolumeSource.new }
15
+ object_field(:update_strategy) { KubeDSL::DSL::Apps::V1::StatefulSetUpdateStrategy.new }
16
+
17
+ def serialize
18
+ {}.tap do |result|
19
+ result[:halted] = halted
20
+ result[:replicas] = replicas
21
+ result[:storageType] = storage_type
22
+ result[:terminationPolicy] = termination_policy
23
+ result[:paused] = paused
24
+ result[:version] = version
25
+ result[:clusterAuthMode] = cluster_auth_mode
26
+ result[:sslMode] = ssl_mode
27
+ result[:tls] = tls.serialize
28
+ result[:shardTopology] = shard_topology.serialize
29
+ result[:serviceTemplate] = service_template.serialize
30
+ result[:monitor] = monitor.serialize
31
+ result[:replicaSet] = replica_set.serialize
32
+ result[:storage] = storage.serialize
33
+ result[:databaseSecret] = database_secret.serialize
34
+ result[:configSource] = config_source.serialize
35
+ result[:podTemplate] = pod_template.serialize
36
+ result[:init] = init.serialize
37
+ result[:keyFile] = key_file.serialize
38
+ result[:updateStrategy] = update_strategy.serialize
39
+ end
40
+ end
41
+
42
+ def kind_sym
43
+ :mongo_db_spec
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,17 @@
1
+ module Kuby::KubeDB::DSL::Kubedb::V1alpha1
2
+ class MongoDBStatus < ::KubeDSL::DSLObject
3
+ value_fields :observed_generation, :phase, :reason
4
+
5
+ def serialize
6
+ {}.tap do |result|
7
+ result[:observedGeneration] = observed_generation
8
+ result[:phase] = phase
9
+ result[:reason] = reason
10
+ end
11
+ end
12
+
13
+ def kind_sym
14
+ :mongo_db_status
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,22 @@
1
+ module Kuby::KubeDB::DSL::Kubedb::V1alpha1
2
+ class MySQL < ::KubeDSL::DSLObject
3
+ value_fields :api_version
4
+ object_field(:status) { Kuby::KubeDB::DSL::Kubedb::V1alpha1::MySQLStatus.new }
5
+ object_field(:spec) { Kuby::KubeDB::DSL::Kubedb::V1alpha1::MySQLSpec.new }
6
+ object_field(:metadata) { KubeDSL::DSL::Meta::V1::ObjectMeta.new }
7
+
8
+ def serialize
9
+ {}.tap do |result|
10
+ result[:kind] = "MySQL"
11
+ result[:apiVersion] = api_version
12
+ result[:status] = status.serialize
13
+ result[:spec] = spec.serialize
14
+ result[:metadata] = metadata.serialize
15
+ end
16
+ end
17
+
18
+ def kind_sym
19
+ :my_sql
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,17 @@
1
+ module Kuby::KubeDB::DSL::Kubedb::V1alpha1
2
+ class MySQLClusterTopology < ::KubeDSL::DSLObject
3
+ value_fields :mode
4
+ object_field(:group) { Kuby::KubeDB::DSL::Kubedb::V1alpha1::MySQLGroupSpec.new }
5
+
6
+ def serialize
7
+ {}.tap do |result|
8
+ result[:mode] = mode
9
+ result[:group] = group.serialize
10
+ end
11
+ end
12
+
13
+ def kind_sym
14
+ :my_sql_cluster_topology
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Kuby::KubeDB::DSL::Kubedb::V1alpha1
2
+ class MySQLGroupSpec < ::KubeDSL::DSLObject
3
+ value_fields :base_server_id, :mode, :name
4
+
5
+ def serialize
6
+ {}.tap do |result|
7
+ result[:baseServerID] = base_server_id
8
+ result[:mode] = mode
9
+ result[:name] = name
10
+ end
11
+ end
12
+
13
+ def kind_sym
14
+ :my_sql_group_spec
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,20 @@
1
+ module Kuby::KubeDB::DSL::Kubedb::V1alpha1
2
+ class MySQLList < ::KubeDSL::DSLObject
3
+ value_fields :api_version
4
+ array_field(:item) { Kuby::KubeDB::DSL::Kubedb::V1alpha1::MySQL.new }
5
+ object_field(:metadata) { KubeDSL::DSL::Meta::V1::ListMeta.new }
6
+
7
+ def serialize
8
+ {}.tap do |result|
9
+ result[:kind] = "MySQLList"
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
+ :my_sql_list
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,40 @@
1
+ module Kuby::KubeDB::DSL::Kubedb::V1alpha1
2
+ class MySQLSpec < ::KubeDSL::DSLObject
3
+ value_fields :halted, :replicas, :storage_type, :termination_policy, :paused, :version
4
+ object_field(:tls) { Kuby::KubeDB::DSL::Kubedb::V1alpha1::TLSConfig.new }
5
+ object_field(:service_template) { Kuby::KubeDB::DSL::Api::V1::ServiceTemplateSpec.new }
6
+ object_field(:monitor) { Kuby::KubeDB::DSL::Api::V1::AgentSpec.new }
7
+ object_field(:storage) { KubeDSL::DSL::V1::PersistentVolumeClaimSpec.new }
8
+ object_field(:database_secret) { KubeDSL::DSL::V1::SecretVolumeSource.new }
9
+ object_field(:config_source) { Kuby::KubeDB::DSL::V1::VolumeSource.new }
10
+ object_field(:pod_template) { Kuby::KubeDB::DSL::Api::V1::PodTemplateSpec.new }
11
+ object_field(:init) { Kuby::KubeDB::DSL::Kubedb::V1alpha1::InitSpec.new }
12
+ object_field(:update_strategy) { KubeDSL::DSL::Apps::V1::StatefulSetUpdateStrategy.new }
13
+ object_field(:topology) { Kuby::KubeDB::DSL::Kubedb::V1alpha1::MySQLClusterTopology.new }
14
+
15
+ def serialize
16
+ {}.tap do |result|
17
+ result[:halted] = halted
18
+ result[:replicas] = replicas
19
+ result[:storageType] = storage_type
20
+ result[:terminationPolicy] = termination_policy
21
+ result[:paused] = paused
22
+ result[:version] = version
23
+ result[:tls] = tls.serialize
24
+ result[:serviceTemplate] = service_template.serialize
25
+ result[:monitor] = monitor.serialize
26
+ result[:storage] = storage.serialize
27
+ result[:databaseSecret] = database_secret.serialize
28
+ result[:configSource] = config_source.serialize
29
+ result[:podTemplate] = pod_template.serialize
30
+ result[:init] = init.serialize
31
+ result[:updateStrategy] = update_strategy.serialize
32
+ result[:topology] = topology.serialize
33
+ end
34
+ end
35
+
36
+ def kind_sym
37
+ :my_sql_spec
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,17 @@
1
+ module Kuby::KubeDB::DSL::Kubedb::V1alpha1
2
+ class MySQLStatus < ::KubeDSL::DSLObject
3
+ value_fields :observed_generation, :phase, :reason
4
+
5
+ def serialize
6
+ {}.tap do |result|
7
+ result[:observedGeneration] = observed_generation
8
+ result[:phase] = phase
9
+ result[:reason] = reason
10
+ end
11
+ end
12
+
13
+ def kind_sym
14
+ :my_sql_status
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,22 @@
1
+ module Kuby::KubeDB::DSL::Kubedb::V1alpha1
2
+ class PerconaXtraDB < ::KubeDSL::DSLObject
3
+ value_fields :api_version
4
+ object_field(:status) { Kuby::KubeDB::DSL::Kubedb::V1alpha1::PerconaXtraDBStatus.new }
5
+ object_field(:spec) { Kuby::KubeDB::DSL::Kubedb::V1alpha1::PerconaXtraDBSpec.new }
6
+ object_field(:metadata) { KubeDSL::DSL::Meta::V1::ObjectMeta.new }
7
+
8
+ def serialize
9
+ {}.tap do |result|
10
+ result[:kind] = "PerconaXtraDB"
11
+ result[:apiVersion] = api_version
12
+ result[:status] = status.serialize
13
+ result[:spec] = spec.serialize
14
+ result[:metadata] = metadata.serialize
15
+ end
16
+ end
17
+
18
+ def kind_sym
19
+ :percona_xtra_db
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,20 @@
1
+ module Kuby::KubeDB::DSL::Kubedb::V1alpha1
2
+ class PerconaXtraDBList < ::KubeDSL::DSLObject
3
+ value_fields :api_version
4
+ array_field(:item) { Kuby::KubeDB::DSL::Kubedb::V1alpha1::PerconaXtraDB.new }
5
+ object_field(:metadata) { KubeDSL::DSL::Meta::V1::ListMeta.new }
6
+
7
+ def serialize
8
+ {}.tap do |result|
9
+ result[:kind] = "PerconaXtraDBList"
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
+ :percona_xtra_db_list
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,38 @@
1
+ module Kuby::KubeDB::DSL::Kubedb::V1alpha1
2
+ class PerconaXtraDBSpec < ::KubeDSL::DSLObject
3
+ value_fields :paused, :replicas, :termination_policy, :halted, :storage_type, :version
4
+ object_field(:tls) { Kuby::KubeDB::DSL::Kubedb::V1alpha1::TLSConfig.new }
5
+ object_field(:service_template) { Kuby::KubeDB::DSL::Api::V1::ServiceTemplateSpec.new }
6
+ object_field(:monitor) { Kuby::KubeDB::DSL::Api::V1::AgentSpec.new }
7
+ object_field(:pod_template) { Kuby::KubeDB::DSL::Api::V1::PodTemplateSpec.new }
8
+ object_field(:storage) { KubeDSL::DSL::V1::PersistentVolumeClaimSpec.new }
9
+ object_field(:config_source) { Kuby::KubeDB::DSL::V1::VolumeSource.new }
10
+ object_field(:database_secret) { KubeDSL::DSL::V1::SecretVolumeSource.new }
11
+ object_field(:init) { Kuby::KubeDB::DSL::Kubedb::V1alpha1::InitSpec.new }
12
+ object_field(:update_strategy) { KubeDSL::DSL::Apps::V1::StatefulSetUpdateStrategy.new }
13
+
14
+ def serialize
15
+ {}.tap do |result|
16
+ result[:paused] = paused
17
+ result[:replicas] = replicas
18
+ result[:terminationPolicy] = termination_policy
19
+ result[:halted] = halted
20
+ result[:storageType] = storage_type
21
+ result[:version] = version
22
+ result[:tls] = tls.serialize
23
+ result[:serviceTemplate] = service_template.serialize
24
+ result[:monitor] = monitor.serialize
25
+ result[:podTemplate] = pod_template.serialize
26
+ result[:storage] = storage.serialize
27
+ result[:configSource] = config_source.serialize
28
+ result[:databaseSecret] = database_secret.serialize
29
+ result[:init] = init.serialize
30
+ result[:updateStrategy] = update_strategy.serialize
31
+ end
32
+ end
33
+
34
+ def kind_sym
35
+ :percona_xtra_db_spec
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,17 @@
1
+ module Kuby::KubeDB::DSL::Kubedb::V1alpha1
2
+ class PerconaXtraDBStatus < ::KubeDSL::DSLObject
3
+ value_fields :observed_generation, :phase, :reason
4
+
5
+ def serialize
6
+ {}.tap do |result|
7
+ result[:observedGeneration] = observed_generation
8
+ result[:phase] = phase
9
+ result[:reason] = reason
10
+ end
11
+ end
12
+
13
+ def kind_sym
14
+ :percona_xtra_db_status
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,22 @@
1
+ module Kuby::KubeDB::DSL::Kubedb::V1alpha1
2
+ class PgBouncer < ::KubeDSL::DSLObject
3
+ value_fields :api_version
4
+ object_field(:status) { Kuby::KubeDB::DSL::Kubedb::V1alpha1::PgBouncerStatus.new }
5
+ object_field(:spec) { Kuby::KubeDB::DSL::Kubedb::V1alpha1::PgBouncerSpec.new }
6
+ object_field(:metadata) { KubeDSL::DSL::Meta::V1::ObjectMeta.new }
7
+
8
+ def serialize
9
+ {}.tap do |result|
10
+ result[:kind] = "PgBouncer"
11
+ result[:apiVersion] = api_version
12
+ result[:status] = status.serialize
13
+ result[:spec] = spec.serialize
14
+ result[:metadata] = metadata.serialize
15
+ end
16
+ end
17
+
18
+ def kind_sym
19
+ :pg_bouncer
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,20 @@
1
+ module Kuby::KubeDB::DSL::Kubedb::V1alpha1
2
+ class PgBouncerList < ::KubeDSL::DSLObject
3
+ value_fields :api_version
4
+ array_field(:item) { Kuby::KubeDB::DSL::Kubedb::V1alpha1::PgBouncer.new }
5
+ object_field(:metadata) { KubeDSL::DSL::Meta::V1::ListMeta.new }
6
+
7
+ def serialize
8
+ {}.tap do |result|
9
+ result[:kind] = "PgBouncerList"
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
+ :pg_bouncer_list
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,31 @@
1
+ module Kuby::KubeDB::DSL::Kubedb::V1alpha1
2
+ class PgBouncerSpec < ::KubeDSL::DSLObject
3
+ value_fields :replicas, :paused, :version
4
+ array_field(:database) { Kuby::KubeDB::DSL::Kubedb::V1alpha1::Databases.new }
5
+ object_field(:tls) { Kuby::KubeDB::DSL::Kubedb::V1alpha1::TLSConfig.new }
6
+ object_field(:service_template) { Kuby::KubeDB::DSL::Api::V1::ServiceTemplateSpec.new }
7
+ object_field(:monitor) { Kuby::KubeDB::DSL::Api::V1::AgentSpec.new }
8
+ object_field(:pod_template) { Kuby::KubeDB::DSL::Api::V1::PodTemplateSpec.new }
9
+ object_field(:connection_pool) { Kuby::KubeDB::DSL::Kubedb::V1alpha1::ConnectionPoolConfig.new }
10
+ object_field(:user_list_secret_ref) { KubeDSL::DSL::V1::LocalObjectReference.new }
11
+
12
+ def serialize
13
+ {}.tap do |result|
14
+ result[:replicas] = replicas
15
+ result[:paused] = paused
16
+ result[:version] = version
17
+ result[:databases] = databases.map(&:serialize)
18
+ result[:tls] = tls.serialize
19
+ result[:serviceTemplate] = service_template.serialize
20
+ result[:monitor] = monitor.serialize
21
+ result[:podTemplate] = pod_template.serialize
22
+ result[:connectionPool] = connection_pool.serialize
23
+ result[:userListSecretRef] = user_list_secret_ref.serialize
24
+ end
25
+ end
26
+
27
+ def kind_sym
28
+ :pg_bouncer_spec
29
+ end
30
+ end
31
+ end