
co.cask.cdap.common.conf.Constants Maven / Gradle / Ivy
/*
* Copyright © 2014-2016 Cask Data, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package co.cask.cdap.common.conf;
import java.util.concurrent.TimeUnit;
/**
* Constants used by different systems are all defined here.
*/
public final class Constants {
public static final String[] FEATURE_TOGGLE_PROPS = {
Security.SSL_ENABLED,
Security.ENABLED,
Explore.EXPLORE_ENABLED,
};
public static final String[] PORT_PROPS = {
Router.ROUTER_PORT,
Router.ROUTER_SSL_PORT,
Dashboard.BIND_PORT,
Dashboard.SSL_BIND_PORT,
Security.AUTH_SERVER_BIND_PORT,
Security.AuthenticationServer.SSL_PORT,
};
public static final String ARCHIVE_DIR = "archive";
public static final String ROOT_NAMESPACE = "root.namespace";
public static final String COLLECT_CONTAINER_LOGS = "master.collect.containers.log";
public static final String COLLECT_APP_CONTAINER_LOG_LEVEL = "master.collect.app.containers.log.level";
public static final String HTTP_CLIENT_TIMEOUT_MS = "http.client.connection.timeout.ms";
/** Uniquely identifies a CDAP instance */
public static final String INSTANCE_NAME = "instance.name";
// Environment variable name for spark home
public static final String SPARK_HOME = "SPARK_HOME";
// Environment variable for TEZ home
public static final String TEZ_HOME = "TEZ_HOME";
/**
* Configuration for Master startup.
*/
public static final class Startup {
public static final String CHECKS_ENABLED = "master.startup.checks.enabled";
public static final String CHECK_PACKAGES = "master.startup.checks.packages";
public static final String CHECK_CLASSES = "master.startup.checks.classes";
public static final String YARN_CONNECT_TIMEOUT_SECONDS = "master.startup.checks.yarn.connect.timeout.seconds";
public static final String STARTUP_SERVICE_TIMEOUT = "master.startup.service.timeout.seconds";
}
/**
* Global Service names.
*/
public static final class Service {
public static final String ACL = "acl";
public static final String APP_FABRIC_HTTP = "appfabric";
public static final String TRANSACTION = "transaction";
public static final String METRICS = "metrics";
public static final String LOGSAVER = "log.saver";
public static final String GATEWAY = "gateway";
public static final String STREAMS = "streams";
public static final String MASTER_SERVICES = "master.services";
public static final String METRICS_PROCESSOR = "metrics.processor";
public static final String DATASET_MANAGER = "dataset.service";
public static final String DATASET_EXECUTOR = "dataset.executor";
public static final String EXTERNAL_AUTHENTICATION = "external.authentication";
public static final String EXPLORE_HTTP_USER_SERVICE = "explore.service";
public static final String SERVICE_INSTANCE_TABLE_NAME = "cdap.services.instances";
/** Scheduler queue name to submit the master service app. */
public static final String SCHEDULER_QUEUE = "master.services.scheduler.queue";
public static final String METADATA_SERVICE = "metadata.service";
}
/**
* ZooKeeper Configuration.
*/
public static final class Zookeeper {
public static final String QUORUM = "zookeeper.quorum";
public static final String CFG_SESSION_TIMEOUT_MILLIS = "zookeeper.session.timeout.millis";
public static final int DEFAULT_SESSION_TIMEOUT_MILLIS = 40000;
}
/**
* HBase configurations.
*/
public static final class HBase {
public static final String AUTH_KEY_UPDATE_INTERVAL = "hbase.auth.key.update.interval";
}
/**
* Dangerous Options.
*/
public static final class Dangerous {
public static final String UNRECOVERABLE_RESET = "enable.unrecoverable.reset";
public static final boolean DEFAULT_UNRECOVERABLE_RESET = false;
}
/**
* App Fabric Configuration.
*/
public static final class AppFabric {
/**
* App Fabric Server.
*/
public static final String SERVER_ADDRESS = "app.bind.address";
public static final String OUTPUT_DIR = "app.output.dir";
public static final String TEMP_DIR = "app.temp.dir";
public static final String REST_PORT = "app.rest.port";
public static final String PROGRAM_JVM_OPTS = "app.program.jvm.opts";
public static final String BACKLOG_CONNECTIONS = "app.connection.backlog";
public static final String EXEC_THREADS = "app.exec.threads";
public static final String BOSS_THREADS = "app.boss.threads";
public static final String WORKER_THREADS = "app.worker.threads";
public static final String APP_SCHEDULER_QUEUE = "apps.scheduler.queue";
public static final String MAPREDUCE_JOB_CLIENT_CONNECT_MAX_RETRIES = "mapreduce.jobclient.connect.max.retries";
public static final String MAPREDUCE_INCLUDE_CUSTOM_CLASSES = "mapreduce.include.custom.format.classes";
public static final String PROGRAM_RUNID_CORRECTOR_INTERVAL_SECONDS = "app.program.runid.corrector.interval";
public static final String SYSTEM_ARTIFACTS_DIR = "app.artifact.dir";
public static final String PROGRAM_EXTRA_CLASSPATH = "app.program.extra.classpath";
public static final String SPARK_YARN_CLIENT_REWRITE = "app.program.spark.yarn.client.rewrite.enabled";
public static final String RUNTIME_EXT_DIR = "app.program.runtime.extensions.dir";
/**
* Guice named bindings.
*/
public static final String HANDLERS_BINDING = "appfabric.http.handler";
/**
* Defaults.
*/
public static final int DEFAULT_BACKLOG = 20000;
public static final int DEFAULT_EXEC_THREADS = 20;
public static final int DEFAULT_BOSS_THREADS = 1;
public static final int DEFAULT_WORKER_THREADS = 10;
/**
* Query parameter to indicate start time.
*/
public static final String QUERY_PARAM_START_TIME = "start";
/**
* Query parameter to indicate status of a program {active, completed, failed}
*/
public static final String QUERY_PARAM_STATUS = "status";
/**
* Query parameter to indicate end time.
*/
public static final String QUERY_PARAM_END_TIME = "end";
/**
* Query parameter to indicate limits on results.
*/
public static final String QUERY_PARAM_LIMIT = "limit";
public static final String SERVICE_DESCRIPTION = "Service for managing application lifecycle.";
/**
* Configuration setting to set the maximum size of a workflow token in MB
*/
public static final String WORKFLOW_TOKEN_MAX_SIZE_MB = "workflow.token.max.size.mb";
/**
* Name of the property used to identify whether the dataset is local or not.
*/
public static final String WORKFLOW_LOCAL_DATASET_PROPERTY = "workflow.local.dataset";
}
/**
* Scheduler options.
*/
public class Scheduler {
public static final String CFG_SCHEDULER_MAX_THREAD_POOL_SIZE = "scheduler.max.thread.pool.size";
}
/**
* Application metadata store.
*/
public static final class AppMetaStore {
public static final String TABLE = "app.meta";
}
/**
* Plugin Artifacts constants.
*/
public static final class Plugin {
// Key to be used in hConf to store location of the plugin artifact jar
public static final String ARCHIVE = "cdap.program.plugin.archive";
}
/**
* Configuration Store.
*/
public static final class ConfigStore {
public static final String CONFIG_TABLE = "config.store.table";
public static final Byte VERSION = 0;
}
/**
* Transactions.
*/
public static final class Transaction {
/**
* Twill Runnable configuration.
*/
public static final class Container {
// TODO: This is duplicated from TxConstants. Needs to be removed.
public static final String ADDRESS = "data.tx.bind.address";
public static final String NUM_INSTANCES = "data.tx.num.instances";
public static final String NUM_CORES = "data.tx.num.cores";
public static final String MEMORY_MB = "data.tx.memory.mb";
public static final String MAX_INSTANCES = "data.tx.max.instances";
}
public static final String SERVICE_DESCRIPTION = "Service that maintains transaction states.";
}
/**
* Datasets.
*/
public static final class Dataset {
public static final String TABLE_PREFIX = "dataset.table.prefix";
// Table dataset property that defines whether table is transactional or not.
// Currently it is hidden from user as only supported for specially treated Metrics System's HBase
// tables. Constant could be moved to Table after that is changed. See CDAP-1193 for more info
public static final String TABLE_TX_DISABLED = "dataset.table.tx.disabled";
public static final String DATA_DIR = "dataset.data.dir";
public static final String DEFAULT_DATA_DIR = "data";
public static final String DATASET_UNCHECKED_UPGRADE = "dataset.unchecked.upgrade";
/**
* Constants for PartitionedFileSet's DynamicPartitioner
*/
public static final class Partitioned {
public static final String HCONF_ATTR_OUTPUT_DATASET = "output.dataset.name";
public static final String HCONF_ATTR_OUTPUT_FORMAT_CLASS_NAME = "output.format.class.name";
}
/**
* DatasetManager service configuration.
*/
public static final class Manager {
/** for the address (hostname) of the dataset server. */
public static final String ADDRESS = "dataset.service.bind.address";
public static final String BACKLOG_CONNECTIONS = "dataset.service.connection.backlog";
public static final String EXEC_THREADS = "dataset.service.exec.threads";
public static final String BOSS_THREADS = "dataset.service.boss.threads";
public static final String WORKER_THREADS = "dataset.service.worker.threads";
public static final String OUTPUT_DIR = "dataset.service.output.dir";
// Defaults
public static final int DEFAULT_BACKLOG = 20000;
public static final int DEFAULT_EXEC_THREADS = 10;
public static final int DEFAULT_BOSS_THREADS = 1;
public static final int DEFAULT_WORKER_THREADS = 4;
}
/**
* DatasetUserService configuration.
*/
public static final class Executor {
/** for the port of the dataset user service server. */
public static final String PORT = "dataset.executor.bind.port";
/** for the address (hostname) of the dataset server. */
public static final String ADDRESS = "dataset.executor.bind.address";
public static final String EXEC_THREADS = "dataset.executor.exec.threads";
public static final String WORKER_THREADS = "dataset.executor.worker.threads";
public static final String OUTPUT_DIR = "dataset.executor.output.dir";
/** Twill Runnable configuration **/
public static final String CONTAINER_VIRTUAL_CORES = "dataset.executor.container.num.cores";
public static final String CONTAINER_MEMORY_MB = "dataset.executor.container.memory.mb";
public static final String CONTAINER_INSTANCES = "dataset.executor.container.instances";
//max-instances of dataset executor service
public static final String MAX_INSTANCES = "dataset.executor.max.instances";
public static final String SERVICE_DESCRIPTION = "Service to perform dataset operations.";
}
/**
* Dataset extensions.
*/
public static final class Extensions {
public static final String DIR = "dataset.extensions.dir";
public static final String MODULES = "dataset.extensions.modules";
/** Over-rides for default table bindings- use with caution! **/
public static final String DISTMODE_TABLE = "dataset.extensions.distributed.mode.table";
public static final String STREAM_CONSUMER_FACTORY = "stream.extension.consumer.factory";
public static final String DISTMODE_METRICS_TABLE = "dataset.extensions.distributed.mode.metrics.table";
public static final String DISTMODE_QUEUE_TABLE = "dataset.extensions.distributed.mode.queue.table";
}
}
/**
* Stream configurations and constants.
*/
public static final class Stream {
/* Begin CConfiguration keys */
public static final String BASE_DIR = "stream.base.dir";
public static final String TTL = "stream.event.ttl";
public static final String PARTITION_DURATION = "stream.partition.duration";
public static final String INDEX_INTERVAL = "stream.index.interval";
public static final String FILE_PREFIX = "stream.file.prefix";
public static final String INSTANCE_FILE_PREFIX = "stream.instance.file.prefix";
public static final String CONSUMER_TABLE_PRESPLITS = "stream.consumer.table.presplits";
public static final String FILE_CLEANUP_PERIOD = "stream.file.cleanup.period";
public static final String BATCH_BUFFER_THRESHOLD = "stream.batch.buffer.threshold";
public static final String NOTIFICATION_THRESHOLD = "stream.notification.threshold";
// Stream http service configurations.
public static final String STREAM_HANDLER = "stream.handler";
public static final String ADDRESS = "stream.bind.address";
public static final String WORKER_THREADS = "stream.worker.threads";
public static final String ASYNC_WORKER_THREADS = "stream.async.worker.threads";
public static final String ASYNC_QUEUE_SIZE = "stream.async.queue.size";
// YARN container configurations.
public static final String CONTAINER_VIRTUAL_CORES = "stream.container.num.cores";
public static final String CONTAINER_MEMORY_MB = "stream.container.memory.mb";
public static final String CONTAINER_INSTANCES = "stream.container.instances";
// Tell the instance id of the YARN container. Set by the StreamHandlerRunnable only, not in default.xml
public static final String CONTAINER_INSTANCE_ID = "stream.container.instance.id";
/* End CConfiguration keys */
/* Begin constants used by stream */
/** How often to check for new file when reading from stream in milliseconds. **/
public static final long NEW_FILE_CHECK_INTERVAL = TimeUnit.SECONDS.toMillis(10);
public static final int HBASE_WRITE_BUFFER_SIZE = 4 * 1024 * 1024;
public static final String URL_PREFIX = "stream://";
public static final String DESCRIPTION = "stream.description";
public static final String FORMAT_SPECIFICATION = "stream.format.specification";
/**
* Contains HTTP headers used by Stream handler.
*/
public static final class Headers {
public static final String SCHEMA = "schema";
public static final String SCHEMA_HASH = "schema.hash";
}
// max instances of stream handler service
public static final String MAX_INSTANCES = "stream.container.instances";
public static final String SERVICE_DESCRIPTION = "Service that handles stream data ingestion.";
/* End constants used by stream */
// Period in seconds between two heartbeats in a stream service
public static final int HEARTBEAT_INTERVAL = 2;
// ZooKeeper namespace in which to keep the coordination metadata
public static final String STREAM_ZK_COORDINATION_NAMESPACE = String.format("/%s/coordination", Service.STREAMS);
/**
* Stream view constants.
*/
public static final class View {
public static final String STORE_TABLE = "explore.stream.view.table";
}
}
/**
* Gateway Configurations.
*/
public static final class Gateway {
/**
* v3 API.
*/
public static final String API_VERSION_3_TOKEN = "v3";
public static final String API_VERSION_3 = "/" + API_VERSION_3_TOKEN;
public static final String STREAM_HANDLER_NAME = "stream_rest";
public static final String METRICS_CONTEXT = "gateway";
public static final String API_KEY = "X-ApiKey";
}
/**
* Router Configuration.
*/
public static final class Router {
public static final String ADDRESS = "router.bind.address";
public static final String ROUTER_PORT = "router.bind.port";
public static final String WEBAPP_PORT = "router.webapp.bind.port";
public static final String WEBAPP_ENABLED = "router.webapp.enabled";
public static final String ROUTER_SSL_PORT = "router.ssl.bind.port";
public static final String WEBAPP_SSL_PORT = "router.ssl.webapp.bind.port";
public static final String BACKLOG_CONNECTIONS = "router.connection.backlog";
public static final String SERVER_BOSS_THREADS = "router.server.boss.threads";
public static final String SERVER_WORKER_THREADS = "router.server.worker.threads";
public static final String CLIENT_BOSS_THREADS = "router.client.boss.threads";
public static final String CLIENT_WORKER_THREADS = "router.client.worker.threads";
public static final String CONNECTION_TIMEOUT_SECS = "router.connection.idle.timeout.secs";
/**
* Defaults.
*/
public static final String DEFAULT_ROUTER_PORT = "10000";
public static final String GATEWAY_DISCOVERY_NAME = Service.GATEWAY;
public static final String WEBAPP_DISCOVERY_NAME = "webapp/$HOST";
}
/**
* Webapp Configuration.
*/
public static final class Webapp {
public static final String WEBAPP_DIR = "webapp";
}
/**
* Metrics constants.
*/
public static final class Metrics {
public static final String ADDRESS = "metrics.bind.address";
public static final String CLUSTER_NAME = "metrics.cluster.name";
public static final String CONFIG_AUTHENTICATION_REQUIRED = "metrics.authenticate";
public static final String BACKLOG_CONNECTIONS = "metrics.connection.backlog";
public static final String EXEC_THREADS = "metrics.exec.threads";
public static final String BOSS_THREADS = "metrics.boss.threads";
public static final String WORKER_THREADS = "metrics.worker.threads";
public static final String NUM_INSTANCES = "metrics.num.instances";
public static final String NUM_CORES = "metrics.num.cores";
public static final String MEMORY_MB = "metrics.memory.mb";
public static final String MAX_INSTANCES = "metrics.max.instances";
public static final String SERVICE_DESCRIPTION = "Service to handle metrics requests.";
public static final String ENTITY_TABLE_NAME = "metrics.data.entity.tableName";
public static final String METRICS_TABLE_PREFIX = "metrics.data.table.prefix";
public static final String TIME_SERIES_TABLE_ROLL_TIME = "metrics.data.table.ts.rollTime";
// Key prefix for retention seconds. The actual key is suffixed by the table resolution.
public static final String RETENTION_SECONDS = "metrics.data.table.retention.resolution";
public static final String SERVER_ADDRESS = "metrics.query.bind.address";
public static final String SERVER_PORT = "metrics.query.bind.port";
public static final String KAFKA_TOPIC_PREFIX = "metrics.kafka.topic.prefix";
public static final String KAFKA_PARTITION_SIZE = "metrics.kafka.partition.size";
public static final String KAFKA_CONSUMER_PERSIST_THRESHOLD = "metrics.kafka.consumer.persist.threshold";
public static final String KAFKA_META_TABLE = "metrics.kafka.meta.table";
public static final String DEFAULT_KAFKA_META_TABLE = "metrics.kafka.meta";
public static final String DEFAULT_KAFKA_TOPIC_PREFIX = "metrics";
// NOTE: "v2" to avoid conflict with data of older metrics system
public static final String DEFAULT_ENTITY_TABLE_NAME = "metrics.v2.entity";
public static final String DEFAULT_METRIC_TABLE_PREFIX = "metrics.v2.table";
public static final int DEFAULT_TIME_SERIES_TABLE_ROLL_TIME = 3600;
public static final long DEFAULT_RETENTION_HOURS = 2;
public static final int DEFAULT_KAFKA_CONSUMER_PERSIST_THRESHOLD = 100;
public static final int DEFAULT_KAFKA_PARTITION_SIZE = 1;
/**
* Metric's dataset related constants.
*/
public static final class Dataset {
/** Defines reporting interval for HBase stats, in seconds */
public static final String HBASE_STATS_REPORT_INTERVAL = "metrics.dataset.hbase.stats.report.interval";
/** Defines reporting interval for LevelDB stats, in seconds */
public static final String LEVELDB_STATS_REPORT_INTERVAL = "metrics.dataset.leveldb.stats.report.interval";
}
/**
* Metrics context tags
*/
public static final class Tag {
// NOTES:
// * tag names must be unique (keeping all possible here helps to ensure that)
// * tag names better be short to reduce the serialized metric value size
public static final String NAMESPACE = "ns";
public static final String RUN_ID = "run";
public static final String INSTANCE_ID = "ins";
public static final String COMPONENT = "cmp";
public static final String HANDLER = "hnd";
public static final String METHOD = "mtd";
public static final String THREAD = "thd";
public static final String STREAM = "str";
public static final String DATASET = "ds";
public static final String APP = "app";
public static final String SERVICE = "srv";
public static final String WORKER = "wrk";
public static final String FLOW = "fl";
public static final String FLOWLET = "flt";
public static final String FLOWLET_QUEUE = "flq";
public static final String MAPREDUCE = "mr";
public static final String MR_TASK_TYPE = "mrt";
public static final String WORKFLOW = "wf";
public static final String WORKFLOW_RUN_ID = "wfr";
public static final String NODE = "nd";
public static final String SPARK = "sp";
// who emitted: user vs system (scope is historical name)
public static final String SCOPE = "scp";
public static final String PRODUCER = "pr";
public static final String CONSUMER = "co";
}
/**
* Metric names
*/
public static final class Name {
/**
* Flow metrics
*/
public static final class Flow {
public static final String FLOWLET_INPUT = "system.process.tuples.read";
public static final String FLOWLET_PROCESSED = "system.process.events.processed";
public static final String FLOWLET_EXCEPTIONS = "system.process.errors";
}
/**
* Service metrics
*/
public static final class Service {
public static final String SERVICE_INPUT = "system.requests.count";
public static final String SERVICE_PROCESSED = "system.response.successful.count";
public static final String SERVICE_EXCEPTIONS = "system.response.server.error.count";
}
/**
* Dataset metrics
*/
public static final class Dataset {
public static final String READ_COUNT = "dataset.store.reads";
public static final String OP_COUNT = "dataset.store.ops";
public static final String WRITE_COUNT = "dataset.store.writes";
public static final String WRITE_BYTES = "dataset.store.bytes";
}
/**
* Logs metrics
*/
public static final class Log {
public static final String PROCESS_DELAY = "log.process.delay";
public static final String PROCESS_MESSAGES_COUNT = "log.process.message.count";
}
}
/**
* Metrics query constants and defaults
*/
public static final class Query {
public static final long MAX_HOUR_RESOLUTION_QUERY_INTERVAL = 36000;
public static final long MAX_MINUTE_RESOLUTION_QUERY_INTERVAL = 600;
// Number of seconds to subtract from current timestamp when query without "end" time.
public static final long QUERY_SECOND_DELAY = 2;
}
}
/**
* Configurations for metrics processor.
*/
public static final class MetricsProcessor {
public static final String NUM_INSTANCES = "metrics.processor.num.instances";
public static final String NUM_CORES = "metrics.processor.num.cores";
public static final String MEMORY_MB = "metrics.processor.memory.mb";
public static final String MAX_INSTANCES = "metrics.processor.max.instances";
public static final String METRICS_PROCESSOR_STATUS_HANDLER = "metrics.processor.status.handler";
public static final String ADDRESS = "metrics.processor.status.bind.address";
public static final String SERVICE_DESCRIPTION = "Service to process application and system metrics.";
}
/**
* Configurations for metrics collector.
*/
public static final class MetricsCollector {
public static final long DEFAULT_FREQUENCY_SECONDS = 1;
}
/**
* Configurations for log saver.
*/
public static final class LogSaver {
public static final String NUM_INSTANCES = "log.saver.num.instances";
public static final String MEMORY_MB = "log.saver.run.memory.megs";
public static final String NUM_CORES = "log.saver.run.num.cores";
public static final String MAX_INSTANCES = "log.saver.max.instances";
public static final String LOG_SAVER_STATUS_HANDLER = "log.saver.status.handler";
public static final String ADDRESS = "log.saver.status.bind.address";
public static final String SERVICE_DESCRIPTION = "Service to collect and store logs.";
public static final String MESSAGE_PROCESSORS = "log.saver.message.processors";
}
/**
* Monitor constants.
*/
public static final class Monitor {
public static final String STATUS_OK = "OK";
public static final String STATUS_NOTOK = "NOTOK";
public static final String DISCOVERY_TIMEOUT_SECONDS = "monitor.handler.service.discovery.timeout.seconds";
}
/**
* Logging constants.
*/
public static final class Logging {
public static final String COMPONENT_NAME = "services";
public static final String KAFKA_TOPIC = "log.kafka.topic";
}
/**
* Security configuration.
*/
public static final class Security {
/** Enables security. */
public static final String ENABLED = "security.enabled";
/** Enables Kerberos authentication. */
public static final String KERBEROS_ENABLED = "kerberos.auth.enabled";
/** Kerberos keytab relogin interval. */
public static final String KERBEROS_KEYTAB_RELOGIN_INTERVAL = "kerberos.auth.relogin.interval.seconds";
/** Algorithm used to generate the digest for access tokens. */
public static final String TOKEN_DIGEST_ALGO = "security.token.digest.algorithm";
/** Key length for secret key used by token digest algorithm. */
public static final String TOKEN_DIGEST_KEY_LENGTH = "security.token.digest.keylength";
/** Time duration in milliseconds after which an active secret key should be retired. */
public static final String TOKEN_DIGEST_KEY_EXPIRATION = "security.token.digest.key.expiration.ms";
/** Parent znode used for secret key distribution in ZooKeeper. */
public static final String DIST_KEY_PARENT_ZNODE = "security.token.distributed.parent.znode";
/** Deprecated. Use AUTH_SERVER_BIND_ADDRESS instead. **/
@Deprecated
public static final String AUTH_SERVER_ADDRESS = "security.auth.server.address";
/**
* Address that clients should use to communicate with the Authentication Server.
* Leave empty to use default, generated by the Authentication Server.
*/
public static final String AUTH_SERVER_ANNOUNCE_ADDRESS = "security.auth.server.announce.address";
/** Address the Authentication Server should bind to. */
public static final String AUTH_SERVER_BIND_ADDRESS = "security.auth.server.bind.address";
/** Configuration for External Authentication Server. */
public static final String AUTH_SERVER_BIND_PORT = "security.auth.server.bind.port";
/** Maximum number of handler threads for the Authentication Server embedded Jetty instance. */
public static final String MAX_THREADS = "security.server.maxthreads";
/** Access token expiration time in milliseconds. */
public static final String TOKEN_EXPIRATION = "security.server.token.expiration.ms";
/** Long lasting Access token expiration time in milliseconds. */
public static final String EXTENDED_TOKEN_EXPIRATION = "security.server.extended.token.expiration.ms";
public static final String CFG_FILE_BASED_KEYFILE_PATH = "security.data.keyfile.path";
/** Configuration for security realm. */
public static final String CFG_REALM = "security.realm";
/** Authentication Handler class name */
public static final String AUTH_HANDLER_CLASS = "security.authentication.handlerClassName";
/** Prefix for all configurable properties of an Authentication handler. */
public static final String AUTH_HANDLER_CONFIG_BASE = "security.authentication.handler.";
/** Authentication Login Module class name */
public static final String LOGIN_MODULE_CLASS_NAME = "security.authentication.loginmodule.className";
/** Realm file for Basic Authentication */
public static final String BASIC_REALM_FILE = "security.authentication.basic.realmfile";
/** Enables SSL */
public static final String SSL_ENABLED = "ssl.enabled";
/**
* Authorization.
*/
public static final class Authorization {
/** Enables authorization */
public static final String ENABLED = "security.authorization.enabled";
/** Extension jar path */
public static final String EXTENSION_JAR_PATH = "security.authorization.extension.jar.path";
/** Prefix for extension properties */
public static final String EXTENSION_CONFIG_PREFIX =
"security.authorization.extension.config.";
}
/**
* Headers for security.
*/
public static final class Headers {
/** Internal user ID header passed from Router to downstream services */
public static final String USER_ID = "CDAP-UserId";
/** User IP header passed from Router to downstream services */
public static final String USER_IP = "CDAP-UserIP";
}
/**
* Security configuration for Router.
*/
public static final class Router {
/** SSL keystore location */
public static final String SSL_KEYSTORE_PATH = "router.ssl.keystore.path";
/** SSL keystore type */
public static final String SSL_KEYSTORE_TYPE = "router.ssl.keystore.type";
/** SSL keystore key password */
public static final String SSL_KEYPASSWORD = "router.ssl.keystore.keypassword";
/** SSL keystore password */
public static final String SSL_KEYSTORE_PASSWORD = "router.ssl.keystore.password";
/** Default SSL keystore type */
public static final String DEFAULT_SSL_KEYSTORE_TYPE = "JKS";
/** Paths to exclude from authentication, given by a single regular expression */
public static final String BYPASS_AUTHENTICATION_REGEX = "router.bypass.auth.regex";
}
/**
* Security configuration for ExternalAuthenticationServer.
*/
public static final class AuthenticationServer {
/** SSL port */
public static final String SSL_PORT = "security.auth.server.ssl.bind.port";
/** SSL keystore location */
public static final String SSL_KEYSTORE_PATH = "security.auth.server.ssl.keystore.path";
/** SSL keystore type */
public static final String SSL_KEYSTORE_TYPE = "security.auth.server.ssl.keystore.type";
/** SSL keystore key password */
public static final String SSL_KEYPASSWORD = "security.auth.server.ssl.keystore.keypassword";
/** SSL keystore password */
public static final String SSL_KEYSTORE_PASSWORD = "security.auth.server.ssl.keystore.password";
/** Default SSL keystore type */
public static final String DEFAULT_SSL_KEYSTORE_TYPE = "JKS";
}
/** Path to the Kerberos keytab file used by CDAP */
public static final String CFG_CDAP_MASTER_KRB_KEYTAB_PATH = "cdap.master.kerberos.keytab";
/** Kerberos principal used by CDAP */
public static final String CFG_CDAP_MASTER_KRB_PRINCIPAL = "cdap.master.kerberos.principal";
}
/**
* Explore module configuration.
*/
public static final class Explore {
public static final String CCONF_KEY = "explore.cconfiguration";
public static final String HCONF_KEY = "explore.hconfiguration";
public static final String TX_QUERY_KEY = "explore.hive.query.tx.id";
public static final String TX_QUERY_CLOSED = "explore.hive.query.tx.commited";
public static final String QUERY_ID = "explore.query.id";
public static final String FORMAT_SPEC = "explore.format.specification";
public static final String START_ON_DEMAND = "explore.start.on.demand";
public static final String DATASET_NAME = "explore.dataset.name";
public static final String DATASET_NAMESPACE = "explore.dataset.namespace";
public static final String VIEW_NAME = "explore.view.name";
public static final String STREAM_NAME = "explore.stream.name";
public static final String STREAM_NAMESPACE = "explore.stream.namespace";
public static final String EXPLORE_CLASSPATH = "explore.classpath";
public static final String EXPLORE_CONF_FILES = "explore.conf.files";
public static final String PREVIEWS_DIR_NAME = "explore.previews.dir";
// a marker so that we know which tables are created by CDAP
public static final String CDAP_NAME = "cdap.name";
public static final String CDAP_VERSION = "cdap.version";
public static final String SERVER_ADDRESS = "explore.service.bind.address";
public static final String BACKLOG_CONNECTIONS = "explore.service.connection.backlog";
public static final String EXEC_THREADS = "explore.service.exec.threads";
public static final String WORKER_THREADS = "explore.service.worker.threads";
/** Twill Runnable configuration **/
public static final String CONTAINER_VIRTUAL_CORES = "explore.executor.container.num.cores";
public static final String CONTAINER_MEMORY_MB = "explore.executor.container.memory.mb";
public static final String CONTAINER_INSTANCES = "explore.executor.container.instances";
public static final String LOCAL_DATA_DIR = "explore.local.data.dir";
public static final String EXPLORE_ENABLED = "explore.enabled";
public static final String WRITES_ENABLED = "explore.writes.enabled";
//max-instances of explore HTTP service
public static final String MAX_INSTANCES = "explore.executor.max.instances";
public static final String ACTIVE_OPERATION_TIMEOUT_SECS = "explore.active.operation.timeout.secs";
public static final String INACTIVE_OPERATION_TIMEOUT_SECS = "explore.inactive.operation.timeout.secs";
public static final String CLEANUP_JOB_SCHEDULE_SECS = "explore.cleanup.job.schedule.secs";
public static final String SERVICE_DESCRIPTION = "Service to run ad-hoc queries.";
/**
* Explore JDBC constants.
*/
public static final class Jdbc {
public static final String URL_PREFIX = "jdbc:cdap://";
}
}
/**
* Notification system configuration.
*/
public static final class Notification {
public static final String TRANSPORT_SYSTEM = "notification.transport.system";
public static final String KAFKA_TOPIC = "notification.kafka.topic";
/**
* Notifications in Streams constants.
*/
public static final class Stream {
public static final String STREAM_FEED_CATEGORY = "stream";
public static final String STREAM_INTERNAL_FEED_CATEGORY = "streamInternal";
public static final String STREAM_HEARTBEAT_FEED_NAME = "heartbeat";
public static final String STREAM_SIZE_SCHEDULE_POLLING_DELAY = "stream.size.schedule.polling.delay";
}
}
public static final String CFG_LOCAL_DATA_DIR = "local.data.dir";
public static final String CFG_HDFS_USER = "hdfs.user";
public static final String CFG_HDFS_NAMESPACE = "hdfs.namespace";
public static final String CFG_HDFS_LIB_DIR = "hdfs.lib.dir";
public static final String CFG_TWILL_ZK_NAMESPACE = "twill.zookeeper.namespace";
public static final String CFG_TWILL_RESERVED_MEMORY_MB = "twill.java.reserved.memory.mb";
public static final String CFG_TWILL_NO_CONTAINER_TIMEOUT = "twill.no.container.timeout";
/**
* Data Fabric.
*/
public enum InMemoryPersistenceType {
MEMORY,
LEVELDB,
HSQLDB
}
/** defines which persistence engine to use when running all in one JVM. **/
public static final String CFG_DATA_INMEMORY_PERSISTENCE = "data.local.inmemory.persistence.type";
public static final String CFG_DATA_LEVELDB_DIR = "data.local.storage";
public static final String CFG_DATA_LEVELDB_BLOCKSIZE = "data.local.storage.blocksize";
public static final String CFG_DATA_LEVELDB_CACHESIZE = "data.local.storage.cachesize";
public static final String CFG_DATA_LEVELDB_FSYNC = "data.local.storage.fsync";
/**
* Defaults for Data Fabric.
*/
public static final String DEFAULT_DATA_LEVELDB_DIR = "data";
public static final int DEFAULT_DATA_LEVELDB_BLOCKSIZE = 1024;
public static final long DEFAULT_DATA_LEVELDB_CACHESIZE = 1024 * 1024 * 100;
public static final boolean DEFAULT_DATA_LEVELDB_FSYNC = true;
/**
* Config for Log Collection.
*/
public static final String CFG_LOG_COLLECTION_ROOT = "log.collection.root";
public static final String DEFAULT_LOG_COLLECTION_ROOT = "data/logs";
/**
* Used for upgrade and backwards compatability
*/
public static final String DEVELOPER_ACCOUNT = "developer";
/**
* Constants related to external systems.
*/
public static final class External {
/**
* Constants used by Java security.
*/
public static final class JavaSecurity {
public static final String ENV_AUTH_LOGIN_CONFIG = "java.security.auth.login.config";
}
/**
* Constants used by ZooKeeper.
*/
public static final class Zookeeper {
public static final String ENV_AUTH_PROVIDER_1 = "zookeeper.authProvider.1";
public static final String ENV_ALLOW_SASL_FAILED_CLIENTS = "zookeeper.allowSaslFailedClients";
}
}
/**
* Constants for the dashboard/frontend.
*/
public static final class Dashboard {
/**
* Port for the dashboard to bind to in non-SSL mode.
*/
public static final String BIND_PORT = "dashboard.bind.port";
/**
* Port for the dashboard to bind to in SSL mode.
*/
public static final String SSL_BIND_PORT = "dashboard.ssl.bind.port";
/**
* True to allow self-signed SSL certificates for endpoints accessed by the dashboard.
*/
public static final String SSL_ALLOW_SELFSIGNEDCERT = "dashboard.selfsignedcertificate.enabled";
}
/**
* Constants for endpoints
*/
public static final class EndPoints {
/**
* Status endpoint
*/
public static final String STATUS = "/status";
}
/**
* Constants for namespaces
*/
public static final class Namespace {
public static final String NAMESPACES_DIR = "namespaces.dir";
}
/**
* Constants for metadata service
*/
public static final class Metadata {
public static final String SERVICE_DESCRIPTION = "Service to perform metadata operations.";
public static final String SERVICE_BIND_ADDRESS = "metadata.service.bind.address";
public static final String SERVICE_WORKER_THREADS = "metadata.service.worker.threads";
public static final String SERVICE_EXEC_THREADS = "metadata.service.exec.threads";
public static final String HANDLERS_NAME = "metadata.handlers";
public static final String UPDATES_KAFKA_TOPIC = "metadata.updates.kafka.topic";
public static final String UPDATES_PUBLISH_ENABLED = "metadata.updates.publish.enabled";
public static final String UPDATES_KAFKA_BROKER_LIST = "metadata.updates.kafka.broker.list";
public static final String MAX_CHARS_ALLOWED = "metadata.max.allowed.chars";
}
/**
* Constants for publishing audit
*/
public static final class Audit {
public static final String ENABLED = "audit.enabled";
public static final String KAFKA_TOPIC = "audit.kafka.topic";
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy