Class 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.AccountAware
    A 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 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
      • objectMapper

        protected final com.fasterxml.jackson.databind.ObjectMapper objectMapper
      • agentIndex

        protected final int agentIndex
      • agentCount

        protected final int agentCount
      • providerName

        protected java.lang.String providerName
      • agentInterval

        protected final java.lang.Long agentInterval
    • 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.
      • loadData

        public com.netflix.spinnaker.cats.agent.CacheResult loadData​(com.netflix.spinnaker.cats.provider.ProviderCache providerCache)
        Specified by:
        loadData in interface com.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)
      • 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:
        getAgentType in interface com.netflix.spinnaker.cats.agent.Agent