int HealthCheck()

in api/src/gmsa_service.cpp [2146:2182]


int HealthCheck( std::string serviceName )
{
    try
    {
        std::string server_address{
            "unix:/var/credentials-fetcher/socket/credentials_fetcher.sock" };
        std::shared_ptr<grpc::Channel> channel =
            grpc::CreateChannel( server_address, grpc::InsecureChannelCredentials() );
        std::unique_ptr<credentialsfetcher::CredentialsFetcherService::Stub> stub =
            credentialsfetcher::CredentialsFetcherService::NewStub( channel );
        // Prepare request
        credentialsfetcher::HealthCheckRequest request;
        request.set_service( serviceName );

        credentialsfetcher::HealthCheckResponse response;
        grpc::ClientContext context;
        grpc::Status status;
        // Send request
        status = stub->HealthCheck( &context, request, &response );

        // Handle response
        if ( status.ok() )
        {
            return 0;
        }
        else
        {
            return 1;
        }
    }
    catch ( ... )
    {
        return 1;
    }

    return 0;
}