git.delta.rocks / jrsonnet / refs/commits / 2a625abed5ed

difftreelog

refactor remove intermediate directory

Yaroslav Bolyukin2021-09-19parent: #f06ae76.patch.diff
in: trunk

1 file changed

modifiedcmds/install-secrets/src/main.rsdiffbeforeafterboth
127 let data_str = from_utf8(&data).context("failed to read data to string")?;127 let data_str = from_utf8(&data).context("failed to read data to string")?;
128 let data: Data = serde_json::from_str(data_str).context("failed to parse data")?;128 let data: Data = serde_json::from_str(data_str).context("failed to parse data")?;
129129
130 let tempdir =130 let tempdir = tempfile::tempdir_in("/run/").context("failed to create secrets tempdir")?;
131 tempfile::tempdir_in("/run/secrets.d").context("failed to create secrets tempdir")?;
132131
133 let identity = age::ssh::Identity::from_buffer(132 let identity = age::ssh::Identity::from_buffer(
134 &mut Cursor::new(133 &mut Cursor::new(
152 bail!("one or more secrets failed");151 bail!("one or more secrets failed");
153 }152 }
154153
155 if fs::metadata("/run/secrets.d/secrets.fleet")154 if fs::metadata("/run/secrets")
156 .map(|m| m.is_dir())155 .map(|m| m.is_dir())
157 .unwrap_or(false)156 .unwrap_or(false)
158 {157 {
161 None,160 None,
162 tempdir.path(),161 tempdir.path(),
163 None,162 None,
164 "/run/secrets.d/secrets.fleet",163 "/run/secrets",
165 RenameFlags::RENAME_EXCHANGE,164 RenameFlags::RENAME_EXCHANGE,
166 )165 )
167 .context("failed to exchange secret directories")?;166 .context("failed to exchange secret directories")?;
171 } else {170 } else {
172 // Link now171 // Link now
173 let persisted = tempdir.into_path();172 let persisted = tempdir.into_path();
174 fs::rename(&persisted, "/run/secrets.d/secrets.fleet")173 fs::rename(&persisted, "/run/secrets").context("failed to link secret directory")?;
175 .context("failed to link secret directory")?;
176 }174 }
177 Ok(())175 Ok(())