Skip to content

Commit c00aa2f

Browse files
committed
replace openssl with rand crate
1 parent 8fe1fd4 commit c00aa2f

6 files changed

Lines changed: 21 additions & 209 deletions

File tree

Cargo.lock

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

Cargo.nix

Lines changed: 9 additions & 145 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 & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,14 @@ product-config = { git = "https://github.com/stackabletech/product-config.git",
1414
stackable-operator = { git = "https://github.com/stackabletech/operator-rs.git", features = ["telemetry", "versioned"], tag = "stackable-operator-0.95.0" }
1515

1616
anyhow = "1.0"
17+
base64 = "0.22"
1718
built = { version = "0.8", features = ["chrono", "git2"] }
1819
clap = "4.5"
1920
const_format = "0.2"
2021
fnv = "1.0"
2122
futures = { version = "0.3", features = ["compat"] }
2223
indoc = "2.0"
23-
openssl = "0.10"
24+
rand = "0.9.0"
2425
rstest = "0.26"
2526
semver = "1.0"
2627
serde = { version = "1.0", features = ["derive"] }

rust/operator-binary/Cargo.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,13 @@ product-config.workspace = true
1313
stackable-operator.workspace = true
1414

1515
anyhow.workspace = true
16+
base64.workspace = true
1617
clap.workspace = true
1718
const_format.workspace = true
1819
fnv.workspace = true
1920
futures.workspace = true
2021
indoc.workspace = true
21-
openssl.workspace = true
22+
rand.workspace = true
2223
serde.workspace = true
2324
serde_json.workspace = true
2425
serde_yaml.workspace = true

rust/operator-binary/src/airflow_controller.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -478,7 +478,6 @@ pub async fn reconcile_airflow(
478478
create_random_secret(
479479
airflow.shared_internal_secret_name().as_ref(),
480480
ENV_INTERNAL_SECRET,
481-
512,
482481
airflow,
483482
client,
484483
)
@@ -488,7 +487,6 @@ pub async fn reconcile_airflow(
488487
create_random_secret(
489488
airflow.shared_jwt_secret_name().as_ref(),
490489
ENV_JWT_SECRET,
491-
512,
492490
airflow,
493491
client,
494492
)

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

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
use std::collections::BTreeMap;
22

3+
use base64::{Engine as _, engine::general_purpose};
34
use snafu::{OptionExt, ResultExt, Snafu};
45
use stackable_operator::{
56
builder::meta::ObjectMetaBuilder, client::Client, k8s_openapi::api::core::v1::Secret,
@@ -54,12 +55,11 @@ pub enum Error {
5455
pub async fn create_random_secret(
5556
secret_name: &str,
5657
secret_key: &str,
57-
secret_byte_size: usize,
5858
airflow: &v1alpha1::AirflowCluster,
5959
client: &Client,
6060
) -> Result<()> {
6161
let mut internal_secret = BTreeMap::new();
62-
internal_secret.insert(secret_key.to_string(), get_random_base64(secret_byte_size));
62+
internal_secret.insert(secret_key.to_string(), get_random_base64());
6363

6464
let secret = Secret {
6565
immutable: Some(true),
@@ -94,8 +94,8 @@ pub async fn create_random_secret(
9494
Ok(())
9595
}
9696

97-
fn get_random_base64(byte_size: usize) -> String {
98-
let mut buf: Vec<u8> = vec![0; byte_size];
99-
openssl::rand::rand_bytes(&mut buf).unwrap();
100-
openssl::base64::encode_block(&buf)
97+
fn get_random_base64() -> String {
98+
let serial_number = rand::random::<u64>();
99+
let bytes = serial_number.to_le_bytes();
100+
general_purpose::STANDARD.encode(bytes)
101101
}

0 commit comments

Comments
 (0)