Created "loadmodules" args for loading ".so" modules into EchoVault.

Moved types associated with embedded commands extension into api_admin.go file and deleted types.go file as it's no longer necessary.
Updated docker-compose and Dockerfile.dev to pass .so modules to load on startup.
Volumes folder is no longer ignores except for the nodes subfolder.
This commit is contained in:
Kelvin Clement Mwinuka
2024-04-30 12:17:30 +08:00
parent d9d9160dc4
commit 000115ceb0
10 changed files with 129 additions and 105 deletions

View File

@@ -21,7 +21,7 @@ services:
- TLS=false
- MTLS=false
- BOOTSTRAP_CLUSTER=false
# - ACL_CONFIG=/etc/config/echovault/acl.yml
# - ACL_CONFIG=/etc/echovault/config/acl.yml
- REQUIRE_PASS=false
- PASSWORD=password1
- FORWARD_COMMAND=false
@@ -39,13 +39,17 @@ services:
- CERT_KEY_PAIR_2=/etc/ssl/certs/echovault/echovault/server2.crt,/etc/ssl/certs/echovault/echovault/server2.key
# List of client certificate authorities
- CLIENT_CA_1=/etc/ssl/certs/echovault/client/rootCA.crt
# List of shared object plugins to load on startup
- MODULE_1=/lib/echovault/modules/module_1.so
- MODULE_2=/lib/echovault/modules/module_2.so
ports:
- "7480:7480"
- "7946:7946"
- "7999:8000"
volumes:
- ./volumes/config/acl.yml:/etc/config/echovault/acl.yml
- ./volumes/standalone_node:/var/lib/echovault
- ./volumes/config:/etc/echovault/config
- ./volumes/plugins:/lib/echovault/plugins
- ./volumes/nodes/standalone_node:/var/lib/echovault
networks:
- testnet
@@ -65,7 +69,7 @@ services:
- TLS=false
- MTLS=false
- BOOTSTRAP_CLUSTER=true
# - ACL_CONFIG=/etc/config/echovault/acl.yml
# - ACL_CONFIG=/etc/echovault/config/acl.yml
- REQUIRE_PASS=false
- FORWARD_COMMAND=true
- SNAPSHOT_THRESHOLD=1000
@@ -82,13 +86,17 @@ services:
- CERT_KEY_PAIR_2=/etc/ssl/certs/echovault/echovault/server2.crt,/etc/ssl/certs/echovault/echovault/server2.key
# List of client certificate authorities
- CLIENT_CA_1=/etc/ssl/certs/echovault/client/rootCA.crt
# List of shared object plugins to load on startup
- MODULE_1=/lib/echovault/modules/module_1.so
- MODULE_2=/lib/echovault/modules/module_2.so
ports:
- "7481:7480"
- "7945:7946"
- "8000:8000"
volumes:
- ./volumes/config/acl.yml:/etc/config/echovault/acl.yml
- ./volumes/cluster_node_1:/var/lib/echovault
- ./volumes/config:/etc/echovault/config
- ./volumes/plugins:/lib/echovault/plugins
- ./volumes/nodes/cluster_node_1:/var/lib/echovault
networks:
- testnet
@@ -108,7 +116,7 @@ services:
- TLS=false
- MTLS=false
- BOOTSTRAP_CLUSTER=false
# - ACL_CONFIG=/etc/config/echovault/acl.yml
# - ACL_CONFIG=/etc/echovault/config/acl.yml
- REQUIRE_PASS=false
- FORWARD_COMMAND=true
- SNAPSHOT_THRESHOLD=1000
@@ -125,13 +133,17 @@ services:
- CERT_KEY_PAIR_2=/etc/ssl/certs/echovault/echovault/server2.crt,/etc/ssl/certs/echovault/echovault/server2.key
# List of client certificate authorities
- CLIENT_CA_1=/etc/ssl/certs/echovault/client/rootCA.crt
# List of shared object plugins to load on startup
- MODULE_1=/lib/echovault/modules/module_1.so
- MODULE_2=/lib/echovault/modules/module_2.so
ports:
- "7482:7480"
- "7947:7946"
- "8001:8000"
volumes:
- ./volumes/config/acl.yml:/etc/config/echovault/acl.yml
- ./volumes/cluster_node_2:/var/lib/echovault
- ./volumes/config:/etc/echovault/config
- ./volumes/plugins:/lib/echovault/plugins
- ./volumes/nodes/cluster_node_2:/var/lib/echovault
networks:
- testnet
@@ -151,7 +163,7 @@ services:
- TLS=false
- MTLS=false
- BOOTSTRAP_CLUSTER=false
# - ACL_CONFIG=/etc/config/echovault/acl.yml
# - ACL_CONFIG=/etc/echovault/config/acl.yml
- REQUIRE_PASS=false
- FORWARD_COMMAND=true
- SNAPSHOT_THRESHOLD=1000
@@ -168,13 +180,17 @@ services:
- CERT_KEY_PAIR_2=/etc/ssl/certs/echovault/echovault/server2.crt,/etc/ssl/certs/echovault/echovault/server2.key
# List of client certificate authorities
- CLIENT_CA_1=/etc/ssl/certs/echovault/client/rootCA.crt
# List of shared object plugins to load on startup
- MODULE_1=/lib/echovault/modules/module_1.so
- MODULE_2=/lib/echovault/modules/module_2.so
ports:
- "7483:7480"
- "7948:7946"
- "8002:8000"
volumes:
- ./volumes/config/acl.yml:/etc/config/echovault/acl.yml
- ./volumes/cluster_node_3:/var/lib/echovault
- ./volumes/config:/etc/echovault/config
- ./volumes/plugins:/lib/echovault/plugins
- ./volumes/nodes/cluster_node_3:/var/lib/echovault
networks:
- testnet
@@ -194,7 +210,7 @@ services:
- TLS=false
- MTLS=false
- BOOTSTRAP_CLUSTER=false
# - ACL_CONFIG=/etc/config/echovault/acl.yml
# - ACL_CONFIG=/etc/echovault/config/acl.yml
- REQUIRE_PASS=false
- FORWARD_COMMAND=true
- SNAPSHOT_THRESHOLD=1000
@@ -211,13 +227,17 @@ services:
- CERT_KEY_PAIR_2=/etc/ssl/certs/echovault/echovault/server2.crt,/etc/ssl/certs/echovault/echovault/server2.key
# List of client certificate authorities
- CLIENT_CA_1=/etc/ssl/certs/echovault/client/rootCA.crt
# List of shared object plugins to load on startup
- MODULE_1=/lib/echovault/modules/module_1.so
- MODULE_2=/lib/echovault/modules/module_2.so
ports:
- "7484:7480"
- "7949:7946"
- "8003:8000"
volumes:
- ./volumes/config/acl.yml:/etc/config/echovault/acl.yml
- ./volumes/cluster_node_4:/var/lib/echovault
- ./volumes/config:/etc/echovault/config
- ./volumes/plugins:/lib/echovault/plugins
- ./volumes/nodes/cluster_node_4:/var/lib/echovault
networks:
- testnet
@@ -237,7 +257,7 @@ services:
- TLS=false
- MTLS=false
- BOOTSTRAP_CLUSTER=false
# - ACL_CONFIG=/etc/config/echovault/acl.yml
# - ACL_CONFIG=/etc/echovault/config/acl.yml
- REQUIRE_PASS=false
- FORWARD_COMMAND=true
- SNAPSHOT_THRESHOLD=1000
@@ -254,12 +274,16 @@ services:
- CERT_KEY_PAIR_2=/etc/ssl/certs/echovault/echovault/server2.crt,/etc/ssl/certs/echovault/echovault/server2.key
# List of client certificate authorities
- CLIENT_CA_1=/etc/ssl/certs/echovault/client/rootCA.crt
# List of shared object plugins to load on startup
- MODULE_1=/lib/echovault/modules/module_1.so
- MODULE_2=/lib/echovault/modules/module_2.so
ports:
- "7485:7480"
- "7950:7946"
- "8004:8000"
volumes:
- ./volumes/config/acl.yml:/etc/config/echovault/acl.yml
- ./volumes/cluster_node_5:/var/lib/echovault
- ./volumes/config:/etc/echovault/config
- ./volumes/plugins:/lib/echovault/plugins
- ./volumes/nodes/cluster_node_5:/var/lib/echovault
networks:
- testnet