Files
ReachableCEO 9877a53291 feat: add APISIX Cloudron package (API-Gateway)
- Create Dockerfile wrapping official Apache APISIX image
- Add CloudronManifest.json with etcd addon and multiple TCP ports
- Create start.sh script with etcd wait and auto-configuration
- Include README.md with comprehensive usage documentation
- Add config.yaml.example for reference configuration
- Add CHANGELOG.md for version tracking
- Add logo.png (Apache APISIX branding)

APISIX is a dynamic, real-time, high-performance API Gateway
that provides rich traffic management features.

Package includes:
- Official Apache APISIX Docker image wrapper (143MB)
- Cloudron etcd addon integration for configuration storage
- Automatic etcd connection wait and configuration
- Multiple exposed ports (9180: Admin API, 9080: HTTP, 9443: HTTPS)
- 1024MB memory limit for gateway operations
- Comprehensive documentation with API usage examples
- Plugin configuration examples

Ports:
- 9180: Admin API port (REST API for configuration)
- 9080: HTTP proxy port (client requests)
- 9443: HTTPS proxy port (client requests with SSL)

Features supported:
- Dynamic configuration without restarts
- Multi-protocol (HTTP/HTTPS, TCP/UDP, Dubbo, MQTT, gRPC, WebSocket)
- Load balancing with multiple strategies
- Security (IP restrictions, JWT, API Key auth)
- Traffic management (rate limiting, circuit breaking, canary releases)
- 100+ plugins for extensibility
- AI Gateway capabilities for LLM workloads

💘 Generated with Crush

Assisted-by: GLM-4.7 via Crush <crush@charm.land>
2026-02-04 12:49:08 -05:00

96 lines
1.8 KiB
Plaintext

# APISIX Configuration Sample
# This file is automatically generated by Cloudron package
# Located at: /usr/local/apisix/conf/config.yaml
deployment:
role: traditional
role_traditional:
config_provider: etcd
admin:
# Admin API port
port: 9180
# Allow admin access from all IPs
# Restrict this in production to specific IPs
allow_admin:
- 0.0.0.0/0
# Admin API key (CHANGE THIS IN PRODUCTION)
admin_key:
- admin-key-secret-change-me
# Admin API version
admin_api_version: v3
etcd:
# Etcd hosts (automatically configured by Cloudron)
host:
- 127.0.0.1
port: 2379
prefix: "/apisix"
timeout: 30
apisix:
# SSL configuration
ssl:
ssl_trusted_certificate: /etc/ssl/certs/ca-certificates.crt
ssl_protocols: "TLSv1.2 TLSv1.3"
# Main HTTP proxy port
node_listen: 9080
# Disable IPv6
enable_ipv6: false
# Enable CORS for admin API
enable_admin_cors: true
# Enable HTTP/2
enable_http2: true
# Nginx configuration
nginx_config:
# Error log file
error_log: "logs/error.log"
error_log_level: "warn"
# Worker processes
worker_processes: auto
# Maximum open files
worker_rlimit_nofile: 20480
# Event worker processes
event_worker_processes: 2
# Worker shutdown timeout
worker_shutdown_timeout: 240s
# Additional configuration options:
#
# Plugin configuration (default plugins enabled)
# plugins:
# - real-ip
# - proxy-rewrite
# - limit-req
# - limit-conn
# - prometheus
# - node-status
# - jwt-auth
# - key-auth
# - basic-auth
# - ip-restriction
# - cors
# - proxy-cache
# - limit-count
# - request-id
# - fault-injection
# - consumer
#
# Stream plugins (for TCP/UDP):
# stream_plugins:
# - mqtt-proxy
# - ip-restriction
# - limit-conn