Help us shape the future of Go! Take the 2026 Go Developer Survey

argocdServer

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Nov 11, 2024 License: Apache-2.0 Imports: 38 Imported by: 28

Documentation

Index

Constants

View Source
const (
	TimeoutSlow                 = 30 * time.Second
	ARGOCD_APPLICATION_TEMPLATE = "./scripts/argo-assets/APPLICATION_TEMPLATE.tmpl"
)
View Source
const DevtronInstalationNs = "devtroncd"
View Source
const (
	ErrorOperationAlreadyInProgress = "another operation is already in progress" // this string is returned from argocd
)

Variables

This section is empty.

Functions

This section is empty.

Types

type ACDConfig added in v0.6.28

type ACDConfig struct {
	ArgoCDAutoSyncEnabled     bool `env:"ARGO_AUTO_SYNC_ENABLED" envDefault:"true"` // will gradually switch this flag to false in enterprise
	RegisterRepoMaxRetryCount int  `env:"ARGO_REPO_REGISTER_RETRY_COUNT" envDefault:"3"`
	RegisterRepoMaxRetryDelay int  `env:"ARGO_REPO_REGISTER_RETRY_DELAY" envDefault:"10"`
}

func GetACDDeploymentConfig added in v0.6.28

func GetACDDeploymentConfig() (*ACDConfig, error)

func (*ACDConfig) IsAutoSyncEnabled added in v0.7.0

func (config *ACDConfig) IsAutoSyncEnabled() bool

func (*ACDConfig) IsManualSyncEnabled added in v0.7.0

func (config *ACDConfig) IsManualSyncEnabled() bool

type AppTemplate

type AppTemplate struct {
	ApplicationName string
	Namespace       string
	TargetNamespace string
	TargetServer    string
	Project         string
	ValuesFile      string
	RepoPath        string
	RepoUrl         string
	AutoSyncEnabled bool
}

type ArgoClientWrapperService added in v0.6.24

type ArgoClientWrapperService interface {

	// GetArgoAppWithNormalRefresh - refresh app at argocd side
	GetArgoAppWithNormalRefresh(context context.Context, argoAppName string) error

	// SyncArgoCDApplicationIfNeededAndRefresh - if ARGO_AUTO_SYNC_ENABLED=true, app will be refreshed to initiate refresh at argoCD side or else it will be synced and refreshed
	SyncArgoCDApplicationIfNeededAndRefresh(context context.Context, argoAppName string) error

	// UpdateArgoCDSyncModeIfNeeded - if ARGO_AUTO_SYNC_ENABLED=true and app is in manual sync mode or vice versa update app
	UpdateArgoCDSyncModeIfNeeded(ctx context.Context, argoApplication *v1alpha1.Application) (err error)

	// RegisterGitOpsRepoInArgoWithRetry - register a repository in argo-cd with retry mechanism
	RegisterGitOpsRepoInArgoWithRetry(ctx context.Context, gitOpsRepoUrl string, userId int32) error

	// GetArgoAppByName fetches an argoCd app by its name
	GetArgoAppByName(ctx context.Context, appName string) (*v1alpha1.Application, error)

	// PatchArgoCdApp performs a patch operation on an argoCd app
	PatchArgoCdApp(ctx context.Context, dto *bean.ArgoCdAppPatchReqDto) error

	// IsArgoAppPatchRequired decides weather the v1alpha1.ApplicationSource requires to be updated
	IsArgoAppPatchRequired(argoAppSpec *v1alpha1.ApplicationSource, currentGitRepoUrl, currentChartPath string) bool

	// GetGitOpsRepoName returns the GitOps repository name, configured for the argoCd app
	GetGitOpsRepoName(ctx context.Context, appName string) (gitOpsRepoName string, err error)

	GetGitOpsRepoURL(ctx context.Context, appName string) (gitOpsRepoURL string, err error)
}

type ArgoClientWrapperServiceImpl added in v0.6.24

type ArgoClientWrapperServiceImpl struct {
	ACDConfig *ACDConfig
	// contains filtered or unexported fields
}

func NewArgoClientWrapperServiceImpl added in v0.6.24

func NewArgoClientWrapperServiceImpl(logger *zap.SugaredLogger, acdClient application.ServiceClient,
	ACDConfig *ACDConfig, repositoryService repository.ServiceClient, gitOpsConfigReadService config.GitOpsConfigReadService,
	gitOperationService git.GitOperationService, asyncRunnable *async.Runnable) *ArgoClientWrapperServiceImpl

func (*ArgoClientWrapperServiceImpl) CreateRequestForArgoCDSyncModeUpdateRequest added in v0.6.28

func (impl *ArgoClientWrapperServiceImpl) CreateRequestForArgoCDSyncModeUpdateRequest(argoApplication *v1alpha1.Application) *v1alpha1.Application

func (*ArgoClientWrapperServiceImpl) GetArgoAppByName added in v0.6.29

func (impl *ArgoClientWrapperServiceImpl) GetArgoAppByName(ctx context.Context, appName string) (*v1alpha1.Application, error)

func (*ArgoClientWrapperServiceImpl) GetArgoAppWithNormalRefresh added in v0.6.24

func (impl *ArgoClientWrapperServiceImpl) GetArgoAppWithNormalRefresh(ctx context.Context, argoAppName string) error

func (*ArgoClientWrapperServiceImpl) GetGitOpsRepoName added in v0.6.29

func (impl *ArgoClientWrapperServiceImpl) GetGitOpsRepoName(ctx context.Context, appName string) (gitOpsRepoName string, err error)

func (*ArgoClientWrapperServiceImpl) GetGitOpsRepoURL added in v0.7.1

func (impl *ArgoClientWrapperServiceImpl) GetGitOpsRepoURL(ctx context.Context, appName string) (gitOpsRepoName string, err error)

func (*ArgoClientWrapperServiceImpl) IsArgoAppPatchRequired added in v0.7.0

func (impl *ArgoClientWrapperServiceImpl) IsArgoAppPatchRequired(argoAppSpec *v1alpha1.ApplicationSource, currentGitRepoUrl, currentChartPath string) bool

func (*ArgoClientWrapperServiceImpl) PatchArgoCdApp added in v0.6.29

func (*ArgoClientWrapperServiceImpl) RegisterGitOpsRepoInArgoWithRetry added in v0.6.29

func (impl *ArgoClientWrapperServiceImpl) RegisterGitOpsRepoInArgoWithRetry(ctx context.Context, gitOpsRepoUrl string, userId int32) error

func (*ArgoClientWrapperServiceImpl) SyncArgoCDApplicationIfNeededAndRefresh added in v0.6.28

func (impl *ArgoClientWrapperServiceImpl) SyncArgoCDApplicationIfNeededAndRefresh(ctx context.Context, argoAppName string) error

func (*ArgoClientWrapperServiceImpl) UpdateArgoCDSyncModeIfNeeded added in v0.6.28

func (impl *ArgoClientWrapperServiceImpl) UpdateArgoCDSyncModeIfNeeded(ctx context.Context, argoApplication *v1alpha1.Application) (err error)

type ArgoK8sClient

type ArgoK8sClient interface {
	CreateAcdApp(ctx context.Context, appRequest *AppTemplate, applicationTemplatePath string) (string, error)
	GetArgoApplication(namespace string, appName string, cluster *repository.Cluster) (map[string]interface{}, error)
}

type ArgoK8sClientImpl

type ArgoK8sClientImpl struct {
	// contains filtered or unexported fields
}

func NewArgoK8sClientImpl

func NewArgoK8sClientImpl(logger *zap.SugaredLogger,
	k8sUtil *k8s.K8sServiceImpl,
) *ArgoK8sClientImpl

func (ArgoK8sClientImpl) CreateAcdApp

func (impl ArgoK8sClientImpl) CreateAcdApp(ctx context.Context, appRequest *AppTemplate, applicationTemplatePath string) (string, error)

func (ArgoK8sClientImpl) CreateArgoApplication

func (impl ArgoK8sClientImpl) CreateArgoApplication(ctx context.Context, namespace string, application string, config *rest.Config) error

func (ArgoK8sClientImpl) GetArgoApplication added in v0.2.27

func (impl ArgoK8sClientImpl) GetArgoApplication(namespace string, appName string, cluster *repository.Cluster) (map[string]interface{}, error)

type VersionService

type VersionService interface {
	CheckVersion() (err error)
	GetVersion() (apiVersion string, err error)
}

type VersionServiceImpl

type VersionServiceImpl struct {
	// contains filtered or unexported fields
}

func NewVersionServiceImpl

func NewVersionServiceImpl(logger *zap.SugaredLogger, argoCDConnectionManager connection.ArgoCDConnectionManager) *VersionServiceImpl

func (VersionServiceImpl) CheckVersion

func (service VersionServiceImpl) CheckVersion() (err error)

func (VersionServiceImpl) GetVersion

func (service VersionServiceImpl) GetVersion() (apiVersion string, err error)

GetVersion deprecated

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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