Skip to content

Commit

Permalink
migrations: Change public admin host-container source metadata to object
Browse files Browse the repository at this point in the history
This migration will change the public admin host-container source to
setting-generator metadata(that will generate source using sundog)
on forward migration.

In backward migration, it will reset the value of the source as string.
  • Loading branch information
vyaghras committed Dec 6, 2024
1 parent e787092 commit a5bcf56
Show file tree
Hide file tree
Showing 3 changed files with 42 additions and 2 deletions.
2 changes: 0 additions & 2 deletions Release.toml
Original file line number Diff line number Diff line change
Expand Up @@ -379,11 +379,9 @@ version = "1.28.0"
"migrate_v1.28.0_aws-control-container-v0-7-18.lz4",
"migrate_v1.28.0_public-control-container-v0-7-18.lz4",
]
"(1.28.0, 1.29.0)" = [
"migrate_v1.29.0_remove_weak_settings_migration.lz4",
"migrate_v1.29.0_update-settings-generator-admin.lz4",
"migrate_v1.29.0_update-settings-generator-control.lz4",
"migrate_v1.29.0_change-public-admin-container-to-set-gen.lz4",
"migrate_v1.29.0_change-public-control-container-to-set-gen.lz4",
]

Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
[package]
name = "change-public-admin-container-to-set-gen"
version = "0.1.0"
authors = ["Shikha Vyaghra <[email protected]>"]
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
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
use migration_helpers::common_migrations::ReplaceSettingWithSettingGeneratorMigration;
use migration_helpers::{migrate, Result};
use std::process;

const OLD_ADMIN_CTR: &str = "public.ecr.aws/bottlerocket/bottlerocket-admin:v0.11.14";
const NEW_ADMIN_CTR: &str = "public.ecr.aws/bottlerocket/bottlerocket-admin:v0.11.14";

/// We bumped the version of the default admin container
fn run() -> Result<()> {
migrate(ReplaceSettingWithSettingGeneratorMigration {
setting: "settings.host-containers.admin.source",
old_val: OLD_ADMIN_CTR,
new_val: NEW_ADMIN_CTR,
setting_gen_command: "emitter public.ecr.aws/bottlerocket/bottlerocket-admin:v0.11.13",
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);
}
}

0 comments on commit a5bcf56

Please sign in to comment.