lagoon

package
v0.11.6 Latest Latest
Warning

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

Go to latest
Published: Sep 10, 2021 License: MIT Imports: 12 Imported by: 0

Documentation

Overview

Package lagoon implements high-level functions for interacting with the Lagoon API.

Package lagoon implements high-level functions for interacting with the Lagoon API.

Package lagoon implements high-level functions for interacting with the Lagoon API.

Package lagoon implements high-level functions for interacting with the Lagoon API.

Package lagoon implements high-level functions for interacting with the Lagoon API.

Index

Constants

This section is empty.

Variables

View Source
var ErrExist = errors.New("object already exists")

ErrExist indicates that an attempt was made to create an object that already exists.

Functions

func ActiveStandbySwitch

func ActiveStandbySwitch(ctx context.Context, project string, t Tasks) (*schema.Task, error)

ActiveStandbySwitch runs the activestandby switch.

func DeployBranch

DeployBranch deploys a branch.

func DeployLatest

DeployLatest deploys the latest environment.

func DeployPromote

DeployPromote promotes one environment into a new environment.

func DeployPullRequest

DeployPullRequest deploys a pull request.

func ExportProject

func ExportProject(ctx context.Context,
	e Exporter, name string, exclude map[string]bool) ([]byte, error)

ExportProject exports the given project by name.

func GetLagoonAPIVersion

func GetLagoonAPIVersion(ctx context.Context, l APIVersion) (*schema.LagoonVersion, error)

GetLagoonAPIVersion gets info on the current API version of lagoon, supported in lagoon v1.4.1+

func GetMeInfo

func GetMeInfo(ctx context.Context, m Me) (*schema.User, error)

GetMeInfo gets info on the current user of lagoon.

func Import

func Import(ctx context.Context, i Importer, r io.Reader, keepGoing bool,
	openshiftID uint) error

Import creates objects in the Lagoon API based on a configuration object.

func TaskByID

func TaskByID(ctx context.Context, id int, t Tasks) (*schema.Task, error)

Types

type APIVersion

type APIVersion interface {
	LagoonAPIVersion(ctx context.Context, apiVersion *schema.LagoonVersion) error
	LagoonSchema(ctx context.Context, lagoonSchema *schema.LagoonSchema) error
}

APIVersion interface contains methods for getting info on the current version of lagoon.

type Config

type Config struct {
	Current                  string             `json:"current"`
	Default                  string             `json:"default"`
	Lagoons                  map[string]Context `json:"lagoons"`
	UpdateCheckDisable       bool               `json:"updatecheckdisable,omitempty"`
	EnvironmentFromDirectory bool               `json:"environmentfromdirectory,omitempty"`
}

Config is used for the lagoon configuration.

type Context

type Context struct {
	GraphQL  string `json:"graphql"`
	HostName string `json:"hostname"`
	UI       string `json:"ui,omitempty"`
	Kibana   string `json:"kibana,omitempty"`
	Port     string `json:"port"`
	Token    string `json:"token,omitempty"`
	Version  string `json:"version,omitempty"`
}

Context is used for each lagoon context in the config file.

type Deploy

type Deploy interface {
	DeployEnvironmentPromote(ctx context.Context, deploy *schema.DeployEnvironmentPromoteInput, result *schema.DeployEnvironmentPromote) error
	DeployEnvironmentLatest(ctx context.Context, deploy *schema.DeployEnvironmentLatestInput, result *schema.DeployEnvironmentLatest) error
	DeployEnvironmentPullrequest(ctx context.Context, deploy *schema.DeployEnvironmentPullrequestInput, result *schema.DeployEnvironmentPullrequest) error
	DeployEnvironmentBranch(ctx context.Context, deploy *schema.DeployEnvironmentBranchInput, result *schema.DeployEnvironmentBranch) error
}

Deploy interface contains methods for deploying branches and environments in lagoon.

type Exporter

type Exporter interface {
	ProjectByName(ctx context.Context, name string, project *schema.Project) error
}

Exporter interface contains methods for exporting data from Lagoon.

type Importer

type Importer interface {
	AddGroup(context.Context, *schema.AddGroupInput, *schema.Group) error
	AddUser(context.Context, *schema.AddUserInput, *schema.User) error
	AddSSHKey(context.Context, *schema.AddSSHKeyInput, *schema.SSHKey) error
	AddUserToGroup(
		context.Context, *schema.UserGroupRoleInput, *schema.Group) error
	AddNotificationSlack(context.Context,
		*schema.AddNotificationSlackInput,
		*schema.NotificationSlack) error
	AddNotificationRocketChat(context.Context,
		*schema.AddNotificationRocketChatInput,
		*schema.NotificationRocketChat) error
	AddNotificationEmail(context.Context,
		*schema.AddNotificationEmailInput,
		*schema.NotificationEmail) error
	AddNotificationMicrosoftTeams(context.Context,
		*schema.AddNotificationMicrosoftTeamsInput,
		*schema.NotificationMicrosoftTeams) error
	AddProject(context.Context, *schema.AddProjectInput, *schema.Project) error
	AddEnvVariable(
		context.Context, *schema.EnvVariableInput, *schema.EnvKeyValue) error
	ProjectByName(context.Context, string, *schema.Project) error
	AddOrUpdateEnvironment(
		context.Context, *schema.AddEnvironmentInput, *schema.Environment) error
	EnvironmentByName(context.Context, string, uint, *schema.Environment) error
	AddGroupsToProject(
		context.Context, *schema.ProjectGroupsInput, *schema.Project) error
	AddNotificationToProject(context.Context,
		*schema.AddNotificationToProjectInput, *schema.Project) error
	AddBillingGroup(
		context.Context, *schema.AddBillingGroupInput, *schema.BillingGroup) error
	AddProjectToBillingGroup(context.Context, *schema.ProjectBillingGroupInput,
		*schema.Project) error
}

Importer interface contains methods for exporting data from Lagoon. TODO: compose this once simpler interfaces are defined.

type Me

type Me interface {
	Me(ctx context.Context, user *schema.User) error
}

Me interface contains methods for getting info on the current user of lagoon.

type Tasks

type Tasks interface {
	RunActiveStandbySwitch(ctx context.Context, project string, result *schema.Task) error
	GetTaskByID(ctx context.Context, id int, result *schema.Task) error
}

Tasks interface contains methods for running tasks in projects and environments in lagoon.

Directories

Path Synopsis
Package client implements the interfaces required by the parent lagoon package.
Package client implements the interfaces required by the parent lagoon package.
lgraphql
Package lgraphql generated by go-bindata.// sources: _lgraphql/addBillingGroup.graphql _lgraphql/addEnvVariable.graphql _lgraphql/addGroup.graphql _lgraphql/addGroupsToProject.graphql _lgraphql/addNotificationEmail.graphql _lgraphql/addNotificationMicrosoftTeams.graphql _lgraphql/addNotificationRocketChat.graphql _lgraphql/addNotificationSlack.graphql _lgraphql/addNotificationToProject.graphql _lgraphql/addOrUpdateEnvironment.graphql _lgraphql/addProject.graphql _lgraphql/addProjectToBillingGroup.graphql _lgraphql/addSshKey.graphql _lgraphql/addUser.graphql _lgraphql/addUserToGroup.graphql _lgraphql/deployEnvironmentBranch.graphql _lgraphql/deployEnvironmentLatest.graphql _lgraphql/deployEnvironmentPromote.graphql _lgraphql/deployEnvironmentPullrequest.graphql _lgraphql/environmentByName.graphql _lgraphql/lagoonSchema.graphql _lgraphql/lagoonVersion.graphql _lgraphql/me.graphql _lgraphql/projectByName.graphql _lgraphql/switchActiveStandby.graphql _lgraphql/taskByID.graphql
Package lgraphql generated by go-bindata.// sources: _lgraphql/addBillingGroup.graphql _lgraphql/addEnvVariable.graphql _lgraphql/addGroup.graphql _lgraphql/addGroupsToProject.graphql _lgraphql/addNotificationEmail.graphql _lgraphql/addNotificationMicrosoftTeams.graphql _lgraphql/addNotificationRocketChat.graphql _lgraphql/addNotificationSlack.graphql _lgraphql/addNotificationToProject.graphql _lgraphql/addOrUpdateEnvironment.graphql _lgraphql/addProject.graphql _lgraphql/addProjectToBillingGroup.graphql _lgraphql/addSshKey.graphql _lgraphql/addUser.graphql _lgraphql/addUserToGroup.graphql _lgraphql/deployEnvironmentBranch.graphql _lgraphql/deployEnvironmentLatest.graphql _lgraphql/deployEnvironmentPromote.graphql _lgraphql/deployEnvironmentPullrequest.graphql _lgraphql/environmentByName.graphql _lgraphql/lagoonSchema.graphql _lgraphql/lagoonVersion.graphql _lgraphql/me.graphql _lgraphql/projectByName.graphql _lgraphql/switchActiveStandby.graphql _lgraphql/taskByID.graphql

Jump to

Keyboard shortcuts

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