mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-06 10:59:59 +00:00
92c45e2471moved Open WebUI off the model server onto the gateway and renamed test-ollama-chat.js to test-litellm-chat.js in the same commit, git records it as R073. `git ls-tree` on that commit shows only the successor in the directory, and both OLLAMA_* variables left playwright.env.j2 with it. fork/feature/svc-net-tor still carried the pre-refactor file. Merging it in7162b7bf4crestored test-ollama-chat.js and OLLAMA_PRELOAD_MODEL without a matching add: `git log --diff-filter=A` on that path knows only the original creation from06aa25c095. A scan of all 916 merges reachable from HEAD finds exactly one other path resurrected the same way, .github/pull_request_template.md, which is not a role file and is left alone here. Deleting it removes no coverage. The file never executed: it does not match the collector's `**/*.@(spec|test).js` and no aggregator required it, and the JUnit report from openwebui#1 lists thirteen tests with no `ollama chat` among them, not even as a skip. Four of its five assertions are byte-identical in the registered successor, which runs green in openwebui#1 and #2. The fifth is deliberately weaker there: the successor takes the first non-embedding model from /api/models instead of pinning OLLAMA_PRELOAD_MODEL, so a green run proves the gateway serves a chat model rather than that Ollama specifically does. That was the refactor's stated intent, exercising the chain rather than a fixture, and reviving the file would route a spec straight at a model server that a lint exists to keep roles away from. OLLAMA_PRELOAD_MODEL goes with it: the deleted spec was its only reader. The plural OLLAMA_PRELOAD_MODELS in svc-ai-ollama is a different variable and stays.
68 lines
3.4 KiB
Bash
68 lines
3.4 KiB
Bash
ADMIN_EMAIL={{ lookup('users', 'administrator').email | dotenv_quote }}
|
|
|
|
ADMIN_PASSWORD={{ lookup('users', 'administrator').password | dotenv_quote }}
|
|
|
|
ADMIN_USERNAME={{ lookup('users', 'administrator').username | dotenv_quote }}
|
|
|
|
APP_BASE_URL={{ lookup('tls', application_id, 'url.base') | dotenv_quote }}
|
|
|
|
BIBER_PASSWORD={{ lookup('users', 'biber').password | dotenv_quote }}
|
|
|
|
BIBER_USERNAME={{ lookup('users', 'biber').username | dotenv_quote }}
|
|
|
|
CANONICAL_DOMAIN={{ lookup('domain', application_id) | dotenv_quote }}
|
|
|
|
# nocheck: playwright-service-gate — covered by sys-svc-mail integration tests, not the persona surface
|
|
EMAIL_SERVICE_ENABLED={{ lookup('config', application_id, 'services.email.enabled') | string | lower }}
|
|
|
|
LAM_BASE_URL={{ (lookup('tls', 'web-app-lam', 'url.base') if 'web-app-lam' in group_names else '') | dotenv_quote }}
|
|
|
|
LDAP_BIND_DN={{ (LDAP.DN.ADMINISTRATOR.DATA if 'web-app-lam' in group_names else '') | dotenv_quote }}
|
|
|
|
LDAP_BIND_PASSWORD={{ (LDAP.BIND_CREDENTIAL if 'web-app-lam' in group_names else '') | dotenv_quote }}
|
|
|
|
LDAP_ROLE_DN_BASE={{ (LDAP.DN.OU.ROLES if 'web-app-lam' in group_names else '') | dotenv_quote }}
|
|
|
|
# nocheck: playwright-service-gate — persona drives the OIDC path; LDAP federation is exercised in the LDAP-only matrix variant
|
|
LDAP_SERVICE_ENABLED={{ lookup('config', application_id, 'services.ldap.enabled') | string | lower }}
|
|
|
|
LDAP_USER_DN_BASE={{ (LDAP.DN.OU.USERS if 'web-app-lam' in group_names else '') | dotenv_quote }}
|
|
|
|
LITELLM_SERVICE_ENABLED={{ lookup('config', application_id, 'services.litellm.enabled') | string | lower }}
|
|
|
|
# nocheck: playwright-service-gate — consumed via shared persona helpers (roles/test-e2e-playwright/files/personas/)
|
|
LOGOUT_SERVICE_ENABLED={{ lookup('config', application_id, 'services.logout.enabled') | string | lower }}
|
|
|
|
MATOMO_BASE_URL={{ lookup('tls', 'web-app-matomo', 'url.base') | dotenv_quote }}
|
|
|
|
# nocheck: playwright-service-gate — consumed via shared persona helpers (roles/test-e2e-playwright/files/personas/)
|
|
MATOMO_SERVICE_ENABLED={{ lookup('config', application_id, 'services.matomo.enabled') | string | lower }}
|
|
|
|
MCP_EXPECTED_SERVERS={{ (OPENWEBUI_MCP_SERVERS | mcp_tool_server_connections | map(attribute='info.id') | list | join(',')) | dotenv_quote }}
|
|
|
|
{% set _read_probes = {} %}
|
|
{% for _server in OPENWEBUI_MCP_SERVERS | mcp_tool_server_connections %}
|
|
{% set _ = _read_probes.update({_server.info.id: lookup('config', _server.info.id, 'mcp.tools.read_probe.tool', '')}) %}
|
|
{% endfor %}
|
|
MCP_EXPECTED_TOOLS={{ _read_probes | to_json | dotenv_quote }}
|
|
|
|
MCP_SERVICE_ENABLED={{ lookup('config', application_id, 'mcp.enabled') | string | lower }}
|
|
|
|
OIDC_ISSUER_URL={{ OIDC.CLIENT.ISSUER_URL | dotenv_quote }}
|
|
|
|
OPENWEBUI_BASE_URL={{ lookup('tls', application_id, 'url.base') | dotenv_quote }}
|
|
|
|
SEAWEEDFS_ADMIN_PASSWORD={{ lookup('users', 'administrator').password | dotenv_quote }}
|
|
|
|
SEAWEEDFS_ADMIN_USERNAME={{ lookup('users', 'administrator').username | dotenv_quote }}
|
|
|
|
SEAWEEDFS_APP_BUCKET={{ lookup('objstore', application_id, 'bucket') | dotenv_quote }}
|
|
|
|
SEAWEEDFS_FILER_URL={{ lookup('canonical_url', 'web-app-seaweedfs', 'filer', consumer=application_id) | dotenv_quote }}
|
|
|
|
SEAWEEDFS_SERVICE_ENABLED={{ lookup('config', application_id, 'services.seaweedfs.enabled') | string | lower }}
|
|
|
|
# nocheck: playwright-service-gate — consumed via shared persona helpers (roles/test-e2e-playwright/files/personas/)
|
|
SSO_SERVICE_ENABLED={{ lookup('config', application_id, 'services.sso.enabled') | string | lower }}
|
|
|