Bind production cold start to installed Lazaret authorities
This commit is contained in:
parent
c0b139256e
commit
bc04112c77
1 changed files with 573 additions and 25 deletions
|
|
@ -24,6 +24,7 @@ pub const CREDENTIALS_DESTINATION: &str = "/run/lazaret/credentials";
|
|||
pub const MAILBOX_REQUESTS_DESTINATION: &str = "/run/lazaret/mailbox/requests";
|
||||
pub const MAILBOX_RESULTS_DESTINATION: &str = "/run/lazaret/mailbox/results";
|
||||
pub const ESCALATION_CLIENT_DESTINATION: &str = "/run/lazaret/bin/lazaret-escalate";
|
||||
pub const SANDBOX_INIT_DESTINATION: &str = "/run/lazaret/bin/lazaret-sandbox-init";
|
||||
pub const TERMINFO_ROOT_DESTINATION: &str = "/run/lazaret/terminfo";
|
||||
pub const NETWORK_NAMESPACE_PATH: &str = "/proc/self/ns/net";
|
||||
|
||||
|
|
@ -678,6 +679,10 @@ fn handoff_runtime_sources(
|
|||
container.join("bin/lazaret-escalate"),
|
||||
HandoffPathType::RegularFile,
|
||||
),
|
||||
(
|
||||
container.join("bin/lazaret-sandbox-init"),
|
||||
HandoffPathType::RegularFile,
|
||||
),
|
||||
]
|
||||
.into_iter()
|
||||
.map(|(relative_path, expected_type)| {
|
||||
|
|
@ -851,16 +856,22 @@ fn build_linux() -> Result<oci_spec::runtime::Linux, SandboxBuildError> {
|
|||
.map_err(oci_error),
|
||||
))
|
||||
.collect::<Result<Vec<_>, _>>()?;
|
||||
let identity_mapping = LinuxIdMappingBuilder::default()
|
||||
let uid_mapping = LinuxIdMappingBuilder::default()
|
||||
.container_id(0_u32)
|
||||
.host_id(0_u32)
|
||||
.host_id(rustix::process::getuid().as_raw())
|
||||
.size(1_u32)
|
||||
.build()
|
||||
.map_err(oci_error)?;
|
||||
let gid_mapping = LinuxIdMappingBuilder::default()
|
||||
.container_id(0_u32)
|
||||
.host_id(rustix::process::getgid().as_raw())
|
||||
.size(1_u32)
|
||||
.build()
|
||||
.map_err(oci_error)?;
|
||||
LinuxBuilder::default()
|
||||
.namespaces(private_namespaces)
|
||||
.uid_mappings(vec![identity_mapping])
|
||||
.gid_mappings(vec![identity_mapping])
|
||||
.uid_mappings(vec![uid_mapping])
|
||||
.gid_mappings(vec![gid_mapping])
|
||||
.rootfs_propagation("rprivate")
|
||||
.build()
|
||||
.map_err(oci_error)
|
||||
|
|
@ -1021,6 +1032,12 @@ fn control_mounts(control_sources: &Path) -> Result<Vec<Mount>, SandboxBuildErro
|
|||
true,
|
||||
false,
|
||||
),
|
||||
(
|
||||
"bin/lazaret-sandbox-init",
|
||||
SANDBOX_INIT_DESTINATION,
|
||||
true,
|
||||
false,
|
||||
),
|
||||
]
|
||||
.into_iter()
|
||||
.map(|(source, destination, read_only, no_exec)| {
|
||||
|
|
|
|||
Loading…
Reference in a new issue