Browse Source

Merge pull request #334 from gravitl/master

updated compose files
Alex 3 years ago
parent
commit
a2fe77ecef

+ 2 - 0
.dockerignore

@@ -0,0 +1,2 @@
+config/dnsconfig/
+data/

+ 10 - 20
Dockerfile

@@ -1,36 +1,26 @@
 #first stage - builder
 #first stage - builder
-
-FROM golang:latest as builder
-
-COPY . /app
+FROM gravitl/builder as builder
 
 
 WORKDIR /app
 WORKDIR /app
 
 
-ENV GO111MODULE=auto
-
-RUN GOARCH=amd64 CGO_ENABLED=1 GOOS=linux go build -ldflags="-w -s" -o app main.go
-
-WORKDIR /app/netclient
+COPY . .
 
 
 ENV GO111MODULE=auto
 ENV GO111MODULE=auto
 
 
-RUN GOARCH=amd64 CGO_ENABLED=0 GOOS=linux go build -ldflags="-w -s" -o netclient main.go
-
-#second stage
-
-FROM debian:latest
-
-RUN apt-get update && apt-get -y install systemd procps
+RUN GOOS=linux GOARCH=amd64 CGO_ENABLED=1 /usr/local/go/bin/go build -ldflags="-w -s" -o netmaker main.go
 
 
+FROM alpine:3.13.6
+# add a c lib
+RUN apk add gcompat iptables
+# set the working directory
 WORKDIR /root/
 WORKDIR /root/
 
 
-COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
+RUN mkdir -p /etc/netclient/config
 
 
-COPY --from=builder /app .
+COPY --from=builder /app/netmaker .
 COPY --from=builder /app/config config
 COPY --from=builder /app/config config
-COPY --from=builder /app/netclient netclient
 
 
 EXPOSE 8081
 EXPOSE 8081
 EXPOSE 50051
 EXPOSE 50051
 
 
-CMD ["./app"]
+ENTRYPOINT ["./netmaker"]

+ 1 - 1
compose/docker-compose.caddy.yml

@@ -24,7 +24,7 @@ services:
       SERVER_GRPC_HOST: "grpc.NETMAKER_BASE_DOMAIN"
       SERVER_GRPC_HOST: "grpc.NETMAKER_BASE_DOMAIN"
       API_PORT: "8081"
       API_PORT: "8081"
       GRPC_PORT: "50051"
       GRPC_PORT: "50051"
-      CLIENT_MODE: "contained"
+      CLIENT_MODE: "on"
       MASTER_KEY: "REPLACE_MASTER_KEY"
       MASTER_KEY: "REPLACE_MASTER_KEY"
       SERVER_GRPC_WIREGUARD: "off"
       SERVER_GRPC_WIREGUARD: "off"
       CORS_ALLOWED_ORIGIN: "*"
       CORS_ALLOWED_ORIGIN: "*"

+ 1 - 1
compose/docker-compose.yml

@@ -24,7 +24,7 @@ services:
       SERVER_GRPC_HOST: "grpc.NETMAKER_BASE_DOMAIN"
       SERVER_GRPC_HOST: "grpc.NETMAKER_BASE_DOMAIN"
       API_PORT: "8081"
       API_PORT: "8081"
       GRPC_PORT: "50051"
       GRPC_PORT: "50051"
-      CLIENT_MODE: "contained"
+      CLIENT_MODE: "on"
       MASTER_KEY: "REPLACE_MASTER_KEY"
       MASTER_KEY: "REPLACE_MASTER_KEY"
       SERVER_GRPC_WIREGUARD: "off"
       SERVER_GRPC_WIREGUARD: "off"
       CORS_ALLOWED_ORIGIN: "*"
       CORS_ALLOWED_ORIGIN: "*"

+ 36 - 0
docker/Dockerfile-full

@@ -0,0 +1,36 @@
+#first stage - builder
+
+FROM golang:latest as builder
+
+COPY . /app
+
+WORKDIR /app
+
+ENV GO111MODULE=auto
+
+RUN GOARCH=amd64 CGO_ENABLED=1 GOOS=linux go build -ldflags="-w -s" -o app main.go
+
+WORKDIR /app/netclient
+
+ENV GO111MODULE=auto
+
+RUN GOARCH=amd64 CGO_ENABLED=0 GOOS=linux go build -ldflags="-w -s" -o netclient main.go
+
+#second stage
+
+FROM debian:latest
+
+RUN apt-get update && apt-get -y install systemd procps
+
+WORKDIR /root/
+
+COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
+
+COPY --from=builder /app .
+COPY --from=builder /app/config config
+COPY --from=builder /app/netclient netclient
+
+EXPOSE 8081
+EXPOSE 50051
+
+CMD ["./app"]

+ 12 - 16
docker/Dockerfile-netclient

@@ -1,26 +1,22 @@
-#first stage - builder
+FROM gravitl/builder:latest as builder
+# add glib support daemon manager
+WORKDIR /app
 
 
-FROM golang:latest as builder
-
-COPY . /app
-
-WORKDIR /app/netclient
+COPY . .
 
 
 ENV GO111MODULE=auto
 ENV GO111MODULE=auto
 
 
-RUN CGO_ENABLED=0 GOOS=linux go build -o netclient main.go
-
-#second stage
+RUN GOOS=linux GOARCH=amd64 CGO_ENABLED=0 /usr/local/go/bin/go build -ldflags="-w -s" -o netclient-app netclient/main.go
 
 
-FROM debian:latest
-
-RUN apt-get update && apt-get -y install systemd procps
+FROM alpine:3.13.6
 
 
+RUN apk add gcompat iptables && mkdir -p /etc/netclient
+# set the working directory
 WORKDIR /root/
 WORKDIR /root/
 
 
-COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
-
-COPY --from=builder /app/netclient/netclient .
+COPY --from=builder /app/netclient-app /etc/netclient/netclient
+COPY --from=builder /app/scripts/netclient.sh .
 
 
-CMD ["./netclient"]
+RUN chmod 0755 /etc/netclient/netclient && chmod 0755 netclient.sh
 
 
+ENTRYPOINT ["./netclient.sh"]

+ 26 - 0
docker/Dockerfile-netclient-full

@@ -0,0 +1,26 @@
+#first stage - builder
+
+FROM golang:latest as builder
+
+COPY . /app
+
+WORKDIR /app/netclient
+
+ENV GO111MODULE=auto
+
+RUN CGO_ENABLED=0 GOOS=linux go build -o netclient main.go
+
+#second stage
+
+FROM debian:latest
+
+RUN apt-get update && apt-get -y install systemd procps
+
+WORKDIR /root/
+
+COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
+
+COPY --from=builder /app/netclient/netclient .
+
+CMD ["./netclient"]
+

+ 0 - 22
docker/Dockerfile-netclient-slim-solo

@@ -1,22 +0,0 @@
-FROM gravitl/builder:latest as builder
-# add glib support daemon manager
-WORKDIR /app
-
-COPY . .
-
-ENV GO111MODULE=auto
-
-RUN GOOS=linux GOARCH=amd64 CGO_ENABLED=0 /usr/local/go/bin/go build -ldflags="-w -s" -o netclient-app netclient/main.go
-
-FROM alpine:3.13.6
-
-RUN apk add gcompat iptables && mkdir -p /etc/netclient
-# set the working directory
-WORKDIR /root/
-
-COPY --from=builder /app/netclient-app /etc/netclient/netclient
-COPY --from=builder /app/scripts/netclient.sh .
-
-RUN chmod 0755 /etc/netclient/netclient && chmod 0755 netclient.sh
-
-ENTRYPOINT ["./netclient.sh"]

+ 0 - 26
docker/Dockerfile-netmaker-slim-solo

@@ -1,26 +0,0 @@
-FROM gravitl/builder:latest as builder
-# add glib support daemon manager
-WORKDIR /app
-
-COPY . .
-
-ENV GO111MODULE=auto
-
-RUN GOOS=linux GOARCH=amd64 CGO_ENABLED=1 /usr/local/go/bin/go build -ldflags="-w -s" -o netmaker main.go
-
-FROM alpine:3.13.6
-
-RUN apk add gcompat
-# set the working directory
-WORKDIR /root/
-
-COPY --from=builder /app/netmaker .
-COPY --from=builder /app/config .
-
-RUN mkdir -p config/dnsconfig
-RUN touch config/dnsconfig/Corefile && touch config/dnsconfig/netmaker.hosts
-
-EXPOSE 8081
-EXPOSE 50051
-
-ENTRYPOINT ["./netmaker"]

+ 4 - 3
netclient/command/commands.go

@@ -3,9 +3,10 @@ package command
 import (
 import (
 	"log"
 	"log"
 	"os"
 	"os"
+	"strconv"
 	"strings"
 	"strings"
 	"time"
 	"time"
-	"strconv"
+
 	nodepb "github.com/gravitl/netmaker/grpc"
 	nodepb "github.com/gravitl/netmaker/grpc"
 	"github.com/gravitl/netmaker/netclient/config"
 	"github.com/gravitl/netmaker/netclient/config"
 	"github.com/gravitl/netmaker/netclient/daemon"
 	"github.com/gravitl/netmaker/netclient/daemon"
@@ -67,14 +68,14 @@ func getWindowsInterval() int {
 		return interval
 		return interval
 	}
 	}
 	netint, err := strconv.Atoi(cfg.Server.CheckinInterval)
 	netint, err := strconv.Atoi(cfg.Server.CheckinInterval)
-	if err == nil && netint != 0  {
+	if err == nil && netint != 0 {
 		interval = netint
 		interval = netint
 	}
 	}
 	return interval
 	return interval
 }
 }
 
 
 func RunUserspaceDaemon() {
 func RunUserspaceDaemon() {
-	
+
 	cfg := config.ClientConfig{
 	cfg := config.ClientConfig{
 		Network: "all",
 		Network: "all",
 	}
 	}

+ 10 - 7
serverctl/serverctl.go

@@ -101,7 +101,7 @@ func InitServerNetclient() error {
 	if os.IsNotExist(err) {
 	if os.IsNotExist(err) {
 		os.MkdirAll(netclientDir+"/config", 744)
 		os.MkdirAll(netclientDir+"/config", 744)
 	} else if err != nil {
 	} else if err != nil {
-		log.Println("could not find or create", netclientDir)
+		log.Println("[netmaker] could not find or create", netclientDir)
 		return err
 		return err
 	}
 	}
 	return nil
 	return nil
@@ -119,14 +119,14 @@ func HandleContainedClient() error {
 		log.SetFlags(log.Flags() &^ (log.Llongfile | log.Lshortfile))
 		log.SetFlags(log.Flags() &^ (log.Llongfile | log.Lshortfile))
 		err := SyncNetworks(servernets)
 		err := SyncNetworks(servernets)
 		if err != nil && servercfg.GetVerbose() >= 1 {
 		if err != nil && servercfg.GetVerbose() >= 1 {
-			log.Printf("[server netclient] error syncing networks %s \n", err)
+			log.Printf("[netmaker] error syncing networks %s \n", err)
 		}
 		}
 		err = nccommand.CheckIn(config.ClientConfig{Network: "all"})
 		err = nccommand.CheckIn(config.ClientConfig{Network: "all"})
 		if err != nil && servercfg.GetVerbose() >= 1 {
 		if err != nil && servercfg.GetVerbose() >= 1 {
-			log.Printf("[server netclient] error occurred %s \n", err)
+			log.Printf("[netmaker] error occurred %s \n", err)
 		}
 		}
 		if servercfg.GetVerbose() >= 3 {
 		if servercfg.GetVerbose() >= 3 {
-			log.Println("[server netclient]", "completed a checkin call")
+			log.Println("[netmaker]", "completed a checkin call")
 		}
 		}
 	}
 	}
 	return nil
 	return nil
@@ -152,7 +152,9 @@ func SyncNetworks(servernets []models.Network) error {
 				if err == nil {
 				if err == nil {
 					err = errors.New("network add failed for " + servernet.NetID)
 					err = errors.New("network add failed for " + servernet.NetID)
 				}
 				}
-				log.Printf("[server] error adding network %s during sync %s \n", servernet.NetID, err)
+				if servercfg.GetVerbose() >= 1 {
+					log.Printf("[netmaker] error adding network %s during sync %s \n", servernet.NetID, err)
+				}
 			}
 			}
 		}
 		}
 	}
 	}
@@ -170,7 +172,7 @@ func SyncNetworks(servernets []models.Network) error {
 				if err == nil {
 				if err == nil {
 					err = errors.New("network delete failed for " + localnet)
 					err = errors.New("network delete failed for " + localnet)
 				}
 				}
-				log.Printf("[server] error removing network %s during sync %s \n", localnet, err)
+				log.Printf("[netmaker] error removing network %s during sync %s \n", localnet, err)
 			}
 			}
 		}
 		}
 	}
 	}
@@ -184,9 +186,10 @@ func AddNetwork(network string) (bool, error) {
 		Node: models.Node{
 		Node: models.Node{
 			Network:  network,
 			Network:  network,
 			IsServer: "yes",
 			IsServer: "yes",
+			DNSOn:    "no",
 			Name:     models.NODE_SERVER_NAME,
 			Name:     models.NODE_SERVER_NAME,
 		},
 		},
 	}, "")
 	}, "")
-	log.Println("Server added to network " + network)
+	log.Println("[netmaker] Server added to network " + network)
 	return true, err
 	return true, err
 }
 }