Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Dependencies ¶
type Dependencies interface { // TODO: determine if we actually need to get the app, or if all the stuff we need the app for is done already on // the app controller side. GetProcessableAppProj(app *appv1.Application) (*appv1.AppProject, error) GetProcessableApps() (*appv1.ApplicationList, error) GetRepoObjs(app *appv1.Application, source appv1.ApplicationSource, revision string, project *appv1.AppProject) ([]*unstructured.Unstructured, *apiclient.ManifestResponse, error) GetWriteCredentials(ctx context.Context, repoURL string, project string) (*appv1.Repository, error) RequestAppRefresh(appName string) // TODO: only allow access to the hydrator status PersistAppHydratorStatus(orig *appv1.Application, newStatus *appv1.SourceHydratorStatus) AddHydrationQueueItem(key HydrationQueueKey) }
Dependencies is the interface for the dependencies of the Hydrator. It serves two purposes: 1) it prevents the hydrator from having direct access to the app controller, and 2) it allows for easy mocking of dependencies in tests. If you add something here, be sure that it is something the app controller needs to provide to the hydrator.
type HydrationQueueKey ¶
type Hydrator ¶
type Hydrator struct {
// contains filtered or unexported fields
}
func NewHydrator ¶
func NewHydrator(dependencies Dependencies, statusRefreshTimeout time.Duration, commitClientset commitclient.Clientset) *Hydrator
func (*Hydrator) ProcessAppHydrateQueueItem ¶
func (h *Hydrator) ProcessAppHydrateQueueItem(origApp *appv1.Application)
func (*Hydrator) ProcessHydrationQueueItem ¶
func (h *Hydrator) ProcessHydrationQueueItem(hydrationKey HydrationQueueKey) (processNext bool)
Click to show internal directories.
Click to hide internal directories.