opentofu/internal/encryption
Oleksandr Levchenkov 52cc91c87a
upgrade golangci-lint to v1.62 (#2174)
Signed-off-by: ollevche <ollevche@gmail.com>
2024-11-18 19:56:29 +02:00
..
compliancetest [State Encryption] Compliance tests (#1377) 2024-03-14 15:53:40 +01:00
config Fixes #1605: Customizable metadata key on encryption key providers (#2080) 2024-10-30 19:52:23 +01:00
enctest allow static evaluations in encryption configuration (#1728) 2024-06-24 10:18:16 -04:00
keyprovider Fixes #1605: Customizable metadata key on encryption key providers (#2080) 2024-10-30 19:52:23 +01:00
method add early validation for enforced encryption methods (#1711) 2024-06-12 21:06:06 +03:00
registry [State Encryption] Compliance tests (#1377) 2024-03-14 15:53:40 +01:00
base.go Fixes #1605: Customizable metadata key on encryption key providers (#2080) 2024-10-30 19:52:23 +01:00
default_registry.go Add unencrypted Method for migrations (#1458) 2024-04-12 09:38:21 -04:00
dual_custody_test.go Fixes #1605: Customizable metadata key on encryption key providers (#2080) 2024-10-30 19:52:23 +01:00
encryption.go allow static evaluations in encryption configuration (#1728) 2024-06-24 10:18:16 -04:00
example_test.go allow static evaluations in encryption configuration (#1728) 2024-06-24 10:18:16 -04:00
keyprovider_meta_change_test.go Fixes #1605: Customizable metadata key on encryption key providers (#2080) 2024-10-30 19:52:23 +01:00
keyprovider.go upgrade golangci-lint to v1.62 (#2174) 2024-11-18 19:56:29 +02:00
methods.go Add unencrypted Method for migrations (#1458) 2024-04-12 09:38:21 -04:00
plan.go allow static evaluations in encryption configuration (#1728) 2024-06-24 10:18:16 -04:00
README.md Documentation updates for 1.7.0-alpha1 (state encryption) (#1396) 2024-03-14 15:05:05 +01:00
state.go allow static evaluations in encryption configuration (#1728) 2024-06-24 10:18:16 -04:00
targets_test.go Fixes #1605: Customizable metadata key on encryption key providers (#2080) 2024-10-30 19:52:23 +01:00
targets.go Fixes #1605: Customizable metadata key on encryption key providers (#2080) 2024-10-30 19:52:23 +01:00

OpenTofu State and Plan encryption

Warning

This file is not an end-user documentation, it is intended for developers. Please follow the user documentation on the OpenTofu website unless you want to work on the encryption code.

This folder contains the code for state and plan encryption. For a quick example on how to use this package, please take a look at the example_test.go file.

Structure

The current folder contains the top level API. It requires a registry for holding the available key providers and encryption methods, which is located in the registry folder. The key providers are located in the keyprovider folder, while the encryption methods are located in the method folder. You can also find the configuration struct and its related functions in the config folder.

Further reading

For a detailed design document on state encryption, please read this document.