Files
opentf/internal/plugins/doc.go
Christian Mesh ef97fd2b51 Introduce plugin library and managers (#3652)
Signed-off-by: Christian Mesh <christianmesh1@gmail.com>
2026-02-24 08:51:48 -05:00

22 lines
1.1 KiB
Go

// Copyright (c) The OpenTofu Authors
// SPDX-License-Identifier: MPL-2.0
// Copyright (c) 2023 HashiCorp, Inc.
// SPDX-License-Identifier: MPL-2.0
// The plugins package abstracts away many of the details in managing provider and provisioner plugins.
//
// It's primary goal is to provide a library of plugins, who's instances can be managed in different concurrent
// scopes. It also handles many of the complexities around correctly caching plugin schemas.
//
// This package was introduced to solve the following problems:
// * De-duplicate common logic between the original tofu engine and the new engine implementation
// * Re-use this common logic for backends as plugins / PSS
// * Potentially allow plugins to be used by middleware/integrations/etc... (still in the design phase)
// * Properly fix the global schema cache replacement
// * Ensure that provider schema validation is actually called (heavily bugged before)
//
// It's current design intentions are that of a building block, and is not highly opinionated on abstracting
// away the implementation details of plugins.
package plugins