Documentation ¶
Index ¶
- Constants
- func ContainsSyncResource(name string, gvk schema.GroupVersionKind, rr []argoappv1.SyncOperationResource) bool
- func FilterByProjects(apps []argoappv1.Application, projects []string) []argoappv1.Application
- func FormatAppConditions(conditions []argoappv1.ApplicationCondition) string
- func GetAppProject(spec *argoappv1.ApplicationSpec, projLister applicationsv1.AppProjectLister, ...) (*argoappv1.AppProject, error)
- func GetRepoCreds(repo *argoappv1.Repository) git.Creds
- func NewDiffNormalizer(ignore []v1alpha1.ResourceIgnoreDifferences, ...) (diff.Normalizer, error)
- func NormalizeApplicationSpec(spec *argoappv1.ApplicationSpec, sourceType argoappv1.ApplicationSourceType) *argoappv1.ApplicationSpec
- func RefreshApp(appIf v1alpha1.ApplicationInterface, name string, ...) (*argoappv1.Application, error)
- func SetAppOperation(appIf v1alpha1.ApplicationInterface, appName string, op *argoappv1.Operation) (*argoappv1.Application, error)
- func ValidatePermissions(ctx context.Context, spec *argoappv1.ApplicationSpec, ...) ([]argoappv1.ApplicationCondition, error)
- func ValidateRepo(ctx context.Context, spec *argoappv1.ApplicationSpec, ...) ([]argoappv1.ApplicationCondition, argoappv1.ApplicationSourceType, error)
- func WaitForRefresh(ctx context.Context, appIf v1alpha1.ApplicationInterface, name string, ...) (*argoappv1.Application, error)
- type AuditLogger
- type EventInfo
Constants ¶
const ( EventReasonStatusRefreshed = "StatusRefreshed" EventReasonResourceCreated = "ResourceCreated" EventReasonResourceUpdated = "ResourceUpdated" EventReasonResourceDeleted = "ResourceDeleted" EventReasonOperationStarted = "OperationStarted" EventReasonOperationCompleted = "OperationCompleted" )
Variables ¶
This section is empty.
Functions ¶
func ContainsSyncResource ¶
func ContainsSyncResource(name string, gvk schema.GroupVersionKind, rr []argoappv1.SyncOperationResource) bool
ContainsSyncResource determines if the given resource exists in the provided slice of sync operation resources.
func FilterByProjects ¶
func FilterByProjects(apps []argoappv1.Application, projects []string) []argoappv1.Application
FilterByProjects returns applications which belongs to the specified project
func FormatAppConditions ¶
func FormatAppConditions(conditions []argoappv1.ApplicationCondition) string
FormatAppConditions returns string representation of give app condition list
func GetAppProject ¶
func GetAppProject(spec *argoappv1.ApplicationSpec, projLister applicationsv1.AppProjectLister, ns string) (*argoappv1.AppProject, error)
GetAppProject returns a project from an application
func GetRepoCreds ¶ added in v1.2.0
func GetRepoCreds(repo *argoappv1.Repository) git.Creds
TODO: Figure out the correct way to distinguish between SSH and HTTPS repos
func NewDiffNormalizer ¶
func NewDiffNormalizer(ignore []v1alpha1.ResourceIgnoreDifferences, overrides map[string]v1alpha1.ResourceOverride) (diff.Normalizer, error)
NewDiffNormalizer creates diff normalizer which removes ignored fields according to given application spec and resource overrides
func NormalizeApplicationSpec ¶
func NormalizeApplicationSpec(spec *argoappv1.ApplicationSpec, sourceType argoappv1.ApplicationSourceType) *argoappv1.ApplicationSpec
NormalizeApplicationSpec will normalize an application spec to a preferred state. This is used for migrating application objects which are using deprecated legacy fields into the new fields, and defaulting fields in the spec (e.g. spec.project)
func RefreshApp ¶
func RefreshApp(appIf v1alpha1.ApplicationInterface, name string, refreshType argoappv1.RefreshType) (*argoappv1.Application, error)
RefreshApp updates the refresh annotation of an application to coerce the controller to process it
func SetAppOperation ¶
func SetAppOperation(appIf v1alpha1.ApplicationInterface, appName string, op *argoappv1.Operation) (*argoappv1.Application, error)
SetAppOperation updates an application with the specified operation, retrying conflict errors
func ValidatePermissions ¶
func ValidatePermissions(ctx context.Context, spec *argoappv1.ApplicationSpec, proj *argoappv1.AppProject, db db.ArgoDB) ([]argoappv1.ApplicationCondition, error)
ValidatePermissions ensures that the referenced cluster has been added to Argo CD and the app source repo and destination namespace/cluster are permitted in app project
func ValidateRepo ¶
func ValidateRepo(ctx context.Context, spec *argoappv1.ApplicationSpec, repoClientset apiclient.Clientset, db db.ArgoDB, kustomizeOptions *argoappv1.KustomizeOptions) ([]argoappv1.ApplicationCondition, argoappv1.ApplicationSourceType, error)
ValidateRepo validates the repository specified in application spec. Following is checked: * the git repository is accessible * the git path contains valid manifests * there are parameters of only one app source type * ksonnet: the specified environment exists
func WaitForRefresh ¶
func WaitForRefresh(ctx context.Context, appIf v1alpha1.ApplicationInterface, name string, timeout *time.Duration) (*argoappv1.Application, error)
WaitForRefresh watches an application until its comparison timestamp is after the refresh timestamp If refresh timestamp is not present, will use current timestamp at time of call
Types ¶
type AuditLogger ¶
type AuditLogger struct {
// contains filtered or unexported fields
}
func NewAuditLogger ¶
func NewAuditLogger(ns string, kIf kubernetes.Interface, component string) *AuditLogger
func (*AuditLogger) LogAppEvent ¶
func (l *AuditLogger) LogAppEvent(app *v1alpha1.Application, info EventInfo, message string)
func (*AuditLogger) LogAppProjEvent ¶
func (l *AuditLogger) LogAppProjEvent(proj *v1alpha1.AppProject, info EventInfo, message string)