diff --git a/agents/k8s/bernard-deployment.yaml b/agents/k8s/bernard-deployment.yaml index 4b856b8..fac6a1c 100644 --- a/agents/k8s/bernard-deployment.yaml +++ b/agents/k8s/bernard-deployment.yaml @@ -56,7 +56,7 @@ spec: - name: LITELLM_API_KEY valueFrom: secretKeyRef: - name: bernard-secrets + name: bernard-litellm-key key: LITELLM_API_KEY - name: LITELLM_BASE_URL value: "http://litellm.ai-core.svc.cluster.local:4000" diff --git a/agents/k8s/bernard-externalsecret.yaml b/agents/k8s/bernard-externalsecret.yaml index 9688bff..60d5df5 100644 --- a/agents/k8s/bernard-externalsecret.yaml +++ b/agents/k8s/bernard-externalsecret.yaml @@ -14,9 +14,23 @@ spec: - secretKey: GITEA_TOKEN remoteRef: key: BERNARD_GITEA_TOKEN - - secretKey: LITELLM_API_KEY - remoteRef: - key: LITELLM_MASTER_KEY - secretKey: BERNARD_DB_DSN remoteRef: key: BERNARD_DB_DSN +--- +apiVersion: external-secrets.io/v1beta1 +kind: ExternalSecret +metadata: + name: bernard-litellm-key + namespace: ai-agents-bernard +spec: + refreshInterval: 1h + secretStoreRef: + name: infisical-litellm + kind: ClusterSecretStore + target: + name: bernard-litellm-key + data: + - secretKey: LITELLM_API_KEY + remoteRef: + key: LITELLM_MASTER_KEY diff --git a/agents/trigger_bernard.py b/agents/trigger_bernard.py new file mode 100644 index 0000000..693711a --- /dev/null +++ b/agents/trigger_bernard.py @@ -0,0 +1,41 @@ +"""Trigger Bernard workflows from local machine.""" +from __future__ import annotations + +import asyncio +import sys + +from temporalio.client import Client + + +async def trigger_pr_review(): + client = await Client.connect("localhost:7233", namespace="default") + handle = await client.start_workflow( + "PRReviewWorkflow", + id="bernard-pr-review-run-1", + task_queue="bernard", + ) + print(f"PRReviewWorkflow started — ID: {handle.id}") + print("Waiting for result...") + result = await handle.result() + print(f"\n--- Result ---\n{result}") + + +async def trigger_monitor(): + client = await Client.connect("localhost:7233", namespace="default") + handle = await client.start_workflow( + "TemporalMonitorWorkflow", + id="bernard-monitor-run-1", + task_queue="bernard", + ) + print(f"TemporalMonitorWorkflow started — ID: {handle.id}") + print("Waiting for result...") + result = await handle.result() + print(f"\n--- Result ---\n{result}") + + +if __name__ == "__main__": + mode = sys.argv[1] if len(sys.argv) > 1 else "pr" + if mode == "monitor": + asyncio.run(trigger_monitor()) + else: + asyncio.run(trigger_pr_review())