add OneRound API egg
This commit is contained in:
208
egg-oneround-api.json
Normal file
208
egg-oneround-api.json
Normal file
@@ -0,0 +1,208 @@
|
||||
{
|
||||
"_comment": "OneRound API - Pterodactyl Egg",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2026-05-31T00:00:00+00:00",
|
||||
"name": "OneRound API",
|
||||
"author": "sticks@hep.gg",
|
||||
"description": "OneRound golf platform API server. Requires a PostgreSQL database with PostGIS.",
|
||||
"features": null,
|
||||
"docker_images": {
|
||||
"Latest": "git.hep.gg/sticks/oneround-api:latest"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": "API_LISTEN_ADDR=:{{SERVER_PORT}} entrypoint.sh",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\"done\": \"OneRound API is ready\"}",
|
||||
"logs": "{}",
|
||||
"stop": "^^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!/bin/ash\necho \"OneRound API - nothing to install, binary is baked into the Docker image.\"\necho \"Set your environment variables in the Startup tab.\"",
|
||||
"container": "alpine:3.21",
|
||||
"entrypoint": "ash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Database URL",
|
||||
"description": "PostgreSQL connection string (e.g. postgres://user:pass@host:5432/oneround)",
|
||||
"env_variable": "DATABASE_URL",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"sort": 0,
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "JWT Secret",
|
||||
"description": "HS256 signing key for auth tokens. Generate with: openssl rand -base64 32",
|
||||
"env_variable": "JWT_SECRET",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"sort": 1,
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Apple Bundle ID",
|
||||
"description": "iOS app bundle identifier for Apple Sign-In verification",
|
||||
"env_variable": "APPLE_BUNDLE_ID",
|
||||
"default_value": "gg.hep.oneround",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"sort": 2,
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Log Level",
|
||||
"description": "Logging verbosity: debug, info, warn, error",
|
||||
"env_variable": "LOG_LEVEL",
|
||||
"default_value": "info",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|in:debug,info,warn,error",
|
||||
"sort": 3,
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "CORS Origins",
|
||||
"description": "Allowed CORS origins (comma-separated, or * for all)",
|
||||
"env_variable": "API_CORS_ORIGINS",
|
||||
"default_value": "*",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"sort": 4,
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Production Mode",
|
||||
"description": "Enable production safety checks (true/false)",
|
||||
"env_variable": "PRODUCTION",
|
||||
"default_value": "false",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|in:true,false",
|
||||
"sort": 5,
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "No-Auth Mode",
|
||||
"description": "Skip authentication for development (true/false). Never enable in production.",
|
||||
"env_variable": "NOAUTH",
|
||||
"default_value": "false",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|in:true,false",
|
||||
"sort": 6,
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "ID Generator URL",
|
||||
"description": "URL of the ID generation service",
|
||||
"env_variable": "IDGEN_URL",
|
||||
"default_value": "https://id.hep.gg/",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"sort": 7,
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "ID Generator Username",
|
||||
"description": "Username for the ID generation service",
|
||||
"env_variable": "IDGEN_USERNAME",
|
||||
"default_value": "oneround-api",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"sort": 8,
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "ID Generator Token",
|
||||
"description": "Auth token for the ID generation service",
|
||||
"env_variable": "IDGEN_TOKEN",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"sort": 9,
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Email API URL",
|
||||
"description": "URL of the email sending service",
|
||||
"env_variable": "EMAIL_API_URL",
|
||||
"default_value": "https://hep.gg/api/v1/email/send",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"sort": 10,
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Email API Key",
|
||||
"description": "Auth key for the email sending service",
|
||||
"env_variable": "EMAIL_API_KEY",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"sort": 11,
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Email From",
|
||||
"description": "Sender address for outgoing emails",
|
||||
"env_variable": "EMAIL_FROM",
|
||||
"default_value": "OneRound <noreply@hep.gg>",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"sort": 12,
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Add Region",
|
||||
"description": "Named region to ingest on startup (e.g. michigan, florida, california). Leave empty to skip.",
|
||||
"env_variable": "ADD_REGION",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"sort": 13,
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Add Region BBox",
|
||||
"description": "Custom bounding box to ingest on startup as min_lat,min_lon,max_lat,max_lon. Used when Add Region is empty.",
|
||||
"env_variable": "ADD_REGION_BBOX",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"sort": 14,
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Tile Size",
|
||||
"description": "Tile size in degrees for region ingestion (default 0.5)",
|
||||
"env_variable": "TILE_SIZE",
|
||||
"default_value": "0.5",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"sort": 15,
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user