> ## Documentation Index
> Fetch the complete documentation index at: https://docs.seekr.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Verify the SeekrFlow deployment

> Confirm SeekrFlow's resources came up healthy, and create the DNS record for its web address.

Check that SeekrFlow came up healthy before you finish setup. Services can take several minutes to start, and model servers longer, while they download model weights.

## Check the deployment

<Tabs>
  <Tab title="With the sfe CLI">
    <Steps>
      <Step title="Check the resources">
        ```bash theme={null}
        sfe resources status -p <profile-name>
        ```

        The command lists every SeekrFlow resource and its phase.
      </Step>

      <Step title="Compare the deployment with your values file">
        ```bash theme={null}
        sfe verify -p <profile-name> -r <version>
        ```

        The command reports any difference between what you configured and what's running.
      </Step>
    </Steps>
  </Tab>

  <Tab title="Without the sfe CLI">
    <Steps>
      <Step title="Check the pods">
        ```bash theme={null}
        kubectl get pods -n seekrflow
        ```

        Every pod should reach `Running`, with all its containers ready.
      </Step>

      <Step title="Check the services">
        ```bash theme={null}
        kubectl get flowservices -n seekrflow
        ```

        The list shows the services the operator created and manages.
      </Step>
    </Steps>
  </Tab>
</Tabs>

## Create the DNS record

If SeekrFlow creates its own ingress on Amazon Web Services (AWS), create the Domain Name System (DNS) record for your hostname now. The load balancer exists only after install. Create the record before you sign in or set up single sign-on, because both use the hostname. See [Create the DNS record](/self-managed/flow/provision/networking#create-the-dns-record).

## If pods aren't running

<Note>
  Check the License service first. Other services wait for it. A missing or invalid license key shows up as many stuck pods rather than one clear failure.
</Note>

<Tabs>
  <Tab title="With the sfe CLI">
    ```bash theme={null}
    sfe resources describe <kind>/<name>
    sfe resources logs <kind>/<name>
    ```

    SeekrFlow's images have no shell. To investigate inside a pod, attach a debug container:

    ```bash theme={null}
    sfe resources debug <kind>/<name>
    ```
  </Tab>

  <Tab title="Without the sfe CLI">
    ```bash theme={null}
    kubectl describe pod <pod-name> -n seekrflow
    kubectl logs <pod-name> -n seekrflow
    ```

    The `Events` section at the end of the `describe` output usually names the problem.
  </Tab>
</Tabs>

| Symptom | Cause |
| - | - |
| `ImagePullBackOff` | The image pull secret is missing. Check that it exists in both the `seekrflow` and `argo-workflows` namespaces. |
| `CreateContainerConfigError` | A secret is missing. The pod's events name it. |
| Most pods stuck, none obviously failing | The license key. Check the `seekrflow-license` secret first. |
| The ingress has no address, and its events say `no certificate found for host` | The load balancer has no certificate for your hostname. In AWS Certificate Manager, check that the certificate is issued and covers the `global.ingress.host` value. |

For more symptoms, see [Troubleshoot a deployment](/self-managed/flow/operate/troubleshoot).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.