Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type InputHelmChart ¶
type InputHelmChart struct {
// Git remote address where the chart is placing.
// Empty means the same repository.
GitRemote string `json:"gitRemote,omitempty"`
// The commit SHA or tag for remote git.
Ref string `json:"ref,omitempty"`
// Relative path from the repository root directory to the chart directory.
Path string `json:"path,omitempty"`
// The name of an added Helm Chart Repository.
Repository string `json:"repository,omitempty"`
Name string `json:"name,omitempty"`
Version string `json:"version,omitempty"`
// Whether to skip TLS certificate checks for the repository or not.
// This option will automatically set the value of HelmChartRepository.Insecure.
Insecure bool `json:"-"`
}
type InputHelmOptions ¶
type InputHelmOptions struct {
// The release name of helm deployment.
// By default the release name is equal to the application name.
ReleaseName string `json:"releaseName,omitempty"`
// List of values.
SetValues map[string]string `json:"setValues,omitempty"`
// List of value files should be loaded.
ValueFiles []string `json:"valueFiles,omitempty"`
// List of file path for values.
SetFiles map[string]string `json:"setFiles,omitempty"`
// Set of supported Kubernetes API versions.
APIVersions []string `json:"apiVersions,omitempty"`
// Kubernetes version used for Capabilities.KubeVersion
KubeVersion string `json:"kubeVersion,omitempty"`
}
type K8sResourceReference ¶
K8sResourceReference represents a reference to a Kubernetes resource. It is used to specify the resources which are treated as the workload of an application.
type K8sSyncStageOptions ¶ added in v0.51.0
type K8sSyncStageOptions struct {
// Whether the PRIMARY variant label should be added to manifests if they were missing.
AddVariantLabelToSelector bool `json:"addVariantLabelToSelector"`
// Whether the resources that are no longer defined in Git should be removed or not.
Prune bool `json:"prune"`
}
K8sSyncStageOptions contains all configurable values for a K8S_SYNC stage.
type KubernetesApplicationSpec ¶
type KubernetesApplicationSpec struct {
// Input for Kubernetes deployment such as kubectl version, helm version, manifests filter...
Input KubernetesDeploymentInput `json:"input"`
// Configuration for quick sync.
QuickSync K8sSyncStageOptions `json:"quickSync"`
// Which resources should be considered as the Workload of application.
// Empty means all Deployments.
// e.g.
// - kind: Deployment
// name: deployment-name
// - kind: ReplicationController
// name: replication-controller-name
Workloads []K8sResourceReference `json:"workloads"`
// The label will be configured to variant manifests used to distinguish them.
VariantLabel KubernetesVariantLabel `json:"variantLabel"`
}
KubernetesApplicationSpec represents an application configuration for Kubernetes application.
func (*KubernetesApplicationSpec) Validate ¶
func (s *KubernetesApplicationSpec) Validate() error
type KubernetesDeployTargetConfig ¶ added in v0.51.0
type KubernetesDeployTargetConfig struct {
// The master URL of the kubernetes cluster.
// Empty means in-cluster.
MasterURL string `json:"masterURL,omitempty"`
// The path to the kubeconfig file.
// Empty means in-cluster.
KubeConfigPath string `json:"kubeConfigPath,omitempty"`
// Version of kubectl will be used.
KubectlVersion string `json:"kubectlVersion"`
}
func FindDeployTarget ¶ added in v0.51.0
func FindDeployTarget(cfg *config.PipedPlugin, name string) (KubernetesDeployTargetConfig, error)
FindDeployTarget finds the deploy target configuration by the given name.
type KubernetesDeploymentInput ¶
type KubernetesDeploymentInput struct {
// List of manifest files in the application directory used to deploy.
// Empty means all manifest files in the directory will be used.
Manifests []string `json:"manifests,omitempty"`
// Version of kubectl will be used.
KubectlVersion string `json:"kubectlVersion,omitempty"`
// The namespace where manifests will be applied.
Namespace string `json:"namespace,omitempty"`
// Automatically create a new namespace if it does not exist.
// Default is false.
AutoCreateNamespace bool `json:"autoCreateNamespace,omitempty"`
}
KubernetesDeploymentInput represents needed input for triggering a Kubernetes deployment.
type KubernetesVariantLabel ¶
type KubernetesVariantLabel struct {
// The key of the label.
// Default is pipecd.dev/variant.
Key string `json:"key" default:"pipecd.dev/variant"`
// The label value for PRIMARY variant.
// Default is primary.
PrimaryValue string `json:"primaryValue" default:"primary"`
// The label value for CANARY variant.
// Default is canary.
CanaryValue string `json:"canaryValue" default:"canary"`
// The label value for BASELINE variant.
// Default is baseline.
BaselineValue string `json:"baselineValue" default:"baseline"`
}
Click to show internal directories.
Click to hide internal directories.