Commit Graph

18 Commits

Author SHA1 Message Date
Cloud User e9fb0566b0 Fix Job container MTU: use bridge network instead of per-job network
CI - Lint & Test / lint-and-test (push) Failing after 0s Details
act_runner creates a custom Docker network per job which doesn't
inherit the --mtu=1340 setting. Using the default bridge network
ensures job containers use the correct MTU matching pod network.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 16:31:21 +09:00
Cloud User 86e92016e0 Revert container network to bridge mode
CI - Lint & Test / lint-and-test (push) Failing after 6m0s Details
Host network breaks DinD connection. Bridge with --mtu=1340
is confirmed working for TLS connections.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 16:25:18 +09:00
Cloud User b2b8b7d997 Use host network for job containers to fix TLS handshake
CI - Lint & Test / lint-and-test (push) Failing after 0s Details
DinD bridge network causes gnutls_handshake failure even with
correct MTU. Use host network mode so job containers share
the pod network stack directly.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 16:18:23 +09:00
Cloud User 26dbb30ead Remove GIT_SSL_NO_VERIFY, fix root cause with DinD MTU=1340
CI - Lint & Test / lint-and-test (push) Failing after 5m15s Details
The TLS handshake failure was caused by MTU mismatch (pod: 1340,
DinD bridge: 1500), not certificate verification.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 16:13:05 +09:00
Cloud User 7959cc2297 Add GIT_SSL_NO_VERIFY to runner envs config
CI - Lint & Test / lint-and-test (push) Failing after 5m13s Details
Workflow-level env doesn't propagate to actions/checkout git process.
Set it in runner.envs so all job containers inherit it.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 16:07:02 +09:00
Cloud User 44cc5ce0e0 Add GIT_SSL_NO_VERIFY for self-signed cert on Gitea
CI - Lint & Test / lint-and-test (push) Failing after 3m28s Details
Runner CI jobs fail with gnutls_handshake() error because
catthehacker/ubuntu container doesn't trust Gitea's private certificate.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 16:03:15 +09:00
Cloud User 2bfa032e6a Fix runner labels: use catthehacker/ubuntu with node support
CI - Lint & Test / lint-and-test (push) Failing after 6m47s Details
- actions/checkout@v4 requires node runtime
- Switch from ubuntu:22.04 to catthehacker/ubuntu:act-22.04
- This image includes node, git, and other tools needed by Actions

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 15:47:46 +09:00
Cloud User d74af730e2 Fix CI workflow: remove container directive for node compatibility
CI - Lint & Test / lint-and-test (push) Failing after 8s Details
- actions/checkout@v4 requires node, which is missing in python:3.10-slim
- Use default ubuntu-22.04 image and install python3 via apt

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 15:45:59 +09:00
Cloud User d782c2741d Add test code to verify CI pipeline
Train & Deploy / train (push) Failing after 0s Details
Train & Deploy / build-and-deploy (push) Has been skipped Details
CI - Lint & Test / lint-and-test (push) Failing after 18s Details
- src/train.py: example training script
- tests/test_train.py: pytest test
- requirements.txt: pandas, scikit-learn
- Fix ci.yaml: use python:3.10-slim container

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 15:42:14 +09:00
Cloud User b25b7d080e Create Harbor mlops project and update image paths
CI - Lint & Test / lint-and-test (push) Waiting to run Details
- Create mlops project in Harbor (private)
- Image path: harbor.inje-private.com/mlops/mlops-serving
- Update train.yaml and manifests/deployment.yaml

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 15:39:23 +09:00
Cloud User a8e57540b2 Configure Harbor registry for CI/CD pipeline
CI - Lint & Test / lint-and-test (push) Waiting to run Details
- Set REGISTRY_URL to harbor.inje-private.com in train.yaml
- Add docker login step with Gitea secrets (REGISTRY_USER, REGISTRY_PASSWORD)
- Register secrets in Gitea repo via API
- Add harbor config to config.yaml

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 15:38:40 +09:00
Cloud User b606ed18ae Add CI/CD workflow examples and serving manifest
CI - Lint & Test / lint-and-test (push) Has been cancelled Details
- ci.yaml: lint (ruff) + test (pytest) on push/PR
- train.yaml: dvc pull → train → dvc push → docker build → deploy
- dvc-data-update.yaml: data validation on .dvc file changes
- manifests/deployment.yaml: example serving Deployment + Service

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 15:32:09 +09:00
Cloud User 4f7c3da543 Add scheduling policy section to README
- nodegroup: nd for infra components
- nodegroup: prometheus for monitoring
- ML workloads excluded from nodeSelector rule

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 15:05:32 +09:00
Cloud User c55fa3b934 Add nodeSelector policy for infra components
- Gitea Runner: nodeSelector nodegroup=nd
- Define scheduling policy in config.yaml:
  - infra components → nodegroup: nd
  - monitoring → nodegroup: prometheus
  - workloads excluded from this rule

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 15:04:46 +09:00
Cloud User c139018d07 Add Gitea Runner deployment on K8s
- Deploy act_runner v0.3.0 with DinD sidecar in soo namespace
- Auto-register to Gitea (gitea.inje-private.com)
- Labels: ubuntu-latest, ubuntu-22.04, self-hosted
- Enable Actions on repo via API

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 15:00:42 +09:00
Cloud User 03779480c0 Add DVC with NAS remote storage
- Install DVC v3.66.1 and initialize in project
- Configure NAS remote: /ainas/dvc-storage (192.168.0.43)
- NAS already mounted at /ainas on this host

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 14:52:14 +09:00
Cloud User e573b9a533 Add ArgoCD integration with Gitea repo
- Register Gitea repo in ArgoCD (credentials configured)
- Create ArgoCD Application: watches manifests/ → deploys to soo ns
- SyncPolicy: automated with prune and selfHeal
- Add manifests/ directory for future K8s resources

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 14:43:50 +09:00
Cloud User 08ac29a352 Initial commit: MLOps architecture project setup
- config.yaml: cluster/component infrastructure config
- README.md: install guide and component status
- .gitignore: exclude .env and secrets

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 14:40:05 +09:00