Commit Graph

10 Commits

Author SHA1 Message Date
5a43963971 FEAT(app): mount host Projects directory
- Add hostPath volume mount in deployment
- Enable direct access to Gitea repos
2025-12-24 01:34:08 +09:00
d93c64045a FEAT(ci): add ArgoCD auto-deployment
- Add auto-clone on pod startup
- Integrate with ArgoCD for deployment
2025-12-24 01:15:47 +09:00
6f984e5b6f REFACTOR(app): use native Python clients
Major changes:
- Kubernetes tools: Replace subprocess kubectl calls with kubernetes-client library
  - Supports in-cluster config for pod execution
  - Fallback to local kubeconfig for development
  - All k8s tools (nodes, pods, deployments, logs, describe) now use Python API

- PostgreSQL tools: Replace kubectl exec psql with direct psycopg2 connection
  - Connect via Kubernetes service DNS
  - Support for environment-based configuration
  - Improved error handling with proper pgcode/pgerror

- Prometheus tools: Replace kubectl exec wget with direct HTTP requests
  - Use requests library to query Prometheus API
  - Connect via Kubernetes service DNS
  - Configurable via PROMETHEUS_URL env var

- Deployment updates: Add explicit PostgreSQL connection env vars
  - POSTGRES_HOST, POSTGRES_PORT, POSTGRES_USER
  - Already had POSTGRES_PASSWORD from secret

Benefits:
- No longer requires kubectl binary in container
- Faster execution (no subprocess overhead)
- Better error handling and type safety
- Works seamlessly in Kubernetes pods with RBAC
2025-12-24 00:47:35 +09:00
6196393eb2 FEAT(app): add rbac and kubectl for mcp tools
- ServiceAccount for mas pod
- ClusterRole with read-only permissions
- ClusterRoleBinding
- kubectl installed in Docker image
- Now mas can query Kubernetes API!
2025-12-24 00:29:14 +09:00
86e71e42d9 FIX(k8s): correct PostgreSQL secret name
- Change postgresql-password to postgresql-root-password
- Fix secret reference
2025-12-24 00:08:35 +09:00
6cee617072 FIX(db): use existing user and database
- Created mas database in PostgreSQL
- Changed from mas_user to bluemayne (existing user)
- Use postgresql-password secret (root password)
- Add CHAINLIT_DATABASE_URL for Chainlit compatibility
- Improved error handling in chainlit_app.py
2025-12-24 00:02:03 +09:00
12fd9d52d9 FIX(config): fix Chainlit config dir
- Create /root/.chainlit directory in Dockerfile to prevent FileExistsError
- Reduce replicas from 2 to 1 to conserve resources
- Lower CPU request from 500m to 100m (insufficient CPU on nodes)
- Lower memory request from 512Mi to 256Mi
- Remove health check probes (Chainlit doesn't have /health endpoint)
2025-12-23 23:38:16 +09:00
599a24792f REFACTOR(app): switch to Gitea registry
- Update image from harbor to gitea0213.kro.kr
- Add imagePullPolicy: Always
2025-12-23 23:19:08 +09:00
09be71cf76 CHORE(config): remove unused API keys
- Remove OpenAI and Google API keys
- Use only Anthropic and Groq
2025-12-23 22:53:14 +09:00
9d3a7656d4 REFACTOR(k8s): reorganize to base/overlays pattern
- Add k8s/base/ with deployment and service
- Add k8s/overlays/prod/ with environment config
2025-12-23 22:49:06 +09:00