updates to ephemeral encryption keys - #1024
Conversation
8856f70 to
6956570
Compare
| %package crypt-luks | ||
| Summary: Bottlerocket release, with LUKS block-device encryption | ||
| Requires: (%{_cross_os}image-feature(encrypted-storage) and %{name}-crypt) | ||
| Conflicts: %{_cross_os}image-feature(ephemeral-encryption-keys) |
There was a problem hiding this comment.
Should this conflict with ephemeral-crypt?
There was a problem hiding this comment.
The conflict logic is made on the basis of image-feature. crypt-luks conflicts with image-feature(ephemeral-encryption-keys) and ephemeral-crypt requires image-feature(ephemeral-encryption-keys). So the additional conflict with ephemeral-crypt would just be a redundant check.
99b8a83 to
fd8cdf9
Compare
|
Force push removes the requirement of a |
ab6597b to
53d5f9e
Compare
53d5f9e to
b78943c
Compare
|
Force push shortens comments and adds a fix to race in rottweiler's |
b78943c to
8128efd
Compare
|
Force push above rebases and fixes comments to hard fail if image-feature function fails instead of assuming default. |
d542ab9 to
29ec24c
Compare
The encrypt_ephemeral_device() function was implemented for encrypted-storage feature. In that case, the device was encrypted only if it was un-encrypted. With ephemeral-encryption-keys, we opt to encrypt every time and with plain-mode encryption with dm-crypt instead of LUKS. Signed-off-by: Piyush Jena <jepiyush@amazon.com>
With ephemeral-encryption-keys feature, block devices are encrypted with plain-mode dm-crypt instead of LUKS. Sub commands have been added to encrypt and attach block devices with plain-mode encryption in 1 go instead of separate functions. Signed-off-by: Piyush Jena <jepiyush@amazon.com>
29ec24c to
8cf556a
Compare
|
Force push adds details to commit messages. |
8cf556a to
f20461d
Compare
This includes a redesign of how ephemeral-encryption-keys works. It has been ensured that the lifetime of a key is just the service it was generated in. To achieve that we make use of encrypt-and-attach subcommand in rottweiler to encrypt block devices with plan-mode encryption using dm-crypt instead of LUKS. This redesign caused us to drop older drop-ins, required for LUKS based ephemeral-encryption- keys feature. Because the newly introduced services had overlap with existing ones like prepare-local-fs.service, encrypt-datastore.service, and repart-local.service, drop-ins have been added to skip those steps. The keys are created into a tmpfs keystore /run/rottweiler and deleted right after use. Signed-off-by: Piyush Jena <jepiyush@amazon.com>
Signed-off-by: Piyush Jena <jepiyush@amazon.com>
f20461d to
4901941
Compare
Description of changes:
Testing done:
Containers run with containerd:
nvidia-smoke-test- bothnvidia-smiand CUDA Workloaddotnet-testworkload.FIPS test:
lsblk output
keystore for datastore encryption is correctly labeled and the key is ephemeral
systemctl status output
older services were removed
Stress test:
Ran reboot loop on 3 nvidia instances with bootstrap command setting up ephemeral storage with a large data partition. Didn't get any bricked device across 300 boots.
Terms of contribution:
By submitting this pull request, I agree that this contribution is dual-licensed under the terms of both the Apache License, version 2.0, and the MIT license.