@nitra/cursor 1.13.40 → 1.13.41
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 +6 -0
- package/package.json +1 -1
- package/rules/k8s/fix/manifests/check.mjs +7 -3
- package/rules/k8s/k8s.mdc +4 -4
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.13.41] - 2026-05-18
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
- `k8s` rule: yannh-патерн для груп з крапками — у назві файлу схеми зберігається лише **перший сегмент** `group` до першої крапки (`networking.k8s.io` → `networking`, `rbac.authorization.k8s.io` → `rbac`, `flowcontrol.apiserver.k8s.io` → `flowcontrol`); попередній `<group-з-крапками-як-дефіси>` давав 404 для всіх ресурсів `*.k8s.io` (Ingress, NetworkPolicy, ClusterRole, StorageClass, FlowSchema, RuntimeClass тощо). Виправлено в `expectedSchemaUrlForTypedManifest` і `buildNetworkPolicyYaml` (`check-k8s.mjs`); опис патерну в `k8s.mdc` переписано з прикладами для усіх типових груп. Bump `k8s.mdc` `1.34` → `1.35`.
|
|
12
|
+
|
|
7
13
|
## [1.13.40] - 2026-05-18
|
|
8
14
|
|
|
9
15
|
### Fixed
|
package/package.json
CHANGED
|
@@ -3595,10 +3595,14 @@ function expectedSchemaUrlForTypedManifest(doc, apiVersion, kind) {
|
|
|
3595
3595
|
const group = apiVersion.slice(0, Math.max(0, slash))
|
|
3596
3596
|
const version = apiVersion.slice(slash + 1)
|
|
3597
3597
|
const kindPart = kindToSchemaFilePart(kind)
|
|
3598
|
-
const groupDash = group.replaceAll('.', '-')
|
|
3599
3598
|
|
|
3600
3599
|
if (YANNH_GROUPS.has(group)) {
|
|
3601
|
-
|
|
3600
|
+
// yannh для груп типу `*.k8s.io` / `*.apiserver.k8s.io` зберігає у назві файлу
|
|
3601
|
+
// лише перший сегмент `group` до першої крапки: `networking.k8s.io` → `networking`,
|
|
3602
|
+
// `rbac.authorization.k8s.io` → `rbac`, `flowcontrol.apiserver.k8s.io` → `flowcontrol`.
|
|
3603
|
+
// Для груп без крапок (`apps`, `batch`, `autoscaling`, `policy`) це збігається з group.
|
|
3604
|
+
const groupPart = group.split('.')[0]
|
|
3605
|
+
const url = `${YANNH_BASE}${kindPart}-${groupPart}-${version}.json`
|
|
3602
3606
|
return { expected: url, reason: 'вбудований API Kubernetes (yannh)' }
|
|
3603
3607
|
}
|
|
3604
3608
|
|
|
@@ -4284,7 +4288,7 @@ const NETWORK_POLICY_EGRESS_YAML = ` egress:
|
|
|
4284
4288
|
* @returns {string} вміст `networkpolicy.yaml`
|
|
4285
4289
|
*/
|
|
4286
4290
|
export function buildNetworkPolicyYaml(deployName, appLabel) {
|
|
4287
|
-
const schemaUrl = `${YANNH_BASE}networkpolicy-networking-
|
|
4291
|
+
const schemaUrl = `${YANNH_BASE}networkpolicy-networking-v1.json`
|
|
4288
4292
|
return `# yaml-language-server: $schema=${schemaUrl}
|
|
4289
4293
|
apiVersion: networking.k8s.io/v1
|
|
4290
4294
|
kind: NetworkPolicy
|
package/rules/k8s/k8s.mdc
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: K8s YAML — $schema (yaml-language-server); lint-k8s (kubeconform, kubescape); check-k8s
|
|
3
|
-
version: '1.
|
|
3
|
+
version: '1.35'
|
|
4
4
|
globs: "**/k8s/**/*.yaml"
|
|
5
5
|
alwaysApply: false
|
|
6
6
|
---
|
|
@@ -471,7 +471,7 @@ resources:
|
|
|
471
471
|
```
|
|
472
472
|
|
|
473
473
|
```yaml title="k8s/components/networkpolicy.yaml"
|
|
474
|
-
# yaml-language-server: $schema=https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.33.9-standalone-strict/networkpolicy-networking-
|
|
474
|
+
# yaml-language-server: $schema=https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.33.9-standalone-strict/networkpolicy-networking-v1.json
|
|
475
475
|
apiVersion: networking.k8s.io/v1
|
|
476
476
|
kind: NetworkPolicy
|
|
477
477
|
metadata:
|
|
@@ -712,8 +712,8 @@ patch: |-
|
|
|
712
712
|
```
|
|
713
713
|
|
|
714
714
|
3. **`apiVersion: group/version`** і **group** у **`YANNH_GROUPS`** у скрипті → yannh:
|
|
715
|
-
`https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/<PIN>/<kind>-<group
|
|
716
|
-
|
|
715
|
+
`https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/<PIN>/<kind>-<group-частина>-<version>.json`
|
|
716
|
+
де **`<group-частина>`** — **перший сегмент** `group` до першої крапки: для груп без крапок збігається з усією group (`apps/v1` + `Deployment` → `deployment-apps-v1.json`); для `*.k8s.io` / `*.apiserver.k8s.io` — лише префікс до `.k8s.io` (`networking.k8s.io/v1` + `Ingress` → `ingress-networking-v1.json`; `networking.k8s.io/v1` + `NetworkPolicy` → `networkpolicy-networking-v1.json`; `rbac.authorization.k8s.io/v1` + `ClusterRole` → `clusterrole-rbac-v1.json`; `flowcontrol.apiserver.k8s.io/v1` + `FlowSchema` → `flowschema-flowcontrol-v1.json`). У yannh **немає** файлів з фрагментом `-k8s-io-` у назві — патерн `<group-з-крапками-як-дефіси>` дає 404.
|
|
717
717
|
4. **Інакше** (CRD тощо) → [datreeio/CRDs-catalog](https://github.com/datreeio/CRDs-catalog). Типово для `$schema` у редакторі — **GitHub Pages**:
|
|
718
718
|
`https://datreeio.github.io/CRDs-catalog/<group>/<kind>_<version>.json`
|
|
719
719
|
(`<kind>` — лише літери та цифри в нижньому регістрі, без роздільників між CamelCase, як для yannh.)
|