opentofu/internal/encryption
AbstractionFactory 5a6d2d3e98
Fixes #2022: Running external commands as a key provider (#2023)
Signed-off-by: AbstractionFactory <179820029+abstractionfactory@users.noreply.github.com>
Signed-off-by: ollevche <ollevche@gmail.com>
Co-authored-by: Oleksandr Levchenkov <ollevche@gmail.com>
2025-01-08 12:08:30 -05: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 #2022: Running external commands as a key provider (#2023) 2025-01-08 12:08:30 -05: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 Temporarily disable the complexity-related lint rules 2025-01-03 10:41:05 -05:00
default_registry.go Fixes #2022: Running external commands as a key provider (#2023) 2025-01-08 12:08:30 -05:00
dual_custody_test.go Force state change if encryption used fallback (#2232) 2024-12-03 17:44:30 -05:00
encryption.go allow static evaluations in encryption configuration (#1728) 2024-06-24 10:18:16 -04:00
example_test.go Force state change if encryption used fallback (#2232) 2024-12-03 17:44:30 -05:00
keyprovider_meta_change_test.go Force state change if encryption used fallback (#2232) 2024-12-03 17:44:30 -05: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 Force state change if encryption used fallback (#2232) 2024-12-03 17:44:30 -05:00
README.md Documentation updates for 1.7.0-alpha1 (state encryption) (#1396) 2024-03-14 15:05:05 +01:00
state.go Force state change if encryption used fallback (#2232) 2024-12-03 17:44:30 -05: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.