Skip to content

Commit

Permalink
wip
Browse files Browse the repository at this point in the history
  • Loading branch information
alexymantha committed Aug 12, 2023
1 parent f046889 commit f9fd9d4
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 20 deletions.
28 changes: 14 additions & 14 deletions controller/cache/cache.go
Original file line number Diff line number Diff line change
Expand Up @@ -105,19 +105,19 @@ func init() {

type LiveStateCache interface {
// Returns k8s server version
GetVersionsInfo(clusterId v1alpha1.ClusterIdentifier) (string, []kube.APIResourceInfo, error)
GetVersionsInfo(clusterId *appv1.ClusterIdentifier) (string, []kube.APIResourceInfo, error)
// Returns true of given group kind is a namespaced resource
IsNamespaced(clusterId v1alpha1.ClusterIdentifier, gk schema.GroupKind) (bool, error)
IsNamespaced(clusterId *appv1.ClusterIdentifier, gk schema.GroupKind) (bool, error)
// Returns synced cluster cache
GetClusterCache(clusterId v1alpha1.ClusterIdentifier) (clustercache.ClusterCache, error)
GetClusterCache(clusterId *appv1.ClusterIdentifier) (clustercache.ClusterCache, error)
// Executes give callback against resource specified by the key and all its children
IterateHierarchy(clusterId v1alpha1.ClusterIdentifier, key kube.ResourceKey, action func(child appv1.ResourceNode, appName string) bool) error
IterateHierarchy(clusterId *appv1.ClusterIdentifier, key kube.ResourceKey, action func(child appv1.ResourceNode, appName string) bool) error
// Returns state of live nodes which correspond for target nodes of specified application.
GetManagedLiveObjs(a *appv1.Application, targetObjs []*unstructured.Unstructured) (map[kube.ResourceKey]*unstructured.Unstructured, error)
// IterateResources iterates all resource stored in cache
IterateResources(clusterId v1alpha1.ClusterIdentifier, callback func(res *clustercache.Resource, info *ResourceInfo)) error
IterateResources(clusterId *appv1.ClusterIdentifier, callback func(res *clustercache.Resource, info *ResourceInfo)) error
// Returns all top level resources (resources without owner references) of a specified namespace
GetNamespaceTopLevelResources(clusterId v1alpha1.ClusterIdentifier, namespace string) (map[kube.ResourceKey]appv1.ResourceNode, error)
GetNamespaceTopLevelResources(clusterId *appv1.ClusterIdentifier, namespace string) (map[kube.ResourceKey]appv1.ResourceNode, error)
// Starts watching resources of each controlled cluster.
Run(ctx context.Context) error
// Returns information about monitored clusters
Expand Down Expand Up @@ -402,7 +402,7 @@ func isTransientNetworkErr(err error) bool {
return false
}

func (c *liveStateCache) getCluster(clusterId v1alpha1.ClusterIdentifier) (clustercache.ClusterCache, error) {
func (c *liveStateCache) getCluster(clusterId *appv1.ClusterIdentifier) (clustercache.ClusterCache, error) {
c.lock.RLock()
clusterCache, ok := c.clusters[clusterId.GetKey()]
cacheSettings := c.cacheSettings
Expand Down Expand Up @@ -547,7 +547,7 @@ func (c *liveStateCache) getCluster(clusterId v1alpha1.ClusterIdentifier) (clust
return clusterCache, nil
}

func (c *liveStateCache) getSyncedCluster(clusterId v1alpha1.ClusterIdentifier) (clustercache.ClusterCache, error) {
func (c *liveStateCache) getSyncedCluster(clusterId *appv1.ClusterIdentifier) (clustercache.ClusterCache, error) {
clusterCache, err := c.getCluster(clusterId)
if err != nil {
return nil, fmt.Errorf("error getting cluster: %w", err)
Expand All @@ -572,15 +572,15 @@ func (c *liveStateCache) invalidate(cacheSettings cacheSettings) {
log.Info("live state cache invalidated")
}

func (c *liveStateCache) IsNamespaced(clusterId v1alpha1.ClusterIdentifier, gk schema.GroupKind) (bool, error) {
func (c *liveStateCache) IsNamespaced(clusterId *appv1.ClusterIdentifier, gk schema.GroupKind) (bool, error) {
clusterInfo, err := c.getSyncedCluster(clusterId)
if err != nil {
return false, err
}
return clusterInfo.IsNamespaced(gk)
}

func (c *liveStateCache) IterateHierarchy(clusterId v1alpha1.ClusterIdentifier, key kube.ResourceKey, action func(child appv1.ResourceNode, appName string) bool) error {
func (c *liveStateCache) IterateHierarchy(clusterId *appv1.ClusterIdentifier, key kube.ResourceKey, action func(child appv1.ResourceNode, appName string) bool) error {
clusterInfo, err := c.getSyncedCluster(clusterId)
if err != nil {
return err
Expand All @@ -591,7 +591,7 @@ func (c *liveStateCache) IterateHierarchy(clusterId v1alpha1.ClusterIdentifier,
return nil
}

func (c *liveStateCache) IterateResources(clusterId v1alpha1.ClusterIdentifier, callback func(res *clustercache.Resource, info *ResourceInfo)) error {
func (c *liveStateCache) IterateResources(clusterId *appv1.ClusterIdentifier, callback func(res *clustercache.Resource, info *ResourceInfo)) error {
clusterInfo, err := c.getSyncedCluster(clusterId)
if err != nil {
return err
Expand All @@ -605,7 +605,7 @@ func (c *liveStateCache) IterateResources(clusterId v1alpha1.ClusterIdentifier,
return nil
}

func (c *liveStateCache) GetNamespaceTopLevelResources(clusterId v1alpha1.ClusterIdentifier, namespace string) (map[kube.ResourceKey]appv1.ResourceNode, error) {
func (c *liveStateCache) GetNamespaceTopLevelResources(clusterId *appv1.ClusterIdentifier, namespace string) (map[kube.ResourceKey]appv1.ResourceNode, error) {
clusterInfo, err := c.getSyncedCluster(clusterId)
if err != nil {
return nil, err
Expand All @@ -628,7 +628,7 @@ func (c *liveStateCache) GetManagedLiveObjs(a *appv1.Application, targetObjs []*
})
}

func (c *liveStateCache) GetVersionsInfo(clusterId v1alpha1.ClusterIdentifier) (string, []kube.APIResourceInfo, error) {
func (c *liveStateCache) GetVersionsInfo(clusterId *appv1.ClusterIdentifier) (string, []kube.APIResourceInfo, error) {
clusterInfo, err := c.getSyncedCluster(clusterId)
if err != nil {
return "", nil, fmt.Errorf("failed to get cluster info for %q: %w", clusterId.GetKey(), err)
Expand Down Expand Up @@ -804,6 +804,6 @@ func (c *liveStateCache) GetClustersInfo() []clustercache.ClusterInfo {
return res
}

func (c *liveStateCache) GetClusterCache(clusterId v1alpha1.ClusterIdentifier) (clustercache.ClusterCache, error) {
func (c *liveStateCache) GetClusterCache(clusterId *appv1.ClusterIdentifier) (clustercache.ClusterCache, error) {
return c.getSyncedCluster(clusterId)
}
4 changes: 2 additions & 2 deletions controller/sync.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,15 +40,15 @@ const (
EnvVarSyncWaveDelay = "ARGOCD_SYNC_WAVE_DELAY"
)

func (m *appStateManager) getOpenAPISchema(clusterId v1alpha1.ClusterIdentifier) (openapi.Resources, error) {
func (m *appStateManager) getOpenAPISchema(clusterId *appv1.ClusterIdentifier) (openapi.Resources, error) {
cluster, err := m.liveStateCache.GetClusterCache(clusterId)
if err != nil {
return nil, err
}
return cluster.GetOpenAPISchema(), nil
}

func (m *appStateManager) getGVKParser(clusterId v1alpha1.ClusterIdentifier) (*managedfields.GvkParser, error) {
func (m *appStateManager) getGVKParser(clusterId *appv1.ClusterIdentifier) (*managedfields.GvkParser, error) {
cluster, err := m.liveStateCache.GetClusterCache(clusterId)
if err != nil {
return nil, err
Expand Down
4 changes: 2 additions & 2 deletions util/db/cluster.go
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,7 @@ func (db *db) WatchClusters(ctx context.Context,
return err
}

func (db *db) getClusterSecret(clusterId v1alpha1.ClusterIdentifier) (*apiv1.Secret, error) {
func (db *db) getClusterSecret(clusterId *appv1.ClusterIdentifier) (*apiv1.Secret, error) {
clusterSecrets, err := db.listSecretsByType(common.LabelValueSecretTypeCluster)
if err != nil {
return nil, err
Expand All @@ -210,7 +210,7 @@ func (db *db) getClusterSecret(clusterId v1alpha1.ClusterIdentifier) (*apiv1.Sec
}

// GetCluster returns a cluster from a query
func (db *db) GetCluster(_ context.Context, clusterId v1alpha1.ClusterIdentifier) (*appv1.Cluster, error) {
func (db *db) GetCluster(_ context.Context, clusterId *appv1.ClusterIdentifier) (*appv1.Cluster, error) {
informer, err := db.settingsMgr.GetSecretsInformer()
if err != nil {
return nil, err
Expand Down
4 changes: 2 additions & 2 deletions util/db/db.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,15 +29,15 @@ type ArgoDB interface {
handleModEvent func(oldCluster *appv1.Cluster, newCluster *appv1.Cluster),
handleDeleteEvent func(clusterServer string)) error
// GetCluster returns a cluster by given server url
GetCluster(ctx context.Context, clusterId v1alpha1.ClusterIdentifier) (*appv1.Cluster, error)
GetCluster(ctx context.Context, clusterId *appv1.ClusterIdentifier) (*appv1.Cluster, error)
// GetClusterServersByName returns a cluster server urls by given cluster name
GetClusterServersByName(ctx context.Context, name string) ([]string, error)
// GetProjectClusters return project scoped clusters by given project name
GetProjectClusters(ctx context.Context, project string) ([]*appv1.Cluster, error)
// UpdateCluster updates a cluster
UpdateCluster(ctx context.Context, c *appv1.Cluster) (*appv1.Cluster, error)
// DeleteCluster deletes a cluster by name
DeleteCluster(ctx context.Context, clusterId v1alpha1.ClusterIdentifier) error
DeleteCluster(ctx context.Context, clusterId *appv1.ClusterIdentifier) error

// ListRepositories lists repositories
ListRepositories(ctx context.Context) ([]*appv1.Repository, error)
Expand Down

0 comments on commit f9fd9d4

Please sign in to comment.