Package io.cryostat.agent
Class MainModule
- java.lang.Object
-
- io.cryostat.agent.MainModule
-
@Module(includes={RemoteModule.class,HarvestModule.class,TriggerModule.class,ConfigModule.class}) public abstract class MainModule extends Object
-
-
Constructor Summary
Constructors Constructor Description MainModule()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static CallbackResolverprovideCallbackResolver(org.projectnessie.cel.tools.ScriptHost scriptHost, List<ConfigModule.CallbackCandidate> candidates)static SSLContextprovideClientSslContext(String clientTlsVersion, boolean trustAll, Optional<String> truststorePath, Optional<ConfigModule.BytePass> truststorePass, String passCharset, String truststoreType, List<TruststoreConfig> truststoreCerts, Optional<String> clientAuthCertPath, String clientAuthCertType, String clientAuthCertAlias, Optional<String> clientAuthKeyPath, String clientAuthKeyType, String clientAuthKeyCharset, String clientAuthKeyEncoding, String clientAuthKeystoreType, Optional<String> clientAuthKeystorePass, Optional<String> clientAuthKeystorePassFile, String clientAuthKeystorePassFileCharset, Optional<String> clientAuthKeyPass, Optional<String> clientAuthKeyPassFile, String clientAuthKeyPassFileCharset, String clientAuthKeyManagerType, URI baseUri, boolean tlsRequired)static CryostatClientprovideCryostatClient(ScheduledExecutorService executor, com.fasterxml.jackson.databind.ObjectMapper objectMapper, org.apache.http.client.HttpClient http, Supplier<Optional<String>> authorizationSupplier, String instanceId, String jvmId, String appName, URI baseUri, String realm)static ScheduledExecutorServiceprovideExecutor(AtomicInteger threadId)static FlightRecorderHelperprovideFlightRecorderHelper()static org.apache.http.client.HttpClientprovideHttpClient(AuthorizationType authorizationType, SSLContext sslContext, boolean verifyHostname, int connectTimeout, int responseTimeout, int retryCount, boolean tlsRequired)static HttpServerprovideHttpServer(ScheduledExecutorService executor, String host, int port, Optional<SSLContext> sslContext)static StringprovideJvmId()static com.fasterxml.jackson.databind.ObjectMapperprovideObjectMapper()static RegistrationprovideRegistration(ScheduledExecutorService executor, CryostatClient cryostat, CallbackResolver callbackResolver, io.cryostat.agent.WebServer webServer, String instanceId, String jvmId, String appName, String realm, String hostname, int jmxPort, int registrationRetryMs, int registrationCheckMs, boolean registrationJmxIgnore, boolean registrationJmxUseCallbackHost)static org.projectnessie.cel.tools.ScriptHostprovideScriptHost()static Optional<SSLContext>provideServerSslContext(String serverTlsVersion, Optional<String> keyStorePassFile, String passFileCharset, Optional<String> keyStoreFilePath, String keyAlias, Optional<String> keyFilePath, Optional<String> keyPass, Optional<String> keyPassFile, String keyPassCharset, Optional<String> keyPath, String keyEncoding, String keyCharset, String keyType, String keyStoreType, String certAlias, Optional<String> certFilePath, String certType)static AtomicIntegerprovideThreadId()static io.cryostat.agent.WebServerprovideWebServer(dagger.Lazy<Set<RemoteContext>> remoteContexts, dagger.Lazy<CryostatClient> cryostat, HttpServer http, MessageDigest digest, String user, int passLength, dagger.Lazy<Registration> registration)
-
-
-
Method Detail
-
provideThreadId
@Provides @Singleton public static AtomicInteger provideThreadId()
-
provideExecutor
@Provides @Singleton public static ScheduledExecutorService provideExecutor(AtomicInteger threadId)
-
provideScriptHost
@Provides @Singleton public static org.projectnessie.cel.tools.ScriptHost provideScriptHost()
-
provideWebServer
@Provides @Singleton public static io.cryostat.agent.WebServer provideWebServer(dagger.Lazy<Set<RemoteContext>> remoteContexts, dagger.Lazy<CryostatClient> cryostat, HttpServer http, @Named("cryostat.agent.webserver.credentials.pass.hash-function") MessageDigest digest, @Named("cryostat.agent.webserver.credentials.user") String user, @Named("cryostat.agent.webserver.credentials.pass.length") int passLength, dagger.Lazy<Registration> registration)
-
provideClientSslContext
@Provides @Singleton @Named("HTTP_CLIENT_SSL_CTX") public static SSLContext provideClientSslContext(@Named("cryostat.agent.webclient.tls.version") String clientTlsVersion, @Named("cryostat.agent.webclient.tls.trust-all") boolean trustAll, @Named("cryostat.agent.webclient.tls.truststore.path") Optional<String> truststorePath, @Named("cryostat.agent.webclient.tls.truststore.pass") Optional<ConfigModule.BytePass> truststorePass, @Named("cryostat.agent.webclient.tls.truststore.pass-charset") String passCharset, @Named("cryostat.agent.webclient.tls.truststore.type") String truststoreType, @Named("cryostat.agent.webclient.tls.truststore.cert") List<TruststoreConfig> truststoreCerts, @Named("cryostat.agent.webclient.tls.client-auth.cert.path") Optional<String> clientAuthCertPath, @Named("cryostat.agent.webclient.tls.client-auth.cert.type") String clientAuthCertType, @Named("cryostat.agent.webclient.tls.client-auth.cert.alias") String clientAuthCertAlias, @Named("cryostat.agent.webclient.tls.client-auth.key.path") Optional<String> clientAuthKeyPath, @Named("cryostat.agent.webclient.tls.client-auth.key.type") String clientAuthKeyType, @Named("cryostat.agent.webclient.tls.client-auth.key.charset") String clientAuthKeyCharset, @Named("cryostat.agent.webclient.tls.client-auth.key.encoding") String clientAuthKeyEncoding, @Named("cryostat.agent.webclient.tls.client-auth.keystore.type") String clientAuthKeystoreType, @Named("cryostat.agent.webclient.tls.client-auth.keystore.pass") Optional<String> clientAuthKeystorePass, @Named("cryostat.agent.webclient.tls.client-auth.keystore.pass.file") Optional<String> clientAuthKeystorePassFile, @Named("cryostat.agent.webclient.tls.client-auth.keystore.pass-charset") String clientAuthKeystorePassFileCharset, @Named("cryostat.agent.webclient.tls.client-auth.key.pass") Optional<String> clientAuthKeyPass, @Named("cryostat.agent.webclient.tls.client-auth.key.pass.file") Optional<String> clientAuthKeyPassFile, @Named("cryostat.agent.webclient.tls.client-auth.key.pass-charset") String clientAuthKeyPassFileCharset, @Named("cryostat.agent.webclient.tls.client-auth.key-manager.type") String clientAuthKeyManagerType, @Named("cryostat.agent.baseuri") URI baseUri, @Named("cryostat.agent.webclient.tls.required") boolean tlsRequired)
-
provideServerSslContext
@Provides @Singleton @Named("HTTP_SERVER_SSL_CTX") public static Optional<SSLContext> provideServerSslContext(@Named("cryostat.agent.webserver.tls.version") String serverTlsVersion, @Named("cryostat.agent.webserver.tls.keystore.pass") Optional<String> keyStorePassFile, @Named("cryostat.agent.webserver.tls.keystore.pass-charset") String passFileCharset, @Named("cryostat.agent.webserver.tls.keystore.file") Optional<String> keyStoreFilePath, @Named("cryostat.agent.webserver.tls.key.alias") String keyAlias, @Named("cryostat.agent.webserver.tls.key.path") Optional<String> keyFilePath, @Named("cryostat.agent.webserver.tls.key.pass") Optional<String> keyPass, @Named("cryostat.agent.webserver.tls.key.pass.file") Optional<String> keyPassFile, @Named("cryostat.agent.webserver.tls.key.pass-charset") String keyPassCharset, @Named("cryostat.agent.webserver.tls.key.path") Optional<String> keyPath, @Named("cryostat.agent.webserver.tls.key.encoding") String keyEncoding, @Named("cryostat.agent.webserver.tls.key.charset") String keyCharset, @Named("cryostat.agent.webserver.tls.key.type") String keyType, @Named("cryostat.agent.webserver.tls.keystore.type") String keyStoreType, @Named("cryostat.agent.webserver.tls.cert.alias") String certAlias, @Named("cryostat.agent.webserver.tls.cert.file") Optional<String> certFilePath, @Named("cryostat.agent.webserver.tls.cert.type") String certType)
-
provideHttpClient
@Provides @Singleton public static org.apache.http.client.HttpClient provideHttpClient(AuthorizationType authorizationType, @Named("HTTP_CLIENT_SSL_CTX") SSLContext sslContext, @Named("cryostat.agent.webclient.tls.verify-hostname") boolean verifyHostname, @Named("cryostat.agent.webclient.connect.timeout-ms") int connectTimeout, @Named("cryostat.agent.webclient.response.timeout-ms") int responseTimeout, @Named("cryostat.agent.webclient.response.retry-count") int retryCount, @Named("cryostat.agent.webclient.tls.required") boolean tlsRequired)
-
provideHttpServer
@Provides @Singleton public static HttpServer provideHttpServer(ScheduledExecutorService executor, @Named("cryostat.agent.webserver.host") String host, @Named("cryostat.agent.webserver.port") int port, @Named("HTTP_SERVER_SSL_CTX") Optional<SSLContext> sslContext)
-
provideObjectMapper
@Provides public static com.fasterxml.jackson.databind.ObjectMapper provideObjectMapper()
-
provideCryostatClient
@Provides @Singleton public static CryostatClient provideCryostatClient(ScheduledExecutorService executor, com.fasterxml.jackson.databind.ObjectMapper objectMapper, org.apache.http.client.HttpClient http, @Named("cryostat.agent.authorization") Supplier<Optional<String>> authorizationSupplier, @Named("cryostat.agent.instance-id") String instanceId, @Named("JVM_ID") String jvmId, @Named("cryostat.agent.app.name") String appName, @Named("cryostat.agent.baseuri") URI baseUri, @Named("cryostat.agent.realm") String realm)
-
provideCallbackResolver
@Provides @Singleton public static CallbackResolver provideCallbackResolver(org.projectnessie.cel.tools.ScriptHost scriptHost, @Named("cryostat-agent-callback-candidates") List<ConfigModule.CallbackCandidate> candidates)
-
provideRegistration
@Provides @Singleton public static Registration provideRegistration(ScheduledExecutorService executor, CryostatClient cryostat, CallbackResolver callbackResolver, io.cryostat.agent.WebServer webServer, @Named("cryostat.agent.instance-id") String instanceId, @Named("JVM_ID") String jvmId, @Named("cryostat.agent.app.name") String appName, @Named("cryostat.agent.realm") String realm, @Named("cryostat.agent.hostname") String hostname, @Named("cryostat.agent.app.jmx.port") int jmxPort, @Named("cryostat.agent.registration.retry-ms") int registrationRetryMs, @Named("cryostat.agent.registration.check-ms") int registrationCheckMs, @Named("cryostat.agent.registration.jmx.ignore") boolean registrationJmxIgnore, @Named("cryostat.agent.registration.jmx.use-callback-host") boolean registrationJmxUseCallbackHost)
-
provideFlightRecorderHelper
@Provides @Singleton public static FlightRecorderHelper provideFlightRecorderHelper()
-
provideJvmId
@Provides @Singleton @Named("JVM_ID") public static String provideJvmId()
-
-