app

package
v0.0.64 Latest Latest
Warning

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

Go to latest
Published: Oct 11, 2022 License: BSD-3-Clause Imports: 9 Imported by: 0

Documentation

Overview

Package app contains logic for global/cross-cutting Thelma dependencies, such as configuration, logging support, and API client factories

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Options

type Options struct {
	Runner      shell.Runner
	StateLoader terra.StateLoader
}

Options for a thelmaApp

type ThelmaApp

type ThelmaApp interface {
	// Clients convenience constructors for clients used in Thelma commands
	Clients() clients.Clients
	// Config returns configuration object for this ThelmaApp
	Config() config.Config
	// Credentials returns credential manager object for this ThelmaApp
	Credentials() credentials.Credentials
	// ShellRunner returns ShellRunner for this ThelmaApp
	ShellRunner() shell.Runner
	// Paths returns Paths for this ThelmaApp
	Paths() paths.Paths
	// Scratch returns the Scratch instance for this ThelmaApp
	Scratch() scratch.Scratch
	// State returns a new terra.State instance for this ThelmaApp
	State() (terra.State, error)
	// StateLoader returns the terra.StateLoader instance for this ThelmaApp
	StateLoader() terra.StateLoader
	// Close deletes local resources associated with this ThelmaApp, and should be called once before the program exits.
	Close() error
}

ThelmaApp holds references to global/cross-cutting dependencies for Thelma commands

func New

func New(cfg config.Config, creds credentials.Credentials, clients clients.Clients, shellRunner shell.Runner, stateLoader terra.StateLoader) (ThelmaApp, error)

New constructs a new ThelmaApp

Directories

Path Synopsis
Package env includes utilities for interacting with environment variables
Package env includes utilities for interacting with environment variables

Jump to

Keyboard shortcuts

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