@@ -92,6 +92,9 @@ pub enum Error {
92
92
} ,
93
93
}
94
94
95
+ /// A Hive cluster stacklet. This resource is managed by the Stackable operator for Apache Hive.
96
+ /// Find more information on how to use it and the resources that the operator generates in the
97
+ /// [operator documentation](DOCS_BASE_URL_PLACEHOLDER/hive/).
95
98
#[ derive( Clone , CustomResource , Debug , Deserialize , JsonSchema , PartialEq , Serialize ) ]
96
99
#[ serde( rename_all = "camelCase" ) ]
97
100
#[ kube(
@@ -109,32 +112,44 @@ pub enum Error {
109
112
)
110
113
) ]
111
114
pub struct HiveClusterSpec {
112
- /// General Hive metastore cluster settings
115
+ /// Hive metastore settings that affect all roles and role groups.
116
+ /// The settings in the `clusterConfig` are cluster wide settings that do not need to be configurable at role or role group level.
113
117
pub cluster_config : HiveClusterConfig ,
114
- /// Cluster operations like pause reconciliation or cluster stop.
118
+
119
+ // no doc - docs in ClusterOperation struct.
115
120
#[ serde( default ) ]
116
121
pub cluster_operation : ClusterOperation ,
117
- /// The Hive metastore image to use
122
+
123
+ // no doc - docs in ProductImage struct.
118
124
pub image : ProductImage ,
125
+
126
+ // no doc - docs in Role struct.
119
127
#[ serde( default , skip_serializing_if = "Option::is_none" ) ]
120
128
pub metastore : Option < Role < MetaStoreConfigFragment > > ,
121
129
}
122
130
123
131
#[ derive( Clone , Debug , Deserialize , Eq , JsonSchema , PartialEq , Serialize ) ]
124
132
#[ serde( rename_all = "camelCase" ) ]
125
133
pub struct HiveClusterConfig {
126
- /// Database connection specification
134
+ // no doc - docs in DatabaseConnectionSpec struct.
127
135
pub database : DatabaseConnectionSpec ,
128
- /// HDFS connection specification
136
+
137
+ /// HDFS connection specification.
129
138
#[ serde( default , skip_serializing_if = "Option::is_none" ) ]
130
139
pub hdfs : Option < HdfsConnection > ,
131
- /// S3 connection specification
140
+
141
+ /// S3 connection specification. This can be either `inline` or a `reference` to an
142
+ /// S3Connection object. Read the [S3 concept documentation](DOCS_BASE_URL_PLACEHOLDER/concepts/s3) to learn more.
132
143
#[ serde( default , skip_serializing_if = "Option::is_none" ) ]
133
144
pub s3 : Option < S3ConnectionDef > ,
134
- /// Name of the Vector aggregator discovery ConfigMap.
145
+
146
+ /// Name of the Vector aggregator [discovery ConfigMap](DOCS_BASE_URL_PLACEHOLDER/concepts/service_discovery).
135
147
/// It must contain the key `ADDRESS` with the address of the Vector aggregator.
148
+ /// Follow the [logging tutorial](DOCS_BASE_URL_PLACEHOLDER/tutorials/logging-vector-aggregator)
149
+ /// to learn how to configure log aggregation with Vector.
136
150
#[ serde( skip_serializing_if = "Option::is_none" ) ]
137
151
pub vector_aggregator_config_map_name : Option < String > ,
152
+
138
153
/// This field controls which type of Service the Operator creates for this HiveCluster:
139
154
///
140
155
/// * cluster-internal: Use a ClusterIP service
@@ -144,7 +159,7 @@ pub struct HiveClusterConfig {
144
159
/// * external-stable: Use a LoadBalancer service
145
160
///
146
161
/// This is a temporary solution with the goal to keep yaml manifests forward compatible.
147
- /// In the future, this setting will control which ListenerClass <https://docs.stackable.tech/home/stable/ listener-operator/listenerclass.html>
162
+ /// In the future, this setting will control which [ ListenerClass](DOCS_BASE_URL_PLACEHOLDER/ listener-operator/listenerclass.html)
148
163
/// will be used to expose the service, and ListenerClass names will stay the same, allowing for a non-breaking change.
149
164
#[ serde( default ) ]
150
165
pub listener_class : CurrentlySupportedListenerClasses ,
@@ -176,7 +191,10 @@ impl CurrentlySupportedListenerClasses {
176
191
#[ derive( Clone , Debug , Deserialize , Eq , JsonSchema , PartialEq , Serialize ) ]
177
192
#[ serde( rename_all = "camelCase" ) ]
178
193
pub struct HdfsConnection {
179
- /// Name of the discovery-configmap providing information about the HDFS cluster
194
+ /// Name of the [discovery ConfigMap](DOCS_BASE_URL_PLACEHOLDER/concepts/service_discovery)
195
+ /// providing information about the HDFS cluster.
196
+ /// See also the [Stackable Operator for HDFS](DOCS_BASE_URL_PLACEHOLDER/hdfs/) to learn
197
+ /// more about setting up an HDFS cluster.
180
198
pub config_map : String ,
181
199
}
182
200
@@ -263,7 +281,7 @@ pub enum Container {
263
281
) ]
264
282
pub struct MetastoreStorageConfig {
265
283
/// This field is deprecated. It was never used by Hive and will be removed in a future
266
- /// CRD version. The controller will warn if it's set to a non zero value
284
+ /// CRD version. The controller will warn if it's set to a non zero value.
267
285
#[ fragment_attrs( serde( default ) ) ]
268
286
pub data : PvcConfig ,
269
287
}
@@ -401,12 +419,23 @@ impl DbType {
401
419
}
402
420
}
403
421
422
+ /// Database connection specification for the metadata database.
404
423
#[ derive( Clone , Debug , Default , Deserialize , Eq , Hash , JsonSchema , PartialEq , Serialize ) ]
405
424
#[ serde( rename_all = "camelCase" ) ]
406
425
pub struct DatabaseConnectionSpec {
426
+ /// A connection string for the database. For example:
427
+ /// `jdbc:postgresql://hivehdfs-postgresql:5432/hivehdfs`
407
428
pub conn_string : String ,
429
+
430
+ /// The database user.
408
431
pub user : String ,
432
+
433
+ /// The password for the database user.
409
434
pub password : String ,
435
+
436
+ /// The type of database to connect to. Supported are:
437
+ /// `postgres`, `mysql`, `oracle`, `mssql` and `derby`.
438
+ /// This value is used to configure the jdbc driver class.
410
439
pub db_type : DbType ,
411
440
}
412
441
0 commit comments