2023-08-22 04:38:28 -05:00
|
|
|
# OpenTF Core Codebase Documentation
|
2019-03-21 19:59:06 -05:00
|
|
|
|
2023-08-22 04:38:28 -05:00
|
|
|
This directory contains some documentation about the OpenTF Core codebase,
|
2019-03-21 19:59:06 -05:00
|
|
|
aimed at readers who are interested in making code contributions.
|
|
|
|
|
2023-08-22 04:38:28 -05:00
|
|
|
If you're looking for information on _using_ OpenTF, please instead refer
|
2023-08-23 08:56:49 -05:00
|
|
|
to [the main OpenTF CLI documentation](https://www.placeholderplaceholderplaceholder.io/docs/cli/index.html).
|
2019-03-21 19:59:06 -05:00
|
|
|
|
2023-08-22 04:38:28 -05:00
|
|
|
## OpenTF Core Architecture Documents
|
2019-03-21 19:59:06 -05:00
|
|
|
|
2023-08-22 04:38:28 -05:00
|
|
|
* [OpenTF Core Architecture Summary](./architecture.md): an overview of the
|
|
|
|
main components of OpenTF Core and how they interact. This is the best
|
2019-03-21 19:59:06 -05:00
|
|
|
starting point if you are diving in to this codebase for the first time.
|
|
|
|
|
|
|
|
* [Resource Instance Change Lifecycle](./resource-instance-change-lifecycle.md):
|
|
|
|
a description of the steps in validating, planning, and applying a change
|
|
|
|
to a resource instance, from the perspective of the provider plugin RPC
|
|
|
|
operations. This may be useful for understanding the various expectations
|
2023-08-22 04:38:28 -05:00
|
|
|
OpenTF enforces about provider behavior, either if you intend to make
|
|
|
|
changes to those behaviors or if you are implementing a new OpenTF plugin
|
2019-03-21 19:59:06 -05:00
|
|
|
SDK and so wish to conform to them.
|
|
|
|
|
|
|
|
(If you are planning to write a new provider using the _official_ SDK then
|
2023-08-23 08:56:49 -05:00
|
|
|
please refer to [the Extend documentation](https://www.placeholderplaceholderplaceholder.io/docs/extend/index.html)
|
2019-03-21 19:59:06 -05:00
|
|
|
instead; it presents similar information from the perspective of the SDK
|
|
|
|
API, rather than the plugin wire protocol.)
|
|
|
|
|
2019-06-11 16:27:25 -05:00
|
|
|
* [Plugin Protocol](./plugin-protocol/): gRPC/protobuf definitions for the
|
|
|
|
plugin wire protocol and information about its versioning strategy.
|
|
|
|
|
|
|
|
This documentation is for SDK developers, and is not necessary reading for
|
|
|
|
those implementing a provider using the official SDK.
|
|
|
|
|
2023-08-22 04:38:28 -05:00
|
|
|
* [How OpenTF Uses Unicode](./unicode.md): an overview of the various
|
|
|
|
features of OpenTF that rely on Unicode and how to change those features
|
2021-06-02 19:46:44 -05:00
|
|
|
to adopt new versions of Unicode.
|
|
|
|
|
2019-03-21 19:59:06 -05:00
|
|
|
## Contribution Guides
|
|
|
|
|
2023-09-20 03:06:16 -05:00
|
|
|
* [Contributing to OpenTF](../CONTRIBUTING.md): a complete guideline for those who want to contribute to this project.
|