@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.
- package/dist/deep-observe-hooks.d.ts +8 -0
- package/dist/deep-observe-hooks.d.ts.map +1 -1
- package/dist/integrity.json +2 -2
- package/dist/manifest.json +1 -1
- package/dist/okf/index.md +250 -0
- package/dist/okf/rules/ARGO001.md +16 -0
- package/dist/okf/rules/ARGO002.md +16 -0
- package/dist/okf/rules/ARGO003.md +15 -0
- package/dist/okf/rules/ARGO004.md +17 -0
- package/dist/okf/rules/ARGO005.md +15 -0
- package/dist/okf/rules/WK8001.md +16 -0
- package/dist/okf/rules/WK8002.md +20 -0
- package/dist/okf/rules/WK8003.md +19 -0
- package/dist/okf/rules/WK8005.md +11 -0
- package/dist/okf/rules/WK8006.md +11 -0
- package/dist/okf/rules/WK8041.md +11 -0
- package/dist/okf/rules/WK8042.md +11 -0
- package/dist/okf/rules/WK8101.md +11 -0
- package/dist/okf/rules/WK8102.md +11 -0
- package/dist/okf/rules/WK8103.md +11 -0
- package/dist/okf/rules/WK8104.md +15 -0
- package/dist/okf/rules/WK8105.md +11 -0
- package/dist/okf/rules/WK8201.md +11 -0
- package/dist/okf/rules/WK8202.md +11 -0
- package/dist/okf/rules/WK8203.md +11 -0
- package/dist/okf/rules/WK8204.md +11 -0
- package/dist/okf/rules/WK8205.md +11 -0
- package/dist/okf/rules/WK8207.md +11 -0
- package/dist/okf/rules/WK8208.md +11 -0
- package/dist/okf/rules/WK8209.md +11 -0
- package/dist/okf/rules/WK8301.md +16 -0
- package/dist/okf/rules/WK8302.md +11 -0
- package/dist/okf/rules/WK8303.md +15 -0
- package/dist/okf/rules/WK8304.md +15 -0
- package/dist/okf/rules/WK8305.md +15 -0
- package/dist/okf/rules/WK8306.md +11 -0
- package/dist/okf/rules/WK8401.md +15 -0
- package/dist/okf/rules/WK8402.md +15 -0
- package/dist/okf/rules/WK8403.md +15 -0
- package/dist/okf/types/APIGroup.md +16 -0
- package/dist/okf/types/APIGroupList.md +13 -0
- package/dist/okf/types/APIResourceList.md +14 -0
- package/dist/okf/types/APIService.md +14 -0
- package/dist/okf/types/APIServiceList.md +14 -0
- package/dist/okf/types/APIVersions.md +14 -0
- package/dist/okf/types/Alert.md +14 -0
- package/dist/okf/types/AppProject.md +19 -0
- package/dist/okf/types/Application.md +23 -0
- package/dist/okf/types/ApplicationSet.md +18 -0
- package/dist/okf/types/Backup.md +14 -0
- package/dist/okf/types/BatchJob.md +14 -0
- package/dist/okf/types/Binding.md +14 -0
- package/dist/okf/types/Bucket.md +14 -0
- package/dist/okf/types/CM.md +16 -0
- package/dist/okf/types/CSIDriver.md +14 -0
- package/dist/okf/types/CSIDriverList.md +14 -0
- package/dist/okf/types/CSINode.md +14 -0
- package/dist/okf/types/CSINodeList.md +14 -0
- package/dist/okf/types/CSIStorageCapacity.md +17 -0
- package/dist/okf/types/CSIStorageCapacityList.md +14 -0
- package/dist/okf/types/Certificate.md +18 -0
- package/dist/okf/types/CertificateRequest.md +14 -0
- package/dist/okf/types/CertificateSigningRequest.md +14 -0
- package/dist/okf/types/CertificateSigningRequestList.md +14 -0
- package/dist/okf/types/Challenge.md +14 -0
- package/dist/okf/types/Cluster.md +14 -0
- package/dist/okf/types/ClusterIssuer.md +14 -0
- package/dist/okf/types/ClusterRole.md +15 -0
- package/dist/okf/types/ClusterRoleBinding.md +15 -0
- package/dist/okf/types/ClusterRoleBindingList.md +14 -0
- package/dist/okf/types/ClusterRoleList.md +14 -0
- package/dist/okf/types/ClusterTrustBundle.md +14 -0
- package/dist/okf/types/ClusterTrustBundleList.md +14 -0
- package/dist/okf/types/ComponentStatus.md +14 -0
- package/dist/okf/types/ComponentStatusList.md +14 -0
- package/dist/okf/types/ConfigMapList.md +14 -0
- package/dist/okf/types/ControllerRevision.md +15 -0
- package/dist/okf/types/ControllerRevisionList.md +14 -0
- package/dist/okf/types/CoreEventList.md +14 -0
- package/dist/okf/types/CrdbCluster.md +14 -0
- package/dist/okf/types/CronJob.md +20 -0
- package/dist/okf/types/CronJobList.md +14 -0
- package/dist/okf/types/CustomResourceDefinition.md +14 -0
- package/dist/okf/types/CustomResourceDefinitionList.md +14 -0
- package/dist/okf/types/DaemonSet.md +19 -0
- package/dist/okf/types/DaemonSetList.md +14 -0
- package/dist/okf/types/DeleteOptions.md +18 -0
- package/dist/okf/types/Deploy.md +14 -0
- package/dist/okf/types/DeploymentList.md +14 -0
- package/dist/okf/types/DeviceClass.md +14 -0
- package/dist/okf/types/DeviceClassList.md +14 -0
- package/dist/okf/types/DeviceTaintRule.md +14 -0
- package/dist/okf/types/DeviceTaintRuleList.md +14 -0
- package/dist/okf/types/EndpointSlice.md +16 -0
- package/dist/okf/types/EndpointSliceList.md +14 -0
- package/dist/okf/types/Endpoints.md +14 -0
- package/dist/okf/types/EndpointsList.md +14 -0
- package/dist/okf/types/Event.md +27 -0
- package/dist/okf/types/EventsEvent.md +27 -0
- package/dist/okf/types/EventsEventList.md +14 -0
- package/dist/okf/types/Eviction.md +14 -0
- package/dist/okf/types/FlowSchema.md +14 -0
- package/dist/okf/types/FlowSchemaList.md +14 -0
- package/dist/okf/types/FluxInstance.md +14 -0
- package/dist/okf/types/FluxReport.md +14 -0
- package/dist/okf/types/GRPCRoute.md +14 -0
- package/dist/okf/types/Gateway.md +14 -0
- package/dist/okf/types/GatewayClass.md +14 -0
- package/dist/okf/types/GitRepository.md +14 -0
- package/dist/okf/types/HTTPRoute.md +14 -0
- package/dist/okf/types/HelmChart.md +14 -0
- package/dist/okf/types/HelmRelease.md +14 -0
- package/dist/okf/types/HelmRepository.md +14 -0
- package/dist/okf/types/HorizontalPodAutoscaler.md +14 -0
- package/dist/okf/types/HorizontalPodAutoscalerList.md +14 -0
- package/dist/okf/types/IPAddress.md +14 -0
- package/dist/okf/types/IPAddressList.md +14 -0
- package/dist/okf/types/ImagePolicy.md +14 -0
- package/dist/okf/types/ImageRepository.md +14 -0
- package/dist/okf/types/ImageUpdateAutomation.md +14 -0
- package/dist/okf/types/InfisicalDynamicSecret.md +14 -0
- package/dist/okf/types/InfisicalPushSecret.md +14 -0
- package/dist/okf/types/InfisicalSecret.md +14 -0
- package/dist/okf/types/Ing.md +14 -0
- package/dist/okf/types/IngressClass.md +14 -0
- package/dist/okf/types/IngressClassList.md +14 -0
- package/dist/okf/types/IngressList.md +14 -0
- package/dist/okf/types/IngressRoute.md +14 -0
- package/dist/okf/types/IngressRouteTCP.md +14 -0
- package/dist/okf/types/IngressRouteUDP.md +14 -0
- package/dist/okf/types/Issuer.md +14 -0
- package/dist/okf/types/JobList.md +14 -0
- package/dist/okf/types/Kustomization.md +14 -0
- package/dist/okf/types/Lease.md +14 -0
- package/dist/okf/types/LeaseCandidate.md +14 -0
- package/dist/okf/types/LeaseCandidateList.md +14 -0
- package/dist/okf/types/LeaseList.md +14 -0
- package/dist/okf/types/LimitRange.md +14 -0
- package/dist/okf/types/LimitRangeList.md +14 -0
- package/dist/okf/types/LocalSubjectAccessReview.md +14 -0
- package/dist/okf/types/MicroVM.md +14 -0
- package/dist/okf/types/MicroVMClass.md +14 -0
- package/dist/okf/types/MicroVMImage.md +14 -0
- package/dist/okf/types/MicroVMNetwork.md +14 -0
- package/dist/okf/types/MicroVMReplicaSet.md +14 -0
- package/dist/okf/types/Middleware.md +14 -0
- package/dist/okf/types/MiddlewareTCP.md +14 -0
- package/dist/okf/types/MutatingAdmissionPolicy.md +14 -0
- package/dist/okf/types/MutatingAdmissionPolicyBinding.md +14 -0
- package/dist/okf/types/MutatingAdmissionPolicyBindingList.md +14 -0
- package/dist/okf/types/MutatingAdmissionPolicyList.md +14 -0
- package/dist/okf/types/MutatingWebhookConfiguration.md +14 -0
- package/dist/okf/types/MutatingWebhookConfigurationList.md +14 -0
- package/dist/okf/types/Namespace.md +18 -0
- package/dist/okf/types/NamespaceList.md +14 -0
- package/dist/okf/types/NetPol.md +14 -0
- package/dist/okf/types/NetworkPolicyList.md +14 -0
- package/dist/okf/types/Node.md +21 -0
- package/dist/okf/types/NodeList.md +14 -0
- package/dist/okf/types/OCIRepository.md +14 -0
- package/dist/okf/types/ObjectStore.md +14 -0
- package/dist/okf/types/Order.md +14 -0
- package/dist/okf/types/PDB.md +18 -0
- package/dist/okf/types/PersistentVolume.md +14 -0
- package/dist/okf/types/PersistentVolumeClaim.md +14 -0
- package/dist/okf/types/PersistentVolumeClaimList.md +14 -0
- package/dist/okf/types/PersistentVolumeList.md +14 -0
- package/dist/okf/types/Pod.md +18 -0
- package/dist/okf/types/PodCertificateRequest.md +14 -0
- package/dist/okf/types/PodCertificateRequestList.md +14 -0
- package/dist/okf/types/PodDisruptionBudgetList.md +14 -0
- package/dist/okf/types/PodList.md +14 -0
- package/dist/okf/types/PodTemplate.md +14 -0
- package/dist/okf/types/PodTemplateList.md +14 -0
- package/dist/okf/types/Pooler.md +14 -0
- package/dist/okf/types/PriorityClass.md +17 -0
- package/dist/okf/types/PriorityClassList.md +14 -0
- package/dist/okf/types/PriorityLevelConfiguration.md +14 -0
- package/dist/okf/types/PriorityLevelConfigurationList.md +14 -0
- package/dist/okf/types/PrometheusRule.md +14 -0
- package/dist/okf/types/Provider.md +14 -0
- package/dist/okf/types/RayCluster.md +20 -0
- package/dist/okf/types/RayJob.md +14 -0
- package/dist/okf/types/RayService.md +14 -0
- package/dist/okf/types/Receiver.md +14 -0
- package/dist/okf/types/ReferenceGrant.md +14 -0
- package/dist/okf/types/ReplicaSet.md +19 -0
- package/dist/okf/types/ReplicaSetList.md +14 -0
- package/dist/okf/types/ReplicationController.md +14 -0
- package/dist/okf/types/ReplicationControllerList.md +14 -0
- package/dist/okf/types/ResourceClaim.md +14 -0
- package/dist/okf/types/ResourceClaimList.md +14 -0
- package/dist/okf/types/ResourceClaimTemplate.md +14 -0
- package/dist/okf/types/ResourceClaimTemplateList.md +14 -0
- package/dist/okf/types/ResourceQuota.md +14 -0
- package/dist/okf/types/ResourceQuotaList.md +14 -0
- package/dist/okf/types/ResourceSet.md +14 -0
- package/dist/okf/types/ResourceSetInputProvider.md +14 -0
- package/dist/okf/types/ResourceSlice.md +14 -0
- package/dist/okf/types/ResourceSliceList.md +14 -0
- package/dist/okf/types/Role.md +14 -0
- package/dist/okf/types/RoleBinding.md +15 -0
- package/dist/okf/types/RoleBindingList.md +14 -0
- package/dist/okf/types/RoleList.md +14 -0
- package/dist/okf/types/RuntimeClass.md +16 -0
- package/dist/okf/types/RuntimeClassList.md +14 -0
- package/dist/okf/types/SA.md +16 -0
- package/dist/okf/types/Scale.md +14 -0
- package/dist/okf/types/ScheduledBackup.md +14 -0
- package/dist/okf/types/Sec.md +17 -0
- package/dist/okf/types/SecretList.md +14 -0
- package/dist/okf/types/SelfSubjectAccessReview.md +14 -0
- package/dist/okf/types/SelfSubjectReview.md +13 -0
- package/dist/okf/types/SelfSubjectRulesReview.md +14 -0
- package/dist/okf/types/ServersTransport.md +14 -0
- package/dist/okf/types/ServersTransportTCP.md +14 -0
- package/dist/okf/types/Service.md +20 -0
- package/dist/okf/types/ServiceAccountList.md +14 -0
- package/dist/okf/types/ServiceCIDR.md +14 -0
- package/dist/okf/types/ServiceCIDRList.md +14 -0
- package/dist/okf/types/ServiceList.md +14 -0
- package/dist/okf/types/ServiceMonitor.md +14 -0
- package/dist/okf/types/StatefulSet.md +19 -0
- package/dist/okf/types/StatefulSetList.md +14 -0
- package/dist/okf/types/Status.md +17 -0
- package/dist/okf/types/StorageClass.md +20 -0
- package/dist/okf/types/StorageClassList.md +14 -0
- package/dist/okf/types/StorageVersionMigration.md +14 -0
- package/dist/okf/types/StorageVersionMigrationList.md +14 -0
- package/dist/okf/types/SubjectAccessReview.md +14 -0
- package/dist/okf/types/TLSOption.md +14 -0
- package/dist/okf/types/TLSStore.md +14 -0
- package/dist/okf/types/TokenRequest.md +14 -0
- package/dist/okf/types/TokenReview.md +14 -0
- package/dist/okf/types/TraefikService.md +14 -0
- package/dist/okf/types/ValidatingAdmissionPolicy.md +14 -0
- package/dist/okf/types/ValidatingAdmissionPolicyBinding.md +14 -0
- package/dist/okf/types/ValidatingAdmissionPolicyBindingList.md +14 -0
- package/dist/okf/types/ValidatingAdmissionPolicyList.md +14 -0
- package/dist/okf/types/ValidatingWebhookConfiguration.md +14 -0
- package/dist/okf/types/ValidatingWebhookConfigurationList.md +14 -0
- package/dist/okf/types/VolumeAttachment.md +14 -0
- package/dist/okf/types/VolumeAttachmentList.md +14 -0
- package/dist/okf/types/VolumeAttributesClass.md +15 -0
- package/dist/okf/types/VolumeAttributesClassList.md +14 -0
- package/dist/okf/types/WatchEvent.md +14 -0
- package/package.json +2 -2
- package/src/deep-observe-hooks.ts +60 -0
- 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;
|
|
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"}
|
package/dist/integrity.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"algorithm": "sha256",
|
|
3
3
|
"artifacts": {
|
|
4
|
-
"manifest.json": "
|
|
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": "
|
|
53
|
+
"composite": "cb6e9c99fe95c9c11ad9440c2ae9082e36c26ca90574b636904fcf25775b0250"
|
|
54
54
|
}
|
package/dist/manifest.json
CHANGED
|
@@ -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
|