Commit Graph
98 Commits
Author SHA1 Message Date
Duc Nguyen ae9886011e add ml-backend-1.0.3.tgz
Adds the partof pod label so the KubePlus allow-external-traffic NetworkPolicy
matches the ML backend pod. Without it the ingress controller is blocked and
every tenant request returns 502.

Chart source: py-ailbl-project-integration-pipeline @ 68d0651
2026-08-17 15:58:43 +07:00
Duc NguyenandClaude Opus 5 1505471bc7 fix(label-studio): set the partof pod label from the release name
Each tenant namespace carries two NetworkPolicies created by KubePlus:

  restrict-cross-ns-traffic   podSelector {}                  same-namespace only
  allow-external-traffic      podSelector partof=<release>    allow all

Without the partof label only the first applies, so the ingress controller - which
lives in another namespace - is blocked and every request to the tenant returns 502
from nginx while Label Studio itself is perfectly healthy.

That label was only ever applied by the KubePlus mutating webhook at pod creation
time, and that webhook runs with failurePolicy: Ignore. When the webhook is broken,
pods are still admitted, just without the label, and the tenant goes dark silently.
Every pod recreated during such a window loses external access.

Set it in the pod template instead so it no longer depends on the webhook. The Helm
release name is exactly the value the policy expects (labelstudioservice-<namespace>).
The selector is left untouched, so this stays a valid in-place upgrade.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-14 13:59:31 +07:00
Duc NguyenandClaude Opus 5 79c96fb1ee fix(label-studio): declare container resources so the tenant ResourceQuota accepts the pod
Repackaged from the exact 2.0.0 tree that was published here (sha256
371cff69...05bcf4); the only difference in the rendered output is the three
resources blocks.

Every tenant namespace has a ResourceQuota named labelstudioservice-<ns> that
requires limits and requests on every container, and the chart left
app.resources, app.initContainer.resources and app.nginx.resources empty. Pod
creation was rejected outright:

  pods "studio-vegastar-..." is forbidden: failed quota: labelstudioservice-<ns>:
  must specify limits.cpu for: db-migrations,nginx; limits.memory for: ...

17 of 22 tenants sit at 0/1 with no pods because of it. The 5 still running were
created before the quota took effect and would fail the same way on restart.

The quota is requests 200m/512Mi, limits 500m/1Gi - exactly what the app container
alone takes, because the KubePlus podconfig webhook only injects resources into the
first container. A pod is charged max(sum of regular containers, max init container),
so db-migrations does not add to the total. This split fits the existing quota
exactly, so no ResourcePolicy or per-namespace quota needs changing:

  app            requests 170m/448Mi   limits 400m/928Mi
  nginx          requests  30m/ 64Mi   limits 100m/ 96Mi
  db-migrations  requests 100m/256Mi   limits 400m/768Mi

Sized from live usage on the 5 healthy tenants: app 5-8m CPU and 782-806Mi, nginx
1m and 15-29Mi.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-14 10:37:48 +07:00
Nguyen Duc Thao 66208be570 change 2026-02-06 14:29:01 +07:00
Nguyen Duc Thao 81ec8ac58c test action 2025-12-15 14:00:40 +07:00
Nguyen Duc Thao 01d1beaa5a test action 2025-12-12 14:30:44 +07:00
Nguyen Duc Thao 2dbb62cd45 test action 2025-12-12 13:33:48 +07:00
Nguyen Duc Thao d6d2ee1553 test action 2025-12-12 13:26:18 +07:00
Nguyen Duc Thao c40246d72a test action 2025-12-11 18:09:28 +07:00
Nguyen Duc Thao 4d71fca258 test action 2025-12-04 17:10:27 +07:00
Nguyen Duc Thao 099de54587 test action 2025-12-04 15:16:53 +07:00
Nguyen Duc Thao 874e05620a test action 2025-12-04 10:10:51 +07:00
Nguyen Duc Thao d27c4cac51 test action 2025-12-02 16:45:09 +07:00
Nguyen Duc Thao 156f3eb3eb test action 2025-12-02 16:34:03 +07:00
Nguyen Duc Thao ca45efb39d test action 2025-12-02 14:31:49 +07:00
Nguyen Duc Thao 6291d3f2e9 test action 2025-12-02 14:21:50 +07:00
Nguyen Duc Thao 7613f3380d test action 2025-12-02 14:20:37 +07:00
Nguyen Duc Thao ae10631644 test action 2025-12-02 14:03:30 +07:00
Nguyen Duc Thao 78250c84bb test action 2025-12-02 13:04:50 +07:00
Nguyen Duc Thao 24cd5858b6 test action 2025-12-02 12:57:00 +07:00
Nguyen Duc Thao 646af6c2b0 test action 2025-12-02 11:46:30 +07:00
Nguyen Duc Thao b63ccc3647 test action 2025-12-02 11:41:56 +07:00
Nguyen Duc Thao 06e6782e3c test action 2025-12-01 15:46:38 +07:00
Nguyen Duc Thao f050f2c049 test action 2025-11-29 10:09:17 +07:00
Nguyen Duc Thao 0ca42adc02 test action 2025-11-29 09:27:52 +07:00
Nguyen Duc Thao 8555676ae3 test action 2025-11-29 01:52:15 +07:00
Nguyen Duc Thao b80b1fdc61 revert commit 2025-11-28 18:28:05 +07:00
Nguyen Duc Thao caee0ea64e revert commit 2025-11-28 10:26:23 +07:00
Nguyen Duc Thao c997ef49c6 revert commit 2025-11-28 10:10:50 +07:00
Nguyen Duc Thao 465ed74939 auto login 2025-11-25 13:01:52 +07:00
Nguyen Duc Thao f9c56c2041 auto login 2025-11-25 11:42:19 +07:00
Nguyen Duc Thao 4e42eb3edf a 2025-11-20 17:06:17 +07:00
Nguyen Duc Thao 7f33dfe3ae a 2025-11-20 15:07:23 +07:00
Nguyen Duc Thao 4a613dac7a a 2025-11-20 15:03:51 +07:00
Nguyen Duc Thao 9130f1d50c a 2025-11-20 10:54:45 +07:00
Nguyen Duc Thao 45f8935669 a 2025-11-20 10:42:50 +07:00
Nguyen Duc Thao 863f5845f2 as 2025-11-20 09:33:19 +07:00
Nguyen Duc Thao 072de5d1d1 add 2025-11-19 17:38:10 +07:00
Nguyen Duc Thao 856d4defb9 add 2025-11-19 17:27:30 +07:00
Nguyen Duc Thao bd61de7adc add 2025-11-19 17:19:44 +07:00
Nguyen Duc Thao 3578132359 jjj 2025-11-19 15:38:49 +07:00
Nguyen Duc Thao a68f332dcd ass 2025-11-19 14:55:30 +07:00
Nguyen Duc Thao 4990541be9 as 2025-11-18 17:59:20 +07:00
Nguyen Duc Thao a9a3fcf2e6 as 2025-11-18 16:48:46 +07:00
Nguyen Duc Thao 5d87f1c453 ddd 2025-11-17 11:08:50 +07:00
Nguyen Duc Thao 65008a4845 ddd 2025-11-17 11:01:53 +07:00
Nguyen Duc Thao b387b44a7d asas 2025-11-14 17:06:59 +07:00
Nguyen Duc Thao 9cf86d0701 asas 2025-11-13 17:08:03 +07:00
Nguyen Duc Thao b0b122ca13 asas 2025-11-13 15:59:48 +07:00
Nguyen Duc Thao cb3cc7e997 asas 2025-11-13 15:52:08 +07:00