The /healthy endpoint does not require any user authentication to access.
The /up endpoint can be used for readiness probes. It always returns a 200 status when kPow's HTTP server is up and reachable.
Error States + Strategies
kPow runs an internal Kafka Streams resource that may enter an ERROR state in certain scenarios where a Kafka Cluster becomes unavailable for a duration longer than the configured timeout+heartbeat.
You can configure the STREAMS_ERROR_STRATEGY environment variable to handle this scenario. Possible strategies include:
LOG_EXCEPTION - default, logs an error. Note: once kPow enters this ERROR state, snapshotting will continue, but the UI will be unavailable until the instance has been manually restarted.
LOG_AND_EXIT - logs an error and exits the kPow process with a status code of 1
Note: it is recommended to configure a liveness probe over setting the LOG_AND_EXIT strategy. However, in scenarios such as deploying a JAR to an EC2 instance, configuring this strategy may be desirable.
Highly Available + Distributed kPow is in the backlog and coming soon!
At the moment, kPow is designed to be run as a single instance. When defining your task definition for kPow please ensure that the maximum number of instances does not exceed one.
Reverse Proxies + Load Balancers
Configure HTTP_FORWARDED=true in conjunction with Jetty Authentication or when terminating SSL at a proxy to ensure that redirects maintain the correct connection scheme.
kPow serves all UI traffic at the specifiedPORT(default: 3000).
This port serves both websockets connections and general HTTP/S traffic.
Most reverse proxies and load balancers work out of the box with kPow, but special consideration is needed when configuring websockets, or when the reverse proxy is responsible for SSL termination.