v1alpha1

package
v0.1.63 Latest Latest
Warning

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

Go to latest
Published: Jul 19, 2024 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Overview

+k8s:deepcopy-gen=package,register +groupName=argoproj.io

Index

Constants

View Source
const (
	// GroupName is the Kubernetes API group our resources belong to.
	GroupName = "argoproj.io"
	// GroupVersion is the version of our custom resources.
	GroupVersion = "v1alpha1"
	// Group is group/version of our resources.
	Group = GroupName + "/" + GroupVersion

	// ApplicationKind is the API kind for an application.
	ApplicationKind = "Application"
	// ApplicationResource is the API endpoint for an application.
	ApplicationResource = "applications"
)

Variables

View Source
var (
	// SchemeGroupVersion defines the GV of our resources.
	//nolint:gochecknoglobals
	SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: GroupVersion}

	// SchemeBuilder creates a mapping between GVK and type.
	//nolint:gochecknoglobals
	SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion}

	// AddToScheme adds our GVK to resource mappings to an existing scheme.
	//nolint:gochecknoglobals
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

func Resource

func Resource(resource string) schema.GroupResource

Resource maps a resource type to a group resource.

Types

type Application

type Application struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              ApplicationSpec   `json:"spec"`
	Status            ApplicationStatus `json:"status,omitempty"`
}

Application is an abstraction around Argo applications, this is needed because the ArgoCD code base is a shambolic mess and you cannot import the types directly without a lot of messing about. +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*Application) DeepCopy

func (in *Application) DeepCopy() *Application

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Application.

func (*Application) DeepCopyInto

func (in *Application) DeepCopyInto(out *Application)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Application) DeepCopyObject

func (in *Application) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ApplicationDestination

type ApplicationDestination struct {
	// Name is the ArgoCD cluster to provision the application in.
	Name string `json:"name"`
	// Namespace is the namespace to provision the application in.
	Namespace string `json:"namespace"`
}

func (*ApplicationDestination) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationDestination.

func (*ApplicationDestination) DeepCopyInto

func (in *ApplicationDestination) DeepCopyInto(out *ApplicationDestination)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ApplicationHealth

type ApplicationHealth struct {
	// Status reports the health status.
	Status ApplicationHealthStatus `json:"status"`
}

func (*ApplicationHealth) DeepCopy

func (in *ApplicationHealth) DeepCopy() *ApplicationHealth

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationHealth.

func (*ApplicationHealth) DeepCopyInto

func (in *ApplicationHealth) DeepCopyInto(out *ApplicationHealth)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ApplicationHealthStatus

type ApplicationHealthStatus string
const (
	// Healthy is when the chart is synchronized and all resources have
	// got to a healthy status e.g. deployments scaled up etc.
	Healthy ApplicationHealthStatus = "Healthy"

	// Degraded is when things are osensibly working, but not fully healthy
	// yet.
	Degraded ApplicationHealthStatus = "Degraded"
)

type ApplicationIgnoreDifference

type ApplicationIgnoreDifference struct {
	// Group is the resource API group.
	Group string `json:"group"`
	// Kind is the resource kind.
	Kind string `json:"kind"`
	// JSONPointers is a list of JSON pointers to ignore in diffs.
	JSONPointers []string `json:"jsonPointers"`
}

func (*ApplicationIgnoreDifference) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationIgnoreDifference.

func (*ApplicationIgnoreDifference) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ApplicationList

type ApplicationList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Application `json:"items"`
}

ApplicationList is a typed list of projects. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*ApplicationList) DeepCopy

func (in *ApplicationList) DeepCopy() *ApplicationList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationList.

func (*ApplicationList) DeepCopyInto

func (in *ApplicationList) DeepCopyInto(out *ApplicationList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ApplicationList) DeepCopyObject

func (in *ApplicationList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ApplicationSource

type ApplicationSource struct {
	// RepoURL is either a helm repository URL or a URL to git source.
	//nolint:tagliatelle
	RepoURL string `json:"repoURL"`
	// Chart is specified when the repo is a helm repo to identify the
	// specific chart.
	Chart string `json:"chart,omitempty"`
	// Path is specified when the repo is git source and identifies the
	// path where the helm chart is located within the repo.
	Path string `json:"path,omitempty"`
	// TargetRevision identifies a helm chart version, or a git tag/branch.
	TargetRevision string `json:"targetRevision"`
	// Helm defines helm parameters.
	Helm *ApplicationSourceHelm `json:"helm,omitempty"`
}

func (*ApplicationSource) DeepCopy

func (in *ApplicationSource) DeepCopy() *ApplicationSource

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationSource.

func (*ApplicationSource) DeepCopyInto

func (in *ApplicationSource) DeepCopyInto(out *ApplicationSource)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ApplicationSourceHelm

type ApplicationSourceHelm struct {
	// ReleaseName sets the helm release, defaults to the application
	// name otherwise.
	ReleaseName string `json:"releaseName,omitempty"`
	// Values is a verbatim values file to pass to helm.
	Values string `json:"values,omitempty"`
	// Parameters are a set of key value pairs to pass to helm
	// via the --set flag.
	Parameters []HelmParameter `json:"parameters,omitempty"`
}

func (*ApplicationSourceHelm) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationSourceHelm.

func (*ApplicationSourceHelm) DeepCopyInto

func (in *ApplicationSourceHelm) DeepCopyInto(out *ApplicationSourceHelm)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ApplicationSpec

type ApplicationSpec struct {
	// Project is the ArgoCD project to provision in.
	Project string `json:"project"`
	// Source defines where to get the application configuration from.
	Source ApplicationSource `json:"source"`
	// Destination defines where to provision the application.
	Destination ApplicationDestination `json:"destination"`
	// SyncPolicy defines how to keep the application in sync.
	SyncPolicy ApplicationSyncPolicy `json:"syncPolicy"`
	// IgnoreDifferences ignores differences in resources when syncing.
	IgnoreDifferences []ApplicationIgnoreDifference `json:"ignoreDifferences,omitempty"`
}

ApplicationSpec defines project specific metadata.

func (*ApplicationSpec) DeepCopy

func (in *ApplicationSpec) DeepCopy() *ApplicationSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationSpec.

func (*ApplicationSpec) DeepCopyInto

func (in *ApplicationSpec) DeepCopyInto(out *ApplicationSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ApplicationStatus

type ApplicationStatus struct {
	// Health defines the application's health status.
	Health *ApplicationHealth `json:"health"`
	// Sync defines the application's synchronization status.
	Sync *ApplicationSync `json:"sync"`
}

ApplicationStatus defines the status of the project.

func (*ApplicationStatus) DeepCopy

func (in *ApplicationStatus) DeepCopy() *ApplicationStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationStatus.

func (*ApplicationStatus) DeepCopyInto

func (in *ApplicationStatus) DeepCopyInto(out *ApplicationStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ApplicationSync

type ApplicationSync struct {
	// Status reports te sync status.
	Status ApplicationSyncStatus `json:"status"`
}

func (*ApplicationSync) DeepCopy

func (in *ApplicationSync) DeepCopy() *ApplicationSync

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationSync.

func (*ApplicationSync) DeepCopyInto

func (in *ApplicationSync) DeepCopyInto(out *ApplicationSync)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ApplicationSyncAutomation

type ApplicationSyncAutomation struct {
	// SelfHeal enables self-healing.
	SelfHeal bool `json:"selfHeal,omitempty"`
	// Prune removes orphaned resources.
	Prune bool `json:"prune,omitempty"`
}

func (*ApplicationSyncAutomation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationSyncAutomation.

func (*ApplicationSyncAutomation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ApplicationSyncOption

type ApplicationSyncOption string
const (
	// CreateNamespace identifies that argo need to create the namespace
	// to successfully provision the application.
	CreateNamespace ApplicationSyncOption = "CreateNamespace=true"
	// ServerSideApply assumes ArgoCD is broken and messes up diffs whereas
	// letting Kubernetes do it is better.
	ServerSideApply ApplicationSyncOption = "ServerSideApply=true"
)

type ApplicationSyncPolicy

type ApplicationSyncPolicy struct {
	// SyncOptions define any synchronization options.
	SyncOptions []ApplicationSyncOption `json:"syncOptions"`
	// Automated, if set, allows periodic synchronization.
	Automated *ApplicationSyncAutomation `json:"automated,omitempty"`
}

func (*ApplicationSyncPolicy) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationSyncPolicy.

func (*ApplicationSyncPolicy) DeepCopyInto

func (in *ApplicationSyncPolicy) DeepCopyInto(out *ApplicationSyncPolicy)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ApplicationSyncStatus

type ApplicationSyncStatus string
const (
	// Synced is when the application has synchronized correctly, you must
	// check this as it's possible for the application to be healthy but
	// also not synced, which is broken.
	Synced ApplicationSyncStatus = "Synced"

	// Unknown means Argos not done anything yet.
	Unknown ApplicationSyncStatus = "Unknown"
)

type HelmParameter

type HelmParameter struct {
	// Name is a json path to a value to change.
	Name string `json:"name"`
	// Value is the value to set the parameter to.
	Value string `json:"value"`
}

func (*HelmParameter) DeepCopy

func (in *HelmParameter) DeepCopy() *HelmParameter

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HelmParameter.

func (*HelmParameter) DeepCopyInto

func (in *HelmParameter) DeepCopyInto(out *HelmParameter)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

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