Skip to content

Commit

Permalink
ci: vec-265 add multinode avs docker compose files
Browse files Browse the repository at this point in the history
  • Loading branch information
dwelch-spike committed Jul 26, 2024
1 parent c96ee59 commit 87cc338
Show file tree
Hide file tree
Showing 6 changed files with 305 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
# Aerospike database configuration file for use with systemd.

service {
cluster-name quote-demo
proto-fd-max 15000
}


logging {
file /var/log/aerospike/aerospike.log {
context any info
}

# Send log messages to stdout
console {
context any info
context query critical
}
}

network {
service {
address any
port 3000
}

heartbeat {
mode multicast
multicast-group 239.1.99.222
port 9918

# To use unicast-mesh heartbeats, remove the 3 lines above, and see
# aerospike_mesh.conf for alternative.

interval 150
timeout 10
}

fabric {
port 3001
}

info {
port 3003
}
}

namespace test {
replication-factor 1
nsup-period 60

storage-engine device {
file /opt/aerospike/data/test.dat
filesize 16G
}
}

namespace avs-meta {
replication-factor 1
nsup-period 100

storage-engine memory {
data-size 1G
}

# To use file storage backing, comment out the line above and use the
# following lines instead.
# storage-engine device {
# file /opt/aerospike/data/bar.dat
# filesize 16G
# data-in-memory true # Store data in memory in addition to file.
# }
}

Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Change the configuration for your use case.
cluster:
# Custom node-id. It will be auto-generated if not specified.
# node-id: a1

# Unique identifier for this cluster.
cluster-name: multi-node-avs

# The Proximus service listening ports, TLS and network interface.
service:
ports:
5000: {}
# 5001:
# advertised-listeners:
# default:
# address: 127.0.0.1
# port: 5001

# Management API listening ports, TLS and network interface.
manage:
ports:
5040: {}

# Intra cluster interconnect listening ports, TLS and network interface.
interconnect:
ports:
5001:
addresses:
avs-1

heartbeat:
seeds:
- address: avs-2
port: 5001

# Target Aerospike cluster
storage:
seeds:
- aerospike:
port: 3000

# The logging properties.
logging:
enable-console-logging: true
levels:
metrics-ticker: info
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Change the configuration for your use case.
cluster:
# Custom node-id. It will be auto-generated if not specified.
# node-id: a1

# Unique identifier for this cluster.
cluster-name: multi-node-avs

# The AVS service listening ports, TLS and network interface.
service:
ports:
5000: {}
# 5002:
# advertised-listeners:
# default:
# address: 127.0.0.1
# port: 5002

# Management API listening ports, TLS and network interface.
manage:
ports:
5040: {}

# Intra cluster interconnect listening ports, TLS and network interface.
interconnect:
ports:
5001:
addresses:
avs-2

heartbeat:
seeds:
- address: avs-1
port: 5001

# Target Aerospike cluster
storage:
seeds:
- aerospike:
port: 3000

# The logging properties.
logging:
enable-console-logging: true
levels:
metrics-ticker: off
16 changes: 16 additions & 0 deletions .internal/multi-node/container-volumes/nginx/nginx.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
events { worker_connections 1024; }

http {
upstream app {
server avs-1:5000;
server avs-2:5000;
}

server {
http2 on;
listen 5000;
location / {
grpc_pass grpc://app;
}
}
}
68 changes: 68 additions & 0 deletions .internal/multi-node/docker-compose-2-avs-load-balanced.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
services:
aerospike:
image: aerospike/aerospike-server-enterprise:7.0.0.2
# ports:
# - "3000:3000"
volumes:
- ./container-volumes/aerospike/etc/aerospike:/opt/aerospike/etc/aerospike
command:
- "--config-file"
- "/opt/aerospike/etc/aerospike/aerospike.conf"
healthcheck:
test: [ "CMD", "asinfo", "-p", "3000", "-v", "build" ]
interval: 5s
timeout: 20s
retries: 10
networks:
- avs-demo
avs-1:
depends_on:
aerospike:
condition: service_healthy
image: aerospike/aerospike-vector-search:0.9.0
# ports:
# - "5000:5000"
volumes:
- ./container-volumes/avs-1/etc/aerospike-vector-search:/etc/aerospike-vector-search
- ./container-volumes/features/features.conf:/etc/aerospike-vector-search/features.conf
healthcheck:
test: ["CMD", "curl", "-f", "http://avs-1:5040/manage/rest/v1"]
interval: 5s
timeout: 20s
retries: 10
networks:
- avs-demo
avs-2:
depends_on:
aerospike:
condition: service_healthy
image: aerospike/aerospike-vector-search:0.9.0
# ports:
# - "5000:5000"
volumes:
- ./container-volumes/avs-2/etc/aerospike-vector-search:/etc/aerospike-vector-search
- ./container-volumes/features/features.conf:/etc/aerospike-vector-search/features.conf
healthcheck:
test: ["CMD", "curl", "-f", "http://avs-2:5040/manage/rest/v1"]
interval: 5s
timeout: 20s
retries: 10
networks:
- avs-demo
nginx:
image: nginx:latest
ports:
- "5000:5000" # change this to 5002 for macs, mac port 5000 is in use by default
depends_on:
avs-1:
condition: service_healthy
avs-2:
condition: service_healthy
volumes:
- ./container-volumes/nginx/nginx.conf:/etc/nginx/nginx.conf
networks:
- avs-demo


networks:
avs-demo: {}
55 changes: 55 additions & 0 deletions .internal/multi-node/docker-compose-2-avs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
services:
aerospike:
image: aerospike/aerospike-server-enterprise:7.0.0.2
# ports:
# - "3000:3000"
volumes:
- ./container-volumes/aerospike/etc/aerospike:/opt/aerospike/etc/aerospike
command:
- "--config-file"
- "/opt/aerospike/etc/aerospike/aerospike.conf"
healthcheck:
test: [ "CMD", "asinfo", "-p", "3000", "-v", "build" ]
interval: 5s
timeout: 20s
retries: 10
networks:
- avs-demo
avs-1:
depends_on:
aerospike:
condition: service_healthy
image: aerospike/aerospike-vector-search:0.9.0
ports:
- "5000:5000" # change this to 5002 if you are using mac
volumes:
- ./container-volumes/avs-1/etc/aerospike-vector-search:/etc/aerospike-vector-search
- ./container-volumes/features/features.conf:/etc/aerospike-vector-search/features.conf
healthcheck:
test: ["CMD", "curl", "-f", "http://avs-1:5040/manage/rest/v1"]
interval: 5s
timeout: 20s
retries: 10
networks:
- avs-demo
avs-2:
depends_on:
aerospike:
condition: service_healthy
image: aerospike/aerospike-vector-search:0.9.0
# ports:
# - "5000:5000"
volumes:
- ./container-volumes/avs-2/etc/aerospike-vector-search:/etc/aerospike-vector-search
- ./container-volumes/features/features.conf:/etc/aerospike-vector-search/features.conf
healthcheck:
test: ["CMD", "curl", "-f", "http://avs-2:5040/manage/rest/v1"]
interval: 5s
timeout: 20s
retries: 10
networks:
- avs-demo


networks:
avs-demo: {}

0 comments on commit 87cc338

Please sign in to comment.