concourse

package
v0.0.0-...-4f22f6d Latest Latest
Warning

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

Go to latest
Published: Jan 11, 2024 License: Apache-2.0 Imports: 32 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AWSInputVarsFactory

type AWSInputVarsFactory struct{}

func (*AWSInputVarsFactory) NewInputVars

type BoshParams

type BoshParams struct {
	CredhubPassword          string
	CredhubAdminClientSecret string
	CredhubCACert            string
	CredhubURL               string
	CredhubUsername          string
	ConcourseUsername        string
	ConcoursePassword        string
	GrafanaPassword          string
	DirectorUsername         string
	DirectorPassword         string
	DirectorCACert           string
}

BoshParams represents the params used and produced by a BOSH deploy

type Certs

type Certs struct {
	ConcourseCert   string
	ConcourseKey    string
	ConcourseCACert string
}

Certs represents the certificate of a Concourse

type Client

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

client is a concrete implementation of IClient interface

func NewClient

func NewClient(
	provider iaas.Provider,
	tfCLI terraform.CLIInterface,
	tfInputVarsFactory TFInputVarsFactory,
	boshClientFactory bosh.ClientFactory,
	flyClientFactory func(iaas.Provider, fly.Credentials, io.Writer, io.Writer, []byte) (fly.IClient, error),
	certGenerator func(constructor func(u *certs.User) (*lego.Client, error), caName string, provider iaas.Provider, ip ...string) (*certs.Certs, error),
	configClient config.IClient,
	deployArgs *deploy.Args,
	stdout, stderr io.Writer,
	ipChecker func() (string, error),
	acmeClientConstructor func(u *certs.User) (*lego.Client, error),
	passwordGenerator func(int) string,
	eightRandomLetters func() string,
	sshGenerator func() ([]byte, []byte, string, error),
	version string,
	versionFile []byte,
	credhubClientFactory func(server, id, secret, cert string) (credhub.IClient, error)) *Client

New returns a new client

func (*Client) Deploy

func (client *Client) Deploy() error

Deploy deploys a concourse instance

func (*Client) Destroy

func (client *Client) Destroy() error

Destroy destroys a concourse instance

func (*Client) FetchInfo

func (client *Client) FetchInfo() (*Info, error)

FetchInfo fetches and builds the info

func (*Client) Maintain

func (client *Client) Maintain(m maintain.Args) error

Maintain fetches and builds the info

type DirectorCerts

type DirectorCerts struct {
	DirectorCACert string
	DirectorCert   string
	DirectorKey    string
}

DirectorCerts represents the certificate of a Director

type GCPInputVarsFactory

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

func (*GCPInputVarsFactory) NewInputVars

type HostedZone

type HostedZone struct {
	HostedZoneID           string
	HostedZoneRecordPrefix string
	Domain                 string
}

HostedZone represents a DNS hosted zone

type IClient

type IClient interface {
	Deploy() error
	Destroy() error
	FetchInfo() (*Info, error)
	Maintain(maintain.Args) error
}

IClient represents a control-tower client

type Info

type Info struct {
	Terraform   TerraformInfo   `json:"terraform"`
	Config      config.Config   `json:"config"`
	Instances   []bosh.Instance `json:"instances"`
	CertExpiry  string          `json:"cert_expiry"`
	GatewayUser string
}

Info represents the compound fields for info templates

func (*Info) Env

func (info *Info) Env() (string, error)

Env returns a string that is suitable for a shell to evaluate that sets environment varibles which are used to log into bosh and credhub

func (*Info) String

func (info *Info) String() string

type Maintenance

type Maintenance struct {
	StatusIndex int `json:"status_index"`
}

Maintenance is a struct representing values used by the maintenance command

type Requirements

type Requirements struct {
	Domain           string
	DirectorPublicIP string
	DirectorCerts    DirectorCerts
	Certs            Certs
}

Requirements represents the pre deployment requirements of a Concourse

type TFInputVarsFactory

type TFInputVarsFactory interface {
	NewInputVars(conf config.ConfigView) terraform.InputVars
}

func NewTFInputVarsFactory

func NewTFInputVarsFactory(provider iaas.Provider) (TFInputVarsFactory, error)

type Table

type Table struct {
	Content string
	Rows    []interface{} `json:"Rows"`
}

Table represents the subelements of the Tables struct

type Tables

type Tables struct {
	Tables []Table `json:"Tables"`
}

Tables represents the output of bosh locks

type TerraformInfo

type TerraformInfo struct {
	DirectorPublicIP string
	NatGatewayIP     string
}

TerraformInfo represents the terraform output fields needed for the info templates

type TerraformRequirements

type TerraformRequirements struct {
	Region                 string
	SourceAccessIP         string
	HostedZoneID           string
	HostedZoneRecordPrefix string
	Domain                 string
}

TerraformRequirements represents the required values for running terraform

Directories

Path Synopsis
Code generated by counterfeiter.
Code generated by counterfeiter.

Jump to

Keyboard shortcuts

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