opentofu/internal/encryption
Divyanshu Singh 1e966f250a
Some checks are pending
build / Build for freebsd_386 (push) Waiting to run
build / Build for linux_386 (push) Waiting to run
build / Build for openbsd_386 (push) Waiting to run
build / Build for windows_386 (push) Waiting to run
build / Build for freebsd_amd64 (push) Waiting to run
build / Build for linux_amd64 (push) Waiting to run
build / Build for openbsd_amd64 (push) Waiting to run
build / Build for solaris_amd64 (push) Waiting to run
build / Build for windows_amd64 (push) Waiting to run
build / Build for freebsd_arm (push) Waiting to run
build / Build for linux_arm (push) Waiting to run
build / Build for linux_arm64 (push) Waiting to run
build / Build for darwin_amd64 (push) Waiting to run
build / Build for darwin_arm64 (push) Waiting to run
build / End-to-end Tests for linux_386 (push) Waiting to run
build / End-to-end Tests for windows_386 (push) Waiting to run
build / End-to-end Tests for darwin_amd64 (push) Waiting to run
build / End-to-end Tests for linux_amd64 (push) Waiting to run
build / End-to-end Tests for windows_amd64 (push) Waiting to run
Quick Checks / List files changed for pull request (push) Waiting to run
Quick Checks / Unit tests for linux_386 (push) Blocked by required conditions
Quick Checks / Unit tests for linux_amd64 (push) Blocked by required conditions
Quick Checks / Unit tests for windows_amd64 (push) Blocked by required conditions
Quick Checks / Unit tests for linux_arm (push) Blocked by required conditions
Quick Checks / Unit tests for darwin_arm64 (push) Blocked by required conditions
Quick Checks / Unit tests for linux_arm64 (push) Blocked by required conditions
Quick Checks / Race Tests (push) Blocked by required conditions
Quick Checks / End-to-end Tests (push) Blocked by required conditions
Quick Checks / Code Consistency Checks (push) Blocked by required conditions
Quick Checks / License Checks (push) Waiting to run
Website checks / List files changed for pull request (push) Waiting to run
Website checks / Build (push) Blocked by required conditions
Website checks / Test Installation Instructions (push) Blocked by required conditions
chore(keyprovider/gcp_kms): add logs for encryption and decryption keys (#3518)
Signed-off-by: divyanshu-vashu <vashusingh2004.jan@gmail.com>
Signed-off-by: Divyanshu Singh <89933176+divyanshu-vashu@users.noreply.github.com>
Co-authored-by: Diógenes Fernandes <diofeher@gmail.com>
2025-11-24 09:44:18 -03:00
..
compliancetest [State Encryption] Compliance tests (#1377) 2024-03-14 15:53:40 +01:00
config Improve encryption internals and fix a few bugs therein (#2551) 2025-03-06 12:51:09 -05:00
enctest tofu: EvalContext expression evaluation takes context.Context (#2937) 2025-06-19 10:46:31 +01:00
keyprovider chore(keyprovider/gcp_kms): add logs for encryption and decryption keys (#3518) 2025-11-24 09:44:18 -03:00
method Normalize HCL config paths in TestComplianceBinary/* tests on Windows (#3222) 2025-09-04 13:59:50 -03:00
registry [State Encryption] Compliance tests (#1377) 2024-03-14 15:53:40 +01:00
base.go tofu: EvalContext expression evaluation takes context.Context (#2937) 2025-06-19 10:46:31 +01:00
default_registry.go Implement the Azure Key Provider 2025-09-29 06:19:02 -04:00
dual_custody_test.go tofu: EvalContext expression evaluation takes context.Context (#2937) 2025-06-19 10:46:31 +01:00
encryption.go tofu: EvalContext expression evaluation takes context.Context (#2937) 2025-06-19 10:46:31 +01:00
example_test.go tofu: EvalContext expression evaluation takes context.Context (#2937) 2025-06-19 10:46:31 +01:00
keyprovider.go Ephemeral variables (#3108) 2025-09-10 07:45:23 -04:00
keyprovider_meta_change_test.go tofu: EvalContext expression evaluation takes context.Context (#2937) 2025-06-19 10:46:31 +01:00
methods.go tofu: EvalContext expression evaluation takes context.Context (#2937) 2025-06-19 10:46:31 +01:00
plan.go tofu: EvalContext expression evaluation takes context.Context (#2937) 2025-06-19 10:46:31 +01:00
README.md Documentation updates for 1.7.0-alpha1 (state encryption) (#1396) 2024-03-14 15:05:05 +01:00
state.go tofu: EvalContext expression evaluation takes context.Context (#2937) 2025-06-19 10:46:31 +01:00
targets.go fix: Improve validation for encryption method identifiers (#3048) 2025-07-21 14:38:02 +01:00
targets_test.go fix: Improve validation for encryption method identifiers (#3048) 2025-07-21 14:38:02 +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.