controllers

package
v1.0.7 Latest Latest
Warning

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

Go to latest
Published: Jun 1, 2026 License: MIT Imports: 9 Imported by: 0

Documentation

Overview

Package controllers provides the implementation of the controller for the provider endpoints.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DiscoveryController

type DiscoveryController struct {
	*router.Router

	Endpointers []Endpointer
}

func (*DiscoveryController) Register

func (controller *DiscoveryController) Register(router *router.Router)

Register implements router.Controller.Register

type DownloaderController

type DownloaderController struct {
	*router.Router

	ProviderService      *services.ProviderService
	ProxyProviderHandler *handlers.ProxyProviderHandler
}

func (*DownloaderController) Register

func (controller *DownloaderController) Register(router *router.Router)

Register implements router.Controller.Register

type Endpointer

type Endpointer interface {
	// Endpoints returns controller endpoints.
	Endpoints() map[string]any
}

type ModuleController added in v1.0.5

type ModuleController struct {
	*router.Router

	AuthMiddleware     echo.MiddlewareFunc
	ProxyModuleHandler *handlers.ProxyModuleHandler
	Logger             log.Logger
}

ModuleController exposes the modules.v1 registry protocol on the Terragrunt cache server, accepting requests authenticated with the cache server's API key and forwarding them to the upstream registry with the user's real credentials.

func (*ModuleController) Endpoints added in v1.0.5

func (c *ModuleController) Endpoints() map[string]any

Endpoints implements controllers.Endpointer.

The returned modules.v1 path is suffixed with `/` so clients performing service discovery against `.well-known/terraform.json` build well-formed module URLs. See https://developer.hashicorp.com/terraform/internals/module-registry-protocol.

func (*ModuleController) Register added in v1.0.5

func (c *ModuleController) Register(r *router.Router)

Register implements router.Controller.

type ProviderController

type ProviderController struct {
	Logger               log.Logger
	DownloaderController router.Controller
	*router.Router
	AuthMiddleware              echo.MiddlewareFunc
	ProxyProviderHandler        *handlers.ProxyProviderHandler
	ProviderService             *services.ProviderService
	ProviderHandlers            []handlers.ProviderHandler
	Server                      http.Server
	CacheProviderHTTPStatusCode int
}

func (*ProviderController) Endpoints

func (controller *ProviderController) Endpoints() map[string]any

Endpoints implements controllers.Endpointer.Endpoints

func (*ProviderController) Register

func (controller *ProviderController) Register(router *router.Router)

Register implements router.Controller.Register

Jump to

Keyboard shortcuts

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