diff --git a/sources/Cargo.lock b/sources/Cargo.lock index da80ea9502f..f9dd6473121 100644 --- a/sources/Cargo.lock +++ b/sources/Cargo.lock @@ -3693,6 +3693,20 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" +[[package]] +name = "update-settings-generator-admin" +version = "0.1.0" +dependencies = [ + "migration-helpers", +] + +[[package]] +name = "update-settings-generator-control" +version = "0.1.0" +dependencies = [ + "migration-helpers", +] + [[package]] name = "url" version = "2.5.0" diff --git a/sources/settings-migrations/v1.33.0/update-settings-generator-control/Cargo.toml b/sources/settings-migrations/v1.33.0/update-settings-generator-control/Cargo.toml new file mode 100644 index 00000000000..490b44b9a6c --- /dev/null +++ b/sources/settings-migrations/v1.33.0/update-settings-generator-control/Cargo.toml @@ -0,0 +1,15 @@ +[package] +name = "update-settings-generator-control" +version = "0.1.0" +authors = ["Shikha Vyaghra "] +license = "Apache-2.0 OR MIT" +edition = "2021" +publish = false +# Don't rebuild crate just because of changes to README. +exclude = ["README.md"] + + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +migration-helpers.workspace = true diff --git a/sources/settings-migrations/v1.33.0/update-settings-generator-control/src/main.rs b/sources/settings-migrations/v1.33.0/update-settings-generator-control/src/main.rs new file mode 100644 index 00000000000..0b692ca5bfb --- /dev/null +++ b/sources/settings-migrations/v1.33.0/update-settings-generator-control/src/main.rs @@ -0,0 +1,28 @@ +use migration_helpers::common_migrations::MetadataStringToStructMigration; +use migration_helpers::{migrate, Result}; +use std::process; + +const OLD_CONTROL_CTR_CMDLINE: &str = + "schnauzer-v2 render --requires 'aws@v1(helpers=[ecr-prefix])' --template '{{ ecr-prefix settings.aws.region }}/bottlerocket-control:v0.7.20'"; +const NEW_CONTROL_CTR_CMDLINE: &str = + "schnauzer-v2 render --requires 'aws@v1(helpers=[ecr-prefix])' --template '{{ ecr-prefix settings.aws.region }}/bottlerocket-control:v0.7.20'"; + +/// We bumped the version of the default control container +fn run() -> Result<()> { + migrate(MetadataStringToStructMigration { + setting: "settings.host-containers.control.source", + old_cmdline: OLD_CONTROL_CTR_CMDLINE, + new_cmdline: NEW_CONTROL_CTR_CMDLINE, + skip_if_populated: true, + }) +} + +// Returning a Result from main makes it print a Debug representation of the error, but with Snafu +// we have nice Display representations of the error, so we wrap "main" (run) and print any error. +// https://github.com/shepmaster/snafu/issues/110 +fn main() { + if let Err(e) = run() { + eprintln!("{}", e); + process::exit(1); + } +}