Class KubernetesCachingAgent
- java.lang.Object
-
- com.netflix.spinnaker.clouddriver.kubernetes.caching.agent.KubernetesCachingAgent
-
- All Implemented Interfaces:
com.netflix.spinnaker.cats.agent.AccountAware,com.netflix.spinnaker.cats.agent.Agent,com.netflix.spinnaker.cats.agent.AgentIntervalAware,com.netflix.spinnaker.cats.agent.CachingAgent
- Direct Known Subclasses:
KubernetesCoreCachingAgent,KubernetesUnregisteredCustomResourceCachingAgent
public abstract class KubernetesCachingAgent extends java.lang.Object implements com.netflix.spinnaker.cats.agent.AgentIntervalAware, com.netflix.spinnaker.cats.agent.CachingAgent, com.netflix.spinnaker.cats.agent.AccountAwareA kubernetes caching agent is a class that caches part of the kubernetes infrastructure. Every instance of a caching agent is responsible for caching only one account, and only some (but not all) kubernetes kinds of that account.
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.StringaccountNameprotected intagentCountprotected intagentIndexprotected java.lang.LongagentIntervalprotected KubernetesConfigurationPropertiesconfigurationPropertiesprotected KubernetesCredentialscredentialsprotected KubectlJobExecutorjobExecutorprotected KubernetesSpinnakerKindMapkubernetesSpinnakerKindMapprotected com.fasterxml.jackson.databind.ObjectMapperobjectMapperprotected java.lang.StringproviderNameprotected com.netflix.spectator.api.Registryregistrystatic java.util.List<SpinnakerKind>SPINNAKER_UI_KINDS
-
Constructor Summary
Constructors Modifier Constructor Description protectedKubernetesCachingAgent(KubernetesNamedAccountCredentials namedAccountCredentials, com.fasterxml.jackson.databind.ObjectMapper objectMapper, com.netflix.spectator.api.Registry registry, int agentIndex, int agentCount, java.lang.Long agentInterval, KubernetesConfigurationProperties configurationProperties, KubernetesSpinnakerKindMap kubernetesSpinnakerKindMap, Front50ApplicationLoader front50ApplicationLoader)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected com.netflix.spinnaker.cats.agent.CacheResultbuildCacheResult(KubernetesManifest resource)protected com.netflix.spinnaker.cats.agent.CacheResultbuildCacheResult(java.util.Map<KubernetesKind,java.util.List<KubernetesManifest>> resources)protected java.util.Map<java.lang.String,java.lang.Object>defaultIntrospectionDetails()protected java.util.List<KubernetesKind>filteredPrimaryKinds()Filters the list of kinds returned from primaryKinds according to configuration.java.lang.StringgetAgentType()protected com.google.common.collect.ImmutableList<java.lang.String>getNamespaces()protected booleanhandleClusterScopedResources()Should this caching agent be responsible for caching cluster-scoped resources (ie, those that do not live in a particular namespace)?com.netflix.spinnaker.cats.agent.CacheResultloadData(com.netflix.spinnaker.cats.provider.ProviderCache providerCache)protected KubernetesManifestloadPrimaryResource(KubernetesCoordinates coordinates)protected KubernetesManifestloadPrimaryResource(KubernetesKind kind, java.lang.String namespace, java.lang.String name)Deprecated.protected java.util.Map<KubernetesKind,java.util.List<KubernetesManifest>>loadPrimaryResourceList()protected java.util.Map<KubernetesManifest,java.util.List<KubernetesManifest>>loadSecondaryResourceRelationships(java.util.Map<KubernetesKind,java.util.List<KubernetesManifest>> allResources)protected abstract java.util.List<KubernetesKind>primaryKinds()-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.netflix.spinnaker.cats.agent.Agent
getProviderName, handlesAccount
-
-
-
-
Field Detail
-
SPINNAKER_UI_KINDS
public static final java.util.List<SpinnakerKind> SPINNAKER_UI_KINDS
-
accountName
@Nonnull protected final java.lang.String accountName
-
registry
protected final com.netflix.spectator.api.Registry registry
-
credentials
protected final KubernetesCredentials credentials
-
objectMapper
protected final com.fasterxml.jackson.databind.ObjectMapper objectMapper
-
agentIndex
protected final int agentIndex
-
agentCount
protected final int agentCount
-
jobExecutor
protected KubectlJobExecutor jobExecutor
-
providerName
protected java.lang.String providerName
-
agentInterval
protected final java.lang.Long agentInterval
-
configurationProperties
protected final KubernetesConfigurationProperties configurationProperties
-
kubernetesSpinnakerKindMap
protected final KubernetesSpinnakerKindMap kubernetesSpinnakerKindMap
-
-
Constructor Detail
-
KubernetesCachingAgent
protected KubernetesCachingAgent(KubernetesNamedAccountCredentials namedAccountCredentials, com.fasterxml.jackson.databind.ObjectMapper objectMapper, com.netflix.spectator.api.Registry registry, int agentIndex, int agentCount, java.lang.Long agentInterval, KubernetesConfigurationProperties configurationProperties, KubernetesSpinnakerKindMap kubernetesSpinnakerKindMap, @Nullable Front50ApplicationLoader front50ApplicationLoader)
-
-
Method Detail
-
defaultIntrospectionDetails
protected java.util.Map<java.lang.String,java.lang.Object> defaultIntrospectionDetails()
-
primaryKinds
protected abstract java.util.List<KubernetesKind> primaryKinds()
-
filteredPrimaryKinds
protected java.util.List<KubernetesKind> filteredPrimaryKinds()
Filters the list of kinds returned from primaryKinds according to configuration.- Returns:
- filtered list of primaryKinds.
-
loadPrimaryResourceList
protected java.util.Map<KubernetesKind,java.util.List<KubernetesManifest>> loadPrimaryResourceList()
-
loadPrimaryResource
@Deprecated protected KubernetesManifest loadPrimaryResource(KubernetesKind kind, java.lang.String namespace, java.lang.String name)
Deprecated.Deprecated in favorloadPrimaryResource(KubernetesCoordinates).
-
loadPrimaryResource
protected KubernetesManifest loadPrimaryResource(KubernetesCoordinates coordinates)
-
loadData
public com.netflix.spinnaker.cats.agent.CacheResult loadData(com.netflix.spinnaker.cats.provider.ProviderCache providerCache)
- Specified by:
loadDatain interfacecom.netflix.spinnaker.cats.agent.CachingAgent
-
buildCacheResult
protected com.netflix.spinnaker.cats.agent.CacheResult buildCacheResult(KubernetesManifest resource)
-
buildCacheResult
protected com.netflix.spinnaker.cats.agent.CacheResult buildCacheResult(java.util.Map<KubernetesKind,java.util.List<KubernetesManifest>> resources)
-
loadSecondaryResourceRelationships
protected java.util.Map<KubernetesManifest,java.util.List<KubernetesManifest>> loadSecondaryResourceRelationships(java.util.Map<KubernetesKind,java.util.List<KubernetesManifest>> allResources)
-
getNamespaces
protected com.google.common.collect.ImmutableList<java.lang.String> getNamespaces()
-
handleClusterScopedResources
protected boolean handleClusterScopedResources()
Should this caching agent be responsible for caching cluster-scoped resources (ie, those that do not live in a particular namespace)?
-
getAgentType
public java.lang.String getAgentType()
- Specified by:
getAgentTypein interfacecom.netflix.spinnaker.cats.agent.Agent
-
-