app

package
v1.47.3 Latest Latest
Warning

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

Go to latest
Published: Apr 3, 2023 License: Apache-2.0 Imports: 33 Imported by: 0

Documentation

Overview

Package app creates new apps for interaction with in a devenv.

Index

Constants

View Source
const (
	TypeBootstrap Type = "bootstrap"
	TypeLegacy    Type = "legacy"

	DeleteJobAnnotation = "outreach.io/db-migration-delete"

	AppVersionLocal  = "local"
	AppVersionLatest = "latest"
	ConfigFileName   = "devenv.yaml"
)

Variables

This section is empty.

Functions

func Delete

func Delete(ctx context.Context, log logrus.FieldLogger, k kubernetes.Interface, b *box.Config,
	conf *rest.Config, appNameOrPath string, kr kubernetesruntime.RuntimeConfig, useDevspace bool) error

Delete deletes application from DevEnv

func Deploy

Deploy is a wrapper around NewApp().Deploy() that automatically closes the app and deploys it into the devenv

func E2E

E2E is a wrapper around NewApp().Dev() that sets up the e2e environment

func Run

Run is a wrapper around NewApp().Dev()

func RunStop

RunStop is a wrapper around NewApp().RunStop()

func Shell

func Shell(ctx context.Context, log logrus.FieldLogger, k kubernetes.Interface, b *box.Config,
	conf *rest.Config, appNameOrPath string, kr kubernetesruntime.RuntimeConfig, deploymentProfile string) error

Run is a wrapper around NewApp().Run()

Types

type App

type App struct {

	// Type is the type of application this is
	Type Type

	// Path, if set, is the path that should be used to deploy this application
	// this will be used over the github repository
	Path string

	// Local is wether this app was downloaded or is local
	Local bool

	// RepositoryName is the repository name for this application
	RepositoryName string

	// Version is the version of this application that should be deployed.
	// This is only used if RepositoryName is set and being used. This has no
	// effect when Path is set.
	Version string
	// contains filtered or unexported fields
}

func NewApp

func NewApp(ctx context.Context, log logrus.FieldLogger, k kubernetes.Interface, b *box.Config, conf *rest.Config,
	appNameOrPath string, kr *kubernetesruntime.RuntimeConfig) (*App, error)

NewApp creates a new App for interaction with in a devenv. It will not clone remote repository, call ensureRepositoryIsCloned for this purpose.

func (*App) Close

func (a *App) Close() error

Close cleans up all resources of this application outside of the application itself.

func (*App) Delete

func (a *App) Delete(ctx context.Context) error

func (*App) DeleteDevspace

func (a *App) DeleteDevspace(ctx context.Context) error

DeleteDevspace deletes the application using devspace purge commnad

func (*App) Deploy

func (a *App) Deploy(ctx context.Context) error

Deploy deploys the application into the devenv

func (*App) DeployDevspace

func (a *App) DeployDevspace(ctx context.Context) error

Deploy deploys the application into the devenv using devspace deploy command

func (*App) Dev

func (a *App) Dev(ctx context.Context, opts RunOptions) error

Dev starts the development mode for the application.

func (*App) RunStop

func (a *App) RunStop(ctx context.Context) error

Dev stop the development mode for the application.

func (*App) Shell

func (a *App) Shell(ctx context.Context, deploymentProfile string) error

Dev starts the development mode for the application.

type DeploymentOptions

type DeploymentOptions struct {
	// UseDevspace is the flag that determines whether to use devspace for deployment or not.
	UseDevspace bool

	// SkipDeployed is the flag that determines whether to skip deploying the app when already deployed to devenv or not.
	SkipDeployed bool

	// DeployDependencies is the flag that determines whether to deploy app dependencies or not.
	DeployDependencies bool
}

DeploymentOptions are the options for deploying the app into devenv.

type DevenvConfig

type DevenvConfig struct {
	// Dependencies are the app dependencies
	Dependencies struct {
		// Optional is a list of OPTIONAL services e.g. the service can run / gracefully function without it running
		Optional []string `yaml:"optional"`

		// Required is a list of services that this service cannot function without
		Required []string `yaml:"required"`
	} `yaml:"dependencies"`
}

DevenvConfig is the configuration of the app for use with the devenv

type RunOptions

type RunOptions struct {
	DeploymentProfile  string
	OpenTerminal       bool
	UseLocalImage      bool
	SkipPortForwarding bool
	DeployDependencies bool
	E2E                bool
}

type Type

type Type string

Jump to

Keyboard shortcuts

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