summaryrefslogtreecommitdiffstats
path: root/configserver/src/main/java/com/yahoo/vespa/config/server/GlobalComponentRegistry.java
blob: 49a61eb8dee5d94393c09ba4832e37971ff5d779 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.config.server;

import com.yahoo.cloud.config.ConfigserverConfig;
import com.yahoo.concurrent.StripedExecutor;
import com.yahoo.config.model.api.ConfigDefinitionRepo;
import com.yahoo.config.provision.Provisioner;
import com.yahoo.config.provision.TenantName;
import com.yahoo.config.provision.Zone;
import com.yahoo.container.jdisc.secretstore.SecretStore;
import com.yahoo.vespa.config.server.application.PermanentApplicationPackage;
import com.yahoo.vespa.config.server.host.HostRegistry;
import com.yahoo.vespa.config.server.modelfactory.ModelFactoryRegistry;
import com.yahoo.vespa.config.server.monitoring.Metrics;
import com.yahoo.vespa.config.server.session.SessionPreparer;
import com.yahoo.vespa.config.server.tenant.TenantListener;
import com.yahoo.vespa.config.server.zookeeper.ConfigCurator;
import com.yahoo.vespa.curator.Curator;
import com.yahoo.vespa.flags.FlagSource;

import java.time.Clock;
import java.util.Optional;
import java.util.concurrent.ExecutorService;

/**
 * Interface representing all global config server components used within the config server.
 *
 * @author Ulf Lilleengen
 */
public interface GlobalComponentRegistry {

    Curator getCurator();
    ConfigCurator getConfigCurator();
    Metrics getMetrics();
    SessionPreparer getSessionPreparer();
    ConfigserverConfig getConfigserverConfig();
    TenantListener getTenantListener();
    ReloadListener getReloadListener();
    ConfigDefinitionRepo getStaticConfigDefinitionRepo();
    PermanentApplicationPackage getPermanentApplicationPackage();
    ModelFactoryRegistry getModelFactoryRegistry();
    Optional<Provisioner> getHostProvisioner();
    Zone getZone();
    Clock getClock();
    ConfigServerDB getConfigServerDB();
    StripedExecutor<TenantName> getZkWatcherExecutor();
    FlagSource getFlagSource();
    ExecutorService getZkCacheExecutor();
    SecretStore getSecretStore();
}