run

package
v0.9.5-rc.1 Latest Latest
Warning

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

Go to latest
Published: Sep 14, 2022 License: MPL-2.0 Imports: 52 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrNoPodsForService           = errors.New("no pods found for service")
	ErrNoPodsForDeployment        = errors.New("no pods found for deployment")
	ErrNoRunningPodsForService    = errors.New("no running pods found for service")
	ErrNoRunningPodsForDeployment = errors.New("no running pods found for deployment")
	ErrDashboardPodNotFound       = errors.New("dashboard pod not found")
)
View Source
var (
	DevBucketContainerImage = "ghcr.io/weaveworks/gitops-bucket-server@sha256:b0446a6c645b5d39cf0db558958bf28363aca3ea80dc9d593983173613a4f290"
)

Functions

func CleanupBucketSourceAndKS

func CleanupBucketSourceAndKS(log logger.Logger, kubeClient client.Client, namespace string) error

CleanupBucketSourceAndKS removes the bucket source and ks

func CreateDashboardObjects added in v0.9.4

func CreateDashboardObjects(log logger.Logger, name string, namespace string, username string, secret string, chartVersion string) ([]byte, error)

CreateDashboardObjects creates HelmRepository and HelmRelease objects for the GitOps Dashboard installation.

func CreateIgnorer added in v0.9.5

func CreateIgnorer(gitRootDir string) *ignore.GitIgnore

func EnablePortForwardingForDashboard

func EnablePortForwardingForDashboard(log logger.Logger, kubeClient client.Client, config *rest.Config, namespace string, podName string, dashboardPort string) (func(), error)

EnablePortForwardingForDashboard enables port forwarding for the GitOps Dashboard.

func FindGitRepoDir

func FindGitRepoDir() (string, error)

FindGitRepoDir finds git repo root directory

func ForwardPort

func ForwardPort(pod *corev1.Pod, cfg *rest.Config, specMap *PortForwardSpec, waitFwd chan struct{}, readyChannel chan struct{}) error

func GenerateSecret added in v0.9.2

func GenerateSecret(log logger.Logger, password string) (string, error)

func GetFluxVersion

func GetFluxVersion(log logger.Logger, ctx context.Context, kubeClient client.Client) (string, error)

func GetKubeClient

func GetKubeClient(log logger.Logger, contextName string, cfg *rest.Config, kubeClientOpts *runclient.Options) (*kube.KubeHTTP, error)

func GetKubeClientOptions

func GetKubeClientOptions() *runclient.Options

func GetKubeConfigArgs

func GetKubeConfigArgs() *genericclioptions.ConfigFlags

func GetPodFromResourceDescription added in v0.9.4

func GetPodFromResourceDescription(namespacedName types.NamespacedName, kind string, kubeClient client.Client) (*corev1.Pod, error)

func GetRelativePathToRootDir

func GetRelativePathToRootDir(rootDir string, path string) (string, error)

GetRelativePathToRootDir gets relative path to a directory from the git root. It returns an error if there's no git repo.

func InitializeTargetDir added in v0.9.5

func InitializeTargetDir(targetPath string) error

func InstallDashboard

func InstallDashboard(log logger.Logger, ctx context.Context, manager ResourceManagerForApply, manifests []byte) error

InstallDashboard installs the GitOps Dashboard.

func InstallDevBucketServer

func InstallDevBucketServer(log logger.Logger, kubeClient client.Client, config *rest.Config) (func(), error)

InstallDevBucketServer installs the dev bucket server, open port forwarding, and returns a function that can be used to the port forwarding.

func InstallFlux

func InstallFlux(log logger.Logger, ctx context.Context, installOptions install.Options, manager ResourceManagerForApply) error

func IsDashboardInstalled

func IsDashboardInstalled(log logger.Logger, ctx context.Context, kubeClient client.Client, name string, namespace string) bool

IsDashboardInstalled checks if the GitOps Dashboard is installed.

func IsLocalCluster

func IsLocalCluster(kubeClient *kube.KubeHTTP) bool

IsLocalCluster checks if it's a local cluster. See https://skaffold.dev/docs/environment/local-cluster/

func NewManager added in v0.9.2

func NewManager(log logger.Logger, ctx context.Context, kubeClient ctrlclient.Client, kubeConfigArgs genericclioptions.RESTClientGetter) (*ssa.ResourceManager, error)

func ReadPassword added in v0.9.4

func ReadPassword(log logger.Logger) (string, error)

func ReconcileDashboard

func ReconcileDashboard(kubeClient client.Client, name string, namespace string, podName string, timeout time.Duration) error

ReconcileDashboard reconciles the dashboard.

func ReconcileDevBucketSourceAndKS added in v0.9.2

func ReconcileDevBucketSourceAndKS(log logger.Logger, kubeClient client.Client, namespace string, timeout time.Duration) error

ReconcileDevBucketSourceAndKS reconciles the dev-bucket and dev-ks asynchronously.

func SetupBucketSourceAndKS

func SetupBucketSourceAndKS(log logger.Logger, kubeClient client.Client, namespace string, path string, timeout time.Duration) error

func SyncDir

func SyncDir(log logger.Logger, dir string, bucket string, client *minio.Client, ignorer *ignore.GitIgnore) error

SyncDir recursively uploads all files in a directory to an S3 bucket with minio library

func UninstallDevBucketServer

func UninstallDevBucketServer(log logger.Logger, kubeClient client.Client) error

UninstallDevBucketServer deletes the dev-bucket namespace.

func ValidateComponents added in v0.9.2

func ValidateComponents(components []string) error

func WaitForDeploymentToBeReady

func WaitForDeploymentToBeReady(log logger.Logger, kubeClient client.Client, deploymentName string, namespace string) error

func WatchDirsForFileWalker added in v0.9.2

func WatchDirsForFileWalker(watcher *fsnotify.Watcher, ignorer *ignore.GitIgnore) func(path string, info os.FileInfo, err error) error

Types

type PortForwardSpec

type PortForwardSpec struct {
	Namespace     string
	Name          string
	Kind          string
	HostPort      string
	ContainerPort string
	Map           map[string]string
}

func ParsePortForwardSpec

func ParsePortForwardSpec(spec string) (*PortForwardSpec, error)

parse port forward specin the key-value format of "port=8000:8080,resource=svc/app,namespace=default"

type ResourceManagerForApply added in v0.9.2

type ResourceManagerForApply interface {
	ApplyAll(ctx context.Context, objects []*unstructured.Unstructured, opts ssa.ApplyOptions) (*ssa.ChangeSet, error)
	WaitForSet(set object.ObjMetadataSet, opts ssa.WaitOptions) error
}

Jump to

Keyboard shortcuts

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