A convenient provider for grpc_health.v1.health
implemented in Swift.
Add swift-grpc-health-provider as a dependency in your Package.swift
file
dependencies: [
// ...
.package(url:"https://github.com/fourplusone/swift-grpc-health-provider", .branch("master")),
],
targets: [
.target(
// ...
dependencies: [.product(name: "HealthProvider",package:"swift-grpc-health-provider")]),
]
Add HealthProvider
to your GRPC Server
import GRPC
import NIO
import HealthProvider
let healthProvider = HealthProvider()
let group = MultiThreadedEventLoopGroup(numberOfThreads: 1)
let server = try Server.insecure(group: group)
.withServiceProviders([healthProvider, /* other providers */])
.bind(host: "localhost", port: 0)
.wait()
Set the health of your services
healthProvider.setHealth(status:.serving, serivce:"myService")
This project is licensed under the MIT License. The health.proto file is license under Apache 2.0.