2
0
Эх сурвалжийг харах

kubernetes stuff for agent

afeiszli 4 жил өмнө
parent
commit
2114fadb7b

+ 12 - 0
Dockerfile-netclient

@@ -0,0 +1,12 @@
+#first stage - builder
+
+FROM debian:latest
+
+COPY ./netclient/netclient /root/
+COPY ./netclient/checkin.sh /root/
+
+WORKDIR /root/
+
+RUN chmod +x checkin.sh
+
+CMD ["./checkin.sh"]

+ 25 - 0
Dockerfile-netclient.build

@@ -0,0 +1,25 @@
+#first stage - builder
+
+FROM debian:latest
+
+RUN echo "deb http://deb.debian.org/debian/ unstable main" > /etc/apt/sources.list.d/unstable.list
+RUN \
+ echo "**** install dependencies ****" && \
+ apt-get update && \
+ apt-get install -y --no-install-recommends \
+	build-essential \
+	curl \
+	git \
+	gnupg \ 
+	ifupdown \
+	iproute2 \
+	iptables \
+	iputils-ping \
+	jq \
+	libc6 \
+	libelf-dev \
+	net-tools \
+	openresolv \
+	wireguard \
+	wireguard-tools
+#WORKDIR /root/

+ 12 - 0
Dockerfile-netclient.build.slim

@@ -0,0 +1,12 @@
+#first stage - builder
+
+FROM debian:latest
+
+RUN echo "deb http://deb.debian.org/debian/ unstable main" > /etc/apt/sources.list.d/unstable.list
+RUN \
+ echo "**** install dependencies ****" && \
+ apt-get update && \
+ apt-get install -y --no-install-recommends \
+	wireguard \
+	wireguard-tools
+#WORKDIR /root/

+ 3 - 3
compose/docker-compose.slim.yml

@@ -25,7 +25,7 @@ services:
     image: gravitl/netmaker:v0.5
     restart: always
     environment:
-      SERVER_HOST: "HOST_IP"
+      SERVER_HOST: "0.0.0.0"
       DNS_MODE: "off"
       CLIENT_MODE: "off"
       MONGO_HOST: "mongodb"
@@ -38,8 +38,8 @@ services:
     links:
       - "netmaker:api"
     ports:
-      - "80:80"
+      - "8082:80"
     environment:
-      BACKEND_URL: "http://HOST_IP:8081"
+      BACKEND_URL: "http://localhost:8081"
 volumes:
   mongovol: {}

+ 7 - 0
netclient/checkin.sh

@@ -0,0 +1,7 @@
+#!/bin/bash
+set -e
+
+while true; do
+	./netclient checkin;
+	sleep 30
+done

+ 20 - 8
netclient/command/commands.go

@@ -54,14 +54,26 @@ func Join(cfg config.ClientConfig) error {
 }
 
 func CheckIn(cfg config.ClientConfig) error {
-        if cfg.Network == "all" || cfg.Network == "" {
-		log.Println("Required, '-n'. No network provided. Exiting.")
-                os.Exit(1)
-        }
-	err := functions.CheckIn(cfg.Network)
-	if err != nil {
-		log.Println("Error checking in: ", err)
-		os.Exit(1)
+	var err error
+	if cfg.Network == "all" || cfg.Network == "" {
+		nets, err := functions.GetNetworks()
+		if err != nil {
+                        log.Println("Error retrieving networks: ", err)
+                        os.Exit(1)
+                }
+		for _, n := range nets {
+			err = functions.CheckIn(n)
+			if err != nil {
+				log.Println("Error checking in to network " + n + ": ", err)
+				os.Exit(1)
+			}
+		}
+	} else {
+		err = functions.CheckIn(cfg.Network)
+		if err != nil {
+			log.Println("Error checking in: ", err)
+			os.Exit(1)
+		}
 	}
 	return nil
 }