Skip to content

Commit e4596a6

Browse files
committed
feat: initial v8 alpha
1 parent 28f2d32 commit e4596a6

17 files changed

Lines changed: 4082 additions & 0 deletions

File tree

.github/workflows/test.yaml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: Run Test Suite
2+
on:
3+
push:
4+
branches: [main]
5+
pull_request:
6+
7+
jobs:
8+
run-tests-docker:
9+
runs-on: ubuntu-20.04
10+
steps:
11+
- name: Check out code
12+
uses: actions/checkout@v4
13+
14+
- name: Run NATs cluster
15+
run: docker-compose -f "docker-compose.yml" up -d
16+
17+
- name: Install dependencies
18+
run: npm ci
19+
20+
- name: Generate self sign certs
21+
run: ./generateScripts.sh
22+
23+
- name: Run tests
24+
run: npm run test
25+
26+
- name: Stop Containers
27+
if: always()
28+
run: docker-compose -f "docker-compose.yml" down

.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
node_modules
2+
certs
3+
data
4+
dist
5+
coverage

LICENSE

Lines changed: 651 additions & 0 deletions
Large diffs are not rendered by default.

docker-compose.yml

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
version: '3'
2+
3+
services:
4+
nats-1:
5+
image: nats:2.10-alpine
6+
command: -js -sd /data -n nats-cluster-1 --cluster_name nats-cluster -cluster nats://0.0.0.0:6222 -routes nats://nats-2:6222,nats://nats-3:6222,nats://nats-4:6222,nats://nats-5:6222 -p 4222 -m 8222
7+
volumes:
8+
- "./data/nats-1:/data"
9+
ports:
10+
- "4222:4222"
11+
- "8222:8222"
12+
networks:
13+
- nats-network
14+
15+
nats-2:
16+
image: nats:2.10-alpine
17+
command: -js -sd /data -n nats-cluster-2 --cluster_name nats-cluster -cluster nats://0.0.0.0:6222 -routes nats://nats-1:6222,nats://nats-3:6222,nats://nats-4:6222,nats://nats-5:6222 -p 4222 -m 8222
18+
volumes:
19+
- "./data/nats-2:/data"
20+
networks:
21+
- nats-network
22+
23+
nats-3:
24+
image: nats:2.10-alpine
25+
command: -js -sd /data -n nats-cluster-3 --cluster_name nats-cluster -cluster nats://0.0.0.0:6222 -routes nats://nats-1:6222,nats://nats-2:6222,nats://nats-4:6222,nats://nats-5:6222 -p 4222 -m 8222
26+
volumes:
27+
- "./data/nats-3:/data"
28+
networks:
29+
- nats-network
30+
31+
nats-4:
32+
image: nats:2.10-alpine
33+
command: -js -sd /data -n nats-cluster-4 --cluster_name nats-cluster -cluster nats://0.0.0.0:6222 -routes nats://nats-1:6222,nats://nats-2:6222,nats://nats-3:6222,nats://nats-5:6222 -p 4222 -m 8222
34+
volumes:
35+
- "./data/nats-4:/data"
36+
networks:
37+
- nats-network
38+
39+
nats-5:
40+
image: nats:2.10-alpine
41+
command: -js -sd /data -n nats-cluster-5 --cluster_name nats-cluster -cluster nats://0.0.0.0:6222 -routes nats://nats-1:6222,nats://nats-2:6222,nats://nats-3:6222,nats://nats-4:6222 -p 4222 -m 8222
42+
volumes:
43+
- "./data/nats-5:/data"
44+
networks:
45+
- nats-network
46+
47+
networks:
48+
nats-network:
49+
driver: bridge

generateScripts.sh

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
#!/bin/bash
2+
3+
# Set variables
4+
DOMAIN="localhost"
5+
DAYS_VALID=365
6+
KEY_FILE="key.pem"
7+
CERT_FILE="cert.pem"
8+
9+
# Create directory for certificates if it doesn't exist
10+
mkdir -p certs
11+
cd certs
12+
13+
# Generate private key
14+
openssl genrsa -out $KEY_FILE 2048
15+
16+
# Generate CSR (Certificate Signing Request)
17+
openssl req -new -key $KEY_FILE -out csr.pem -subj "/CN=$DOMAIN"
18+
19+
# Generate self-signed certificate
20+
openssl x509 -req -days $DAYS_VALID -in csr.pem -signkey $KEY_FILE -out $CERT_FILE
21+
22+
# Remove CSR file
23+
rm csr.pem
24+
25+
# Set permissions
26+
chmod 400 $KEY_FILE
27+
chmod 444 $CERT_FILE
28+
29+
echo "SSL Certificate generated successfully!"
30+
echo "Private Key: $KEY_FILE"
31+
echo "Certificate: $CERT_FILE"

0 commit comments

Comments
 (0)