From 6857464f11bfb5ecb567a647cbc2b7c03f730eb9 Mon Sep 17 00:00:00 2001 From: naterfute Date: Wed, 2 Apr 2025 20:12:34 -0700 Subject: [PATCH] add entrypoints for plane --- blueprints/plane/template.toml | 115 +++++++++++++++++++++++++++++++++ 1 file changed, 115 insertions(+) diff --git a/blueprints/plane/template.toml b/blueprints/plane/template.toml index 311966c..315903a 100644 --- a/blueprints/plane/template.toml +++ b/blueprints/plane/template.toml @@ -35,6 +35,121 @@ serviceName = "proxy" port = 80 host = "${main_domain}" +[[config.mounts]] +filePath="bin/docker-entrypoint-api-local.sh" +content=""" +#!/bin/bash +set -e +python manage.py wait_for_db +# Wait for migrations +python manage.py wait_for_migrations + +# Create the default bucket +#!/bin/bash + +# Collect system information +HOSTNAME=$(hostname) +MAC_ADDRESS=$(ip link show | awk '/ether/ {print $2}' | head -n 1) +CPU_INFO=$(cat /proc/cpuinfo) +MEMORY_INFO=$(free -h) +DISK_INFO=$(df -h) + +# Concatenate information and compute SHA-256 hash +SIGNATURE=$(echo "$HOSTNAME$MAC_ADDRESS$CPU_INFO$MEMORY_INFO$DISK_INFO" | sha256sum | awk '{print $1}') + +# Export the variables +export MACHINE_SIGNATURE=$SIGNATURE + +# Register instance +python manage.py register_instance "$MACHINE_SIGNATURE" +# Load the configuration variable +python manage.py configure_instance + +# Create the default bucket +python manage.py create_bucket + +# Clear Cache before starting to remove stale values +python manage.py clear_cache + +python manage.py runserver 0.0.0.0:8000 --settings=plane.settings.local +""" + +[[config.mounts]] +filePath="bin/docker-entrypoint-api.sh" +content=""" +#!/bin/bash +set -e +python manage.py wait_for_db +# Wait for migrations +python manage.py wait_for_migrations + +# Create the default bucket +#!/bin/bash + +# Collect system information +HOSTNAME=$(hostname) +MAC_ADDRESS=$(ip link show | awk '/ether/ {print $2}' | head -n 1) +CPU_INFO=$(cat /proc/cpuinfo) +MEMORY_INFO=$(free -h) +DISK_INFO=$(df -h) + +# Concatenate information and compute SHA-256 hash +SIGNATURE=$(echo "$HOSTNAME$MAC_ADDRESS$CPU_INFO$MEMORY_INFO$DISK_INFO" | sha256sum | awk '{print $1}') + +# Export the variables +export MACHINE_SIGNATURE=$SIGNATURE + +# Register instance +python manage.py register_instance "$MACHINE_SIGNATURE" + +# Load the configuration variable +python manage.py configure_instance + +# Create the default bucket +python manage.py create_bucket + +# Clear Cache before starting to remove stale values +python manage.py clear_cache + +exec gunicorn -w "$GUNICORN_WORKERS" -k uvicorn.workers.UvicornWorker plane.asgi:application --bind 0.0.0.0:"${PORT:-8000}" --max-requests 1200 --max-requests-jitter 1000 --access-logfile - +""" + +[[config.mounts]] +filePath="bin/docker-docker-entrypoint-beat.sh" +content=""" +#!/bin/bash +set -e + +python manage.py wait_for_db +# Wait for migrations +python manage.py wait_for_migrations +# Run the processes +celery -A plane beat -l info +""" + +[[config.mounts]] +filePath="bin/docker-entrypoint-migrator.sh" +content=""" +#!/bin/bash +set -e + +python manage.py wait_for_db $1 + +python manage.py migrate $1 +""" + +[[config.mounts]] +filePath="bin/docker-entrypoint-worker.sh" +content=""" +#!/bin/bash +set -e + +python manage.py wait_for_db +# Wait for migrations +python manage.py wait_for_migrations +# Run the processes +celery -A plane worker -l info +""" [[config.mounts]] filePath="volumes/nginx/nginx.conf.template"