Commit Graph

25 Commits

Author SHA1 Message Date
49083910c6 REFACTOR(api): remove Groq API dependency
- Remove Groq API integration
- Use only Anthropic Claude API
2026-01-02 00:05:14 +09:00
fa75dcc2ca FIX(app): update image registry to ghcr.io
- Change container image registry to ghcr.io
- Update image references
2026-01-01 18:31:30 +09:00
171cf347f4 REFACTOR(k8s): remove hostPath and nodeSelector
- Remove hostPath volume configuration
- Remove nodeSelector for flexible scheduling
2026-01-01 18:29:42 +09:00
a50720e84d CHORE(k8s): update PostgreSQL namespace reference
- Update PostgreSQL service namespace reference
- Fix database connection configuration
2025-12-29 20:51:33 +09:00
831a14f1a3 REFACTOR(ci): migrate repoURL from Gitea to GitHub
- Update repository URL in CI configuration
- Switch from Gitea to GitHub
2025-12-29 20:38:25 +09:00
9220934803 REFACTOR(db): migrate to CloudNativePG database
- Migrate database to CloudNativePG operator
- Update connection configuration
2025-12-27 18:43:36 +09:00
642b725aa3 FIX(deploy): add nodeSelector for master
- Add nodeSelector for master node scheduling
- Fix MountVolume.SetUp failure for /home/ubuntu/Projects
2025-12-26 12:16:32 +09:00
daa6036ef0 REFACTOR(deploy): remove CPU limit
- Remove CPU limit from deployment
- Prevent CPU throttling
2025-12-26 11:38:05 +09:00
01bb2a9d4d FIX(app): add ServiceAccount and RBAC configuration
- Create ServiceAccount, ClusterRole, ClusterRoleBinding
- Grant permissions for mas agent to access K8s resources
2025-12-24 16:34:12 +09:00
0b34310b19 FIX(app): fix Kustomize path issue
- Remove ../../vault path from base kustomization (security)
- Reference vault/mas-postgres.yaml directly from prod overlay
2025-12-24 16:26:54 +09:00
f5d542c2de FIX(app): add postgresql ExternalSecret
- postgresql 네임스페이스의 secret을 mas 네임스페이스에서 참조할 수 없는 문제 해결
- ExternalSecret을 통해 mas 네임스페이스에도 동일한 secret 생성
2025-12-24 15:08:33 +09:00
322ba03986 FIX(app): fix PostgreSQL secret name again
- Use postgresql-password secret (actually exists)
2025-12-24 15:05:05 +09:00
791fb24f60 FIX(app): fix PostgreSQL secret name
- Change postgresql-root-password to postgresql-bluemayne-password
- Use actually existing secret
2025-12-24 15:04:58 +09:00
9817e173eb FIX(db): fix DATABASE_URL for asyncpg
- asyncpg는 postgresql+asyncpg:// 형식을 지원하지 않음
- postgresql:// 또는 postgres:// 형식만 지원
- Chainlit이 PostgreSQL에 연결하지 못해 응답을 표시하지 못하는 문제 해결
2025-12-24 14:48:49 +09:00
363716e229 REFACTOR(app): use nsenter for host access
- Replace SSH with nsenter for host access
- Simplify host command execution
2025-12-24 13:47:03 +09:00
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