initial commit

This commit is contained in:
Mike Mason
2023-07-01 00:04:52 +00:00
commit 80fb879ef6
65 changed files with 3544 additions and 0 deletions

View File

@@ -0,0 +1,13 @@
#!/bin/bash
DIR="$( dirname -- "${BASH_SOURCE[0]}"; )";
echo "DIR IS $DIR"
DEVCONTAINER_DIR="$DIR/.."
sudo chown -Rh $USER:$USER $DEVCONTAINER_DIR/nsc
echo "Dumping NATS user creds file"
nsc --data-dir=$DEVCONTAINER_DIR/nsc/nats/nsc/stores generate creds -a LBAAS -n USER > /tmp/user.creds
echo "Dumping NATS sys creds file"
nsc --data-dir=$DEVCONTAINER_DIR/nsc/nats/nsc/stores generate creds -a SYS -n sys > /tmp/sys.creds

View File

@@ -0,0 +1,32 @@
#!/bin/sh
# script to bootstrap a nats operator environment
if nsc describe operator; then
echo "operator exists, not overwriting config"
exit 0
fi
echo "Cleaning up NATS environment"
rm -rf /nsc/*
echo "Creating NATS operator"
nsc add operator --generate-signing-key --sys --name LOCAL
nsc edit operator -u 'nats://nats:4222'
nsc list operators
nsc describe operator
export OPERATOR_SIGNING_KEY_ID=`nsc describe operator -J | jq -r '.nats.signing_keys | first'`
echo "Creating NATS account for load-balancer-api"
nsc add account -n LBAAS -K ${OPERATOR_SIGNING_KEY_ID}
nsc edit account LBAAS --sk generate --js-mem-storage -1 --js-disk-storage -1 --js-streams -1 --js-consumer -1
nsc describe account LBAAS
export ACCOUNTS_SIGNING_KEY_ID=`nsc describe account LBAAS -J | jq -r '.nats.signing_keys | first'`
echo "Creating NATS user for load-balancer-api"
nsc add user -n USER -K ${ACCOUNTS_SIGNING_KEY_ID}
nsc describe user USER
echo "Generating NATS resolver.conf"
nsc generate config --mem-resolver --sys-account SYS --config-file /nats/resolver.conf --force

View File

@@ -0,0 +1,35 @@
#!/bin/sh
# script to bootstrap a nats stream
create_stream(){
local name subject
name="$1"; shift
subject="$1"; shift
if nats stream ls | grep -q "$name" 2>/dev/null; then
echo "stream $name already exists" >&2
return 0
fi
echo "Creating stream $name" >&2
nats stream add "$name" \
--subjects "$subject" \
--storage memory \
--replicas 1 \
--retention limits \
--discard old \
--max-msgs=-1 \
--max-msgs-per-subject=-1 \
--max-bytes=-1 \
--max-age=-1 \
--max-msg-size=-1 \
--dupe-window 2m0s \
--no-allow-rollup \
--no-deny-delete \
--no-deny-purge $@
}
create_stream com-infratographer 'com.infratographer.>'
create_stream com-equinixmetal 'com.equinixmetal.>'