# predefined verification catalog of dynctl doctor

Lists the checks that dynctl doctor runs on a Dynamic Engine installation, with the category, severity, and purpose of each check.

The following checks are available starting from dynctl 1.1.0.

Each check has one of these severity levels:

* info
* warning
* blocker

If a check with the blocker severity fails, the dynctl doctor command exits with a non-zero exit code.

To learn how to run the checks and read the results, see [diagnosing an installation with dynctl doctor](https://help.qlik.com/talend/en-US/dynamic-engine-configuration-guide/Cloud/dynctl-diagnose-installation-with-doctor "Run dynctl doctor to check the cluster requirements and the health of a Dynamic Engine installation.").

Verifications available in dynctl 1.1.0Verifications available in dynctldynctl 1.1.0

| ID | Category | Severity | Verifies |
| --- | --- | --- | --- |
| CP-K8S-VERSION | cluster-prereqs | blocker | The Kubernetes version is supported. |
| CP-NODE-OS | cluster-prereqs | blocker | The worker nodes run Linux (amd64 or<br>arm64). |
| CP-NODE-COUNT | cluster-prereqs | warning | The cluster has at least 3 worker nodes. |
| CP-NODE-RESOURCES | cluster-prereqs | warning | Each worker node has at least 4 vCPU and 16 GB RAM. |
| CP-NODE-TAINTS | cluster-prereqs | warning | The nodes have no untolerated taints. |
| CP-HELM | cluster-prereqs | warning | The Helm client version meets the minimum requirement. |
| CP-NAMESPACE | cluster-prereqs | warning | The install namespace is present and labelled. |
| CP-RBAC | cluster-prereqs | warning | The current identity can create the required resources. |
| CP-METRICS-SERVER | cluster-prereqs | info | Metrics Server is available. |
| CP-STORAGE | cluster-prereqs | blocker | The storage class requirements are met. |
| CP-STORAGE-INFO | cluster-prereqs | info | The storage class requirements are met (informational). |
| DE-EXISTS | dynamic-engine | blocker | At least one DynamicEngine custom resource is<br>present. |
| DE-CRDS | dynamic-engine | blocker | The DynamicEngine and DynamicEngineEnv<br>CRDs are installed and served. |
| DE-OPERATOR | dynamic-engine | blocker | The engine operator Deployment is ready. |
| DE-OIDC-SECRET | dynamic-engine | blocker | The qlik-oidc-client Secret is<br>present. |
| DE-SERVICES | dynamic-engine | blocker | The engine is reconciled and all services report healthy. |
| DE-PODS | dynamic-engine | blocker | All engine pods are ready and not failing. |
| DE-SPEC | dynamic-engine | warning | The DynamicEngine spec is fully populated. |
| DE-EVENTS | dynamic-engine | warning | The engine namespace has no recent Failed<br>events. |
| DEE-EXISTS | environments | blocker | At least one DynamicEngineEnv custom resource is<br>present. |
| DEE-ENGINE-REF | environments | blocker | Every environment references the correct DynamicEngine<br>resource. |
| DEE-SERVICES | environments | blocker | Every environment service reports healthy and is not stuck in a<br>transitional state. |
| DEE-DEPLOYMENTS | environments | blocker | Every declared service has a deployment. |
| DEE-PODS | environments | blocker | All environment pods are ready and not failing. |
| DEE-PAIRING-SECRET | environments | blocker | The secret of engine-config-manager-config has a<br>well-formed config.json file. |
| DEE-KEYSTORE | environments | blocker | The pairing keystore.jks file is present and looks<br>like a JKS file. |
| DEE-GLOBAL-CONFIG | environments | blocker | The ConfigMap in global-configuration<br>exists and parses. |
| DEE-CFG-EVENTS | environments | warning | No problematic events were emitted recently by<br>engine-config-manager. |
| DEE-VERSIONS | environments | warning | The engine and environment versions agree. |