use migration_helpers::common_migrations::{ListReplacement, ReplaceListsMigration}; use migration_helpers::{migrate, Result}; use std::process; /// We updated the restart-commands and configuration-files settings for several existing services. /// We need to replace them upon downgrades and upgrades fn run() -> Result<()> { migrate(ReplaceListsMigration(vec![ ListReplacement { setting: "services.containerd.configuration-files", old_vals: &["containerd-config-toml"], new_vals: &["containerd-config-toml", "proxy-env"], }, ListReplacement { setting: "services.containerd.restart-commands", old_vals: &[], new_vals: &["/bin/systemctl try-restart containerd.service"], }, ListReplacement { setting: "services.kubernetes.configuration-files", old_vals: &[ "kubelet-env", "kubelet-config", "kubelet-kubeconfig", "kubernetes-ca-crt", ], new_vals: &[ "kubelet-env", "kubelet-config", "kubelet-kubeconfig", "kubernetes-ca-crt", "proxy-env", ], }, ListReplacement { setting: "services.kubernetes.restart-commands", old_vals: &[], new_vals: &["/bin/systemctl try-restart kubelet.service"], }, ])) } // 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); } }