Skip to content

Commit 73d9c2f

Browse files
authored
Merge pull request #550 from lbedner/fix-ollama
Fix Ollama Deps
2 parents 93991c3 + b494ef4 commit 73d9c2f

4 files changed

Lines changed: 20 additions & 10 deletions

File tree

README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -51,19 +51,19 @@ cd my-api && make serve
5151
5252
**Installation alternatives:** See the [Installation Guide](https://lbedner.github.io/aegis-stack/installation/) for `uv tool install`, `pip install`, and development setup.
5353

54-
## Overseer - Built-In System Visibility
54+
## Overseer - Your Application's Control Plane
5555

5656
![Overseer](docs/images/overseer-demo.gif)
5757

58-
**[Overseer](https://lbedner.github.io/aegis-stack/overseer/)** is the built-in system dashboard that ships with every Aegis Stack project.
58+
<sub>[Live Demo: sector-7g.dev/dashboard](https://sector-7g.dev/dashboard/)</sub>
5959

60-
It provides a live view of what your application is doing at runtime - across core components (Backend, Database, Workers, Scheduler) and services (Auth, AI, Comms) - through a web UI.
60+
**[Overseer](https://lbedner.github.io/aegis-stack/overseer/)** is the embedded control plane that ships with every Aegis Stack project.
6161

62-
Overseer goes beyond simple health checks. You can inspect worker queues, scheduled jobs, database state, and AI usage, all in one place, without wiring up external tools.
62+
It gives you full runtime visibility into your system - components, services, infrastructure, and data flows - through a single dashboard. No external tooling, no vendor integrations, no setup.
6363

64-
No Datadog. No New Relic. No vendor lock-in.
64+
Inspect worker queues, scheduled jobs, database schema and migrations, AI token usage, auth sessions - everything your application is doing, in real time.
6565

66-
Just a clear view of your system, included from day one.
66+
Every Aegis project ships with its own control plane from day one.
6767

6868
## CLI - First-Class System Interface
6969

aegis/templates/copier-aegis-project/{{ project_slug }}/.env.deploy.example.jinja

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ TRAEFIK_TLS_ENABLED=true
6363
#=============================================================================
6464
# OPTIONAL: EXTERNAL SERVICES
6565
#=============================================================================
66-
{% if include_ai_service %}
66+
{% if include_ai %}
6767
# AI Service
6868
# OPENAI_API_KEY=sk-...
6969
# ANTHROPIC_API_KEY=sk-ant-...

aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/ai/etl/llm_sync_service.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,15 @@
2929
LLMVendor,
3030
Modality,
3131
)
32-
from app.services.ai.ollama import OllamaClient, OllamaModel
3332
from sqlmodel import Session, select
3433

34+
try:
35+
from app.services.ai.ollama import OllamaClient, OllamaModel
36+
except ModuleNotFoundError:
37+
# Ollama module not generated (ollama_mode is "none")
38+
OllamaClient = None # type: ignore[assignment, misc]
39+
OllamaModel = None # type: ignore[assignment, misc]
40+
3541

3642
@dataclass
3743
class SyncResult:
@@ -624,6 +630,10 @@ async def sync_ollama(self, dry_run: bool = False) -> SyncResult:
624630
"""
625631
result = SyncResult()
626632

633+
if OllamaClient is None:
634+
result.errors.append("Ollama integration not available")
635+
return result
636+
627637
# Get Ollama base URL from settings (uses effective URL for Docker/local auto-detection)
628638
base_url = settings.ollama_base_url_effective
629639
client = OllamaClient(base_url=base_url)

aegis/templates/copier-aegis-project/{{ project_slug }}/app/services/system/ui.py.jinja

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ def get_component_title(component_name: str) -> str:
6161
{%- if include_ollama %}
6262
"ollama": "Inference",
6363
{%- endif %}
64-
{%- if include_ai_service %}
64+
{%- if include_ai %}
6565
"service_ai": "AI Service",
6666
{%- endif %}
6767
{%- if include_auth %}
@@ -95,7 +95,7 @@ def get_component_label(component_name: str) -> str:
9595
{%- if include_ollama %}
9696
"ollama": "Ollama",
9797
{%- endif %}
98-
{%- if include_ai_service %}
98+
{%- if include_ai %}
9999
"service_ai": "LLM Provider",
100100
{%- endif %}
101101
{%- if include_auth %}

0 commit comments

Comments
 (0)