Line data Source code
1 : #pragma once 2 : 3 : #include "envoy/config/core/v3/health_check.pb.h" 4 : #include "envoy/extensions/filters/network/redis_proxy/v3/redis_proxy.pb.h" 5 : #include "envoy/extensions/filters/network/redis_proxy/v3/redis_proxy.pb.validate.h" 6 : #include "envoy/extensions/health_checkers/redis/v3/redis.pb.h" 7 : #include "envoy/extensions/health_checkers/redis/v3/redis.pb.validate.h" 8 : #include "envoy/server/health_checker_config.h" 9 : 10 : #include "source/extensions/health_checkers/redis/redis.h" 11 : 12 : namespace Envoy { 13 : namespace Extensions { 14 : namespace HealthCheckers { 15 : namespace RedisHealthChecker { 16 : 17 : /** 18 : * Config registration for the redis health checker. 19 : */ 20 : class RedisHealthCheckerFactory : public Server::Configuration::CustomHealthCheckerFactory { 21 : public: 22 : Upstream::HealthCheckerSharedPtr 23 : createCustomHealthChecker(const envoy::config::core::v3::HealthCheck& config, 24 : Server::Configuration::HealthCheckerFactoryContext& context) override; 25 : 26 38 : std::string name() const override { return "envoy.health_checkers.redis"; } 27 1 : ProtobufTypes::MessagePtr createEmptyConfigProto() override { 28 1 : return ProtobufTypes::MessagePtr{new envoy::extensions::health_checkers::redis::v3::Redis()}; 29 1 : } 30 : }; 31 : 32 : DECLARE_FACTORY(RedisHealthCheckerFactory); 33 : 34 : } // namespace RedisHealthChecker 35 : } // namespace HealthCheckers 36 : } // namespace Extensions 37 : } // namespace Envoy