From 867808a0008348755c0a0cb59f32fbce9c490cf7 Mon Sep 17 00:00:00 2001 From: Joshua Jerin Date: Fri, 4 Oct 2024 01:40:42 -0400 Subject: [PATCH] CI Fix for CLI (#978) --- tembo-cli/Cargo.lock | 10 +++++----- tembo-cli/Cargo.toml | 6 +++--- tembo-cli/src/cmd/apply.rs | 16 +++++++++++++--- tembo-cli/temboclient/Cargo.toml | 2 +- tembo-cli/temboclient/src/models/impls.rs | 2 ++ tembo-cli/temboclient/src/models/memory.rs | 3 +++ tembo-cli/temboclient/src/models/stack_type.rs | 3 +++ 7 files changed, 30 insertions(+), 12 deletions(-) diff --git a/tembo-cli/Cargo.lock b/tembo-cli/Cargo.lock index 2b401b81b..ee6200100 100644 --- a/tembo-cli/Cargo.lock +++ b/tembo-cli/Cargo.lock @@ -775,9 +775,9 @@ checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" [[package]] name = "controller" -version = "0.50.0" +version = "0.50.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52a091a6cdf7977042f7d00a0992e1f977b746a9f4686486e6a23c5cf193229c" +checksum = "b27fd81d5e9063aa4cacd8c922b9083cf4253cc17d3afa6d57811153c705bf74" dependencies = [ "actix-web", "anyhow", @@ -4405,9 +4405,9 @@ dependencies = [ [[package]] name = "tembo-stacks" -version = "0.16.2" +version = "0.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10e27387bf43862850fe812887bdb57e84ffa1e6a829181602bca2dd33fd5da6" +checksum = "468edfeddb7ee7bc68d96c26f4af32252b4815c568727e3254b4a5171d969ec1" dependencies = [ "anyhow", "clap", @@ -4427,7 +4427,7 @@ dependencies = [ [[package]] name = "temboclient" -version = "1.0.3" +version = "1.0.4" dependencies = [ "reqwest", "serde", diff --git a/tembo-cli/Cargo.toml b/tembo-cli/Cargo.toml index 84a9d866f..83b3a256b 100644 --- a/tembo-cli/Cargo.toml +++ b/tembo-cli/Cargo.toml @@ -54,7 +54,7 @@ dateparser = "0.2.0" log = "0.4.20" tera = "1.18.1" curl = "0.4.44" -temboclient = { version = "1.0.3", path = "temboclient" } +temboclient = { version = "1.0.4", path = "temboclient" } tembodataclient = { version = "0.0.2", path = "tembodataclient" } tokio = { version = "1.26.0", features = [ "rt", @@ -65,7 +65,7 @@ tokio = { version = "1.26.0", features = [ tungstenite ="0.21.0" futures-util = "0.3.30" dirs = "5.0.1" -controller = "0.50.0" +controller = "0.50.1" sqlx = { version = "0.8.2", features = ["runtime-tokio-native-tls", "postgres", "chrono", "json"] } base64 = "0.21.5" colorful = "0.2.2" @@ -75,7 +75,7 @@ tiny-gradient = "0.1.0" urlencoding = "2.1.3" spinoff = "0.8.0" k8s-openapi = { version = "0.18.0", features = ["v1_25", "schemars"], default-features = false } -tembo-stacks = "0.16.2" +tembo-stacks = "0.16.7" itertools = "0.12.1" random-string = "1.1.0" test-case = "=2.0.0-rc2" diff --git a/tembo-cli/src/cmd/apply.rs b/tembo-cli/src/cmd/apply.rs index c3044fabf..e99edebcb 100644 --- a/tembo-cli/src/cmd/apply.rs +++ b/tembo-cli/src/cmd/apply.rs @@ -1176,7 +1176,6 @@ pub fn get_rendered_dockerfile( _ => &stack.images.pg15, }; - // Sorts trunk_installs so the installation order is deterministic, also make sure vector is last if let Some(mut installs) = trunk_installs.as_ref().cloned() { // Sort by name, but ensure "vector" is always last installs.sort_by(|a, b| a.name.to_lowercase().cmp(&b.name.to_lowercase())); @@ -1389,14 +1388,25 @@ async fn get_trunk_projects(name: &String) -> Result, Error> { pub fn get_rendered_dockercompose( instance_settings: HashMap, ) -> Result { - // Include the docker-compose template directly into the binary let contents = include_str!("../../tembo/docker-compose.yml.template"); let mut tera = Tera::new("templates/**/*").unwrap(); let _ = tera.add_raw_template("docker-compose", contents); let mut context = Context::new(); - context.insert("instance_settings", &instance_settings); + // replace the image for VectorDB + let mut updated_instance_settings = instance_settings.clone(); + for (_key, instance) in updated_instance_settings.iter_mut() { + if instance.stack_type == Some("VectorDB".to_string()) { + if let Some(app_services) = &mut instance.controller_app_services { + if let Some(embeddings) = app_services.get_mut("embeddings") { + embeddings.image = "quay.io/tembo/vector-serve:latest".to_string(); + } + } + } + } + + context.insert("instance_settings", &updated_instance_settings); let rendered_dockercompose = tera.render("docker-compose", &context).unwrap(); diff --git a/tembo-cli/temboclient/Cargo.toml b/tembo-cli/temboclient/Cargo.toml index 88c6f5857..3a41073ec 100644 --- a/tembo-cli/temboclient/Cargo.toml +++ b/tembo-cli/temboclient/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "temboclient" -version = "1.0.3" +version = "1.0.4" authors = ["OpenAPI Generator team and contributors"] description = "Platform API for Tembo Cloud

To find a Tembo Data API, please find it here:

[AWS US East 1](https://api.data-1.use1.tembo.io/swagger-ui/) " # Override this license by providing a License Object in the OpenAPI. diff --git a/tembo-cli/temboclient/src/models/impls.rs b/tembo-cli/temboclient/src/models/impls.rs index 3426c914d..d0df95011 100644 --- a/tembo-cli/temboclient/src/models/impls.rs +++ b/tembo-cli/temboclient/src/models/impls.rs @@ -31,6 +31,7 @@ impl FromStr for Memory { "8Gi" => Ok(Memory::Variant8Gi), "16Gi" => Ok(Memory::Variant16Gi), "32Gi" => Ok(Memory::Variant32Gi), + "64Gi" => Ok(Memory::Variant64Gi), _ => Err(()), } } @@ -83,6 +84,7 @@ impl FromStr for StackType { "MongoAlternative" => Ok(StackType::MongoAlternative), "RAG" => Ok(StackType::Rag), "Timeseries" => Ok(StackType::Timeseries), + "ParadeDB" => Ok(StackType::ParadeDB), _ => Err(()), } } diff --git a/tembo-cli/temboclient/src/models/memory.rs b/tembo-cli/temboclient/src/models/memory.rs index 2671aaeaa..933fb0237 100644 --- a/tembo-cli/temboclient/src/models/memory.rs +++ b/tembo-cli/temboclient/src/models/memory.rs @@ -23,6 +23,8 @@ pub enum Memory { Variant16Gi, #[serde(rename = "32Gi")] Variant32Gi, + #[serde(rename = "64Gi")] + Variant64Gi, } impl ToString for Memory { @@ -34,6 +36,7 @@ impl ToString for Memory { Self::Variant8Gi => String::from("8Gi"), Self::Variant16Gi => String::from("16Gi"), Self::Variant32Gi => String::from("32Gi"), + Self::Variant64Gi => String::from("64Gi"), } } } diff --git a/tembo-cli/temboclient/src/models/stack_type.rs b/tembo-cli/temboclient/src/models/stack_type.rs index ee5c52cb7..69c2c67f6 100644 --- a/tembo-cli/temboclient/src/models/stack_type.rs +++ b/tembo-cli/temboclient/src/models/stack_type.rs @@ -35,6 +35,8 @@ pub enum StackType { Rag, #[serde(rename = "Timeseries")] Timeseries, + #[serde(rename = "ParadeDB")] + ParadeDB, } impl ToString for StackType { @@ -52,6 +54,7 @@ impl ToString for StackType { Self::MongoAlternative => String::from("MongoAlternative"), Self::Rag => String::from("RAG"), Self::Timeseries => String::from("Timeseries"), + Self::ParadeDB => String::from("ParadeDB"), } } }