Search in sources :

Example 1 with PasswordAuthenticatorManager

use of io.trino.server.security.PasswordAuthenticatorManager in project trino by trinodb.

the class Server method doStart.

private void doStart(String trinoVersion) {
    verifyJvmRequirements();
    verifySystemTimeIsReasonable();
    Logger log = Logger.get(Server.class);
    log.info("Java version: %s", StandardSystemProperty.JAVA_VERSION.value());
    ImmutableList.Builder<Module> modules = ImmutableList.builder();
    modules.add(new NodeModule(), new DiscoveryModule(), new HttpServerModule(), new JsonModule(), new JaxrsModule(), new MBeanModule(), new PrefixObjectNameGeneratorModule("io.trino"), new JmxModule(), new JmxHttpModule(), new LogJmxModule(), new TraceTokenModule(), new EventModule(), new JsonEventModule(), new ServerSecurityModule(), new AccessControlModule(), new EventListenerModule(), new ExchangeManagerModule(), new CoordinatorDiscoveryModule(), new ServerMainModule(trinoVersion), new GracefulShutdownModule(), new WarningCollectorModule());
    modules.addAll(getAdditionalModules());
    Bootstrap app = new Bootstrap(modules.build());
    try {
        Injector injector = app.initialize();
        log.info("Trino version: %s", injector.getInstance(NodeVersion.class).getVersion());
        logLocation(log, "Working directory", Paths.get("."));
        logLocation(log, "Etc directory", Paths.get("etc"));
        injector.getInstance(PluginManager.class).loadPlugins();
        injector.getInstance(StaticCatalogStore.class).loadCatalogs();
        // TODO: remove this huge hack
        updateConnectorIds(injector.getInstance(Announcer.class), injector.getInstance(CatalogManager.class));
        injector.getInstance(SessionPropertyDefaults.class).loadConfigurationManager();
        injector.getInstance(ResourceGroupManager.class).loadConfigurationManager();
        injector.getInstance(AccessControlManager.class).loadSystemAccessControl();
        injector.getInstance(optionalKey(PasswordAuthenticatorManager.class)).ifPresent(PasswordAuthenticatorManager::loadPasswordAuthenticator);
        injector.getInstance(EventListenerManager.class).loadEventListeners();
        injector.getInstance(GroupProviderManager.class).loadConfiguredGroupProvider();
        injector.getInstance(ExchangeManagerRegistry.class).loadExchangeManager();
        injector.getInstance(CertificateAuthenticatorManager.class).loadCertificateAuthenticator();
        injector.getInstance(optionalKey(HeaderAuthenticatorManager.class)).ifPresent(HeaderAuthenticatorManager::loadHeaderAuthenticator);
        injector.getInstance(Announcer.class).start();
        injector.getInstance(StartupStatus.class).startupComplete();
        log.info("======== SERVER STARTED ========");
    } catch (ApplicationConfigurationException e) {
        StringBuilder message = new StringBuilder();
        message.append("Configuration is invalid\n");
        message.append("==========\n");
        addMessages(message, "Errors", ImmutableList.copyOf(e.getErrors()));
        addMessages(message, "Warnings", ImmutableList.copyOf(e.getWarnings()));
        message.append("\n");
        message.append("==========");
        log.error("%s", message);
        System.exit(1);
    } catch (Throwable e) {
        log.error(e);
        System.exit(1);
    }
}
Also used : AccessControlManager(io.trino.security.AccessControlManager) MBeanModule(org.weakref.jmx.guice.MBeanModule) WarningCollectorModule(io.trino.execution.warnings.WarningCollectorModule) EventModule(io.airlift.event.client.EventModule) JsonEventModule(io.airlift.event.client.JsonEventModule) JmxModule(io.airlift.jmx.JmxModule) LogJmxModule(io.airlift.log.LogJmxModule) ImmutableList(com.google.common.collect.ImmutableList) DiscoveryModule(io.airlift.discovery.client.DiscoveryModule) JsonEventModule(io.airlift.event.client.JsonEventModule) PasswordAuthenticatorManager(io.trino.server.security.PasswordAuthenticatorManager) Logger(io.airlift.log.Logger) ExchangeManagerModule(io.trino.exchange.ExchangeManagerModule) Announcer(io.airlift.discovery.client.Announcer) ServerSecurityModule(io.trino.server.security.ServerSecurityModule) Injector(com.google.inject.Injector) Bootstrap(io.airlift.bootstrap.Bootstrap) GroupProviderManager(io.trino.security.GroupProviderManager) CertificateAuthenticatorManager(io.trino.server.security.CertificateAuthenticatorManager) EventListenerModule(io.trino.eventlistener.EventListenerModule) AccessControlModule(io.trino.security.AccessControlModule) StaticCatalogStore(io.trino.metadata.StaticCatalogStore) NodeModule(io.airlift.node.NodeModule) JaxrsModule(io.airlift.jaxrs.JaxrsModule) ResourceGroupManager(io.trino.execution.resourcegroups.ResourceGroupManager) LogJmxModule(io.airlift.log.LogJmxModule) JsonModule(io.airlift.json.JsonModule) EventListenerManager(io.trino.eventlistener.EventListenerManager) CatalogManager(io.trino.metadata.CatalogManager) ExchangeManagerRegistry(io.trino.exchange.ExchangeManagerRegistry) TraceTokenModule(io.airlift.tracetoken.TraceTokenModule) HttpServerModule(io.airlift.http.server.HttpServerModule) HeaderAuthenticatorManager(io.trino.server.security.HeaderAuthenticatorManager) Module(com.google.inject.Module) MBeanModule(org.weakref.jmx.guice.MBeanModule) JmxModule(io.airlift.jmx.JmxModule) ExchangeManagerModule(io.trino.exchange.ExchangeManagerModule) HttpServerModule(io.airlift.http.server.HttpServerModule) WarningCollectorModule(io.trino.execution.warnings.WarningCollectorModule) ServerSecurityModule(io.trino.server.security.ServerSecurityModule) TraceTokenModule(io.airlift.tracetoken.TraceTokenModule) AccessControlModule(io.trino.security.AccessControlModule) JaxrsModule(io.airlift.jaxrs.JaxrsModule) EventModule(io.airlift.event.client.EventModule) JmxHttpModule(io.airlift.jmx.JmxHttpModule) JsonEventModule(io.airlift.event.client.JsonEventModule) NodeModule(io.airlift.node.NodeModule) EventListenerModule(io.trino.eventlistener.EventListenerModule) DiscoveryModule(io.airlift.discovery.client.DiscoveryModule) LogJmxModule(io.airlift.log.LogJmxModule) JsonModule(io.airlift.json.JsonModule) JmxHttpModule(io.airlift.jmx.JmxHttpModule) ApplicationConfigurationException(io.airlift.bootstrap.ApplicationConfigurationException)

Aggregations

ImmutableList (com.google.common.collect.ImmutableList)1 Injector (com.google.inject.Injector)1 Module (com.google.inject.Module)1 ApplicationConfigurationException (io.airlift.bootstrap.ApplicationConfigurationException)1 Bootstrap (io.airlift.bootstrap.Bootstrap)1 Announcer (io.airlift.discovery.client.Announcer)1 DiscoveryModule (io.airlift.discovery.client.DiscoveryModule)1 EventModule (io.airlift.event.client.EventModule)1 JsonEventModule (io.airlift.event.client.JsonEventModule)1 HttpServerModule (io.airlift.http.server.HttpServerModule)1 JaxrsModule (io.airlift.jaxrs.JaxrsModule)1 JmxHttpModule (io.airlift.jmx.JmxHttpModule)1 JmxModule (io.airlift.jmx.JmxModule)1 JsonModule (io.airlift.json.JsonModule)1 LogJmxModule (io.airlift.log.LogJmxModule)1 Logger (io.airlift.log.Logger)1 NodeModule (io.airlift.node.NodeModule)1 TraceTokenModule (io.airlift.tracetoken.TraceTokenModule)1 EventListenerManager (io.trino.eventlistener.EventListenerManager)1 EventListenerModule (io.trino.eventlistener.EventListenerModule)1