operation

package
v0.12.0 Latest Latest
Warning

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

Go to latest
Published: Jun 12, 2024 License: Apache-2.0 Imports: 39 Imported by: 4

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrEmptySpec               = errors.New("empty resources in spec")
	ErrEmptyService            = errors.New("empty k8s service")
	ErrNotOneSvcWithTargetPort = errors.New("only support one k8s service to forward with target port")
)

Functions

func ForwardPort added in v0.11.1

func ForwardPort(
	ctx context.Context,
	restConfig *rest.Config,
	clientset *kubernetes.Clientset,
	namespace, serviceName string,
	servicePort, localPort int,
) error

Types

type ApplyOperation

type ApplyOperation struct {
	models.Operation
}

func (*ApplyOperation) Apply added in v0.4.4

func (ao *ApplyOperation) Apply(req *ApplyRequest) (rsp *ApplyResponse, s v1.Status)

Apply means turn all actual infra resources into the desired state described in the request by invoking a specified Runtime. Like other operations, Apply has 3 main steps during the whole process.

  1. parse resources and their relationship to build a DAG and should take care of those resources that will be deleted
  2. walk this DAG and execute all graph nodes concurrently, besides the entire process should follow dependencies in this DAG
  3. during the execution of each node, it will invoke different runtime according to the resource type

type ApplyRequest

type ApplyRequest struct {
	models.Request
	Release *apiv1.Release
}

type ApplyResponse

type ApplyResponse struct {
	Release *apiv1.Release
}

type DestroyOperation

type DestroyOperation struct {
	models.Operation
}

func (*DestroyOperation) Destroy added in v0.4.4

func (do *DestroyOperation) Destroy(req *DestroyRequest) (rsp *DestroyResponse, s v1.Status)

Destroy will delete all resources in this request. The whole process is similar to the operation Apply, but every node's execution is deleting the resource.

type DestroyRequest

type DestroyRequest struct {
	models.Request
	Release *apiv1.Release
}

type DestroyResponse added in v0.12.0

type DestroyResponse struct {
	Release *apiv1.Release
}

type PortForwardOperation added in v0.11.1

type PortForwardOperation struct {
	models.Operation
}

func (*PortForwardOperation) PortForward added in v0.11.1

func (bpo *PortForwardOperation) PortForward(req *PortForwardRequest) error

type PortForwardRequest added in v0.11.1

type PortForwardRequest struct {
	models.Request
	Spec *v1.Spec
	Port int
}

type PreviewOperation

type PreviewOperation struct {
	models.Operation
}

func (*PreviewOperation) Preview added in v0.4.4

func (po *PreviewOperation) Preview(req *PreviewRequest) (rsp *PreviewResponse, s v1.Status)

Preview compute all changes between resources in request and the actual infrastructure. The whole process is similar to the operation Apply, but the execution of each node is mocked and will not actually invoke the Runtime

type PreviewRequest

type PreviewRequest struct {
	models.Request
	Spec  *apiv1.Spec
	State *apiv1.State
}

type PreviewResponse

type PreviewResponse struct {
	Order *models.ChangeOrder
}

type WatchOperation added in v0.7.0

type WatchOperation struct {
	models.Operation
}

func (*WatchOperation) Watch added in v0.7.0

func (wo *WatchOperation) Watch(req *WatchRequest) error

type WatchRequest added in v0.7.0

type WatchRequest struct {
	models.Request
	Spec *apiv1.Spec
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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