Red5 Documentation

Stream Manager 2.0 Admin API

Environment Variables

Each microservice defines its own set of environment-driven properties, each of which may or may not have a default value.

The Docker compose files define the container environment, either by defining values directly, or by referring to variables from Docker’s own environment, or defaults. The Docker files may ignore properties defined in any given microservice if the microservice specifies a default.

The SM 2.0 Microservices define the following environment variables and properties defaults. A property below is OPTIONAL if it has a default value. In this case, you can omit from your Docker file if the default is acceptable.

AS-Admin

  • R5AS_BOOTSTRAP_SERVERS – default: localhost:9092 – Address of the Kafka bootstrap server(s).
  • R5AS_AUTH_SECRET – default: foo – Authentication secret used to create and authenticate JWTs.
  • R5AS_AUTH_JWT_TTL_MINUTES – default: 400 – Maximum acceptable JWT time-to-live, in minutes.
  • R5AS_APPLICATION_PORT – default: 8080 – Docker-internal webapp application port.
  • R5AS_APPLICATION_HOST – default: localhost – Used to specify Kafka Streams APPLICATION_SERVER_CONFIG.
  • HOSTNAME – default: localhost – Backup for R5AS_APPLICATION_HOST, used when R5AS_APPLICATION_HOST is empty or localhost.
  • R5AS_STATE_DIRECTORY – default: /tmp/kafka-streams – Path to Kafka Streams state data (internal to the Docker container).
  • R5AS_WS_STATE_DIRECTORY – default: /tmp/kafka-streams-ws – Path to Kafka Streams state data for WebSocket service (internal to the Docker container).
  • R5AS_TERRAFORM_QUERY_INTERVAL – default: 600000 – XXX UNUSED. Gets to AdminService.terraformQueryInterval but no references.
  • R5AS_TERRAFORM_QUERY_TIMEOUT – default: 8200 – Timeout in milliseconds since last TerraformResponse was processed until the /terraform-healthz health check returns failure.
  • R5AS_MESSAGE_BUS_CLEAR_STREAMS – default: false – Clear (delete) Kafka Streams state stores on start.
  • R5AS_REPLICATION_FACTOR – default: 1 – Replication factor for created Kafka Topics.
  • R5AS_AUTOSCALE_PARTITIONS – default: 2 – Number of Autoscale service Kafka partitions.
  • R5AS_CLOUD_PLATFORM_TYPE – default: DOCKER – The Cloud platform type in use. Valid values are AWS, DO, LINODE, and OCI.
  • R5AS_SECURITY_PROTOCOL_CONFIG – default: empty/no value – Kafka security configuration. The security protocol to use. Valid values are SSL, SASL_SSL, or leave empty to disable.
  • R5AS_SSL_TRUSTSTORE_TYPE_CONFIG – default: empty/no value – Kafka security configuration. Corresponds to SSL_TRUSTSTORE_TYPE_CONFIG.
  • R5AS_SSL_CA_CERTIFICATE – default: empty/no value – Kafka security configuration. Corresponds to SSL_TRUSTSTORE_CERTIFICATES_CONFIG.
  • R5AS_SASL_USERNAME – default: empty/no value – Kafka security configuration. SASL username.
  • R5AS_SASL_PASSWORD – default: empty/no value – Kafka security configuration. SASL password.
  • R5AS_SASL_ENABLED_MECHANISMS – default: empty/no value – Kafka security configuration. SASL enabled mechanisms.
  • R5AS_SCHEDULE_PROCESSING_INTERVAL_MS – default: 5000 – XXX Unused. defined in AdminService.scheduleProcessingIntervalMs but unreferenced in ScheduleProcessor.init().
  • R5AS_WS_EXECUTOR_THREADS – default: 10 – The maximum number of threads the WebSocket event service will use to deliver. Also, separately, the maximum number of threads that can execute WS keep-alive tasks (ping/pong). Threads are created as needed, pooled, and reused.
  • R5AS_WS_UNAUTH_IDLE_TIMEOUT_S – default: 60 – The amount of time a newly created WebSocket will remain idle without authentication. If an authentication message has not arrived after this time, the socket is closed.
  • R5AS_WS_PING_PONG_INTERVAL_S – default: 300 – WebSocket ping-pong interval, in seconds.
  • R5AS_WS_PONG_TIMEOUT_S – default: 60 – WebSocket pong timeout in seconds. If the client does not respond to ping after this time, the socket is closed.

AS-Auth

  • R5AS_AUTH_SECRET – default: foo – Authentication secret used to create and authenticate JWTs.
  • R5AS_AUTH_JWT_TTL_MINUTES – default: 400 – Time-to-live for generated JWTs, in minutes.
  • R5AS_AUTH_USER – default: admin – The administrator username.
  • R5AS_AUTH_PASS – default: xyz123 – The administrator password.

AS-Autoscale

  • R5AS_APPLICATION_HOST – default: localhost – Used to specify Kafka Streams APPLICATION_SERVER_CONFIG.
  • HOSTNAME – default: localhost – Backup for R5AS_APPLICATION_HOST, used when R5AS_APPLICATION_HOST is empty or localhost.
  • R5AS_APPLICATION_PORT – default: 8080 – Docker-internal webapp application port.
  • R5AS_BOOTSTRAP_SERVERS – default: localhost:9092 – Address of the Kafka bootstrap server(s).
  • R5AS_BOOTSTRAP_SERVERS_FOR_NODES – default: localhost:9092 – Address of the Kafka bootstrap server(s) for created Red5Pro server instances (network nodes).
  • R5AS_AUTOCALE_EVALUATION_INTERVAL – default: 4000 – Interval in milliseconds between NodeGroup processing. NodeGroupConfig changes will take effect on this basis.
  • R5AS_REPLICATION_FACTOR – default: 1 – Replication factor for created Kafka Topics.
  • R5AS_AUTOSCALE_PARTITIONS – default: 2 – Number of Autoscale service Kafka partitions.
  • R5AS_NODE_REQUEST_TIMEOUT – default: 1200000 – Milliseconds. Time a node is allowed to dwell in state REQUESTED before this is determined to be a FAULT. During this time, Terraform service is communicating with the Cloud Provider to provision resources.
  • R5AS_NODE_CREATING_TIMEOUT – default: 1200000 – Milliseconds. Time a node is allowed to dwell in state CREATING before this is determined to be a FAULT. During this time, the Cloud service is starting new instances.
  • R5AS_NODE_CREATED_TIMEOUT – default: 300000 – Milliseconds. Time a node is allowed to dwell in state CREATED before this is determined to be a FAULT. During this time, the new instance is starting up, the operating system and server applications initialize. The server establishes communication with Kafka and then sends its first ClusterNodeEvent.
  • R5AS_NODE_STARTED_TIMEOUT – default: 1200000 – Milliseconds. Time a node is allowed to dwell in state STARTED before this is determined to be a FAULT. During this time, the node has started and is establishing cluster connections.
  • R5AS_NODE_SOFT_SUNSET_TIMEOUT – default: 7200000 – Milliseconds. Time a node is allowed to dwell in state SOFT_SUNSET before this is determined to be a FAULT. XXX where was this state removed? apparently on the mixer branch?
  • R5AS_NODE_HARD_SUNSET_TIMEOUT – default: 60000 – Milliseconds. Time a node is allowed to dwell in state HARD_SUNSET before this is determined to be a FAULT. XXX where was this state removed? apparently on the mixer branch?
  • R5AS_NODE_STATUS – default: 60000 – Node status timeout in milliseconds. Time since last ClusterNodeEvent from node before this is determined to be a FAULT.
  • R5AS_STATE_DIRECTORY – default: /tmp/kafka-streams – Path to Kafka Streams state data (internal to the Docker container).
  • R5AS_MESSAGE_BUS_CLEAR_STREAMS – default: false – Clear (delete) Kafka Streams state stores on start.
  • R5AS_SPRINGDOC_SWAGGER_UI_ENABLED – default: true – Enable Swagger UI.
  • R5AS_SECURITY_PROTOCOL_CONFIG – default: empty/no value – Kafka security configuration. The security protocol to use. Valid values are SSL, SASL_SSL, or leave empty to disable.
  • R5AS_SSL_TRUSTSTORE_TYPE_CONFIG – default: empty/no value – Kafka security configuration. Corresponds to SSL_TRUSTSTORE_TYPE_CONFIG.
  • R5AS_SSL_CA_CERTIFICATE – default: empty/no value – Kafka security configuration. Corresponds to SSL_TRUSTSTORE_CERTIFICATES_CONFIG.
  • R5AS_SASL_USERNAME – default: empty/no value – Kafka security configuration. SASL username.
  • R5AS_SASL_PASSWORD – default: empty/no value – Kafka security configuration. SASL password.
  • R5AS_SASL_ENABLED_MECHANISMS – Kafka security configuration. SASL enabled mechanisms.

AS-Admin-service

  • R5AS_AUTH_SECRET – default: foo – Authentication secret used to create and authenticate JWTs.
  • R5AS_AUTH_JWT_TTL_MINUTES – default: 400 – Maximum acceptable JWT time-to-live, in minutes.
  • R5AS_APPLICATION_PORT – default: 8080 – Docker-internal webapp application port.
  • R5AS_APPLICATION_HOST – default: localhost – Used to specify Kafka Streams APPLICATION_SERVER_CONFIG.
  • HOSTNAME – default: localhost – Backup for R5AS_APPLICATION_HOST, used when R5AS_APPLICATION_HOST is empty or localhost.
  • R5AS_STATE_DIRECTORY – default: /tmp/kafka-streams – Path to Kafka Streams state data (internal to the Docker container).
  • R5AS_MESSAGE_BUS_CLEAR_STREAMS – default: false – Clear (delete) Kafka Streams state stores on start.
  • R5AS_CLOUD_PLATFORM_TYPE – default: DOCKER – The Cloud platform type in use. Valid values are AWS, DO, LINODE, and OCI.
  • R5AS_SCHEDULE_PROCESSING_INTERVAL_MS – default: 5000 – XXX Unused. defined in AdminService.scheduleProcessingIntervalMs but unreferenced in ScheduleProcessor.init().
  • R5AS_SPRINGDOC_SWAGGER_UI_ENABLED – default: true – Enable Swagger UI.
  • R5AS_SECURITY_PROTOCOL_CONFIG – default: empty/no value – Kafka security configuration. The security protocol to use. Valid values are SSL, SASL_SSL, or leave empty to disable.
  • R5AS_SSL_TRUSTSTORE_TYPE_CONFIG – default: empty/no value – Kafka security configuration. Corresponds to SSL_TRUSTSTORE_TYPE_CONFIG.
  • R5AS_SSL_CA_CERTIFICATE – default: empty/no value – Kafka security configuration. Corresponds to SSL_TRUSTSTORE_CERTIFICATES_CONFIG.
  • R5AS_SASL_USERNAME – default: empty/no value – Kafka security configuration. SASL username.
  • R5AS_SASL_PASSWORD – default: empty/no value – Kafka security configuration. SASL password.
  • R5AS_SASL_ENABLED_MECHANISMS – Kafka security configuration. SASL enabled mechanisms.

AS-Events

  • R5AS_APPLICATION_HOST – default: localhost – Used to specify Kafka Streams APPLICATION_SERVER_CONFIG.
  • HOSTNAME – default: localhost – Backup for R5AS_APPLICATION_HOST, used when R5AS_APPLICATION_HOST is empty or localhost.
  • R5AS_APPLICATION_PORT – default: 8080 – Docker-internal webapp application port.
  • R5AS_BOOTSTRAP_SERVERS – default: localhost:9092 – Address of the Kafka bootstrap server(s).
  • R5AS_BOOTSTRAP_SERVERS_FOR_NODES – default: localhost:9092 – Address of the Kafka bootstrap server(s) for created Red5Pro server instances (network nodes).
  • R5AS_REPLICATION_FACTOR – default: 1 – Replication factor for created Kafka Topics.
  • R5AS_AUTOSCALE_PARTITIONS – default: 2 – Number of Autoscale service Kafka partitions.
  • R5AS_STATE_DIRECTORY – default: /tmp/kafka-streams – Path to Kafka Streams state data (internal to the Docker container).
  • R5AS_MESSAGE_BUS_CLEAR_STREAMS – default: false – Clear (delete) Kafka Streams state stores on start.
  • R5AS_SPRINGDOC_SWAGGER_UI_ENABLED – default: true – Enable Swagger UI.
  • R5AS_SECURITY_PROTOCOL_CONFIG – default: empty/no value – Kafka security configuration. The security protocol to use. Valid values are SSL, SASL_SSL, or leave empty to disable.
  • R5AS_SSL_TRUSTSTORE_TYPE_CONFIG – default: empty/no value – Kafka security configuration. Corresponds to SSL_TRUSTSTORE_TYPE_CONFIG.
  • R5AS_SSL_CA_CERTIFICATE – default: empty/no value – Kafka security configuration. Corresponds to SSL_TRUSTSTORE_CERTIFICATES_CONFIG.
  • R5AS_SASL_USERNAME – default: empty/no value – Kafka security configuration. SASL username.
  • R5AS_SASL_PASSWORD – default: empty/no value – Kafka security configuration. SASL password.
  • R5AS_SASL_ENABLED_MECHANISMS – Kafka security configuration. SASL enabled mechanisms.