Skip to main content
Glama
userdata2.34 kB
#!/bin/bash export SI_SERVICE={} export SI_HOSTENV={} export SI_INSTANCE_ID=$(ec2-metadata --instance-id | cut -d " " -f 2) export SI_VERSION=$(aws ssm get-parameter --query "Parameter.Value" --output text --name "$SI_HOSTENV-si-version-$SI_SERVICE") export SI_PRIVATE_CA_ARN=$(aws ssm get-parameter --query "Parameter.Value" --output text --name "$SI_HOSTENV-private-ca-arn") export SI_ARTIFACT_TYPE=$(aws ssm get-parameter --query "Parameter.Value" --output text --name "$SI_HOSTENV-binary-type") # prep attached storage mkfs -t xfs /dev/nvme1n1 mkdir -p /layer_cache mount -o logbsize=256k /dev/nvme1n1 /layer_cache URL="https://artifacts.systeminit.com/${SI_SERVICE}/${SI_VERSION}/${SI_ARTIFACT_TYPE}/linux/$(arch)/${SI_SERVICE}-${SI_VERSION}-${SI_ARTIFACT_TYPE}-linux-$(arch).tar.gz" # get build metadata METADATA=$(curl -Ls $URL.metadata.json) BRANCH=$(echo $METADATA | jq -r '.branch // empty') COMMIT=$(echo $METADATA | jq -r '.commit') VERSION=$(echo $METADATA | jq -r '.version') # install build wget $URL -O - | tar -xzvf - -C / # prep system mkdir -p /run/app DOCKER_CREDS=$(aws secretsmanager get-secret-value --region us-east-1 --secret-id ${SI_HOSTENV}-dockerhub-creds | jq -r '.SecretString') docker login --username $(echo $DOCKER_CREDS | jq -r '.username') --password-stdin <<< $(echo $DOCKER_CREDS | jq -r '.password') wget https://raw.githubusercontent.com/systeminit/si/${BRANCH:-main}/component/deploy/docker-compose.yaml -O /run/app/docker-compose.yaml docker-compose -f /run/app/docker-compose.yaml up --wait cat << EOF > /etc/systemd/system/$SI_SERVICE.service [Unit] Description=$SI_SERVICE After=network.target [Service] ExecStart=/usr/local/bin/$SI_SERVICE Environment="SI_INNIT__CLIENT_CA_ARN=$SI_PRIVATE_CA_ARN" Environment="SI_INNIT__GENERATED_CERT_LOCATION=/etc/ssl/private/si_cert" Type=exec Restart=always [Install] WantedBy=default.target RequiredBy=network.target EOF systemctl enable --now $SI_SERVICE # marker in honeycomb HONEYCOMB_API_KEY=$(aws secretsmanager get-secret-value --region us-east-1 --secret-id ${SI_HOSTENV}-honeycomb-api-key | jq -r '.SecretString') curl https://api.honeycomb.io/1/markers/$SI_SERVICE -X POST \ -H "X-Honeycomb-Team: $HONEYCOMB_API_KEY" \ -d '{"message":" '"$SI_SERVICE replica deployed! Commit: $COMMIT Version: $VERSION"' ", "type":"deploy"}'

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/systeminit/si'

If you have feedback or need assistance with the MCP directory API, please join our Discord server