aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristine Dodrill <me@christine.website>2017-01-27 19:12:01 -0800
committerChristine Dodrill <me@christine.website>2017-01-27 19:12:01 -0800
commit576dd6ef0ca6653a09a7893328a3648206fb57a9 (patch)
tree9926e70ff0d4acb52fce0c173ef0875493940e5a
parentb6945edd381a7ff04eaaee7090f223ecd81ef66e (diff)
downloadx-576dd6ef0ca6653a09a7893328a3648206fb57a9.tar.xz
x-576dd6ef0ca6653a09a7893328a3648206fb57a9.zip
dockerswarm-svcd: make ssl key loading optional
-rw-r--r--svc/cmd/svcd/dockerswarm-svcd/main.go50
1 files changed, 29 insertions, 21 deletions
diff --git a/svc/cmd/svcd/dockerswarm-svcd/main.go b/svc/cmd/svcd/dockerswarm-svcd/main.go
index fda491f..d0a91b8 100644
--- a/svc/cmd/svcd/dockerswarm-svcd/main.go
+++ b/svc/cmd/svcd/dockerswarm-svcd/main.go
@@ -31,11 +31,12 @@ import (
var (
listenAddress = flag.String("listen", "127.0.0.1:23142", "tcp host:port to listen on")
- sslCert = flag.String("tls-cert", "cert.pem", "tls certificate to read from")
- sslKey = flag.String("tls-key", "key.pem", "tls private key")
- caCert = flag.String("ca-cert", "ca.pem", "ca public cert")
+ sslCert = flag.String("tls-cert", "", "tls certificate to read from")
+ sslKey = flag.String("tls-key", "", "tls private key")
+ caCert = flag.String("ca-cert", "", "ca public cert")
jwtSecret = flag.String("jwt-secret", "hunter2", "secret used to sign jwt's")
httpAddress = flag.String("http-listen", "127.0.0.1:9090", "tcp host:port to listen the web server on")
+ dockerAddr = flag.String("docker-addr", client.DefaultDockerHost, "docker address")
)
const admin = "xena"
@@ -266,7 +267,7 @@ func (s *server) Update(ctx context.Context, params *svc.AppUpdate) (*svc.App, e
if len(params.RevokeUsers) != 0 {
s.Lock()
- for _, u := range params.GrantUsers {
+ for _, u := range params.RevokeUsers {
for i, uu := range au {
if u == uu {
s.state[params.Name][i] = s.state[params.Name][len(s.state[params.Name])-1]
@@ -282,7 +283,7 @@ func (s *server) Update(ctx context.Context, params *svc.AppUpdate) (*svc.App, e
s.docker.ServiceUpdate(ctx, svcToUpdate.ID, svcToUpdate.Version, svcToUpdate.Spec, types.ServiceUpdateOptions{})
- return nil, errors.New("not implemented")
+ return s.Inspect(ctx, &svc.AppInspect{Name: params.Name})
}
func (s *server) Inspect(ctx context.Context, params *svc.AppInspect) (*svc.App, error) {
@@ -399,25 +400,32 @@ func main() {
flag.Parse()
flagenv.Parse()
- cert, err := tls.LoadX509KeyPair(*sslCert, *sslKey)
- if err != nil {
- log.Fatal(err)
- }
+ var creds credentials.TransportCredentials
+ var gs *grpc.Server
- rawCaCert, err := ioutil.ReadFile(*caCert)
- if err != nil {
- log.Fatal(err)
- }
- caCertPool := x509.NewCertPool()
- caCertPool.AppendCertsFromPEM(rawCaCert)
+ if *sslCert != "" && *caCert != "" && *sslKey != "" {
+ cert, err := tls.LoadX509KeyPair(*sslCert, *sslKey)
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ rawCaCert, err := ioutil.ReadFile(*caCert)
+ if err != nil {
+ log.Fatal(err)
+ }
+ caCertPool := x509.NewCertPool()
+ caCertPool.AppendCertsFromPEM(rawCaCert)
- creds := credentials.NewTLS(&tls.Config{
- Certificates: []tls.Certificate{cert},
- ClientCAs: caCertPool,
- ClientAuth: tls.VerifyClientCertIfGiven,
- })
+ creds = credentials.NewTLS(&tls.Config{
+ Certificates: []tls.Certificate{cert},
+ ClientCAs: caCertPool,
+ ClientAuth: tls.VerifyClientCertIfGiven,
+ })
- gs := grpc.NewServer(grpc.Creds(creds))
+ gs = grpc.NewServer(grpc.Creds(creds))
+ } else {
+ gs = grpc.NewServer()
+ }
defaultHeaders := map[string]string{"User-Agent": "dockerswarm-svcd"}
cli, err := client.NewClient(client.DefaultDockerHost, client.DefaultVersion, nil, defaultHeaders)