@intentius/chant-lexicon-k8s 0.41.20 → 0.42.1

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.
Files changed (249) hide show
  1. package/dist/deep-observe-hooks.d.ts +8 -0
  2. package/dist/deep-observe-hooks.d.ts.map +1 -1
  3. package/dist/integrity.json +2 -2
  4. package/dist/manifest.json +1 -1
  5. package/dist/okf/index.md +250 -0
  6. package/dist/okf/rules/ARGO001.md +16 -0
  7. package/dist/okf/rules/ARGO002.md +16 -0
  8. package/dist/okf/rules/ARGO003.md +15 -0
  9. package/dist/okf/rules/ARGO004.md +17 -0
  10. package/dist/okf/rules/ARGO005.md +15 -0
  11. package/dist/okf/rules/WK8001.md +16 -0
  12. package/dist/okf/rules/WK8002.md +20 -0
  13. package/dist/okf/rules/WK8003.md +19 -0
  14. package/dist/okf/rules/WK8005.md +11 -0
  15. package/dist/okf/rules/WK8006.md +11 -0
  16. package/dist/okf/rules/WK8041.md +11 -0
  17. package/dist/okf/rules/WK8042.md +11 -0
  18. package/dist/okf/rules/WK8101.md +11 -0
  19. package/dist/okf/rules/WK8102.md +11 -0
  20. package/dist/okf/rules/WK8103.md +11 -0
  21. package/dist/okf/rules/WK8104.md +15 -0
  22. package/dist/okf/rules/WK8105.md +11 -0
  23. package/dist/okf/rules/WK8201.md +11 -0
  24. package/dist/okf/rules/WK8202.md +11 -0
  25. package/dist/okf/rules/WK8203.md +11 -0
  26. package/dist/okf/rules/WK8204.md +11 -0
  27. package/dist/okf/rules/WK8205.md +11 -0
  28. package/dist/okf/rules/WK8207.md +11 -0
  29. package/dist/okf/rules/WK8208.md +11 -0
  30. package/dist/okf/rules/WK8209.md +11 -0
  31. package/dist/okf/rules/WK8301.md +16 -0
  32. package/dist/okf/rules/WK8302.md +11 -0
  33. package/dist/okf/rules/WK8303.md +15 -0
  34. package/dist/okf/rules/WK8304.md +15 -0
  35. package/dist/okf/rules/WK8305.md +15 -0
  36. package/dist/okf/rules/WK8306.md +11 -0
  37. package/dist/okf/rules/WK8401.md +15 -0
  38. package/dist/okf/rules/WK8402.md +15 -0
  39. package/dist/okf/rules/WK8403.md +15 -0
  40. package/dist/okf/types/APIGroup.md +16 -0
  41. package/dist/okf/types/APIGroupList.md +13 -0
  42. package/dist/okf/types/APIResourceList.md +14 -0
  43. package/dist/okf/types/APIService.md +14 -0
  44. package/dist/okf/types/APIServiceList.md +14 -0
  45. package/dist/okf/types/APIVersions.md +14 -0
  46. package/dist/okf/types/Alert.md +14 -0
  47. package/dist/okf/types/AppProject.md +19 -0
  48. package/dist/okf/types/Application.md +23 -0
  49. package/dist/okf/types/ApplicationSet.md +18 -0
  50. package/dist/okf/types/Backup.md +14 -0
  51. package/dist/okf/types/BatchJob.md +14 -0
  52. package/dist/okf/types/Binding.md +14 -0
  53. package/dist/okf/types/Bucket.md +14 -0
  54. package/dist/okf/types/CM.md +16 -0
  55. package/dist/okf/types/CSIDriver.md +14 -0
  56. package/dist/okf/types/CSIDriverList.md +14 -0
  57. package/dist/okf/types/CSINode.md +14 -0
  58. package/dist/okf/types/CSINodeList.md +14 -0
  59. package/dist/okf/types/CSIStorageCapacity.md +17 -0
  60. package/dist/okf/types/CSIStorageCapacityList.md +14 -0
  61. package/dist/okf/types/Certificate.md +18 -0
  62. package/dist/okf/types/CertificateRequest.md +14 -0
  63. package/dist/okf/types/CertificateSigningRequest.md +14 -0
  64. package/dist/okf/types/CertificateSigningRequestList.md +14 -0
  65. package/dist/okf/types/Challenge.md +14 -0
  66. package/dist/okf/types/Cluster.md +14 -0
  67. package/dist/okf/types/ClusterIssuer.md +14 -0
  68. package/dist/okf/types/ClusterRole.md +15 -0
  69. package/dist/okf/types/ClusterRoleBinding.md +15 -0
  70. package/dist/okf/types/ClusterRoleBindingList.md +14 -0
  71. package/dist/okf/types/ClusterRoleList.md +14 -0
  72. package/dist/okf/types/ClusterTrustBundle.md +14 -0
  73. package/dist/okf/types/ClusterTrustBundleList.md +14 -0
  74. package/dist/okf/types/ComponentStatus.md +14 -0
  75. package/dist/okf/types/ComponentStatusList.md +14 -0
  76. package/dist/okf/types/ConfigMapList.md +14 -0
  77. package/dist/okf/types/ControllerRevision.md +15 -0
  78. package/dist/okf/types/ControllerRevisionList.md +14 -0
  79. package/dist/okf/types/CoreEventList.md +14 -0
  80. package/dist/okf/types/CrdbCluster.md +14 -0
  81. package/dist/okf/types/CronJob.md +20 -0
  82. package/dist/okf/types/CronJobList.md +14 -0
  83. package/dist/okf/types/CustomResourceDefinition.md +14 -0
  84. package/dist/okf/types/CustomResourceDefinitionList.md +14 -0
  85. package/dist/okf/types/DaemonSet.md +19 -0
  86. package/dist/okf/types/DaemonSetList.md +14 -0
  87. package/dist/okf/types/DeleteOptions.md +18 -0
  88. package/dist/okf/types/Deploy.md +14 -0
  89. package/dist/okf/types/DeploymentList.md +14 -0
  90. package/dist/okf/types/DeviceClass.md +14 -0
  91. package/dist/okf/types/DeviceClassList.md +14 -0
  92. package/dist/okf/types/DeviceTaintRule.md +14 -0
  93. package/dist/okf/types/DeviceTaintRuleList.md +14 -0
  94. package/dist/okf/types/EndpointSlice.md +16 -0
  95. package/dist/okf/types/EndpointSliceList.md +14 -0
  96. package/dist/okf/types/Endpoints.md +14 -0
  97. package/dist/okf/types/EndpointsList.md +14 -0
  98. package/dist/okf/types/Event.md +27 -0
  99. package/dist/okf/types/EventsEvent.md +27 -0
  100. package/dist/okf/types/EventsEventList.md +14 -0
  101. package/dist/okf/types/Eviction.md +14 -0
  102. package/dist/okf/types/FlowSchema.md +14 -0
  103. package/dist/okf/types/FlowSchemaList.md +14 -0
  104. package/dist/okf/types/FluxInstance.md +14 -0
  105. package/dist/okf/types/FluxReport.md +14 -0
  106. package/dist/okf/types/GRPCRoute.md +14 -0
  107. package/dist/okf/types/Gateway.md +14 -0
  108. package/dist/okf/types/GatewayClass.md +14 -0
  109. package/dist/okf/types/GitRepository.md +14 -0
  110. package/dist/okf/types/HTTPRoute.md +14 -0
  111. package/dist/okf/types/HelmChart.md +14 -0
  112. package/dist/okf/types/HelmRelease.md +14 -0
  113. package/dist/okf/types/HelmRepository.md +14 -0
  114. package/dist/okf/types/HorizontalPodAutoscaler.md +14 -0
  115. package/dist/okf/types/HorizontalPodAutoscalerList.md +14 -0
  116. package/dist/okf/types/IPAddress.md +14 -0
  117. package/dist/okf/types/IPAddressList.md +14 -0
  118. package/dist/okf/types/ImagePolicy.md +14 -0
  119. package/dist/okf/types/ImageRepository.md +14 -0
  120. package/dist/okf/types/ImageUpdateAutomation.md +14 -0
  121. package/dist/okf/types/InfisicalDynamicSecret.md +14 -0
  122. package/dist/okf/types/InfisicalPushSecret.md +14 -0
  123. package/dist/okf/types/InfisicalSecret.md +14 -0
  124. package/dist/okf/types/Ing.md +14 -0
  125. package/dist/okf/types/IngressClass.md +14 -0
  126. package/dist/okf/types/IngressClassList.md +14 -0
  127. package/dist/okf/types/IngressList.md +14 -0
  128. package/dist/okf/types/IngressRoute.md +14 -0
  129. package/dist/okf/types/IngressRouteTCP.md +14 -0
  130. package/dist/okf/types/IngressRouteUDP.md +14 -0
  131. package/dist/okf/types/Issuer.md +14 -0
  132. package/dist/okf/types/JobList.md +14 -0
  133. package/dist/okf/types/Kustomization.md +14 -0
  134. package/dist/okf/types/Lease.md +14 -0
  135. package/dist/okf/types/LeaseCandidate.md +14 -0
  136. package/dist/okf/types/LeaseCandidateList.md +14 -0
  137. package/dist/okf/types/LeaseList.md +14 -0
  138. package/dist/okf/types/LimitRange.md +14 -0
  139. package/dist/okf/types/LimitRangeList.md +14 -0
  140. package/dist/okf/types/LocalSubjectAccessReview.md +14 -0
  141. package/dist/okf/types/MicroVM.md +14 -0
  142. package/dist/okf/types/MicroVMClass.md +14 -0
  143. package/dist/okf/types/MicroVMImage.md +14 -0
  144. package/dist/okf/types/MicroVMNetwork.md +14 -0
  145. package/dist/okf/types/MicroVMReplicaSet.md +14 -0
  146. package/dist/okf/types/Middleware.md +14 -0
  147. package/dist/okf/types/MiddlewareTCP.md +14 -0
  148. package/dist/okf/types/MutatingAdmissionPolicy.md +14 -0
  149. package/dist/okf/types/MutatingAdmissionPolicyBinding.md +14 -0
  150. package/dist/okf/types/MutatingAdmissionPolicyBindingList.md +14 -0
  151. package/dist/okf/types/MutatingAdmissionPolicyList.md +14 -0
  152. package/dist/okf/types/MutatingWebhookConfiguration.md +14 -0
  153. package/dist/okf/types/MutatingWebhookConfigurationList.md +14 -0
  154. package/dist/okf/types/Namespace.md +18 -0
  155. package/dist/okf/types/NamespaceList.md +14 -0
  156. package/dist/okf/types/NetPol.md +14 -0
  157. package/dist/okf/types/NetworkPolicyList.md +14 -0
  158. package/dist/okf/types/Node.md +21 -0
  159. package/dist/okf/types/NodeList.md +14 -0
  160. package/dist/okf/types/OCIRepository.md +14 -0
  161. package/dist/okf/types/ObjectStore.md +14 -0
  162. package/dist/okf/types/Order.md +14 -0
  163. package/dist/okf/types/PDB.md +18 -0
  164. package/dist/okf/types/PersistentVolume.md +14 -0
  165. package/dist/okf/types/PersistentVolumeClaim.md +14 -0
  166. package/dist/okf/types/PersistentVolumeClaimList.md +14 -0
  167. package/dist/okf/types/PersistentVolumeList.md +14 -0
  168. package/dist/okf/types/Pod.md +18 -0
  169. package/dist/okf/types/PodCertificateRequest.md +14 -0
  170. package/dist/okf/types/PodCertificateRequestList.md +14 -0
  171. package/dist/okf/types/PodDisruptionBudgetList.md +14 -0
  172. package/dist/okf/types/PodList.md +14 -0
  173. package/dist/okf/types/PodTemplate.md +14 -0
  174. package/dist/okf/types/PodTemplateList.md +14 -0
  175. package/dist/okf/types/Pooler.md +14 -0
  176. package/dist/okf/types/PriorityClass.md +17 -0
  177. package/dist/okf/types/PriorityClassList.md +14 -0
  178. package/dist/okf/types/PriorityLevelConfiguration.md +14 -0
  179. package/dist/okf/types/PriorityLevelConfigurationList.md +14 -0
  180. package/dist/okf/types/PrometheusRule.md +14 -0
  181. package/dist/okf/types/Provider.md +14 -0
  182. package/dist/okf/types/RayCluster.md +20 -0
  183. package/dist/okf/types/RayJob.md +14 -0
  184. package/dist/okf/types/RayService.md +14 -0
  185. package/dist/okf/types/Receiver.md +14 -0
  186. package/dist/okf/types/ReferenceGrant.md +14 -0
  187. package/dist/okf/types/ReplicaSet.md +19 -0
  188. package/dist/okf/types/ReplicaSetList.md +14 -0
  189. package/dist/okf/types/ReplicationController.md +14 -0
  190. package/dist/okf/types/ReplicationControllerList.md +14 -0
  191. package/dist/okf/types/ResourceClaim.md +14 -0
  192. package/dist/okf/types/ResourceClaimList.md +14 -0
  193. package/dist/okf/types/ResourceClaimTemplate.md +14 -0
  194. package/dist/okf/types/ResourceClaimTemplateList.md +14 -0
  195. package/dist/okf/types/ResourceQuota.md +14 -0
  196. package/dist/okf/types/ResourceQuotaList.md +14 -0
  197. package/dist/okf/types/ResourceSet.md +14 -0
  198. package/dist/okf/types/ResourceSetInputProvider.md +14 -0
  199. package/dist/okf/types/ResourceSlice.md +14 -0
  200. package/dist/okf/types/ResourceSliceList.md +14 -0
  201. package/dist/okf/types/Role.md +14 -0
  202. package/dist/okf/types/RoleBinding.md +15 -0
  203. package/dist/okf/types/RoleBindingList.md +14 -0
  204. package/dist/okf/types/RoleList.md +14 -0
  205. package/dist/okf/types/RuntimeClass.md +16 -0
  206. package/dist/okf/types/RuntimeClassList.md +14 -0
  207. package/dist/okf/types/SA.md +16 -0
  208. package/dist/okf/types/Scale.md +14 -0
  209. package/dist/okf/types/ScheduledBackup.md +14 -0
  210. package/dist/okf/types/Sec.md +17 -0
  211. package/dist/okf/types/SecretList.md +14 -0
  212. package/dist/okf/types/SelfSubjectAccessReview.md +14 -0
  213. package/dist/okf/types/SelfSubjectReview.md +13 -0
  214. package/dist/okf/types/SelfSubjectRulesReview.md +14 -0
  215. package/dist/okf/types/ServersTransport.md +14 -0
  216. package/dist/okf/types/ServersTransportTCP.md +14 -0
  217. package/dist/okf/types/Service.md +20 -0
  218. package/dist/okf/types/ServiceAccountList.md +14 -0
  219. package/dist/okf/types/ServiceCIDR.md +14 -0
  220. package/dist/okf/types/ServiceCIDRList.md +14 -0
  221. package/dist/okf/types/ServiceList.md +14 -0
  222. package/dist/okf/types/ServiceMonitor.md +14 -0
  223. package/dist/okf/types/StatefulSet.md +19 -0
  224. package/dist/okf/types/StatefulSetList.md +14 -0
  225. package/dist/okf/types/Status.md +17 -0
  226. package/dist/okf/types/StorageClass.md +20 -0
  227. package/dist/okf/types/StorageClassList.md +14 -0
  228. package/dist/okf/types/StorageVersionMigration.md +14 -0
  229. package/dist/okf/types/StorageVersionMigrationList.md +14 -0
  230. package/dist/okf/types/SubjectAccessReview.md +14 -0
  231. package/dist/okf/types/TLSOption.md +14 -0
  232. package/dist/okf/types/TLSStore.md +14 -0
  233. package/dist/okf/types/TokenRequest.md +14 -0
  234. package/dist/okf/types/TokenReview.md +14 -0
  235. package/dist/okf/types/TraefikService.md +14 -0
  236. package/dist/okf/types/ValidatingAdmissionPolicy.md +14 -0
  237. package/dist/okf/types/ValidatingAdmissionPolicyBinding.md +14 -0
  238. package/dist/okf/types/ValidatingAdmissionPolicyBindingList.md +14 -0
  239. package/dist/okf/types/ValidatingAdmissionPolicyList.md +14 -0
  240. package/dist/okf/types/ValidatingWebhookConfiguration.md +14 -0
  241. package/dist/okf/types/ValidatingWebhookConfigurationList.md +14 -0
  242. package/dist/okf/types/VolumeAttachment.md +14 -0
  243. package/dist/okf/types/VolumeAttachmentList.md +14 -0
  244. package/dist/okf/types/VolumeAttributesClass.md +15 -0
  245. package/dist/okf/types/VolumeAttributesClassList.md +14 -0
  246. package/dist/okf/types/WatchEvent.md +14 -0
  247. package/package.json +2 -2
  248. package/src/deep-observe-hooks.ts +60 -0
  249. package/src/deep-observe.test.ts +114 -0
@@ -65,6 +65,14 @@ import type { DeepArrayElement, DeepNormalizationHooks } from "@intentius/chant/
65
65
  * under it is exactly at its default.
66
66
  */
67
67
  export declare const K8S_SERVICE_DEFAULTS: Record<string, Record<string, unknown>>;
68
+ /**
69
+ * Server-ASSIGNED fields — populated by the API server with a value that
70
+ * varies per object (an allocated ClusterIP, the resolved IP family list), so
71
+ * unlike {@link K8S_SERVICE_DEFAULTS} there is no fixed value to compare
72
+ * against. Counterpart-gated like the defaults table: a declared `clusterIP`
73
+ * is still compared, only the purely server-filled appearance is noise.
74
+ */
75
+ export declare const K8S_SERVER_ASSIGNED_PATTERNS: Record<string, ReadonlySet<string>>;
68
76
  /**
69
77
  * Order an associative list's element by the identity the SPEC declares for it
70
78
  * (chant #1441), falling back to `@intentius/chant/managed-fields`'s hand-written
@@ -1 +1 @@
1
- {"version":3,"file":"deep-observe-hooks.d.ts","sourceRoot":"","sources":["../src/deep-observe-hooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAY,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAYnG;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAcxE,CAAC;AA+EF;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,GAAG,SAAS,CAYnF;AAMD,eAAO,MAAM,yBAAyB,EAAE,sBAWvC,CAAC"}
1
+ {"version":3,"file":"deep-observe-hooks.d.ts","sourceRoot":"","sources":["../src/deep-observe-hooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAY,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAanG;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAoCxE,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAE5E,CAAC;AAiGF;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,GAAG,SAAS,CAYnF;AAMD,eAAO,MAAM,yBAAyB,EAAE,sBAmBvC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "algorithm": "sha256",
3
3
  "artifacts": {
4
- "manifest.json": "5dc7c047316cefafc266f579d7a266cfed2d3682a197bef9dbcb0f27c70af2df",
4
+ "manifest.json": "9a86742dc7d08b1d32dd3ae73ae9a62febf09f0a83f2cfaaeeee5c26efdaba05",
5
5
  "meta.json": "c0b141b882c51483c1d1aead748a0eb171aceca7432edd2a0404b062bf6d7831",
6
6
  "types/index.d.ts": "3be2af7494aca94adfa16269cb9c4e7a155529872207a3d70b0c4d39914f9eec",
7
7
  "rules/argo-appset-single-project.ts": "afa9f310753aa2d475f35012b13135b2dfaebed2a35d44edbe185ebc07673674",
@@ -50,5 +50,5 @@
50
50
  "skills/chant-k8s-aks.md": "e18f0e2b055f72cd7a37deaf258d7027c2d4d3e286e8fd4975b27a1f981a3ad9",
51
51
  "skills/chant-k8s-argo.md": "b1a0b826559d8c5033a479c5781efaf650320f0aee4419d8841170bd3393cea5"
52
52
  },
53
- "composite": "624054fff650a57fd0f5c234a26aa362e45fed534780e98405f4ebae4c2470d0"
53
+ "composite": "cb6e9c99fe95c9c11ad9440c2ae9082e36c26ca90574b636904fcf25775b0250"
54
54
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "k8s",
3
- "version": "0.41.20",
3
+ "version": "0.42.1",
4
4
  "chantVersion": ">=0.1.0",
5
5
  "namespace": "K8s",
6
6
  "intrinsics": [],
@@ -0,0 +1,250 @@
1
+ ---
2
+ okf_version: '0.2'
3
+ ---
4
+
5
+ # Resource types
6
+
7
+ * [Alert](/types/Alert.md) - K8s::Flux::Alert
8
+ * [APIGroup](/types/APIGroup.md) - K8s::Core::APIGroup
9
+ * [APIGroupList](/types/APIGroupList.md) - K8s::Core::APIGroupList
10
+ * [APIResourceList](/types/APIResourceList.md) - K8s::Core::APIResourceList
11
+ * [APIService](/types/APIService.md) - K8s::Apiregistration::APIService
12
+ * [APIServiceList](/types/APIServiceList.md) - K8s::Apiregistration::APIServiceList
13
+ * [APIVersions](/types/APIVersions.md) - K8s::Core::APIVersions
14
+ * [Application](/types/Application.md) - K8s::Argo::Application
15
+ * [ApplicationSet](/types/ApplicationSet.md) - K8s::Argo::ApplicationSet
16
+ * [AppProject](/types/AppProject.md) - K8s::Argo::AppProject
17
+ * [Backup](/types/Backup.md) - K8s::Cnpg::Backup
18
+ * [BatchJob](/types/BatchJob.md) - K8s::Batch::Job
19
+ * [Binding](/types/Binding.md) - K8s::Core::Binding
20
+ * [Bucket](/types/Bucket.md) - K8s::Flux::Bucket
21
+ * [Certificate](/types/Certificate.md) - K8s::CertManager::Certificate
22
+ * [CertificateRequest](/types/CertificateRequest.md) - K8s::CertManager::CertificateRequest
23
+ * [CertificateSigningRequest](/types/CertificateSigningRequest.md) - K8s::Certificates::CertificateSigningRequest
24
+ * [CertificateSigningRequestList](/types/CertificateSigningRequestList.md) - K8s::Certificates::CertificateSigningRequestList
25
+ * [Challenge](/types/Challenge.md) - K8s::Acme::Challenge
26
+ * [Cluster](/types/Cluster.md) - K8s::Cnpg::Cluster
27
+ * [ClusterIssuer](/types/ClusterIssuer.md) - K8s::CertManager::ClusterIssuer
28
+ * [ClusterRole](/types/ClusterRole.md) - K8s::Rbac::ClusterRole
29
+ * [ClusterRoleBinding](/types/ClusterRoleBinding.md) - K8s::Rbac::ClusterRoleBinding
30
+ * [ClusterRoleBindingList](/types/ClusterRoleBindingList.md) - K8s::Rbac::ClusterRoleBindingList
31
+ * [ClusterRoleList](/types/ClusterRoleList.md) - K8s::Rbac::ClusterRoleList
32
+ * [ClusterTrustBundle](/types/ClusterTrustBundle.md) - K8s::Certificates::ClusterTrustBundle
33
+ * [ClusterTrustBundleList](/types/ClusterTrustBundleList.md) - K8s::Certificates::ClusterTrustBundleList
34
+ * [CM](/types/CM.md) - K8s::Core::ConfigMap
35
+ * [ComponentStatus](/types/ComponentStatus.md) - K8s::Core::ComponentStatus
36
+ * [ComponentStatusList](/types/ComponentStatusList.md) - K8s::Core::ComponentStatusList
37
+ * [ConfigMapList](/types/ConfigMapList.md) - K8s::Core::ConfigMapList
38
+ * [ControllerRevision](/types/ControllerRevision.md) - K8s::Apps::ControllerRevision
39
+ * [ControllerRevisionList](/types/ControllerRevisionList.md) - K8s::Apps::ControllerRevisionList
40
+ * [CoreEventList](/types/CoreEventList.md) - K8s::Core::EventList
41
+ * [CrdbCluster](/types/CrdbCluster.md) - K8s::Crdb::CrdbCluster
42
+ * [CronJob](/types/CronJob.md) - K8s::Batch::CronJob
43
+ * [CronJobList](/types/CronJobList.md) - K8s::Batch::CronJobList
44
+ * [CSIDriver](/types/CSIDriver.md) - K8s::Storage::CSIDriver
45
+ * [CSIDriverList](/types/CSIDriverList.md) - K8s::Storage::CSIDriverList
46
+ * [CSINode](/types/CSINode.md) - K8s::Storage::CSINode
47
+ * [CSINodeList](/types/CSINodeList.md) - K8s::Storage::CSINodeList
48
+ * [CSIStorageCapacity](/types/CSIStorageCapacity.md) - K8s::Storage::CSIStorageCapacity
49
+ * [CSIStorageCapacityList](/types/CSIStorageCapacityList.md) - K8s::Storage::CSIStorageCapacityList
50
+ * [CustomResourceDefinition](/types/CustomResourceDefinition.md) - K8s::Apiextensions::CustomResourceDefinition
51
+ * [CustomResourceDefinitionList](/types/CustomResourceDefinitionList.md) - K8s::Apiextensions::CustomResourceDefinitionList
52
+ * [DaemonSet](/types/DaemonSet.md) - K8s::Apps::DaemonSet
53
+ * [DaemonSetList](/types/DaemonSetList.md) - K8s::Apps::DaemonSetList
54
+ * [DeleteOptions](/types/DeleteOptions.md) - K8s::Core::DeleteOptions
55
+ * [Deploy](/types/Deploy.md) - K8s::Apps::Deployment
56
+ * [DeploymentList](/types/DeploymentList.md) - K8s::Apps::DeploymentList
57
+ * [DeviceClass](/types/DeviceClass.md) - K8s::Resource::DeviceClass
58
+ * [DeviceClassList](/types/DeviceClassList.md) - K8s::Resource::DeviceClassList
59
+ * [DeviceTaintRule](/types/DeviceTaintRule.md) - K8s::Resource::DeviceTaintRule
60
+ * [DeviceTaintRuleList](/types/DeviceTaintRuleList.md) - K8s::Resource::DeviceTaintRuleList
61
+ * [Endpoints](/types/Endpoints.md) - K8s::Core::Endpoints
62
+ * [EndpointSlice](/types/EndpointSlice.md) - K8s::Discovery::EndpointSlice
63
+ * [EndpointSliceList](/types/EndpointSliceList.md) - K8s::Discovery::EndpointSliceList
64
+ * [EndpointsList](/types/EndpointsList.md) - K8s::Core::EndpointsList
65
+ * [Event](/types/Event.md) - K8s::Core::Event
66
+ * [EventsEvent](/types/EventsEvent.md) - K8s::Events::Event
67
+ * [EventsEventList](/types/EventsEventList.md) - K8s::Events::EventList
68
+ * [Eviction](/types/Eviction.md) - K8s::Policy::Eviction
69
+ * [FlowSchema](/types/FlowSchema.md) - K8s::Flowcontrol::FlowSchema
70
+ * [FlowSchemaList](/types/FlowSchemaList.md) - K8s::Flowcontrol::FlowSchemaList
71
+ * [FluxInstance](/types/FluxInstance.md) - K8s::Flux::FluxInstance
72
+ * [FluxReport](/types/FluxReport.md) - K8s::Flux::FluxReport
73
+ * [Gateway](/types/Gateway.md) - K8s::Gateway::Gateway
74
+ * [GatewayClass](/types/GatewayClass.md) - K8s::Gateway::GatewayClass
75
+ * [GitRepository](/types/GitRepository.md) - K8s::Flux::GitRepository
76
+ * [GRPCRoute](/types/GRPCRoute.md) - K8s::Gateway::GRPCRoute
77
+ * [HelmChart](/types/HelmChart.md) - K8s::Flux::HelmChart
78
+ * [HelmRelease](/types/HelmRelease.md) - K8s::Flux::HelmRelease
79
+ * [HelmRepository](/types/HelmRepository.md) - K8s::Flux::HelmRepository
80
+ * [HorizontalPodAutoscaler](/types/HorizontalPodAutoscaler.md) - K8s::Autoscaling::HorizontalPodAutoscaler
81
+ * [HorizontalPodAutoscalerList](/types/HorizontalPodAutoscalerList.md) - K8s::Autoscaling::HorizontalPodAutoscalerList
82
+ * [HTTPRoute](/types/HTTPRoute.md) - K8s::Gateway::HTTPRoute
83
+ * [ImagePolicy](/types/ImagePolicy.md) - K8s::Flux::ImagePolicy
84
+ * [ImageRepository](/types/ImageRepository.md) - K8s::Flux::ImageRepository
85
+ * [ImageUpdateAutomation](/types/ImageUpdateAutomation.md) - K8s::Flux::ImageUpdateAutomation
86
+ * [InfisicalDynamicSecret](/types/InfisicalDynamicSecret.md) - K8s::Infisical::InfisicalDynamicSecret
87
+ * [InfisicalPushSecret](/types/InfisicalPushSecret.md) - K8s::Infisical::InfisicalPushSecret
88
+ * [InfisicalSecret](/types/InfisicalSecret.md) - K8s::Infisical::InfisicalSecret
89
+ * [Ing](/types/Ing.md) - K8s::Networking::Ingress
90
+ * [IngressClass](/types/IngressClass.md) - K8s::Networking::IngressClass
91
+ * [IngressClassList](/types/IngressClassList.md) - K8s::Networking::IngressClassList
92
+ * [IngressList](/types/IngressList.md) - K8s::Networking::IngressList
93
+ * [IngressRoute](/types/IngressRoute.md) - K8s::Traefik::IngressRoute
94
+ * [IngressRouteTCP](/types/IngressRouteTCP.md) - K8s::Traefik::IngressRouteTCP
95
+ * [IngressRouteUDP](/types/IngressRouteUDP.md) - K8s::Traefik::IngressRouteUDP
96
+ * [IPAddress](/types/IPAddress.md) - K8s::Networking::IPAddress
97
+ * [IPAddressList](/types/IPAddressList.md) - K8s::Networking::IPAddressList
98
+ * [Issuer](/types/Issuer.md) - K8s::CertManager::Issuer
99
+ * [JobList](/types/JobList.md) - K8s::Batch::JobList
100
+ * [Kustomization](/types/Kustomization.md) - K8s::Flux::Kustomization
101
+ * [Lease](/types/Lease.md) - K8s::Coordination::Lease
102
+ * [LeaseCandidate](/types/LeaseCandidate.md) - K8s::Coordination::LeaseCandidate
103
+ * [LeaseCandidateList](/types/LeaseCandidateList.md) - K8s::Coordination::LeaseCandidateList
104
+ * [LeaseList](/types/LeaseList.md) - K8s::Coordination::LeaseList
105
+ * [LimitRange](/types/LimitRange.md) - K8s::Core::LimitRange
106
+ * [LimitRangeList](/types/LimitRangeList.md) - K8s::Core::LimitRangeList
107
+ * [LocalSubjectAccessReview](/types/LocalSubjectAccessReview.md) - K8s::Authorization::LocalSubjectAccessReview
108
+ * [MicroVM](/types/MicroVM.md) - K8s::KubeMicroVM::MicroVM
109
+ * [MicroVMClass](/types/MicroVMClass.md) - K8s::KubeMicroVM::MicroVMClass
110
+ * [MicroVMImage](/types/MicroVMImage.md) - K8s::KubeMicroVM::MicroVMImage
111
+ * [MicroVMNetwork](/types/MicroVMNetwork.md) - K8s::KubeMicroVM::MicroVMNetwork
112
+ * [MicroVMReplicaSet](/types/MicroVMReplicaSet.md) - K8s::KubeMicroVM::MicroVMReplicaSet
113
+ * [Middleware](/types/Middleware.md) - K8s::Traefik::Middleware
114
+ * [MiddlewareTCP](/types/MiddlewareTCP.md) - K8s::Traefik::MiddlewareTCP
115
+ * [MutatingAdmissionPolicy](/types/MutatingAdmissionPolicy.md) - K8s::Admissionregistration::MutatingAdmissionPolicy
116
+ * [MutatingAdmissionPolicyBinding](/types/MutatingAdmissionPolicyBinding.md) - K8s::Admissionregistration::MutatingAdmissionPolicyBinding
117
+ * [MutatingAdmissionPolicyBindingList](/types/MutatingAdmissionPolicyBindingList.md) - K8s::Admissionregistration::MutatingAdmissionPolicyBindingList
118
+ * [MutatingAdmissionPolicyList](/types/MutatingAdmissionPolicyList.md) - K8s::Admissionregistration::MutatingAdmissionPolicyList
119
+ * [MutatingWebhookConfiguration](/types/MutatingWebhookConfiguration.md) - K8s::Admissionregistration::MutatingWebhookConfiguration
120
+ * [MutatingWebhookConfigurationList](/types/MutatingWebhookConfigurationList.md) - K8s::Admissionregistration::MutatingWebhookConfigurationList
121
+ * [Namespace](/types/Namespace.md) - K8s::Core::Namespace
122
+ * [NamespaceList](/types/NamespaceList.md) - K8s::Core::NamespaceList
123
+ * [NetPol](/types/NetPol.md) - K8s::Networking::NetworkPolicy
124
+ * [NetworkPolicyList](/types/NetworkPolicyList.md) - K8s::Networking::NetworkPolicyList
125
+ * [Node](/types/Node.md) - K8s::Core::Node
126
+ * [NodeList](/types/NodeList.md) - K8s::Core::NodeList
127
+ * [ObjectStore](/types/ObjectStore.md) - K8s::Cnpg::ObjectStore
128
+ * [OCIRepository](/types/OCIRepository.md) - K8s::Flux::OCIRepository
129
+ * [Order](/types/Order.md) - K8s::Acme::Order
130
+ * [PDB](/types/PDB.md) - K8s::Policy::PodDisruptionBudget
131
+ * [PersistentVolume](/types/PersistentVolume.md) - K8s::Core::PersistentVolume
132
+ * [PersistentVolumeClaim](/types/PersistentVolumeClaim.md) - K8s::Core::PersistentVolumeClaim
133
+ * [PersistentVolumeClaimList](/types/PersistentVolumeClaimList.md) - K8s::Core::PersistentVolumeClaimList
134
+ * [PersistentVolumeList](/types/PersistentVolumeList.md) - K8s::Core::PersistentVolumeList
135
+ * [Pod](/types/Pod.md) - K8s::Core::Pod
136
+ * [PodCertificateRequest](/types/PodCertificateRequest.md) - K8s::Certificates::PodCertificateRequest
137
+ * [PodCertificateRequestList](/types/PodCertificateRequestList.md) - K8s::Certificates::PodCertificateRequestList
138
+ * [PodDisruptionBudgetList](/types/PodDisruptionBudgetList.md) - K8s::Policy::PodDisruptionBudgetList
139
+ * [PodList](/types/PodList.md) - K8s::Core::PodList
140
+ * [PodTemplate](/types/PodTemplate.md) - K8s::Core::PodTemplate
141
+ * [PodTemplateList](/types/PodTemplateList.md) - K8s::Core::PodTemplateList
142
+ * [Pooler](/types/Pooler.md) - K8s::Cnpg::Pooler
143
+ * [PriorityClass](/types/PriorityClass.md) - K8s::Scheduling::PriorityClass
144
+ * [PriorityClassList](/types/PriorityClassList.md) - K8s::Scheduling::PriorityClassList
145
+ * [PriorityLevelConfiguration](/types/PriorityLevelConfiguration.md) - K8s::Flowcontrol::PriorityLevelConfiguration
146
+ * [PriorityLevelConfigurationList](/types/PriorityLevelConfigurationList.md) - K8s::Flowcontrol::PriorityLevelConfigurationList
147
+ * [PrometheusRule](/types/PrometheusRule.md) - K8s::Monitoring::PrometheusRule
148
+ * [Provider](/types/Provider.md) - K8s::Flux::Provider
149
+ * [RayCluster](/types/RayCluster.md) - K8s::Ray::RayCluster
150
+ * [RayJob](/types/RayJob.md) - K8s::Ray::RayJob
151
+ * [RayService](/types/RayService.md) - K8s::Ray::RayService
152
+ * [Receiver](/types/Receiver.md) - K8s::Flux::Receiver
153
+ * [ReferenceGrant](/types/ReferenceGrant.md) - K8s::Gateway::ReferenceGrant
154
+ * [ReplicaSet](/types/ReplicaSet.md) - K8s::Apps::ReplicaSet
155
+ * [ReplicaSetList](/types/ReplicaSetList.md) - K8s::Apps::ReplicaSetList
156
+ * [ReplicationController](/types/ReplicationController.md) - K8s::Core::ReplicationController
157
+ * [ReplicationControllerList](/types/ReplicationControllerList.md) - K8s::Core::ReplicationControllerList
158
+ * [ResourceClaim](/types/ResourceClaim.md) - K8s::Resource::ResourceClaim
159
+ * [ResourceClaimList](/types/ResourceClaimList.md) - K8s::Resource::ResourceClaimList
160
+ * [ResourceClaimTemplate](/types/ResourceClaimTemplate.md) - K8s::Resource::ResourceClaimTemplate
161
+ * [ResourceClaimTemplateList](/types/ResourceClaimTemplateList.md) - K8s::Resource::ResourceClaimTemplateList
162
+ * [ResourceQuota](/types/ResourceQuota.md) - K8s::Core::ResourceQuota
163
+ * [ResourceQuotaList](/types/ResourceQuotaList.md) - K8s::Core::ResourceQuotaList
164
+ * [ResourceSet](/types/ResourceSet.md) - K8s::Flux::ResourceSet
165
+ * [ResourceSetInputProvider](/types/ResourceSetInputProvider.md) - K8s::Flux::ResourceSetInputProvider
166
+ * [ResourceSlice](/types/ResourceSlice.md) - K8s::Resource::ResourceSlice
167
+ * [ResourceSliceList](/types/ResourceSliceList.md) - K8s::Resource::ResourceSliceList
168
+ * [Role](/types/Role.md) - K8s::Rbac::Role
169
+ * [RoleBinding](/types/RoleBinding.md) - K8s::Rbac::RoleBinding
170
+ * [RoleBindingList](/types/RoleBindingList.md) - K8s::Rbac::RoleBindingList
171
+ * [RoleList](/types/RoleList.md) - K8s::Rbac::RoleList
172
+ * [RuntimeClass](/types/RuntimeClass.md) - K8s::Node::RuntimeClass
173
+ * [RuntimeClassList](/types/RuntimeClassList.md) - K8s::Node::RuntimeClassList
174
+ * [SA](/types/SA.md) - K8s::Core::ServiceAccount
175
+ * [Scale](/types/Scale.md) - K8s::Autoscaling::Scale
176
+ * [ScheduledBackup](/types/ScheduledBackup.md) - K8s::Cnpg::ScheduledBackup
177
+ * [Sec](/types/Sec.md) - K8s::Core::Secret
178
+ * [SecretList](/types/SecretList.md) - K8s::Core::SecretList
179
+ * [SelfSubjectAccessReview](/types/SelfSubjectAccessReview.md) - K8s::Authorization::SelfSubjectAccessReview
180
+ * [SelfSubjectReview](/types/SelfSubjectReview.md) - K8s::Authentication::SelfSubjectReview
181
+ * [SelfSubjectRulesReview](/types/SelfSubjectRulesReview.md) - K8s::Authorization::SelfSubjectRulesReview
182
+ * [ServersTransport](/types/ServersTransport.md) - K8s::Traefik::ServersTransport
183
+ * [ServersTransportTCP](/types/ServersTransportTCP.md) - K8s::Traefik::ServersTransportTCP
184
+ * [Service](/types/Service.md) - K8s::Core::Service
185
+ * [ServiceAccountList](/types/ServiceAccountList.md) - K8s::Core::ServiceAccountList
186
+ * [ServiceCIDR](/types/ServiceCIDR.md) - K8s::Networking::ServiceCIDR
187
+ * [ServiceCIDRList](/types/ServiceCIDRList.md) - K8s::Networking::ServiceCIDRList
188
+ * [ServiceList](/types/ServiceList.md) - K8s::Core::ServiceList
189
+ * [ServiceMonitor](/types/ServiceMonitor.md) - K8s::Monitoring::ServiceMonitor
190
+ * [StatefulSet](/types/StatefulSet.md) - K8s::Apps::StatefulSet
191
+ * [StatefulSetList](/types/StatefulSetList.md) - K8s::Apps::StatefulSetList
192
+ * [Status](/types/Status.md) - K8s::Core::Status
193
+ * [StorageClass](/types/StorageClass.md) - K8s::Storage::StorageClass
194
+ * [StorageClassList](/types/StorageClassList.md) - K8s::Storage::StorageClassList
195
+ * [StorageVersionMigration](/types/StorageVersionMigration.md) - K8s::Storagemigration::StorageVersionMigration
196
+ * [StorageVersionMigrationList](/types/StorageVersionMigrationList.md) - K8s::Storagemigration::StorageVersionMigrationList
197
+ * [SubjectAccessReview](/types/SubjectAccessReview.md) - K8s::Authorization::SubjectAccessReview
198
+ * [TLSOption](/types/TLSOption.md) - K8s::Traefik::TLSOption
199
+ * [TLSStore](/types/TLSStore.md) - K8s::Traefik::TLSStore
200
+ * [TokenRequest](/types/TokenRequest.md) - K8s::Authentication::TokenRequest
201
+ * [TokenReview](/types/TokenReview.md) - K8s::Authentication::TokenReview
202
+ * [TraefikService](/types/TraefikService.md) - K8s::Traefik::TraefikService
203
+ * [ValidatingAdmissionPolicy](/types/ValidatingAdmissionPolicy.md) - K8s::Admissionregistration::ValidatingAdmissionPolicy
204
+ * [ValidatingAdmissionPolicyBinding](/types/ValidatingAdmissionPolicyBinding.md) - K8s::Admissionregistration::ValidatingAdmissionPolicyBinding
205
+ * [ValidatingAdmissionPolicyBindingList](/types/ValidatingAdmissionPolicyBindingList.md) - K8s::Admissionregistration::ValidatingAdmissionPolicyBindingList
206
+ * [ValidatingAdmissionPolicyList](/types/ValidatingAdmissionPolicyList.md) - K8s::Admissionregistration::ValidatingAdmissionPolicyList
207
+ * [ValidatingWebhookConfiguration](/types/ValidatingWebhookConfiguration.md) - K8s::Admissionregistration::ValidatingWebhookConfiguration
208
+ * [ValidatingWebhookConfigurationList](/types/ValidatingWebhookConfigurationList.md) - K8s::Admissionregistration::ValidatingWebhookConfigurationList
209
+ * [VolumeAttachment](/types/VolumeAttachment.md) - K8s::Storage::VolumeAttachment
210
+ * [VolumeAttachmentList](/types/VolumeAttachmentList.md) - K8s::Storage::VolumeAttachmentList
211
+ * [VolumeAttributesClass](/types/VolumeAttributesClass.md) - K8s::Storage::VolumeAttributesClass
212
+ * [VolumeAttributesClassList](/types/VolumeAttributesClassList.md) - K8s::Storage::VolumeAttributesClassList
213
+ * [WatchEvent](/types/WatchEvent.md) - K8s::Core::WatchEvent
214
+
215
+ # Rules
216
+
217
+ * [ARGO001](/rules/ARGO001.md) - Production Application must not enable automated prune
218
+ * [ARGO002](/rules/ARGO002.md) - Application.spec.project must reference a declared AppProject (or the built-in default)
219
+ * [ARGO003](/rules/ARGO003.md) - Application.spec.destination must reference a registered cluster or the in-cluster target
220
+ * [ARGO004](/rules/ARGO004.md) - ApplicationSet template must scope to a single AppProject
221
+ * [ARGO005](/rules/ARGO005.md) - Application source.path should resolve to an existing directory under the build root
222
+ * [WK8001](/rules/WK8001.md) - Hardcoded Namespace
223
+ * [WK8002](/rules/WK8002.md) - Latest Image Tag
224
+ * [WK8003](/rules/WK8003.md) - Missing Resource Limits
225
+ * [WK8005](/rules/WK8005.md) - Hardcoded secrets in env vars — sensitive environment variables should use secretKeyRef
226
+ * [WK8006](/rules/WK8006.md) - No :latest or untagged images — container images should use explicit version tags
227
+ * [WK8041](/rules/WK8041.md) - Hardcoded API keys — detects well-known API key patterns in env var values
228
+ * [WK8042](/rules/WK8042.md) - Private keys in ConfigMap — private keys should be stored in Secrets, not ConfigMaps
229
+ * [WK8101](/rules/WK8101.md) - Deployment selector must match template labels — mismatched selectors cause runtime failures
230
+ * [WK8102](/rules/WK8102.md) - Resources should have metadata labels — labels enable filtering and operational tooling
231
+ * [WK8103](/rules/WK8103.md) - Containers must have name — the name field is required by the Kubernetes API
232
+ * [WK8104](/rules/WK8104.md) - Ports should be named — named ports improve Service and NetworkPolicy configuration
233
+ * [WK8105](/rules/WK8105.md) - ImagePullPolicy should be explicit — avoids surprising default behavior
234
+ * [WK8201](/rules/WK8201.md) - Resource limits required — containers should have CPU and memory limits
235
+ * [WK8202](/rules/WK8202.md) - No privileged containers — privileged mode grants full host access
236
+ * [WK8203](/rules/WK8203.md) - ReadOnlyRootFilesystem recommended — prevents runtime modification of the container image
237
+ * [WK8204](/rules/WK8204.md) - RunAsNonRoot recommended — running as root increases container breakout risk
238
+ * [WK8205](/rules/WK8205.md) - Drop ALL capabilities — containers should drop all capabilities and add only what is needed
239
+ * [WK8207](/rules/WK8207.md) - No hostNetwork — using host network bypasses network isolation
240
+ * [WK8208](/rules/WK8208.md) - No hostPID — sharing host PID namespace allows visibility into all host processes
241
+ * [WK8209](/rules/WK8209.md) - No hostIPC — sharing host IPC namespace can expose shared memory segments
242
+ * [WK8301](/rules/WK8301.md) - Probes required — containers should have livenessProbe and readinessProbe
243
+ * [WK8302](/rules/WK8302.md) - Replicas >= 2 recommended — single-replica Deployments have no high availability
244
+ * [WK8303](/rules/WK8303.md) - PDB recommended for HA Deployments — ensures availability during voluntary disruptions
245
+ * [WK8304](/rules/WK8304.md) - SSL redirect without certificate — ssl-redirect annotation requires a valid certificate-arn and HTTPS listen-ports
246
+ * [WK8305](/rules/WK8305.md) - Ingress port not matching Service — backend port must match a declared Service port
247
+ * [WK8306](/rules/WK8306.md) - Container command starts with flag — first element should be a binary, not a flag
248
+ * [WK8401](/rules/WK8401.md) - shmSize must not exceed the container memory limit — pod will not schedule if it does
249
+ * [WK8402](/rules/WK8402.md) - RayCluster should set spec.rayVersion so KubeRay selects the correct autoscaler image
250
+ * [WK8403](/rules/WK8403.md) - spec.rayVersion should match the Ray version in the head container image tag
@@ -0,0 +1,16 @@
1
+ ---
2
+ type: lint-rule
3
+ title: ARGO001
4
+ description: Production Application must not enable automated prune
5
+ id: ARGO001
6
+ severity: warning
7
+ category: correctness
8
+ lexicon: k8s
9
+ docs: https://intentius.io/chant/lexicons/k8s/rules/
10
+ ---
11
+ Production Application must not enable automated prune
12
+
13
+ ## Applies to
14
+
15
+ - [Application](/types/Application.md)
16
+ - [Node](/types/Node.md)
@@ -0,0 +1,16 @@
1
+ ---
2
+ type: post-synth-check
3
+ title: ARGO002
4
+ description: Application.spec.project must reference a declared AppProject (or the built-in default)
5
+ id: ARGO002
6
+ severity: error
7
+ category: post-synth
8
+ lexicon: k8s
9
+ docs: https://intentius.io/chant/lexicons/k8s/rules/
10
+ ---
11
+ Application.spec.project must reference a declared AppProject (or the built-in default)
12
+
13
+ ## Applies to
14
+
15
+ - [Application](/types/Application.md)
16
+ - [AppProject](/types/AppProject.md)
@@ -0,0 +1,15 @@
1
+ ---
2
+ type: post-synth-check
3
+ title: ARGO003
4
+ description: Application.spec.destination must reference a registered cluster or the in-cluster target
5
+ id: ARGO003
6
+ severity: error
7
+ category: post-synth
8
+ lexicon: k8s
9
+ docs: https://intentius.io/chant/lexicons/k8s/rules/
10
+ ---
11
+ Application.spec.destination must reference a registered cluster or the in-cluster target
12
+
13
+ ## Applies to
14
+
15
+ - [Application](/types/Application.md)
@@ -0,0 +1,17 @@
1
+ ---
2
+ type: lint-rule
3
+ title: ARGO004
4
+ description: ApplicationSet template must scope to a single AppProject
5
+ id: ARGO004
6
+ severity: warning
7
+ category: correctness
8
+ lexicon: k8s
9
+ docs: https://intentius.io/chant/lexicons/k8s/rules/
10
+ ---
11
+ ApplicationSet template must scope to a single AppProject
12
+
13
+ ## Applies to
14
+
15
+ - [Application](/types/Application.md)
16
+ - [ApplicationSet](/types/ApplicationSet.md)
17
+ - [AppProject](/types/AppProject.md)
@@ -0,0 +1,15 @@
1
+ ---
2
+ type: post-synth-check
3
+ title: ARGO005
4
+ description: Application source.path should resolve to an existing directory under the build root
5
+ id: ARGO005
6
+ severity: error
7
+ category: post-synth
8
+ lexicon: k8s
9
+ docs: https://intentius.io/chant/lexicons/k8s/rules/
10
+ ---
11
+ Application source.path should resolve to an existing directory under the build root
12
+
13
+ ## Applies to
14
+
15
+ - [Application](/types/Application.md)
@@ -0,0 +1,16 @@
1
+ ---
2
+ type: lint-rule
3
+ title: WK8001
4
+ description: Hardcoded Namespace
5
+ id: WK8001
6
+ severity: warning
7
+ category: correctness
8
+ lexicon: k8s
9
+ docs: https://intentius.io/chant/lexicons/k8s/rules/
10
+ ---
11
+ Hardcoded Namespace
12
+
13
+ ## Applies to
14
+
15
+ - [Namespace](/types/Namespace.md)
16
+ - [Node](/types/Node.md)
@@ -0,0 +1,20 @@
1
+ ---
2
+ type: lint-rule
3
+ title: WK8002
4
+ description: Latest Image Tag
5
+ id: WK8002
6
+ severity: warning
7
+ category: security
8
+ lexicon: k8s
9
+ docs: https://intentius.io/chant/lexicons/k8s/rules/
10
+ ---
11
+ Latest Image Tag
12
+
13
+ ## Applies to
14
+
15
+ - [CronJob](/types/CronJob.md)
16
+ - [DaemonSet](/types/DaemonSet.md)
17
+ - [Node](/types/Node.md)
18
+ - [Pod](/types/Pod.md)
19
+ - [ReplicaSet](/types/ReplicaSet.md)
20
+ - [StatefulSet](/types/StatefulSet.md)
@@ -0,0 +1,19 @@
1
+ ---
2
+ type: lint-rule
3
+ title: WK8003
4
+ description: Missing Resource Limits
5
+ id: WK8003
6
+ severity: warning
7
+ category: correctness
8
+ lexicon: k8s
9
+ docs: https://intentius.io/chant/lexicons/k8s/rules/
10
+ ---
11
+ Missing Resource Limits
12
+
13
+ ## Applies to
14
+
15
+ - [CronJob](/types/CronJob.md)
16
+ - [DaemonSet](/types/DaemonSet.md)
17
+ - [Node](/types/Node.md)
18
+ - [ReplicaSet](/types/ReplicaSet.md)
19
+ - [StatefulSet](/types/StatefulSet.md)
@@ -0,0 +1,11 @@
1
+ ---
2
+ type: post-synth-check
3
+ title: WK8005
4
+ description: Hardcoded secrets in env vars — sensitive environment variables should use secretKeyRef
5
+ id: WK8005
6
+ severity: error
7
+ category: post-synth
8
+ lexicon: k8s
9
+ docs: https://intentius.io/chant/lexicons/k8s/rules/
10
+ ---
11
+ Hardcoded secrets in env vars — sensitive environment variables should use secretKeyRef
@@ -0,0 +1,11 @@
1
+ ---
2
+ type: post-synth-check
3
+ title: WK8006
4
+ description: No :latest or untagged images — container images should use explicit version tags
5
+ id: WK8006
6
+ severity: error
7
+ category: post-synth
8
+ lexicon: k8s
9
+ docs: https://intentius.io/chant/lexicons/k8s/rules/
10
+ ---
11
+ No :latest or untagged images — container images should use explicit version tags
@@ -0,0 +1,11 @@
1
+ ---
2
+ type: post-synth-check
3
+ title: WK8041
4
+ description: Hardcoded API keys — detects well-known API key patterns in env var values
5
+ id: WK8041
6
+ severity: error
7
+ category: post-synth
8
+ lexicon: k8s
9
+ docs: https://intentius.io/chant/lexicons/k8s/rules/
10
+ ---
11
+ Hardcoded API keys — detects well-known API key patterns in env var values
@@ -0,0 +1,11 @@
1
+ ---
2
+ type: post-synth-check
3
+ title: WK8042
4
+ description: Private keys in ConfigMap — private keys should be stored in Secrets, not ConfigMaps
5
+ id: WK8042
6
+ severity: error
7
+ category: post-synth
8
+ lexicon: k8s
9
+ docs: https://intentius.io/chant/lexicons/k8s/rules/
10
+ ---
11
+ Private keys in ConfigMap — private keys should be stored in Secrets, not ConfigMaps
@@ -0,0 +1,11 @@
1
+ ---
2
+ type: post-synth-check
3
+ title: WK8101
4
+ description: Deployment selector must match template labels — mismatched selectors cause runtime failures
5
+ id: WK8101
6
+ severity: error
7
+ category: post-synth
8
+ lexicon: k8s
9
+ docs: https://intentius.io/chant/lexicons/k8s/rules/
10
+ ---
11
+ Deployment selector must match template labels — mismatched selectors cause runtime failures
@@ -0,0 +1,11 @@
1
+ ---
2
+ type: post-synth-check
3
+ title: WK8102
4
+ description: Resources should have metadata labels — labels enable filtering and operational tooling
5
+ id: WK8102
6
+ severity: error
7
+ category: post-synth
8
+ lexicon: k8s
9
+ docs: https://intentius.io/chant/lexicons/k8s/rules/
10
+ ---
11
+ Resources should have metadata labels — labels enable filtering and operational tooling
@@ -0,0 +1,11 @@
1
+ ---
2
+ type: post-synth-check
3
+ title: WK8103
4
+ description: Containers must have name — the name field is required by the Kubernetes API
5
+ id: WK8103
6
+ severity: error
7
+ category: post-synth
8
+ lexicon: k8s
9
+ docs: https://intentius.io/chant/lexicons/k8s/rules/
10
+ ---
11
+ Containers must have name — the name field is required by the Kubernetes API
@@ -0,0 +1,15 @@
1
+ ---
2
+ type: post-synth-check
3
+ title: WK8104
4
+ description: Ports should be named — named ports improve Service and NetworkPolicy configuration
5
+ id: WK8104
6
+ severity: error
7
+ category: post-synth
8
+ lexicon: k8s
9
+ docs: https://intentius.io/chant/lexicons/k8s/rules/
10
+ ---
11
+ Ports should be named — named ports improve Service and NetworkPolicy configuration
12
+
13
+ ## Applies to
14
+
15
+ - [Service](/types/Service.md)
@@ -0,0 +1,11 @@
1
+ ---
2
+ type: post-synth-check
3
+ title: WK8105
4
+ description: ImagePullPolicy should be explicit — avoids surprising default behavior
5
+ id: WK8105
6
+ severity: error
7
+ category: post-synth
8
+ lexicon: k8s
9
+ docs: https://intentius.io/chant/lexicons/k8s/rules/
10
+ ---
11
+ ImagePullPolicy should be explicit — avoids surprising default behavior
@@ -0,0 +1,11 @@
1
+ ---
2
+ type: post-synth-check
3
+ title: WK8201
4
+ description: Resource limits required — containers should have CPU and memory limits
5
+ id: WK8201
6
+ severity: error
7
+ category: post-synth
8
+ lexicon: k8s
9
+ docs: https://intentius.io/chant/lexicons/k8s/rules/
10
+ ---
11
+ Resource limits required — containers should have CPU and memory limits
@@ -0,0 +1,11 @@
1
+ ---
2
+ type: post-synth-check
3
+ title: WK8202
4
+ description: No privileged containers — privileged mode grants full host access
5
+ id: WK8202
6
+ severity: error
7
+ category: post-synth
8
+ lexicon: k8s
9
+ docs: https://intentius.io/chant/lexicons/k8s/rules/
10
+ ---
11
+ No privileged containers — privileged mode grants full host access
@@ -0,0 +1,11 @@
1
+ ---
2
+ type: post-synth-check
3
+ title: WK8203
4
+ description: ReadOnlyRootFilesystem recommended — prevents runtime modification of the container image
5
+ id: WK8203
6
+ severity: error
7
+ category: post-synth
8
+ lexicon: k8s
9
+ docs: https://intentius.io/chant/lexicons/k8s/rules/
10
+ ---
11
+ ReadOnlyRootFilesystem recommended — prevents runtime modification of the container image
@@ -0,0 +1,11 @@
1
+ ---
2
+ type: post-synth-check
3
+ title: WK8204
4
+ description: RunAsNonRoot recommended — running as root increases container breakout risk
5
+ id: WK8204
6
+ severity: error
7
+ category: post-synth
8
+ lexicon: k8s
9
+ docs: https://intentius.io/chant/lexicons/k8s/rules/
10
+ ---
11
+ RunAsNonRoot recommended — running as root increases container breakout risk
@@ -0,0 +1,11 @@
1
+ ---
2
+ type: post-synth-check
3
+ title: WK8205
4
+ description: Drop ALL capabilities — containers should drop all capabilities and add only what is needed
5
+ id: WK8205
6
+ severity: error
7
+ category: post-synth
8
+ lexicon: k8s
9
+ docs: https://intentius.io/chant/lexicons/k8s/rules/
10
+ ---
11
+ Drop ALL capabilities — containers should drop all capabilities and add only what is needed
@@ -0,0 +1,11 @@
1
+ ---
2
+ type: post-synth-check
3
+ title: WK8207
4
+ description: No hostNetwork — using host network bypasses network isolation
5
+ id: WK8207
6
+ severity: error
7
+ category: post-synth
8
+ lexicon: k8s
9
+ docs: https://intentius.io/chant/lexicons/k8s/rules/
10
+ ---
11
+ No hostNetwork — using host network bypasses network isolation