cmd/kg/*: sub command peer validation webhook
This commit adds a sub command `webhook` to Kilo. It will start a https web server that answeres request from a Kubernetes API server to validate updates and creations of Kilo peers. It also updates the "Peer Validation" docs to enable users to install the web hook server and generate the self signed certificates in the cluster by only applying a manifest. Signed-off-by: leonnicolas <leonloechner@gmx.de> Apply suggestions from code review Co-authored-by: Lucas Servén Marín <lserven@gmail.com>
This commit is contained in:
12
vendor/github.com/oklog/run/.travis.yml
generated
vendored
12
vendor/github.com/oklog/run/.travis.yml
generated
vendored
@@ -1,12 +0,0 @@
|
||||
language: go
|
||||
sudo: false
|
||||
go:
|
||||
- 1.x
|
||||
- tip
|
||||
install:
|
||||
- go get -v github.com/golang/lint/golint
|
||||
- go build ./...
|
||||
script:
|
||||
- go vet ./...
|
||||
- $HOME/gopath/bin/golint .
|
||||
- go test -v -race ./...
|
10
vendor/github.com/oklog/run/README.md
generated
vendored
10
vendor/github.com/oklog/run/README.md
generated
vendored
@@ -1,7 +1,7 @@
|
||||
# run
|
||||
|
||||
[](https://godoc.org/github.com/oklog/run)
|
||||
[](https://travis-ci.org/oklog/run)
|
||||
[](https://github.com/oklog/run/actions?query=workflow%3ATest)
|
||||
[](https://goreportcard.com/report/github.com/oklog/run)
|
||||
[](https://raw.githubusercontent.com/oklog/run/master/LICENSE)
|
||||
|
||||
@@ -10,9 +10,11 @@ run.Group is a universal mechanism to manage goroutine lifecycles.
|
||||
Create a zero-value run.Group, and then add actors to it. Actors are defined as
|
||||
a pair of functions: an **execute** function, which should run synchronously;
|
||||
and an **interrupt** function, which, when invoked, should cause the execute
|
||||
function to return. Finally, invoke Run, which blocks until the first actor
|
||||
returns. This general-purpose API allows callers to model pretty much any
|
||||
runnable task, and achieve well-defined lifecycle semantics for the group.
|
||||
function to return. Finally, invoke Run, which concurrently runs all of the
|
||||
actors, waits until the first actor exits, invokes the interrupt functions, and
|
||||
finally returns control to the caller only once all actors have returned. This
|
||||
general-purpose API allows callers to model pretty much any runnable task, and
|
||||
achieve well-defined lifecycle semantics for the group.
|
||||
|
||||
run.Group was written to manage component lifecycles in func main for
|
||||
[OK Log](https://github.com/oklog/oklog).
|
||||
|
38
vendor/github.com/oklog/run/actors.go
generated
vendored
Normal file
38
vendor/github.com/oklog/run/actors.go
generated
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
package run
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"os"
|
||||
"os/signal"
|
||||
)
|
||||
|
||||
// SignalHandler returns an actor, i.e. an execute and interrupt func, that
|
||||
// terminates with SignalError when the process receives one of the provided
|
||||
// signals, or the parent context is canceled.
|
||||
func SignalHandler(ctx context.Context, signals ...os.Signal) (execute func() error, interrupt func(error)) {
|
||||
ctx, cancel := context.WithCancel(ctx)
|
||||
return func() error {
|
||||
c := make(chan os.Signal, 1)
|
||||
signal.Notify(c, signals...)
|
||||
select {
|
||||
case sig := <-c:
|
||||
return SignalError{Signal: sig}
|
||||
case <-ctx.Done():
|
||||
return ctx.Err()
|
||||
}
|
||||
}, func(error) {
|
||||
cancel()
|
||||
}
|
||||
}
|
||||
|
||||
// SignalError is returned by the signal handler's execute function
|
||||
// when it terminates due to a received signal.
|
||||
type SignalError struct {
|
||||
Signal os.Signal
|
||||
}
|
||||
|
||||
// Error implements the error interface.
|
||||
func (e SignalError) Error() string {
|
||||
return fmt.Sprintf("received signal %s", e.Signal)
|
||||
}
|
3
vendor/github.com/oklog/run/go.mod
generated
vendored
Normal file
3
vendor/github.com/oklog/run/go.mod
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
module github.com/oklog/run
|
||||
|
||||
go 1.13
|
Reference in New Issue
Block a user