Documentation
¶
Index ¶
- Constants
- func IsClusterUnReachableError(err error) bool
- func IsDaemonSetPodDeleteError(err error) bool
- func IsNodeNotFoundError(err error) bool
- type AppIdentifier
- type HelmAppService
- type HelmAppServiceImpl
- func (impl *HelmAppServiceImpl) CheckIfNsExistsForClusterIds(clusterIdToNsMap map[int]string) error
- func (impl *HelmAppServiceImpl) DecodeAppId(appId string) (*AppIdentifier, error)
- func (impl *HelmAppServiceImpl) DeleteApplication(ctx context.Context, app *AppIdentifier) (*openapi.UninstallReleaseResponse, error)
- func (impl *HelmAppServiceImpl) DeleteDBLinkedHelmApplication(ctx context.Context, appIdentifier *AppIdentifier, userId int32) (*openapi.UninstallReleaseResponse, error)
- func (impl *HelmAppServiceImpl) EncodeAppId(appIdentifier *AppIdentifier) string
- func (impl *HelmAppServiceImpl) GetApplicationAndReleaseStatus(ctx context.Context, app *AppIdentifier) (*gRPC.AppStatus, error)
- func (impl *HelmAppServiceImpl) GetApplicationDetail(ctx context.Context, app *AppIdentifier) (*gRPC.AppDetail, error)
- func (impl *HelmAppServiceImpl) GetApplicationDetailWithFilter(ctx context.Context, app *AppIdentifier, ...) (*gRPC.AppDetail, error)
- func (impl *HelmAppServiceImpl) GetClusterConf(clusterId int) (*gRPC.ClusterConfig, error)
- func (impl *HelmAppServiceImpl) GetDeploymentDetail(ctx context.Context, app *AppIdentifier, version int32) (*openapi.HelmAppDeploymentManifestDetail, error)
- func (impl *HelmAppServiceImpl) GetDeploymentHistory(ctx context.Context, app *AppIdentifier) (*gRPC.HelmAppDeploymentHistory, error)
- func (impl *HelmAppServiceImpl) GetDesiredManifest(ctx context.Context, app *AppIdentifier, resource *openapi.ResourceIdentifier) (*openapi.DesiredManifestResponse, error)
- func (impl *HelmAppServiceImpl) GetDevtronHelmAppIdentifier() *AppIdentifier
- func (impl *HelmAppServiceImpl) GetNotes(ctx context.Context, request *gRPC.InstallReleaseRequest) (string, error)
- func (impl *HelmAppServiceImpl) GetResourceTreeForExternalResources(ctx context.Context, clusterId int, clusterConfig *gRPC.ClusterConfig, ...) (*gRPC.ResourceTreeResponse, error)
- func (impl *HelmAppServiceImpl) GetRevisionHistoryMaxValue(appType bean.SourceAppType) int32
- func (impl *HelmAppServiceImpl) GetValuesYaml(ctx context.Context, app *AppIdentifier) (*gRPC.ReleaseInfo, error)
- func (impl *HelmAppServiceImpl) HibernateApplication(ctx context.Context, app *AppIdentifier, ...) ([]*openapi.HibernateStatus, error)
- func (impl *HelmAppServiceImpl) InstallRelease(ctx context.Context, clusterId int, ...) (*gRPC.InstallReleaseResponse, error)
- func (impl *HelmAppServiceImpl) IsReleaseInstalled(ctx context.Context, app *AppIdentifier) (bool, error)
- func (impl *HelmAppServiceImpl) ListHelmApplications(ctx context.Context, clusterIds []int, w http.ResponseWriter, token string, ...)
- func (impl *HelmAppServiceImpl) RollbackRelease(ctx context.Context, app *AppIdentifier, version int32) (bool, error)
- func (impl *HelmAppServiceImpl) TemplateChart(ctx context.Context, templateChartRequest *openapi2.TemplateChartRequest) (*openapi2.TemplateChartResponse, error)
- func (impl *HelmAppServiceImpl) UnHibernateApplication(ctx context.Context, app *AppIdentifier, ...) ([]*openapi.HibernateStatus, error)
- func (impl *HelmAppServiceImpl) UpdateApplication(ctx context.Context, app *AppIdentifier, ...) (*openapi.UpdateReleaseResponse, error)
- func (impl *HelmAppServiceImpl) UpdateApplicationWithChartInfo(ctx context.Context, clusterId int, ...) (*openapi.UpdateReleaseResponse, error)
- func (impl *HelmAppServiceImpl) UpdateApplicationWithChartInfoWithExtraValues(ctx context.Context, appIdentifier *AppIdentifier, ...) (*openapi.UpdateReleaseResponse, error)
- func (impl *HelmAppServiceImpl) ValidateOCIRegistry(ctx context.Context, OCIRegistryRequest *gRPC.RegistryCredential) bool
- type HelmReleaseConfig
Constants ¶
View Source
const ( DaemonSetPodDeleteError = "cannot delete DaemonSet-managed Pods" DnsLookupNoSuchHostError = "no such host" TimeoutError = "timeout" NotFound = "not found" ConnectionRefused = "connection refused" )
Variables ¶
This section is empty.
Functions ¶
func IsNodeNotFoundError ¶
Types ¶
type AppIdentifier ¶
type AppIdentifier struct { ClusterId int `json:"clusterId"` Namespace string `json:"namespace"` ReleaseName string `json:"releaseName"` }
func DecodeExternalAppAppId ¶ added in v0.7.0
func DecodeExternalAppAppId(appId string) (*AppIdentifier, error)
func (*AppIdentifier) GetUniqueAppIdentifierForGivenNamespaceAndCluster ¶ added in v0.7.0
func (r *AppIdentifier) GetUniqueAppIdentifierForGivenNamespaceAndCluster(namespace, clusterId string) string
func (*AppIdentifier) GetUniqueAppNameIdentifier ¶ added in v0.7.0
func (r *AppIdentifier) GetUniqueAppNameIdentifier() string
GetUniqueAppNameIdentifier returns unique app name identifier, we store all helm releases in kubelink cache with key as what is returned from this func, this is the case where an app across diff namespace or cluster can have same name, so to identify then uniquely below implementation would serve as good unique identifier for an external app.
type HelmAppService ¶
type HelmAppService interface { ListHelmApplications(ctx context.Context, clusterIds []int, w http.ResponseWriter, token string, helmAuth func(token string, object string) bool) GetApplicationDetail(ctx context.Context, app *AppIdentifier) (*gRPC.AppDetail, error) GetApplicationAndReleaseStatus(ctx context.Context, app *AppIdentifier) (*gRPC.AppStatus, error) GetApplicationDetailWithFilter(ctx context.Context, app *AppIdentifier, resourceTreeFilter *gRPC.ResourceTreeFilter) (*gRPC.AppDetail, error) HibernateApplication(ctx context.Context, app *AppIdentifier, hibernateRequest *openapi.HibernateRequest) ([]*openapi.HibernateStatus, error) UnHibernateApplication(ctx context.Context, app *AppIdentifier, hibernateRequest *openapi.HibernateRequest) ([]*openapi.HibernateStatus, error) DecodeAppId(appId string) (*AppIdentifier, error) EncodeAppId(appIdentifier *AppIdentifier) string GetDeploymentHistory(ctx context.Context, app *AppIdentifier) (*gRPC.HelmAppDeploymentHistory, error) GetValuesYaml(ctx context.Context, app *AppIdentifier) (*gRPC.ReleaseInfo, error) GetDesiredManifest(ctx context.Context, app *AppIdentifier, resource *openapi.ResourceIdentifier) (*openapi.DesiredManifestResponse, error) DeleteApplication(ctx context.Context, app *AppIdentifier) (*openapi.UninstallReleaseResponse, error) DeleteDBLinkedHelmApplication(ctx context.Context, appIdentifier *AppIdentifier, useId int32) (*openapi.UninstallReleaseResponse, error) // UpdateApplication is a wrapper over helmAppClient.UpdateApplication, sends update request to kubelink for external chart store apps UpdateApplication(ctx context.Context, app *AppIdentifier, request *bean.UpdateApplicationRequestDto) (*openapi.UpdateReleaseResponse, error) GetDeploymentDetail(ctx context.Context, app *AppIdentifier, version int32) (*openapi.HelmAppDeploymentManifestDetail, error) InstallRelease(ctx context.Context, clusterId int, installReleaseRequest *gRPC.InstallReleaseRequest) (*gRPC.InstallReleaseResponse, error) // UpdateApplicationWithChartInfo is a wrapper over helmAppClient.UpdateApplicationWithChartInfo sends update request to kubelink for helm chart store apps UpdateApplicationWithChartInfo(ctx context.Context, clusterId int, request *bean.UpdateApplicationWithChartInfoRequestDto) (*openapi.UpdateReleaseResponse, error) IsReleaseInstalled(ctx context.Context, app *AppIdentifier) (bool, error) RollbackRelease(ctx context.Context, app *AppIdentifier, version int32) (bool, error) GetClusterConf(clusterId int) (*gRPC.ClusterConfig, error) GetDevtronHelmAppIdentifier() *AppIdentifier UpdateApplicationWithChartInfoWithExtraValues(ctx context.Context, appIdentifier *AppIdentifier, chartRepository *gRPC.ChartRepository, extraValues map[string]interface{}, extraValuesYamlUrl string, useLatestChartVersion bool) (*openapi.UpdateReleaseResponse, error) TemplateChart(ctx context.Context, templateChartRequest *openapi2.TemplateChartRequest) (*openapi2.TemplateChartResponse, error) GetNotes(ctx context.Context, request *gRPC.InstallReleaseRequest) (string, error) ValidateOCIRegistry(ctx context.Context, OCIRegistryRequest *gRPC.RegistryCredential) bool GetRevisionHistoryMaxValue(appType bean.SourceAppType) int32 GetResourceTreeForExternalResources(ctx context.Context, clusterId int, clusterConfig *gRPC.ClusterConfig, resources []*gRPC.ExternalResourceDetail) (*gRPC.ResourceTreeResponse, error) CheckIfNsExistsForClusterIds(clusterIdToNsMap map[int]string) error }
type HelmAppServiceImpl ¶
type HelmAppServiceImpl struct { K8sUtil *k8s.K8sServiceImpl // contains filtered or unexported fields }
func NewHelmAppServiceImpl ¶
func NewHelmAppServiceImpl(Logger *zap.SugaredLogger, clusterService cluster.ClusterService, helmAppClient gRPC.HelmAppClient, pump connector.Pump, enforcerUtil rbac.EnforcerUtilHelm, serverDataStore *serverDataStore.ServerDataStore, serverEnvConfig *serverEnvConfig.ServerEnvConfig, appStoreApplicationVersionRepository appStoreDiscoverRepository.AppStoreApplicationVersionRepository, environmentService cluster.EnvironmentService, pipelineRepository pipelineConfig.PipelineRepository, installedAppRepository repository.InstalledAppRepository, appRepository app.AppRepository, clusterRepository clusterRepository.ClusterRepository, K8sUtil *k8s.K8sServiceImpl, helmReleaseConfig *HelmReleaseConfig) *HelmAppServiceImpl
func (*HelmAppServiceImpl) CheckIfNsExistsForClusterIds ¶ added in v0.7.0
func (impl *HelmAppServiceImpl) CheckIfNsExistsForClusterIds(clusterIdToNsMap map[int]string) error
func (*HelmAppServiceImpl) DecodeAppId ¶
func (impl *HelmAppServiceImpl) DecodeAppId(appId string) (*AppIdentifier, error)
func (*HelmAppServiceImpl) DeleteApplication ¶
func (impl *HelmAppServiceImpl) DeleteApplication(ctx context.Context, app *AppIdentifier) (*openapi.UninstallReleaseResponse, error)
func (*HelmAppServiceImpl) DeleteDBLinkedHelmApplication ¶
func (impl *HelmAppServiceImpl) DeleteDBLinkedHelmApplication(ctx context.Context, appIdentifier *AppIdentifier, userId int32) (*openapi.UninstallReleaseResponse, error)
func (*HelmAppServiceImpl) EncodeAppId ¶
func (impl *HelmAppServiceImpl) EncodeAppId(appIdentifier *AppIdentifier) string
func (*HelmAppServiceImpl) GetApplicationAndReleaseStatus ¶
func (impl *HelmAppServiceImpl) GetApplicationAndReleaseStatus(ctx context.Context, app *AppIdentifier) (*gRPC.AppStatus, error)
func (*HelmAppServiceImpl) GetApplicationDetail ¶
func (impl *HelmAppServiceImpl) GetApplicationDetail(ctx context.Context, app *AppIdentifier) (*gRPC.AppDetail, error)
func (*HelmAppServiceImpl) GetApplicationDetailWithFilter ¶
func (impl *HelmAppServiceImpl) GetApplicationDetailWithFilter(ctx context.Context, app *AppIdentifier, resourceTreeFilter *gRPC.ResourceTreeFilter) (*gRPC.AppDetail, error)
func (*HelmAppServiceImpl) GetClusterConf ¶
func (impl *HelmAppServiceImpl) GetClusterConf(clusterId int) (*gRPC.ClusterConfig, error)
func (*HelmAppServiceImpl) GetDeploymentDetail ¶
func (impl *HelmAppServiceImpl) GetDeploymentDetail(ctx context.Context, app *AppIdentifier, version int32) (*openapi.HelmAppDeploymentManifestDetail, error)
func (*HelmAppServiceImpl) GetDeploymentHistory ¶
func (impl *HelmAppServiceImpl) GetDeploymentHistory(ctx context.Context, app *AppIdentifier) (*gRPC.HelmAppDeploymentHistory, error)
func (*HelmAppServiceImpl) GetDesiredManifest ¶
func (impl *HelmAppServiceImpl) GetDesiredManifest(ctx context.Context, app *AppIdentifier, resource *openapi.ResourceIdentifier) (*openapi.DesiredManifestResponse, error)
func (*HelmAppServiceImpl) GetDevtronHelmAppIdentifier ¶
func (impl *HelmAppServiceImpl) GetDevtronHelmAppIdentifier() *AppIdentifier
func (*HelmAppServiceImpl) GetNotes ¶
func (impl *HelmAppServiceImpl) GetNotes(ctx context.Context, request *gRPC.InstallReleaseRequest) (string, error)
func (*HelmAppServiceImpl) GetResourceTreeForExternalResources ¶
func (impl *HelmAppServiceImpl) GetResourceTreeForExternalResources(ctx context.Context, clusterId int, clusterConfig *gRPC.ClusterConfig, resources []*gRPC.ExternalResourceDetail) (*gRPC.ResourceTreeResponse, error)
func (*HelmAppServiceImpl) GetRevisionHistoryMaxValue ¶
func (impl *HelmAppServiceImpl) GetRevisionHistoryMaxValue(appType bean.SourceAppType) int32
func (*HelmAppServiceImpl) GetValuesYaml ¶
func (impl *HelmAppServiceImpl) GetValuesYaml(ctx context.Context, app *AppIdentifier) (*gRPC.ReleaseInfo, error)
func (*HelmAppServiceImpl) HibernateApplication ¶
func (impl *HelmAppServiceImpl) HibernateApplication(ctx context.Context, app *AppIdentifier, hibernateRequest *openapi.HibernateRequest) ([]*openapi.HibernateStatus, error)
func (*HelmAppServiceImpl) InstallRelease ¶
func (impl *HelmAppServiceImpl) InstallRelease(ctx context.Context, clusterId int, installReleaseRequest *gRPC.InstallReleaseRequest) (*gRPC.InstallReleaseResponse, error)
func (*HelmAppServiceImpl) IsReleaseInstalled ¶
func (impl *HelmAppServiceImpl) IsReleaseInstalled(ctx context.Context, app *AppIdentifier) (bool, error)
func (*HelmAppServiceImpl) ListHelmApplications ¶
func (impl *HelmAppServiceImpl) ListHelmApplications(ctx context.Context, clusterIds []int, w http.ResponseWriter, token string, helmAuth func(token string, object string) bool)
func (*HelmAppServiceImpl) RollbackRelease ¶
func (impl *HelmAppServiceImpl) RollbackRelease(ctx context.Context, app *AppIdentifier, version int32) (bool, error)
func (*HelmAppServiceImpl) TemplateChart ¶
func (impl *HelmAppServiceImpl) TemplateChart(ctx context.Context, templateChartRequest *openapi2.TemplateChartRequest) (*openapi2.TemplateChartResponse, error)
func (*HelmAppServiceImpl) UnHibernateApplication ¶
func (impl *HelmAppServiceImpl) UnHibernateApplication(ctx context.Context, app *AppIdentifier, hibernateRequest *openapi.HibernateRequest) ([]*openapi.HibernateStatus, error)
func (*HelmAppServiceImpl) UpdateApplication ¶
func (impl *HelmAppServiceImpl) UpdateApplication(ctx context.Context, app *AppIdentifier, request *bean.UpdateApplicationRequestDto) (*openapi.UpdateReleaseResponse, error)
func (*HelmAppServiceImpl) UpdateApplicationWithChartInfo ¶
func (impl *HelmAppServiceImpl) UpdateApplicationWithChartInfo(ctx context.Context, clusterId int, request *bean.UpdateApplicationWithChartInfoRequestDto) (*openapi.UpdateReleaseResponse, error)
func (*HelmAppServiceImpl) UpdateApplicationWithChartInfoWithExtraValues ¶
func (impl *HelmAppServiceImpl) UpdateApplicationWithChartInfoWithExtraValues(ctx context.Context, appIdentifier *AppIdentifier, chartRepository *gRPC.ChartRepository, extraValues map[string]interface{}, extraValuesYamlUrl string, useLatestChartVersion bool) (*openapi.UpdateReleaseResponse, error)
func (*HelmAppServiceImpl) ValidateOCIRegistry ¶
func (impl *HelmAppServiceImpl) ValidateOCIRegistry(ctx context.Context, OCIRegistryRequest *gRPC.RegistryCredential) bool
type HelmReleaseConfig ¶
type HelmReleaseConfig struct { RevisionHistoryLimitDevtronApp int `env:"REVISION_HISTORY_LIMIT_DEVTRON_APP" envDefault:"1"` RevisionHistoryLimitHelmApp int `env:"REVISION_HISTORY_LIMIT_HELM_APP" envDefault:"1"` RevisionHistoryLimitExternalHelmApp int `env:"REVISION_HISTORY_LIMIT_EXTERNAL_HELM_APP" envDefault:"0"` }
func GetHelmReleaseConfig ¶
func GetHelmReleaseConfig() (*HelmReleaseConfig, error)
Click to show internal directories.
Click to hide internal directories.