1
0
forked from extern/smegmesh

Merge pull request #85 from tim-beatham/81-separate-synchronisation-into-independent-processes

Submitting
This commit is contained in:
Tim Beatham 2024-01-05 18:22:48 +00:00 committed by GitHub
commit ed525c045a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 44 additions and 132 deletions

View File

@ -9,4 +9,4 @@ RUN apt-get update && apt-get install -y \
vim
WORKDIR /wgmesh
RUN go mod tidy
RUN go build -o /usr/local/bin ./...
RUN go build -o /usr/local/bin ./...

View File

@ -1,95 +0,0 @@
version: '3'
networks:
net-1:
driver: bridge
ipam:
driver: default
config:
- subnet: 10.89.0.0/17
net-2:
driver: bridge
ipam:
driver: default
config:
- subnet: 10.89.155.0/17
services:
wg-1:
image: wg-mesh-base:latest
cap_add:
- NET_ADMIN
- NET_RAW
tty: true
networks:
- net-1
volumes:
- ./shared:/shared
command: "wgmeshd /shared/configuration.yaml"
wg-2:
image: wg-mesh-base:latest
cap_add:
- NET_ADMIN
- NET_RAW
tty: true
networks:
- net-1
volumes:
- ./shared:/shared
command: "wgmeshd /shared/configuration.yaml"
wg-3:
image: wg-mesh-base:latest
cap_add:
- NET_ADMIN
- NET_RAW
tty: true
networks:
- net-1
volumes:
- ./shared:/shared
command: "wgmeshd /shared/configuration.yaml"
wg-4:
image: wg-mesh-base:latest
cap_add:
- NET_ADMIN
- NET_RAW
tty: true
sysctls:
- net.ipv6.conf.all.forwarding=1
networks:
- net-1
- net-2
volumes:
- ./shared:/shared
command: "wgmeshd /shared/configuration.yaml"
wg-5:
image: wg-mesh-base:latest
cap_add:
- NET_ADMIN
- NET_RAW
tty: true
networks:
- net-2
volumes:
- ./shared:/shared
command: "wgmeshd /shared/configuration.yaml"
wg-6:
image: wg-mesh-base:latest
cap_add:
- NET_ADMIN
- NET_RAW
tty: true
networks:
- net-2
volumes:
- ./shared:/shared
command: "wgmeshd /shared/configuration.yaml"
wg-7:
image: wg-mesh-base:latest
cap_add:
- NET_ADMIN
- NET_RAW
tty: true
networks:
- net-2
volumes:
- ./shared:/shared
command: "wgmeshd /shared/configuration.yaml"

View File

@ -1,14 +0,0 @@
certificatePath: "/wgmesh/cert/cert.pem"
privateKeyPath: "/wgmesh/cert/priv.pem"
caCertificatePath: "/wgmesh/cert/cacert.pem"
skipCertVerification: true
timeout: 5
gRPCPort: "21906"
advertiseRoutes: true
clusterSize: 32
syncRate: 1
interClusterChance: 0.15
branchRate: 3
infectionCount: 3
heartBeatTime: 10
pruneTime: 20

View File

@ -1,14 +1,9 @@
version: '3'
networks:
net-1:
driver: bridge
ipam:
driver: default
config:
- subnet: 10.89.0.0/17
services:
wg-1:
image: wg-mesh-base:latest
image: localhost/smegmesh-base:latest
cap_add:
- NET_ADMIN
- NET_RAW
@ -17,9 +12,11 @@ services:
- net-1
volumes:
- ./shared:/shared
command: "wgmeshd /shared/configuration.yaml"
command: "smegd /shared/configuration.yaml"
sysctls:
- net.ipv6.conf.all.forwarding=1
wg-2:
image: wg-mesh-base:latest
image: localhost/smegmesh-base:latest
cap_add:
- NET_ADMIN
- NET_RAW
@ -28,9 +25,11 @@ services:
- net-1
volumes:
- ./shared:/shared
command: "wgmeshd /shared/configuration.yaml"
command: "smegd /shared/configuration.yaml"
sysctls:
- net.ipv6.conf.all.forwarding=1
wg-3:
image: wg-mesh-base:latest
image: localhost/smegmesh-base:latest
cap_add:
- NET_ADMIN
- NET_RAW
@ -39,4 +38,6 @@ services:
- net-1
volumes:
- ./shared:/shared
command: "wgmeshd /shared/configuration.yaml"
command: "smegd /shared/configuration.yaml"
sysctls:
- net.ipv6.conf.all.forwarding=1

View File

@ -1,14 +1,34 @@
certificatePath: "/wgmesh/cert/cert.pem"
privateKeyPath: "/wgmesh/cert/priv.pem"
caCertificatePath: "/wgmesh/cert/cacert.pem"
# Paths to the certificates modify
# if not running from Smegmesh
certificatePath: "./cert/cert.pem"
privateKeyPath: "./cert/priv.pem"
caCertificatePath: "./cert/cacert.pem"
skipCertVerification: true
# timeout is the configured grpc timeout
timeout: 5
gRPCPort: "21906"
advertiseRoutes: true
clusterSize: 32
syncRate: 1
interClusterChance: 0.15
branchRate: 3
# gRPC port to run the solution
gRPCPort: 4000
# whether or not to run go profiler
profile: false
# stubWg: whether to install WireGuard configurations
# if true just tests the control plane
stubWg: false
heartbeatInterval: 60
branch: 3
pullInterval: 20
infectionCount: 3
heartBeatTime: 10
pruneTime: 20
interClusterChance: 0.15
syncInterval: 2
clusterSize: 64
logLevel: "info"
baseConfiguration:
# ipDiscovery: specifies how to find your IP address
ipDiscovery: "outgoing"
# alternative to ipDiscovery specify an actual endpoint yourself with publicEndpoint: "xxxx"
# role is the role that you are playing (peer | client)
# peers can only bootstrap meshes
role: "peer"
# advertise meshes to other meshes
advertiseRoute: true
# advertise default routes
advertiseDefaults: true