@nitra/cursor 1.8.219 → 1.8.220

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -4,6 +4,12 @@
4
4
 
5
5
  Формат — [Keep a Changelog](https://keepachangelog.com/uk/1.1.0/), нумерація — [SemVer](https://semver.org/lang/uk/).
6
6
 
7
+ ## [1.8.220] - 2026-05-09
8
+
9
+ ### Fixed
10
+
11
+ - **k8s / `prodOverlayHpaPdbOverrideNeeds`:** виключено Kustomize Component (`kind: Component`) з prod-overlay-перевірки. Раніше `<pkg>/k8s/components/kustomization.yaml` помилково тригерив `прод-оверлей має перевизначати spec.minReplicas/maxReplicas/minAvailable` — але Component є **джерелом** ресурсів для overlays, не overlay сам по собі. Прод-перезаписи живуть у `ru/` / `ua/` / `prod/` тощо, що підключають Component через `components:`. Додано ранній return за `kind: Component` у `npm/scripts/check-k8s.mjs`; уточнення додано до `npm/mdc/k8s.mdc` і регресійний тест у `npm/tests/check-k8s-schema.test.mjs`.
12
+
7
13
  ## [1.8.219] - 2026-05-09
8
14
 
9
15
  ### Added
package/mdc/k8s.mdc CHANGED
@@ -387,6 +387,8 @@ images:
387
387
 
388
388
  **Overlays** (`ua/`, `ru/`, прод-overlays) підключають `components: [- ../components]` і додають JSON6902-патчі для прод-значень: `/spec/minReplicas`, `/spec/maxReplicas` (HPA), `/spec/minAvailable` (PDB). Dev-середовище (`base`) HPA/PDB не отримує — як і потрібно.
389
389
 
390
+ **`<pkg>/k8s/components/kustomization.yaml`** має `kind: Component` (не `kind: Kustomization`) — це **джерело** канонічних HPA/PDB для всіх overlays, а не overlay сам по собі. Прод-перезаписи (`/spec/minReplicas`, `/spec/maxReplicas`, `/spec/minAvailable`) живуть у `<env>/kustomization.yaml`, що підключає Component через `components:`. У самому Component patches не потрібні — він env-неутральний; **`check k8s`** не вимагає прод-патчів від `components/kustomization.yaml`.
391
+
390
392
  У **не-base** оверлеях (без `components/`) поруч із `Deployment` лишається звична схема: окремий **`hpa.yaml`** / **`pdb.yaml`**, якщо такі потрібні для цього середовища. **`check k8s`** звіряє прив'язку за іменами:
391
393
 
392
394
  - **`hpa.yaml`** (поза **`…/base/`**) — `autoscaling/v2`, `HorizontalPodAutoscaler`, `spec.scaleTargetRef.name` **= `metadata.name`** Deployment.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nitra/cursor",
3
- "version": "1.8.219",
3
+ "version": "1.8.220",
4
4
  "description": "CLI для завантаження cursor-правил (префікс n-) у локальний репозиторій",
5
5
  "keywords": [
6
6
  "cli",
@@ -5233,6 +5233,10 @@ function checkProdOverridesInKustomization(kust, rel, fail, passFn, needs) {
5233
5233
  * `hpa.yaml` / `pdb.yaml`. Тоді у `patches[]` обов'язкові JSON6902-патчі прод-значень: для **HPA** —
5234
5234
  * `/spec/minReplicas` і `/spec/maxReplicas` (мінімум 2), для **PDB** — `/spec/minAvailable` (мінімум 1).
5235
5235
  * Для dev-like (`base` / `dev` / `*-qa`) overrides не потрібні (k8s.mdc).
5236
+ *
5237
+ * **Виняток — Kustomize Component (`kind: Component`):** сам `…/k8s/…/components/kustomization.yaml`
5238
+ * не overlay, а **джерело** ресурсів для overlays. Прод-перезаписи живуть у `<env>/kustomization.yaml`,
5239
+ * що підключає Component через `components:`; у самому Component patches не потрібні (env-неутральний).
5236
5240
  * @param {string} rootNorm нормалізований корінь репозиторію
5237
5241
  * @param {string} kustAbs абсолютний шлях до kustomization.yaml
5238
5242
  * @returns {Promise<ProdOverlayHpaPdbOverrideNeeds>} прапорці потрібних перевизначень
@@ -5244,6 +5248,15 @@ export async function prodOverlayHpaPdbOverrideNeeds(rootNorm, kustAbs) {
5244
5248
  return { needsHpaReplicaPatches: false, needsPdbMinAvailablePatch: false }
5245
5249
  }
5246
5250
 
5251
+ // Kustomize Component (kind: Component) — джерело канонічних HPA/PDB для overlays,
5252
+ // а не overlay сам по собі. Прод-перезаписи (/spec/minReplicas, /spec/maxReplicas,
5253
+ // /spec/minAvailable) живуть у <env>/kustomization.yaml, що підключає Component
5254
+ // через `components:`; у самому Component patches не потрібні (env-неутральний).
5255
+ const kustDoc = await readFirstYamlObject(kustAbs)
5256
+ if (kustDoc !== null && kustDoc.kind === 'Component') {
5257
+ return { needsHpaReplicaPatches: false, needsPdbMinAvailablePatch: false }
5258
+ }
5259
+
5247
5260
  const flags = await kustomizeResourceTreeHpaPdbDeploymentFlags(kustAbs, rootNorm)
5248
5261
  return {
5249
5262
  needsHpaReplicaPatches: flags.hasHpa,