pluginserver

package
v0.0.0-...-d9d2748 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 4, 2025 License: MPL-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CompositePluginRepository

type CompositePluginRepository struct {
	// contains filtered or unexported fields
}

CompositePluginRepository routes plugin requests to the appropriate repository based on whether the library has a ServerURL (local development) or not (API)

func NewCompositePluginRepository

func NewCompositePluginRepository(platform *terraform.PlatformSpec, defaultRepo terraform.PluginRepository) *CompositePluginRepository

func (*CompositePluginRepository) GetIdentityPlugin

func (r *CompositePluginRepository) GetIdentityPlugin(team, libname, version, name string) (*terraform.IdentityPluginManifest, error)

func (*CompositePluginRepository) GetResourcePlugin

func (r *CompositePluginRepository) GetResourcePlugin(team, libname, version, name string) (*terraform.ResourcePluginManifest, error)

type HTTPPluginRepository

type HTTPPluginRepository struct {
	// contains filtered or unexported fields
}

HTTPPluginRepository fetches plugins from an HTTP server (local or remote) This is used when a library has a ServerURL specified

func NewHTTPPluginRepository

func NewHTTPPluginRepository(serverURL string) *HTTPPluginRepository

func (*HTTPPluginRepository) GetIdentityPlugin

func (r *HTTPPluginRepository) GetIdentityPlugin(team, libname, version, name string) (*terraform.IdentityPluginManifest, error)

func (*HTTPPluginRepository) GetResourcePlugin

func (r *HTTPPluginRepository) GetResourcePlugin(team, libname, version, name string) (*terraform.ResourcePluginManifest, error)

type LocalPluginRepository

type LocalPluginRepository struct {
	// contains filtered or unexported fields
}

LocalPluginRepository implements terraform.PluginRepository It reads plugins directly from the local filesystem for development

func NewLocalPluginRepository

func NewLocalPluginRepository(fs afero.Fs, pluginPaths []string) *LocalPluginRepository

func (*LocalPluginRepository) GetIdentityPlugin

func (r *LocalPluginRepository) GetIdentityPlugin(team, libname, version, name string) (*terraform.IdentityPluginManifest, error)

func (*LocalPluginRepository) GetResourcePlugin

func (r *LocalPluginRepository) GetResourcePlugin(team, libname, version, name string) (*terraform.ResourcePluginManifest, error)

type PluginInfo

type PluginInfo struct {
	Name                string
	Path                string // Path to the manifest file
	Dir                 string // Directory containing the manifest
	TerraformModulePath string // Relative path to the terraform module from manifest
}

func (PluginInfo) String

func (p PluginInfo) String() string

type PluginServer

type PluginServer struct {
	// contains filtered or unexported fields
}

func NewPluginServer

func NewPluginServer(fs afero.Fs, basePath string) (*PluginServer, error)

func (*PluginServer) GetModules

func (s *PluginServer) GetModules() []string

GetModules returns the cached list of discovered Go modules

func (*PluginServer) GetPlugins

func (s *PluginServer) GetPlugins() []PluginInfo

GetPlugins returns the cached list of discovered plugins

func (*PluginServer) ServeHTTP

func (s *PluginServer) ServeHTTP(w http.ResponseWriter, r *http.Request)

func (*PluginServer) Start

func (s *PluginServer) Start(addr string) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL