Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Application ¶
type Application struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` Spec ApplicationSpec `json:"spec"` }
Application is a definition of an ArgoCD Application resource.
func ApplicationsFromPlay ¶
func ApplicationsFromPlay(play *config.Play, project string, namespace string, server string) ([]Application, error)
ApplicationFromPlay renders a a set of ArgoCD Application resources (see https://argoproj.github.io/argo-cd/operator-manual/declarative-setup/) for a given play. Each chart of the play results in a separate Application resource containing the details of the helm release (release name, chart name, repo of the chart, chart version, values).
The project parameter is the argocd project the application should belong to The namespace parameter is the namespace where ArgoCD is expection Application resources The server parameter is the server name(!) as configured in ArgoCD where ArgoCD should deploy the rendered resources
type ApplicationDestination ¶
type ApplicationDestination struct { // Namespace overrides the environment namespace value in the ksonnet app.yaml Namespace string `json:"namespace,omitempty"` // Name of the destination cluster which can be used instead of server (url) field Name string `json:"name,omitempty"` }
ApplicationDestination contains deployment destination information
type ApplicationSource ¶
type ApplicationSource struct { // RepoURL is the repository URL of the application manifests RepoURL string `json:"repoURL"` // TargetRevision defines the commit, tag, or branch in which to sync the application to. // If omitted, will sync to HEAD TargetRevision string `json:"targetRevision,omitempty"` // Helm holds helm specific options Helm *ApplicationSourceHelm `json:"helm,omitempty"` // Chart is a Helm chart name Chart string `json:"chart,omitempty"` }
ApplicationSource contains information about github repository, path within repository and target application environment.
type ApplicationSourceHelm ¶
type ApplicationSourceHelm struct { // ValuesFiles is a list of Helm value files to use when generating a template ValueFiles []string `json:"valueFiles,omitempty"` // Parameters are parameters to the helm template Parameters []HelmParameter `json:"parameters,omitempty"` // The Helm release name. If omitted it will use the application name ReleaseName string `json:"releaseName,omitempty"` // Values is Helm values, typically defined as a block Values string `json:"values,omitempty"` // FileParameters are file parameters to the helm template FileParameters []HelmFileParameter `json:"fileParameters,omitempty"` // Version is the Helm version to use for templating with Version string `json:"version,omitempty"` }
ApplicationSourceHelm holds helm specific options
type ApplicationSpec ¶
type ApplicationSpec struct { // Source is a reference to the location ksonnet application definition Source ApplicationSource `json:"source"` // Destination overrides the kubernetes server and namespace defined in the environment ksonnet app.yaml Destination ApplicationDestination `json:"destination"` // Project is a application project name. Empty name means that application belongs to 'default' project. Project string `json:"project"` // SyncPolicy controls when a sync will be performed SyncPolicy *SyncPolicy `json:"syncPolicy,omitempty"` // IgnoreDifferences controls resources fields which should be ignored during comparison IgnoreDifferences []ResourceIgnoreDifferences `json:"ignoreDifferences,omitempty"` // Infos contains a list of useful information (URLs, email addresses, and plain text) that relates to the application Info []Info `json:"info,omitempty"` // This limits this number of items kept in the apps revision history. // This should only be changed in exceptional circumstances. // Setting to zero will store no history. This will reduce storage used. // Increasing will increase the space used to store the history, so we do not recommend increasing it. // Default is 10. RevisionHistoryLimit *int64 `json:"revisionHistoryLimit,omitempty"` }
ApplicationSpec represents desired application state. Contains link to repository with application definition and additional parameters link definition revision.
type Backoff ¶
type Backoff struct { // Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. "2m", "1h") Duration string `json:"duration,omitempty"` // Factor is a factor to multiply the base duration after each failed retry Factor *int64 `json:"factor,omitempty"` // MaxDuration is the maximum amount of time allowed for the backoff strategy MaxDuration string `json:"maxDuration,omitempty"` }
Backoff is a backoff strategy to use within retryStrategy
type HelmFileParameter ¶
type HelmFileParameter struct { // Name is the name of the helm parameter Name string `json:"name,omitempty"` // Path is the path value for the helm parameter Path string `json:"path,omitempty"` }
HelmFileParameter is a file parameter to a helm template
type HelmParameter ¶
type HelmParameter struct { // Name is the name of the helm parameter Name string `json:"name,omitempty"` // Value is the value for the helm parameter Value string `json:"value,omitempty"` // ForceString determines whether to tell Helm to interpret booleans and numbers as strings ForceString bool `json:"forceString,omitempty"` }
HelmParameter is a parameter to a helm template
type ResourceIgnoreDifferences ¶
type ResourceIgnoreDifferences struct { Group string `json:"group,omitempty"` Kind string `json:"kind"` Name string `json:"name,omitempty"` Namespace string `json:"namespace,omitempty"` JSONPointers []string `json:"jsonPointers"` }
ResourceIgnoreDifferences contains resource filter and list of json paths which should be ignored during comparison with live state.
type RetryStrategy ¶
type SyncOptions ¶
type SyncOptions []string
type SyncPolicy ¶
type SyncPolicy struct { // Automated will keep an application synced to the target revision Automated *SyncPolicyAutomated `json:"automated,omitempty"` // Options allow you to specify whole app sync-options SyncOptions SyncOptions `json:"syncOptions,omitempty"` // Retry controls failed sync retry behavior Retry *RetryStrategy `json:"retry,omitempty"` }
SyncPolicy controls when a sync will be performed in response to updates in git
type SyncPolicyAutomated ¶
type SyncPolicyAutomated struct { // Prune will prune resources automatically as part of automated sync (default: false) Prune bool `json:"prune,omitempty"` // SelfHeal enables auto-syncing if (default: false) SelfHeal bool `json:"selfHeal,omitempty"` // AllowEmpty allows apps have zero live resources (default: false) AllowEmpty bool `json:"allowEmpty,omitempty"` }
SyncPolicyAutomated controls the behavior of an automated sync