forked from TrueCloudLab/frostfs-node
dcfe9a6504
Implement `ControlServiceServer` on `Server` type. The `Server` requires all requests to be signed with keys from the so-called whitelist. To obtain health status, it uses the abstraction in the form of `HealthChecker` interface. Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
20 lines
418 B
Go
20 lines
418 B
Go
package control
|
|
|
|
// Option specifies Server's optional parameter.
|
|
type Option func(*options)
|
|
|
|
type options struct {
|
|
allowedKeys [][]byte
|
|
}
|
|
|
|
func defaultOptions() *options {
|
|
return new(options)
|
|
}
|
|
|
|
// WithAllowedKeys returns option to add public keys
|
|
// to white list of the Control service.
|
|
func WithAllowedKeys(keys [][]byte) Option {
|
|
return func(o *options) {
|
|
o.allowedKeys = append(o.allowedKeys, keys...)
|
|
}
|
|
}
|