Automating AI provider configuration after environment variable deprecation #765
Replies: 4 comments 2 replies
|
Moving this from Q&A to Ideas and keeping it open as the canonical product Discussion for unattended provider configuration in Docker, CI/CD, headless, and infrastructure-as-code deployments. The concern is valid: interactive credential management is convenient, but reproducible and automated deployments need a supported provisioning contract. The current runtime still contains database-first, environment-variable-fallback behavior, while the documentation inconsistently describes those variables as either supported fallbacks or deprecated. Issue #1135 tracks that immediate documentation decision. This Discussion should address the broader product contract: supported environment variables, credentials API provisioning, config or secrets files, bootstrap behavior, idempotency, secret rotation, and how automation can avoid exposing keys. Once those decisions are made, documentation or implementation work should be split into Issues. |
|
@electriquo — sorry for the slow reply after your ping. Direct answer:
On the current state, you're right that it's inconsistent: env vars still work as a live fallback in the code ( For automated deployments — what this Discussion is canonical for — the direction we're leaning: a declarative provisioning tool. A YAML/JSON file describing providers and credentials, plus an idempotent script that applies it through the same credentials API/service layer the UI uses — so encryption, validation and multi-credential come for free. It runs in an init container or CI step; the DB stays the source of truth afterwards; key rotation is re-running it with the new key. What would validate (or kill) this for your setup:
Status: exploring — env fallback deprecated as stated; declarative provisioning script as the proposed direction; your answers shape whether it graduates to a work item. |
No need to apologize. THANK YOU for your amazing work! :)
That sounds good enough to me, and it would be lovely if a YAML/JSON schema were shipped with it.
That said, I don't necessarily see JSON/YAML as being better than
I assume a provisioning step will serve me well. I don't specifically need an
The pipeline runs on demand to provision a unique instance of Open-Notebook, with all credentials unique to that instance. The credentials are randomly generated and rotated at high frequency.
I can adapt to either approach. :) |
|
Your answers settle the direction. Recording it here rather than opening a work item yet — this Discussion stays the home until we schedule it. What your reply changed in the design:
Timing: no date. The shape of the file depends on how provider configuration settles (#947 is the design thread for that), and we'd rather ship it once than twice. #1135 aligns the docs with the deprecated fallback in the meantime. If anyone wants to prototype against the spec above before we schedule it, this thread is the place to say so — and when it ships, you'll be the first test I ask for. Status: incubating — direction decided, scheduling open; this Discussion remains the canonical home. |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Some AI provider environment variables are marked as deprecated, with guidance to configure providers via the Settings UI instead:
However, environment variables are still a common and practical way to configure containers with AI providers, especially in automated or reproducible deployments (e.g., Docker, CI/CD).
This raises a gap in the current guidance: how should users automate provider configuration without relying on deprecated environment variables?
For example:
OPENAI_COMPATIBLE_BASE_URL_TTSbe set (or replaced) in a non-interactive setup?It would be helpful to clarify:
Without this, it's unclear how to reconcile the deprecation with common automation workflows.
Relates to #558
All reactions