mirror of
https://github.com/gravitl/netmaker.git
synced 2025-10-06 01:07:41 +08:00
adding some rqlite vars
This commit is contained in:
@@ -52,6 +52,7 @@ type ServerConfig struct {
|
|||||||
DisableDefaultNet string `yaml:"disabledefaultnet"`
|
DisableDefaultNet string `yaml:"disabledefaultnet"`
|
||||||
GRPCSSL string `yaml:"grpcssl"`
|
GRPCSSL string `yaml:"grpcssl"`
|
||||||
Version string `yaml:"version"`
|
Version string `yaml:"version"`
|
||||||
|
SQLConn string `yaml:"sqlconn"`
|
||||||
DefaultNodeLimit int32 `yaml:"defaultnodelimit"`
|
DefaultNodeLimit int32 `yaml:"defaultnodelimit"`
|
||||||
Verbosity int32 `yaml:"verbosity"`
|
Verbosity int32 `yaml:"verbosity"`
|
||||||
}
|
}
|
||||||
|
@@ -9,5 +9,6 @@ server:
|
|||||||
agentbackend: "" # defaults to "on" or AGENT_BACKEND (if set)
|
agentbackend: "" # defaults to "on" or AGENT_BACKEND (if set)
|
||||||
clientmode: "" # defaults to "on" or CLIENT_MODE (if set)
|
clientmode: "" # defaults to "on" or CLIENT_MODE (if set)
|
||||||
dnsmode: "" # defaults to "on" or DNS_MODE (if set)
|
dnsmode: "" # defaults to "on" or DNS_MODE (if set)
|
||||||
|
sqlconn: "" # defaults to "http://" or SQL_CONN (if set)
|
||||||
disableremoteipcheck: "" # defaults to "false" or DISABLE_REMOTE_IP_CHECK (if set)
|
disableremoteipcheck: "" # defaults to "false" or DISABLE_REMOTE_IP_CHECK (if set)
|
||||||
version: "0.7.1" # version of server
|
version: "0.7.1" # version of server
|
@@ -3,7 +3,8 @@ package database
|
|||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"errors"
|
"errors"
|
||||||
|
"log"
|
||||||
|
"github.com/gravitl/netmaker/servercfg"
|
||||||
"github.com/rqlite/gorqlite"
|
"github.com/rqlite/gorqlite"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -25,7 +26,8 @@ var Database gorqlite.Connection
|
|||||||
|
|
||||||
func InitializeDatabase() error {
|
func InitializeDatabase() error {
|
||||||
|
|
||||||
conn, err := gorqlite.Open("http://")
|
//log.Println("sql conn value:",servercfg.GetSQLConn())
|
||||||
|
conn, err := gorqlite.Open(servercfg.GetSQLConn())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@@ -20,11 +20,25 @@ func SetDNSDir() error {
|
|||||||
}
|
}
|
||||||
_, err = os.Stat(dir + "/config/dnsconfig")
|
_, err = os.Stat(dir + "/config/dnsconfig")
|
||||||
if os.IsNotExist(err) {
|
if os.IsNotExist(err) {
|
||||||
os.Mkdir(dir+"/config/dnsconfig", 744)
|
os.Mkdir(dir+"/config/dnsconfig", 0744)
|
||||||
} else if err != nil {
|
} else if err != nil {
|
||||||
PrintUserLog("","couldnt find or create /config/dnsconfig",0)
|
PrintUserLog("","couldnt find or create /config/dnsconfig",0)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
_, err = os.Stat(dir + "/config/dnsconfig/Corefile")
|
||||||
|
if os.IsNotExist(err) {
|
||||||
|
err = SetCorefile("example.com")
|
||||||
|
if err != nil {
|
||||||
|
PrintUserLog("",err.Error(),0)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
_, err = os.Stat(dir + "/config/dnsconfig/netmaker.hosts")
|
||||||
|
if os.IsNotExist(err) {
|
||||||
|
_, err = os.Create(dir + "/config/dnsconfig/netmaker.hosts")
|
||||||
|
if err != nil {
|
||||||
|
PrintUserLog("",err.Error(),0)
|
||||||
|
}
|
||||||
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1,62 +1,56 @@
|
|||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: Service
|
kind: Service
|
||||||
metadata:
|
metadata:
|
||||||
name: mongo
|
name: rqlite
|
||||||
labels:
|
labels:
|
||||||
name: mongo
|
name: rqlite
|
||||||
spec:
|
spec:
|
||||||
ports:
|
ports:
|
||||||
- port: 27017
|
- port: 4001
|
||||||
targetPort: 27017
|
targetPort: 4001
|
||||||
clusterIP: None
|
clusterIP: None
|
||||||
selector:
|
selector:
|
||||||
role: mongo
|
role: rqlite
|
||||||
---
|
---
|
||||||
apiVersion: apps/v1
|
apiVersion: apps/v1
|
||||||
kind: StatefulSet
|
kind: StatefulSet
|
||||||
metadata:
|
metadata:
|
||||||
name: mongo
|
name: rqlite
|
||||||
spec:
|
spec:
|
||||||
serviceName: "mongo"
|
serviceName: "rqlite"
|
||||||
replicas: 1
|
replicas: 1
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
role: mongo
|
role: rqlite
|
||||||
template:
|
template:
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
app: mongo
|
app: rqlite
|
||||||
role: mongo
|
role: rqlite
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: mongo
|
- name: rqlite
|
||||||
image: mongo
|
image: rqlite/rqlite
|
||||||
env:
|
ports:
|
||||||
- name: MONGO_INITDB_ROOT_USERNAME
|
- containerPort: 4001
|
||||||
value: mongoadmin
|
|
||||||
- name: MONGO_INITDB_ROOT_PASSWORD
|
|
||||||
value: mongopass
|
|
||||||
securityContext:
|
|
||||||
privileged: true
|
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- name: mongovol
|
- name: rqlitevol
|
||||||
mountPath: /data/db
|
mountPath: /rqlite/file/data
|
||||||
volumes:
|
volumes:
|
||||||
- name: mongovol
|
- name: rqlitevol
|
||||||
persistentVolumeClaim:
|
persistentVolumeClaim:
|
||||||
claimName: mongodb-pvc
|
claimName: rqlite-pvc
|
||||||
---
|
---
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: PersistentVolumeClaim
|
kind: PersistentVolumeClaim
|
||||||
metadata:
|
metadata:
|
||||||
name: mongodb-pvc
|
name: rqlite-pvc
|
||||||
spec:
|
spec:
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteOnce
|
- ReadWriteOnce
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
storage: 7Gi
|
storage: 1Gi
|
||||||
storageClassName: microk8s-hostpath
|
|
||||||
---
|
---
|
||||||
apiVersion: apps/v1
|
apiVersion: apps/v1
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
@@ -89,6 +83,8 @@ spec:
|
|||||||
value: "grpc.NETMAKER_BASE_DOMAIN:443"
|
value: "grpc.NETMAKER_BASE_DOMAIN:443"
|
||||||
- name: COREDNS_ADDR
|
- name: COREDNS_ADDR
|
||||||
value: "10.152.183.53"
|
value: "10.152.183.53"
|
||||||
|
- name: SQL_CONN
|
||||||
|
value: "http://rqlite-0:4001"
|
||||||
- name: GRPC_SSL
|
- name: GRPC_SSL
|
||||||
value: "on"
|
value: "on"
|
||||||
- name: SERVER_HTTP_HOST
|
- name: SERVER_HTTP_HOST
|
||||||
@@ -103,20 +99,10 @@ spec:
|
|||||||
value: "off"
|
value: "off"
|
||||||
- name: MASTER_KEY
|
- name: MASTER_KEY
|
||||||
value: "Unkn0wn!"
|
value: "Unkn0wn!"
|
||||||
- name: SERVER_GRPC_WIREGUARD
|
|
||||||
value: "off"
|
|
||||||
- name: MASTER_KEY
|
- name: MASTER_KEY
|
||||||
value: "secretkey"
|
value: "secretkey"
|
||||||
- name: CORS_ALLOWED_ORIGIN
|
- name: CORS_ALLOWED_ORIGIN
|
||||||
value: "*"
|
value: "*"
|
||||||
- name: MONGO_ADMIN
|
|
||||||
value: "mongoadmin"
|
|
||||||
- name: MONGO_PASS
|
|
||||||
value: "mongopass"
|
|
||||||
- name: MONGO_HOST
|
|
||||||
value: "mongo-0.mongo"
|
|
||||||
- name: MONGO_OPTS
|
|
||||||
value: "/?authSource=admin"
|
|
||||||
volumes:
|
volumes:
|
||||||
- name: nm-pvc
|
- name: nm-pvc
|
||||||
persistentVolumeClaim:
|
persistentVolumeClaim:
|
||||||
@@ -132,7 +118,6 @@ spec:
|
|||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
storage: 128Mi
|
storage: 128Mi
|
||||||
storageClassName: microk8s-hostpath
|
|
||||||
---
|
---
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: Service
|
kind: Service
|
||||||
@@ -288,7 +273,7 @@ metadata:
|
|||||||
cert-manager.io/cluster-issuer: "letsencrypt-prod"
|
cert-manager.io/cluster-issuer: "letsencrypt-prod"
|
||||||
nginx.ingress.kubernetes.io/ssl-redirect: 'true'
|
nginx.ingress.kubernetes.io/ssl-redirect: 'true'
|
||||||
spec:
|
spec:
|
||||||
ingressClassName: public
|
ingressClassName: nginx
|
||||||
tls:
|
tls:
|
||||||
- hosts:
|
- hosts:
|
||||||
- api.NETMAKER_BASE_DOMAIN
|
- api.NETMAKER_BASE_DOMAIN
|
||||||
@@ -314,7 +299,7 @@ metadata:
|
|||||||
nginx.ingress.kubernetes.io/ssl-redirect: 'true'
|
nginx.ingress.kubernetes.io/ssl-redirect: 'true'
|
||||||
nginx.ingress.kubernetes.io/backend-protocol: "GRPC"
|
nginx.ingress.kubernetes.io/backend-protocol: "GRPC"
|
||||||
spec:
|
spec:
|
||||||
ingressClassName: public
|
ingressClassName: nginx
|
||||||
tls:
|
tls:
|
||||||
- hosts:
|
- hosts:
|
||||||
- grpc.NETMAKER_BASE_DOMAIN
|
- grpc.NETMAKER_BASE_DOMAIN
|
||||||
@@ -340,7 +325,7 @@ metadata:
|
|||||||
cert-manager.io/cluster-issuer: "letsencrypt-prod"
|
cert-manager.io/cluster-issuer: "letsencrypt-prod"
|
||||||
nginx.ingress.kubernetes.io/ssl-redirect: 'true'
|
nginx.ingress.kubernetes.io/ssl-redirect: 'true'
|
||||||
spec:
|
spec:
|
||||||
ingressClassName: public
|
ingressClassName: nginx
|
||||||
tls:
|
tls:
|
||||||
- hosts:
|
- hosts:
|
||||||
- dashboard.NETMAKER_BASE_DOMAIN
|
- dashboard.NETMAKER_BASE_DOMAIN
|
||||||
|
1
main.go
1
main.go
@@ -11,7 +11,6 @@ import (
|
|||||||
"os/signal"
|
"os/signal"
|
||||||
"strconv"
|
"strconv"
|
||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
controller "github.com/gravitl/netmaker/controllers"
|
controller "github.com/gravitl/netmaker/controllers"
|
||||||
"github.com/gravitl/netmaker/database"
|
"github.com/gravitl/netmaker/database"
|
||||||
"github.com/gravitl/netmaker/functions"
|
"github.com/gravitl/netmaker/functions"
|
||||||
|
@@ -31,6 +31,7 @@ func GetServerConfig() config.ServerConfig {
|
|||||||
cfg.AllowedOrigin = GetAllowedOrigin()
|
cfg.AllowedOrigin = GetAllowedOrigin()
|
||||||
cfg.RestBackend = "off"
|
cfg.RestBackend = "off"
|
||||||
cfg.Verbosity = GetVerbose()
|
cfg.Verbosity = GetVerbose()
|
||||||
|
cfg.SQLConn = GetSQLConn()
|
||||||
if IsRestBackend() {
|
if IsRestBackend() {
|
||||||
cfg.RestBackend = "on"
|
cfg.RestBackend = "on"
|
||||||
}
|
}
|
||||||
@@ -307,3 +308,13 @@ func GetVerbose() int32 {
|
|||||||
}
|
}
|
||||||
return int32(level)
|
return int32(level)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func GetSQLConn() string {
|
||||||
|
sqlconn := "http://"
|
||||||
|
if os.Getenv("SQL_CONN") != "" {
|
||||||
|
sqlconn = os.Getenv("SQL_CONN")
|
||||||
|
} else if config.Config.Server.SQLConn != "" {
|
||||||
|
sqlconn = config.Config.Server.SQLConn
|
||||||
|
}
|
||||||
|
return sqlconn
|
||||||
|
}
|
Reference in New Issue
Block a user