mirror of
https://github.com/k3s-io/k3s.git
synced 2024-06-07 19:41:36 +00:00
de18528412
* Set etcd timeouts using values from k8s instead of etcdctl Fix for one of the warnings from #2303 * Use etcd zap logger instead of deprecated capsnlog Fix for one of the warnings from #2303 * Remove member self-promotion code paths * Add learner promotion tracking code * Fix RaftAppliedIndex progress check * Remove ErrGRPCKeyNotFound check This is not used by v3 API - it just returns a response with 0 KVs. Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
40 lines
839 B
Go
40 lines
839 B
Go
package managed
|
|
|
|
import (
|
|
"context"
|
|
"net/http"
|
|
|
|
"github.com/rancher/k3s/pkg/clientaccess"
|
|
"github.com/rancher/k3s/pkg/daemons/config"
|
|
)
|
|
|
|
var (
|
|
defaultDriver string
|
|
drivers []Driver
|
|
)
|
|
|
|
type Driver interface {
|
|
IsInitialized(ctx context.Context, config *config.Control) (bool, error)
|
|
Register(ctx context.Context, config *config.Control, handler http.Handler) (http.Handler, error)
|
|
Reset(ctx context.Context) error
|
|
Start(ctx context.Context, clientAccessInfo *clientaccess.Info) error
|
|
Test(ctx context.Context) error
|
|
Restore(ctx context.Context) error
|
|
EndpointName() string
|
|
}
|
|
|
|
func RegisterDriver(d Driver) {
|
|
drivers = append(drivers, d)
|
|
}
|
|
|
|
func Registered() []Driver {
|
|
return drivers
|
|
}
|
|
|
|
func Default() string {
|
|
if defaultDriver == "" && len(drivers) == 1 {
|
|
return drivers[0].EndpointName()
|
|
}
|
|
return defaultDriver
|
|
}
|