Skip to content
Snippets Groups Projects
Commit 42de6614 authored by Josh Brooks's avatar Josh Brooks
Browse files

Add programmable generation of config files

parent 331cc98a
No related branches found
No related tags found
3 merge requests!68Master merge,!24Josh/local env migration,!11Release
Showing
with 385 additions and 49 deletions
...@@ -76,6 +76,4 @@ pollDuration: 10s ...@@ -76,6 +76,4 @@ pollDuration: 10s
# The max age of a bucket without activity before it is removed. (Default 10s) # The max age of a bucket without activity before it is removed. (Default 10s)
bucketMaxAge: 10s bucketMaxAge: 10s
devMode: true devMode: true
...@@ -8,13 +8,14 @@ ...@@ -8,13 +8,14 @@
# Gateway Configuration File # Gateway Configuration File
## ##
# Used for debugging # Log message level
loglevel: 0 loglevel: 0
# Output log file # Output log file
log: "results/gateways/gateway-1.log" log: "results/gateways/gateway-1.log"
# The listening port of this gateway # Port for Gateway to listen on. Gateway must be the only listener on this port.
# Required field.
Port: 8201 Port: 8201
# Local IP address of the Gateway, used for internal listening. Expects an IPv4 # Local IP address of the Gateway, used for internal listening. Expects an IPv4
...@@ -26,12 +27,11 @@ listeningAddress: "" ...@@ -26,12 +27,11 @@ listeningAddress: ""
# included, then the port flag is used instead. # included, then the port flag is used instead.
overridePublicIP: "0.0.0.0" overridePublicIP: "0.0.0.0"
# The IP address of the machine running cMix that the Gateway communicates with. # The public IP address of the Node associated with this Gateway.
# Expects an IPv4 address with a port. (Required)
cmixAddress: "0.0.0.0:11201" cmixAddress: "0.0.0.0:11201"
# Period in which the message cleanup function executes. Recommended period is on the order of a minute. # Period in which the message cleanup function executes. Recommended period is on the order of a minute.
messageTimeout: "60s" messageTimeout: "1800s"
# Path to where the IDF is saved. This is used by the wrapper management script. # Path to where the IDF is saved. This is used by the wrapper management script.
idfPath: "results/gateways/misc/gatewayIDF-1.json" idfPath: "results/gateways/misc/gatewayIDF-1.json"
......
...@@ -8,13 +8,14 @@ ...@@ -8,13 +8,14 @@
# Gateway Configuration File # Gateway Configuration File
## ##
# Used for debugging # Log message level
loglevel: 0 loglevel: 0
# Output log file # Output log file
log: "results/gateways/gateway-2.log" log: "results/gateways/gateway-2.log"
# The listening port of this gateway # Port for Gateway to listen on. Gateway must be the only listener on this port.
# Required field.
Port: 8202 Port: 8202
# Local IP address of the Gateway, used for internal listening. Expects an IPv4 # Local IP address of the Gateway, used for internal listening. Expects an IPv4
...@@ -30,7 +31,7 @@ overridePublicIP: "0.0.0.0" ...@@ -30,7 +31,7 @@ overridePublicIP: "0.0.0.0"
cmixAddress: "0.0.0.0:11202" cmixAddress: "0.0.0.0:11202"
# Period in which the message cleanup function executes. Recommended period is on the order of a minute. # Period in which the message cleanup function executes. Recommended period is on the order of a minute.
messageTimeout: "60s" messageTimeout: "1800s"
# Path to where the IDF is saved. This is used by the wrapper management script. # Path to where the IDF is saved. This is used by the wrapper management script.
idfPath: "results/gateways/misc/gatewayIDF-2.json" idfPath: "results/gateways/misc/gatewayIDF-2.json"
......
################################################################################
## Copyright © 2018 Privategrity Corporation #
## #
## All rights reserved. #
################################################################################
##
# Gateway Configuration File
##
# Log message level
loglevel: 0
# Output log file
log: "results/gateways/gateway-0.log"
# Port for Gateway to listen on. Gateway must be the only listener on this port.
# Required field.
Port: 8200
# Local IP address of the Gateway, used for internal listening. Expects an IPv4
# address without a port. (Default "0.0.0.0")
listeningAddress: ""
# The public IPv4 address of the Gateway, as reported to the network, to use
# instead of dynamically looking up Gateway's own IP address. If a port is not
# included, then the port flag is used instead.
overridePublicIP: "0.0.0.0"
# The public IP address of the Node associated with this Gateway.
cmixAddress: "{NODE_ADDR}"
# Period in which the message cleanup function executes. Recommended period is on the order of a minute.
messageTimeout: "1800s"
# Path to where the IDF is saved. This is used by the wrapper management script.
idfPath: "results/gateways/misc/gatewayIDF-0.json"
# === REQUIRED FOR ENABLING TLS ===
# Path to the private key file
keyPath: "../keys/cmix.rip.key"
# Path to the certificate file
certPath: "../keys/cmix.rip.crt"
# Path to the permissioning certificate
schedulingCertPath: "../keys/cmix.rip.crt"
# Path to the certificate file
cmixCertPath: "../keys/cmix.rip.crt"
# How often the periodic storage tracker checks for items older than the
# retention period value. Expects duration in "s", "m", "h". (Defaults to 5
# minutes)
cleanupInterval: 5m
# How long a message record should last in the gossip buffer if it arrives
# before the Gateway starts handling the gossip. (Default 300s)
bufferExpiration: 300s
# Frequency with which to check the gossip buffer. Should be long, since the
# thread takes a lock each time it checks the buffer. (Default 150s)
monitorThreadFrequency: 150s
# Flags for rate limiting communications
# The capacity of rate limiting buckets in the map. (Default 20)
capacity: 20
# The rate that the rate limiting bucket leaks tokens at [tokens/ns]. (Default 3)
leakedTokens: 3
# How often the number of leaked tokens is leaked from the bucket. (Default 1ms)
leakDuration: 1ms
# How often inactive buckets are removed. (Default 10s)
pollDuration: 10s
# The max age of a bucket without activity before it is removed. (Default 10s)
bucketMaxAge: 10s
devMode: true
# ==================================
# Permissioning Server Configuration
# ==================================
# Log message level
logLevel: 1
# Path to log file
logPath: "results/permissioning.log"
# The listening port of this server
port: 18000
# Database connection information
dbUsername: ""
dbPassword: ""
dbName: ""
dbAddress: "0.0.0.0:6969"
# Minimum number of nodes to begin running rounds. this differs from the number of members
# in a team because some scheduling algorithms may require multiple teams worth of nodes at minimum
minimumNodes: 3
# The minimum version required of gateways to connect
minGatewayVersion: "3.0.0"
# The minimum version required of servers to connect
minServerVersion: "3.0.0"
# The minimum version required of a client to connect
minClientVersion: "4.0.0"
# Time interval (in seconds) between committing Node statistics to storage
nodeMetricInterval: 3
# For testing, use the sequence as the country code. Do not use the geobinning database
disableGeoBinning: true
# For testing, do not exclude node or gateway IPs which are local to the machine
allowLocalIPs: true
# Disable pruning of NDF for offline nodes
# if set to false, network will sleep for five minutes on start
disableNDFPruning: true
permissiveIPChecking: true
# How long rounds will be tracked by gateways. Rounds (and messages as an extension)
# prior to this period are not guaranteed to be delivered to clients.
# Expects duration in"h". (Defaults to 1 weeks (168 hours)
messageRetentionLimit: "168h"
# "Location of the user discovery contact file.
udContactPath: "results/udbContact.bin"
udbAddress: "127.0.0.1:18001"
# === REQUIRED FOR ENABLING TLS ===
# Path to the UDB certificate file
udbCertPath: "../keys/cmix.rip.crt"
# Path to the file containing the round ID
roundIdPath: "results/roundId.txt"
# Path to the file containing the update ID
updateIdPath: "results/updateId.txt"
# Path to whitelisted IPs for client ratelimiting
whitelistedIpAddressesPath: "whitelist.txt"
# === REQUIRED FOR ENABLING TLS ===
# Path to the private key file
keyPath: "../keys/cmix.rip.key"
# Path to the certificate file
certPath: "../keys/cmix.rip.crt"
# Path to the node topology permissioning info
ndfOutputPath: "ndf.json"
# Time interval (in minutes) in which the database is
# checked for banned nodes
BanTrackerInterval: "3"
groups:
cmix:
prime: "FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7EDEE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3DC2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F83655D23DCA3AD961C62F356208552BB9ED529077096966D670C354E4ABC9804F1746C08CA18217C32905E462E36CE3BE39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9DE2BCBF6955817183995497CEA956AE515D2261898FA051015728E5A8AAAC42DAD33170D04507A33A85521ABDF1CBA64ECFB850458DBEF0A8AEA71575D060C7DB3970F85A6E1E4C7ABF5AE8CDB0933D71E8C94E04A25619DCEE3D2261AD2EE6BF12FFA06D98A0864D87602733EC86A64521F2B18177B200CBBE117577A615D6C770988C0BAD946E208E24FA074E5AB3143DB5BFCE0FD108E4B82D120A92108011A723C12A787E6D788719A10BDBA5B2699C327186AF4E23C1A946834B6150BDA2583E9CA2AD44CE8DBBBC2DB04DE8EF92E8EFC141FBECAA6287C59474E6BC05D99B2964FA090C3A2233BA186515BE7ED1F612970CEE2D7AFB81BDD762170481CD0069127D5B05AA993B4EA988D8FDDC186FFB7DC90A6C08F4DF435C934063199FFFFFFFFFFFFFFFF"
generator: "2"
e2e:
prime: "E2EE983D031DC1DB6F1A7A67DF0E9A8E5561DB8E8D49413394C049B7A8ACCEDC298708F121951D9CF920EC5D146727AA4AE535B0922C688B55B3DD2AEDF6C01C94764DAB937935AA83BE36E67760713AB44A6337C20E7861575E745D31F8B9E9AD8412118C62A3E2E29DF46B0864D0C951C394A5CBBDC6ADC718DD2A3E041023DBB5AB23EBB4742DE9C1687B5B34FA48C3521632C4A530E8FFB1BC51DADDF453B0B2717C2BC6669ED76B4BDD5C9FF558E88F26E5785302BEDBCA23EAC5ACE92096EE8A60642FB61E8F3D24990B8CB12EE448EEF78E184C7242DD161C7738F32BF29A841698978825B4111B4BC3E1E198455095958333D776D8B2BEEED3A1A1A221A6E37E664A64B83981C46FFDDC1A45E3D5211AAF8BFBC072768C4F50D7D7803D2D4F278DE8014A47323631D7E064DE81C0C6BFA43EF0E6998860F1390B5D3FEACAF1696015CB79C3F9C2D93D961120CD0E5F12CBB687EAB045241F96789C38E89D796138E6319BE62E35D87B1048CA28BE389B575E994DCA755471584A09EC723742DC35873847AEF49F66E43873"
generator: "2"
# Path to file with config for scheduling algorithem within the user directory
schedulingConfigPath: "registration.json"
# Path to JSON file with list of Node registration codes (in order of network
# placement)
RegCodesFilePath: "regCodes.json"
# Set address space size for ephemeral IDs
addressSpace: 32
{
"TeamSize": {teamSize},
"BatchSize": 32,
"MinimumDelay": 60,
"RealtimeDelay": 120,
"SemiOptimalOrdering": true,
"Threshold": 0.3,
"NodeCleanUpInterval": 3,
"ResourceQueueTimeout": 300000
}
\ No newline at end of file
# START YAML ===
# registration code used for first time registration. Unique. Provided by xx network
registrationCode: "AAAA"
useGPU: false
devMode: true
rawPermAddr: true
cmix:
paths:
# Path where the ID will be stored after the ID is created on first run
# used by the wrapper script
idf: "results/servers/nodeID-0.json"
# Path to the self signed TLS cert that the node uses for identification
cert: "../keys/cmix.rip.crt"
# Path to the private key for the self signed TLS cert
key: "../keys/cmix.rip.key"
# Path to where the log will be stored
log: "results/servers/server-0.log"
#
ipListOutput: "results/servers/ipList-1.txt"
# Path where an error file will be placed in the event of a fatal error
# used by the wrapper script
errOutput: "results/servers/errServer-0.txt"
# port the node will communicate on
port: 11200
overridePublicIP: "0.0.0.0"
database:
name: "cmix_server"
username: "cmix"
password: ""
address: ""
gateway:
paths:
# Path to the self signed TLS cert used by the gateway
cert: "../keys/cmix.rip.crt"
scheduling:
paths:
# Path to the self signed TLS cert used by the permissioning. Provided by xx network
cert: "../keys/cmix.rip.crt"
# IP Address of the permissioning server, provided by xx network
address: "0.0.0.0:18000"
metrics:
# location of stored metrics data. Modification to set to permissioning
# server instead of saving will be made at a later date
log: "results/servers/metrics-server-0.log"
# === END YAML
import os
import string
import random
def randomString(stringLength=4):
letters = string.ascii_lowercase
return ''.join(random.choice(letters) for i in range(stringLength))
nodes = int(input("Total number of nodes: "))
minStart = int(input("Minimum number of nodes online to start network: "))
teamSize = int(input("Size of each team: "))
# Array of integers for ports of each server and gateway in the network
gateway_ports = []
node_ports = []
node_regCodes = []
server_template = ""
with open("server.yaml") as f:
server_template = f.read()
gateway_template = ""
with open("gateway.yaml") as f:
gateway_template = f.read()
reg_template = ""
with open("permissioning.yaml") as f:
reg_template = f.read()
reg_json_template = ""
with open("registration.json") as f:
reg_json_template = f.read()
# Generate a list of all ports servers and gateways occupy. Doing this as a
# separate step because their configs need every one listed, and generating them
# once is lighter on CPU cycles.
for i in range(nodes):
gateway_ports.append(8200+i)
node_ports.append(11200+i)
regCode = randomString()
# If this regCode is already in the list, we loop until we get one that
# isn't
while regCode in node_regCodes:
regCode = randomString()
node_regCodes.append(regCode)
# Generate server and gateway configs
for i in range(nodes):
with open("../server-{}.yaml".format(i), 'w') as f:
# Array of strings defining node and gateway IPs and ports
node_addrs = []
node_addrs.append("\"{}\"".format(node_ports[i]))
# TODO: replace iplistoutput, idf, metrics log
# Create a new config based on template
s_config = server_template.replace("server-1", "server-" + str(i)) \
.replace("gateway-1", "gateway-" + str(i)) \
.replace("metrics-server-0", "metrics-server-" + str(i)) \
.replace("ipList-1", "ipList-" + str(i)) \
.replace("{NODE_ADDR}", "\r\n".join(node_addrs)) \
.replace("{DB_ADDR}", "".join(["\"\""])) \
.replace("AAAA", node_regCodes[i]) \
.replace("nodeID-0.json", "nodeID-"+str(i)+".json") \
.replace("11200", str(node_ports[i])) \
.replace("results/servers/server-0", "results/servers/server-" + str(i)) \
.replace("errServer-0.txt", "errServer-"+str(i)+".txt")
f.write(s_config)
with open("../gateway-{}.yaml".format(i), 'w') as f:
# Array of strings defining node and gateway IPs and ports
node_addrs = []
node_addrs.append("0.0.0.0:{}".format(node_ports[i]))
# Create a new config based on template
g_config = gateway_template.replace("server-1", "server-" + str(i)) \
.replace("gateway-0", "gateway-" + str(i)) \
.replace("8200", str(gateway_ports[i])) \
.replace("{NODE_ADDR}", "".join(node_addrs)) \
.replace("gatewayIDF-0", "gatewayIDF-" + str(i))
f.write(g_config)
# Generate permissioning stuff
with open("../registration.json", "w") as f:
config = reg_json_template.replace("{teamSize}", str(teamSize))
f.write(config)
with open("../permissioning-actual.yaml", "w") as f:
config = reg_template.replace("{minStart}", str(minStart))
f.write(config)
# Generate server regCodes file
with open("../regCodes.json", "w") as f:
f.write("[")
countries = ["CR", "GB", "SK", "HR", "IQ", "RU"]
for i in range(nodes):
f.write("{\"RegCode\": \"" + node_regCodes[i] + "\", \"Order\": \"" + \
countries[i % len(countries)] + "\"}")
# If not the last element, write a comma
if i is not (nodes - 1):
f.write(",")
f.write("]")
...@@ -3,12 +3,13 @@ ...@@ -3,12 +3,13 @@
# ================================== # ==================================
# Log message level # Log message level
loglevel: 0 logLevel: 1
# Path to log file # Path to log file
logPath: "results/registration.log" logPath: "results/permissioning.log"
# The listening port of this server # The listening port of this server
port: 11420 port: 18000
# Database connection information # Database connection information
dbUsername: "" dbUsername: ""
...@@ -76,7 +77,6 @@ ndfOutputPath: "ndf.json" ...@@ -76,7 +77,6 @@ ndfOutputPath: "ndf.json"
# checked for banned nodes # checked for banned nodes
BanTrackerInterval: "3" BanTrackerInterval: "3"
# E2E/CMIX Primes
groups: groups:
cmix: cmix:
prime: "FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7EDEE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3DC2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F83655D23DCA3AD961C62F356208552BB9ED529077096966D670C354E4ABC9804F1746C08CA18217C32905E462E36CE3BE39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9DE2BCBF6955817183995497CEA956AE515D2261898FA051015728E5A8AAAC42DAD33170D04507A33A85521ABDF1CBA64ECFB850458DBEF0A8AEA71575D060C7DB3970F85A6E1E4C7ABF5AE8CDB0933D71E8C94E04A25619DCEE3D2261AD2EE6BF12FFA06D98A0864D87602733EC86A64521F2B18177B200CBBE117577A615D6C770988C0BAD946E208E24FA074E5AB3143DB5BFCE0FD108E4B82D120A92108011A723C12A787E6D788719A10BDBA5B2699C327186AF4E23C1A946834B6150BDA2583E9CA2AD44CE8DBBBC2DB04DE8EF92E8EFC141FBECAA6287C59474E6BC05D99B2964FA090C3A2233BA186515BE7ED1F612970CEE2D7AFB81BDD762170481CD0069127D5B05AA993B4EA988D8FDDC186FFB7DC90A6C08F4DF435C934063199FFFFFFFFFFFFFFFF" prime: "FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7EDEE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3DC2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F83655D23DCA3AD961C62F356208552BB9ED529077096966D670C354E4ABC9804F1746C08CA18217C32905E462E36CE3BE39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9DE2BCBF6955817183995497CEA956AE515D2261898FA051015728E5A8AAAC42DAD33170D04507A33A85521ABDF1CBA64ECFB850458DBEF0A8AEA71575D060C7DB3970F85A6E1E4C7ABF5AE8CDB0933D71E8C94E04A25619DCEE3D2261AD2EE6BF12FFA06D98A0864D87602733EC86A64521F2B18177B200CBBE117577A615D6C770988C0BAD946E208E24FA074E5AB3143DB5BFCE0FD108E4B82D120A92108011A723C12A787E6D788719A10BDBA5B2699C327186AF4E23C1A946834B6150BDA2583E9CA2AD44CE8DBBBC2DB04DE8EF92E8EFC141FBECAA6287C59474E6BC05D99B2964FA090C3A2233BA186515BE7ED1F612970CEE2D7AFB81BDD762170481CD0069127D5B05AA993B4EA988D8FDDC186FFB7DC90A6C08F4DF435C934063199FFFFFFFFFFFFFFFF"
...@@ -85,7 +85,7 @@ groups: ...@@ -85,7 +85,7 @@ groups:
prime: "E2EE983D031DC1DB6F1A7A67DF0E9A8E5561DB8E8D49413394C049B7A8ACCEDC298708F121951D9CF920EC5D146727AA4AE535B0922C688B55B3DD2AEDF6C01C94764DAB937935AA83BE36E67760713AB44A6337C20E7861575E745D31F8B9E9AD8412118C62A3E2E29DF46B0864D0C951C394A5CBBDC6ADC718DD2A3E041023DBB5AB23EBB4742DE9C1687B5B34FA48C3521632C4A530E8FFB1BC51DADDF453B0B2717C2BC6669ED76B4BDD5C9FF558E88F26E5785302BEDBCA23EAC5ACE92096EE8A60642FB61E8F3D24990B8CB12EE448EEF78E184C7242DD161C7738F32BF29A841698978825B4111B4BC3E1E198455095958333D776D8B2BEEED3A1A1A221A6E37E664A64B83981C46FFDDC1A45E3D5211AAF8BFBC072768C4F50D7D7803D2D4F278DE8014A47323631D7E064DE81C0C6BFA43EF0E6998860F1390B5D3FEACAF1696015CB79C3F9C2D93D961120CD0E5F12CBB687EAB045241F96789C38E89D796138E6319BE62E35D87B1048CA28BE389B575E994DCA755471584A09EC723742DC35873847AEF49F66E43873" prime: "E2EE983D031DC1DB6F1A7A67DF0E9A8E5561DB8E8D49413394C049B7A8ACCEDC298708F121951D9CF920EC5D146727AA4AE535B0922C688B55B3DD2AEDF6C01C94764DAB937935AA83BE36E67760713AB44A6337C20E7861575E745D31F8B9E9AD8412118C62A3E2E29DF46B0864D0C951C394A5CBBDC6ADC718DD2A3E041023DBB5AB23EBB4742DE9C1687B5B34FA48C3521632C4A530E8FFB1BC51DADDF453B0B2717C2BC6669ED76B4BDD5C9FF558E88F26E5785302BEDBCA23EAC5ACE92096EE8A60642FB61E8F3D24990B8CB12EE448EEF78E184C7242DD161C7738F32BF29A841698978825B4111B4BC3E1E198455095958333D776D8B2BEEED3A1A1A221A6E37E664A64B83981C46FFDDC1A45E3D5211AAF8BFBC072768C4F50D7D7803D2D4F278DE8014A47323631D7E064DE81C0C6BFA43EF0E6998860F1390B5D3FEACAF1696015CB79C3F9C2D93D961120CD0E5F12CBB687EAB045241F96789C38E89D796138E6319BE62E35D87B1048CA28BE389B575E994DCA755471584A09EC723742DC35873847AEF49F66E43873"
generator: "2" generator: "2"
# Path to file with config for scheduling algorithm within the user directory # Path to file with config for scheduling algorithem within the user directory
schedulingConfigPath: "registration.json" schedulingConfigPath: "registration.json"
# Path to JSON file with list of Node registration codes (in order of network # Path to JSON file with list of Node registration codes (in order of network
......
[{"RegCode": "qpol", "Order": "CR"},{"RegCode": "yiiq", "Order": "GB"},{"RegCode": "vydz", "Order": "SK"},{"RegCode": "gwxs", "Order": "HR"},{"RegCode": "nahv", "Order": "IQ"}, {"RegCode": "doko", "Order": "RU"}] [{"RegCode": "magi", "Order": "CR"},{"RegCode": "jgbg", "Order": "GB"},{"RegCode": "vflu", "Order": "SK"},{"RegCode": "dojt", "Order": "HR"},{"RegCode": "jazz", "Order": "IQ"},{"RegCode": "wwpj", "Order": "RU"},{"RegCode": "zkta", "Order": "CR"},{"RegCode": "axdj", "Order": "GB"},{"RegCode": "pkzl", "Order": "SK"}]
\ No newline at end of file
...@@ -101,7 +101,7 @@ echo -n "Waiting for rounds to run..." ...@@ -101,7 +101,7 @@ echo -n "Waiting for rounds to run..."
cnt=0 cnt=0
while [ ! -s rid.txt ] && [ $cnt -lt 240 ]; do while [ ! -s rid.txt ] && [ $cnt -lt 240 ]; do
sleep 1 sleep 1
grep -a "RID 1 ReceiveFinishRealtime END" results/servers/server-2.log > rid.txt || true grep -a "RID 1 ReceiveFinishRealtime END" results/servers/*.log > rid.txt || true
cnt=$(($cnt + 1)) cnt=$(($cnt + 1))
echo -n "." echo -n "."
done done
...@@ -109,9 +109,10 @@ done ...@@ -109,9 +109,10 @@ done
# Run UDB # Run UDB
# Start a user discovery bot server # Start a user discovery bot server
echo "STARTING UDB..." echo "STARTING UDB..."
UDBCMD="bin/udb --logLevel 3 --config udb.yaml -l 1 --protoUserPath udbProto.json" UDBCMD="../bin/udb --logLevel 3 --config udb.yaml -l 1 --protoUserPath udbProto.json"
$UDBCMD >> $UDBOUT 2>&1 & $UDBCMD >> $UDBOUT 2>&1 &
echo "UDB: " $! echo "UDB: " $!
echo $! >> results/serverpids
echo "\nNetwork rounds have run. You may now attempt to connect." echo "\nNetwork rounds have run. You may now attempt to connect."
......
# START YAML === # START YAML ===
# registration code used for first time registration. Unique. Provided by xx network # registration code used for first time registration. Unique. Provided by xx network
registrationCode: "qpol" registrationCode: "magi"
useGPU: false useGPU: false
devMode: true devMode: true
rawPermAddr: true rawPermAddr: true
...@@ -8,7 +8,7 @@ cmix: ...@@ -8,7 +8,7 @@ cmix:
paths: paths:
# Path where the ID will be stored after the ID is created on first run # Path where the ID will be stored after the ID is created on first run
# used by the wrapper script # used by the wrapper script
idf: "nodeID-0.json" idf: "results/servers/nodeID-0.json"
# Path to the self signed TLS cert that the node uses for identification # Path to the self signed TLS cert that the node uses for identification
cert: "../keys/cmix.rip.crt" cert: "../keys/cmix.rip.crt"
# Path to the private key for the self signed TLS cert # Path to the private key for the self signed TLS cert
...@@ -16,10 +16,10 @@ cmix: ...@@ -16,10 +16,10 @@ cmix:
# Path to where the log will be stored # Path to where the log will be stored
log: "results/servers/server-0.log" log: "results/servers/server-0.log"
# #
ipListOutput: "ipList-1.txt" ipListOutput: "results/servers/ipList-0.txt"
# Path where an error file will be placed in the event of a fatal error # Path where an error file will be placed in the event of a fatal error
# used by the wrapper script # used by the wrapper script
errOutput: "errServer-0.txt" errOutput: "results/servers/errServer-0.txt"
# port the node will communicate on # port the node will communicate on
port: 11200 port: 11200
overridePublicIP: "0.0.0.0" overridePublicIP: "0.0.0.0"
...@@ -37,7 +37,7 @@ scheduling: ...@@ -37,7 +37,7 @@ scheduling:
# Path to the self signed TLS cert used by the permissioning. Provided by xx network # Path to the self signed TLS cert used by the permissioning. Provided by xx network
cert: "../keys/cmix.rip.crt" cert: "../keys/cmix.rip.crt"
# IP Address of the permissioning server, provided by xx network # IP Address of the permissioning server, provided by xx network
address: "0.0.0.0:11420" address: "0.0.0.0:18000"
metrics: metrics:
# location of stored metrics data. Modification to set to permissioning # location of stored metrics data. Modification to set to permissioning
# server instead of saving will be made at a later date # server instead of saving will be made at a later date
......
# START YAML === # START YAML ===
# registration code used for first time registration. Unique. Provided by xx network # registration code used for first time registration. Unique. Provided by xx network
registrationCode: "yiiq" registrationCode: "jgbg"
useGPU: false useGPU: false
logLevel: 0
devMode: true devMode: true
rawPermAddr: true rawPermAddr: true
cmix: cmix:
paths: paths:
# Path where an error file will be placed in the event of a fatal error
# used by the wrapper script
errOutput: "errServer-1.txt"
# Path where the ID will be stored after the ID is created on first run # Path where the ID will be stored after the ID is created on first run
# used by the wrapper script # used by the wrapper script
idf: "nodeID-1.json" idf: "results/servers/nodeID-1.json"
# Path to the self signed TLS cert that the node uses for identification # Path to the self signed TLS cert that the node uses for identification
cert: "../keys/cmix.rip.crt" cert: "../keys/cmix.rip.crt"
# Path to the private key for the self signed TLS cert # Path to the private key for the self signed TLS cert
key: "../keys/cmix.rip.key" key: "../keys/cmix.rip.key"
#
ipListOutput: "ipList-1.txt"
# Path to where the log will be stored # Path to where the log will be stored
log: "results/servers/server-1.log" log: "results/servers/server-1.log"
#
ipListOutput: "results/servers/ipList-1.txt"
# Path where an error file will be placed in the event of a fatal error
# used by the wrapper script
errOutput: "results/servers/errServer-1.txt"
# port the node will communicate on # port the node will communicate on
port: 11201 port: 11201
overridePublicIP: "0.0.0.0" overridePublicIP: "0.0.0.0"
...@@ -38,7 +37,7 @@ scheduling: ...@@ -38,7 +37,7 @@ scheduling:
# Path to the self signed TLS cert used by the permissioning. Provided by xx network # Path to the self signed TLS cert used by the permissioning. Provided by xx network
cert: "../keys/cmix.rip.crt" cert: "../keys/cmix.rip.crt"
# IP Address of the permissioning server, provided by xx network # IP Address of the permissioning server, provided by xx network
address: "0.0.0.0:11420" address: "0.0.0.0:18000"
metrics: metrics:
# location of stored metrics data. Modification to set to permissioning # location of stored metrics data. Modification to set to permissioning
# server instead of saving will be made at a later date # server instead of saving will be made at a later date
......
# START YAML === # START YAML ===
# registration code used for first time registration. Unique. Provided by xx network # registration code used for first time registration. Unique. Provided by xx network
registrationCode: "vydz" registrationCode: "vflu"
useGPU: false useGPU: false
logLevel: 0
devMode: true devMode: true
rawPermAddr: true rawPermAddr: true
cmix: cmix:
paths: paths:
# Path where an error file will be placed in the event of a fatal error
# used by the wrapper script
errOutput: "errServer-2.txt"
# Path where the ID will be stored after the ID is created on first run # Path where the ID will be stored after the ID is created on first run
# used by the wrapper script # used by the wrapper script
idf: "nodeID-2.json" idf: "results/servers/nodeID-2.json"
# Path to the self signed TLS cert that the node uses for identification # Path to the self signed TLS cert that the node uses for identification
cert: "../keys/cmix.rip.crt" cert: "../keys/cmix.rip.crt"
# Path to the private key for the self signed TLS cert # Path to the private key for the self signed TLS cert
key: "../keys/cmix.rip.key" key: "../keys/cmix.rip.key"
#
ipListOutput: "ipList-1.txt"
# Path to where the log will be stored # Path to where the log will be stored
log: "results/servers/server-2.log" log: "results/servers/server-2.log"
#
ipListOutput: "results/servers/ipList-2.txt"
# Path where an error file will be placed in the event of a fatal error
# used by the wrapper script
errOutput: "results/servers/errServer-2.txt"
# port the node will communicate on # port the node will communicate on
port: 11202 port: 11202
overridePublicIP: "0.0.0.0" overridePublicIP: "0.0.0.0"
...@@ -38,7 +37,7 @@ scheduling: ...@@ -38,7 +37,7 @@ scheduling:
# Path to the self signed TLS cert used by the permissioning. Provided by xx network # Path to the self signed TLS cert used by the permissioning. Provided by xx network
cert: "../keys/cmix.rip.crt" cert: "../keys/cmix.rip.crt"
# IP Address of the permissioning server, provided by xx network # IP Address of the permissioning server, provided by xx network
address: "0.0.0.0:11420" address: "0.0.0.0:18000"
metrics: metrics:
# location of stored metrics data. Modification to set to permissioning # location of stored metrics data. Modification to set to permissioning
# server instead of saving will be made at a later date # server instead of saving will be made at a later date
......
# UDB Config for E2E Integration test # UDB Config for E2E Integration test
logPath: "results/udb.log" log: "./results/udb.log"
sessionPath: "results/udbsession" sessionPath: "./results/udbsession"
sessionPass: "hello" sessionPass: "hello"
certPath: "configurations/cmix.rip.crt" certPath: "../keys/cmix.rip.crt"
ndfPath: "ndf.json"
port: "18001" port: "18001"
keyPath: "configurations/cmix.rip.key" keyPath: "../keys/cmix.rip.key"
permCertPath: "configurations/cmix.rip.crt" permCertPath: "../keys/cmix.rip.crt"
permAddress: "0.0.0.0:18000"
devMode: true
\ No newline at end of file
["0.0.0.0", "127.0.0.1"]
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment