Skip to content

Commit cb16205

Browse files
feat: Handle S3 region (#574)
* chore: Bump stackable-operator * feat: Handle s3 region * chore: Update changelog * chore: Bump stackable-operator to 0.87.2 * chore: Bump ring to 0.17.13 to fix RUSTSEC-2025-0009 --------- Co-authored-by: Techassi <git@techassi.dev>
1 parent 37dd4f1 commit cb16205

File tree

8 files changed

+61
-81
lines changed

8 files changed

+61
-81
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ All notable changes to this project will be documented in this file.
99
- Run a `containerdebug` process in the background of each Hive container to collect debugging information ([#554]).
1010
- Aggregate emitted Kubernetes events on the CustomResources ([#560]).
1111
- Support configuring JVM arguments ([#572]).
12+
- Support for S3 region ([#574]).
1213

1314
### Changed
1415

@@ -27,6 +28,7 @@ All notable changes to this project will be documented in this file.
2728
[#560]: https://github.com/stackabletech/hive-operator/pull/560
2829
[#561]: https://github.com/stackabletech/hive-operator/pull/561
2930
[#572]: https://github.com/stackabletech/hive-operator/pull/572
31+
[#574]: https://github.com/stackabletech/hive-operator/pull/574
3032

3133
## [24.11.1] - 2025-01-10
3234

Cargo.lock

Lines changed: 10 additions & 17 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.nix

Lines changed: 24 additions & 59 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ repository = "https://github.com/stackabletech/hive-operator"
1111

1212
[workspace.dependencies]
1313
stackable-versioned = { git = "https://github.com/stackabletech/operator-rs.git", features = ["k8s"], tag = "stackable-versioned-0.5.0" }
14-
stackable-operator = { git = "https://github.com/stackabletech/operator-rs.git", tag = "stackable-operator-0.85.0" }
14+
stackable-operator = { git = "https://github.com/stackabletech/operator-rs.git", tag = "stackable-operator-0.87.2" }
1515
product-config = { git = "https://github.com/stackabletech/product-config.git", tag = "0.7.0" }
1616

1717
anyhow = "1.0"
@@ -28,7 +28,7 @@ serde = { version = "1.0", features = ["derive"] }
2828
serde_json = "1.0"
2929
serde_yaml = "0.9"
3030
snafu = "0.8"
31-
strum = { version = "0.26", features = ["derive"] }
31+
strum = { version = "0.27", features = ["derive"] }
3232
tokio = { version = "1.40", features = ["full"] }
3333
tracing = "0.1"
3434

crate-hashes.json

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

deploy/helm/hive-operator/crds/crds.yaml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,20 @@ spec:
157157
minimum: 0.0
158158
nullable: true
159159
type: integer
160+
region:
161+
default:
162+
name: us-east-1
163+
description: |-
164+
Bucket region used for signing headers (sigv4).
165+
166+
This defaults to `us-east-1` which is compatible with other implementations such as Minio.
167+
168+
WARNING: Some products use the Hadoop S3 implementation which falls back to us-east-2.
169+
properties:
170+
name:
171+
default: us-east-1
172+
type: string
173+
type: object
160174
tls:
161175
description: Use a TLS connection. If not specified no TLS will be used.
162176
nullable: true

rust/operator-binary/src/controller.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -625,6 +625,11 @@ fn build_metastore_rolegroup_config_map(
625625
Some(s3.endpoint().context(ConfigureS3Snafu)?.to_string()),
626626
);
627627

628+
data.insert(
629+
MetaStoreConfig::S3_REGION_NAME.to_string(),
630+
Some(s3.region.name.clone()),
631+
);
632+
628633
if let Some((access_key_file, secret_key_file)) = s3.credentials_mount_paths() {
629634
// Will be replaced by config-utils
630635
data.insert(

rust/operator-binary/src/crd/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -460,6 +460,7 @@ impl MetaStoreConfig {
460460
pub const METASTORE_WAREHOUSE_DIR: &'static str = "hive.metastore.warehouse.dir";
461461
// S3
462462
pub const S3_ENDPOINT: &'static str = "fs.s3a.endpoint";
463+
pub const S3_REGION_NAME: &'static str = "fs.s3a.endpoint.region";
463464
pub const S3_ACCESS_KEY: &'static str = "fs.s3a.access.key";
464465
pub const S3_SECRET_KEY: &'static str = "fs.s3a.secret.key";
465466
pub const S3_SSL_ENABLED: &'static str = "fs.s3a.connection.ssl.enabled";

0 commit comments

Comments
 (0)