Skip to content

Commit 6c626d1

Browse files
committed
make redis DB nr. configurable
1 parent 6430271 commit 6c626d1

2 files changed

Lines changed: 23 additions & 3 deletions

File tree

extra/crds.yaml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,12 @@ spec:
5858
properties:
5959
credentialsSecret:
6060
type: string
61+
databaseId:
62+
default: 0
63+
format: uint16
64+
maximum: 65535.0
65+
minimum: 0.0
66+
type: integer
6167
host:
6268
type: string
6369
port:
@@ -3370,6 +3376,12 @@ spec:
33703376
properties:
33713377
credentialsSecret:
33723378
type: string
3379+
databaseId:
3380+
default: 0
3381+
format: uint16
3382+
maximum: 65535.0
3383+
minimum: 0.0
3384+
type: integer
33733385
host:
33743386
type: string
33753387
port:

rust/operator-binary/src/connections/queue.rs

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ pub struct Redis {
2525
#[serde(default = "default_redis_port")]
2626
pub port: u16,
2727
pub credentials_secret: String,
28+
#[serde(default = "default_redis_db")]
29+
pub database_id: u16,
2830
}
2931

3032
#[derive(Clone, Debug, Deserialize, JsonSchema, PartialEq, Serialize)]
@@ -45,9 +47,10 @@ impl QueueType {
4547
impl Redis {
4648
pub fn connection_string(&self, username_env: &str, password_env: &str) -> String {
4749
format!(
48-
"redis://${username_env}:${password_env}@{host}:{port}/0",
50+
"redis://${username_env}:${password_env}@{host}:{port}/{id}",
4951
host = self.host,
50-
port = self.port
52+
port = self.port,
53+
id = self.database_id,
5154
)
5255
}
5356
}
@@ -56,16 +59,21 @@ fn default_redis_port() -> u16 {
5659
6379
5760
}
5861

62+
fn default_redis_db() -> u16 {
63+
0
64+
}
65+
5966
#[cfg(test)]
6067
mod tests {
61-
use crate::connections::queue::{Redis, default_redis_port};
68+
use crate::connections::queue::{Redis, default_redis_db, default_redis_port};
6269

6370
#[test]
6471
fn test_redis_queue() {
6572
let queue_type = Redis {
6673
host: "airflow-postgresql".to_string(),
6774
credentials_secret: "airflow-credentials".to_string(),
6875
port: default_redis_port(),
76+
database_id: default_redis_db(),
6977
};
7078
let connection_string = queue_type.connection_string("QUEUE_USERNAME", "QUEUE_PASSWORD");
7179

0 commit comments

Comments
 (0)