TLS / HTTPS
Details
Both the AI Optimizer Server (FastAPI/uvicorn) and Client (Streamlit) can be configured to serve over HTTPS instead of plain HTTP.
Server
The server TLS environment variables are documented in the Server section of the Configuration page.
Self-Signed Certificate (Quick Start)
The simplest way to enable HTTPS is to set AIO_SERVER_SSL=true without providing certificate files. The entrypoint will automatically generate a self-signed certificate at startup:
These variables can also be exported directly in the shell before running the entrypoint.
Then start the server:
The generated certificate and key are stored in tmp/ssl/ (relative to the src/ directory) and are reused across restarts.
User-Provided Certificates
For production or corporate environments where a trusted certificate authority (CA) is available, provide the paths to the certificate and key files:
These variables can also be exported directly in the shell before running the entrypoint.
Then start the server:
The certificate should be PEM-encoded and may include intermediate CA certificates in the chain.
Helm Chart
When deploying with the Helm chart, set server.ssl.enabled to true. This automatically sets the AIO_SERVER_SSL environment variable on the pod and switches the health probes to HTTPS.
To use auto-generated self-signed certificates (simplest option):
To use certificates from a Kubernetes Secret, provide certFile/keyFile paths and mount the Secret into the container:
Client
The client TLS environment variables are documented in the Client section of the Configuration page.
Self-Signed Certificate (Quick Start)
The simplest way to enable HTTPS is to set AIO_CLIENT_SSL=true without providing certificate files. The entrypoint will automatically generate a self-signed certificate at startup:
These variables can also be exported directly in the shell before running the entrypoint.
Then start the client:
The generated certificate and key are stored in tmp/ssl/ (relative to the src/ directory) and are reused across restarts.
Browser Warning
Self-signed certificates will trigger a browser security warning on first access. Accept the warning to proceed, or install the generated tmp/ssl/cert.pem as a trusted certificate in your browser or operating system.
User-Provided Certificates
For production or corporate environments where a trusted certificate authority (CA) is available, provide the paths to the certificate and key files:
These variables can also be exported directly in the shell before running the entrypoint.
Then start the client:
The certificate should be PEM-encoded and may include intermediate CA certificates in the chain.
Helm Chart
When deploying with the Helm chart, set client.ssl.enabled to true. This automatically sets the AIO_CLIENT_SSL environment variable on the pod and switches the health probes to HTTPS.
To use auto-generated self-signed certificates (simplest option):
To use certificates from a Kubernetes Secret, provide certFile/keyFile paths and mount the Secret into the container: