---
# System prepended metadata

title: Generating a Kata Containers payload for the Confidential Containers Operator

---

# Generating a Kata Containers payload for the Confidential Containers Operator

[Confidential Containers'
Operator](https://github.com/confidential-containers/operator) consumes a Kata Containers payload, genrated from the `CCv0` branch, and here one can find all the necessary info on how to build such a payload.

## Requirements

* Docker installed in the machine
* `sudo` access to the machine

## Process

* Clone [Kata Containers](https://github.com/kata-containers/kata-containers)
  ```sh
  git clone --branch CCv0 https://github.com/kata-containers/kata-containers`
  ```
  * In case you've already cloned the repo, make sure to switch to the `CCv0` branch
    ```sh
    git checkout CCv0
    ```
  * Ensure your tree is clean and in sync with upstream `CCv0`
    ```sh
    git clean -xfd
    git reset --hard <upstream>/CCv0
    ```
* Make sure you're authenticated to quay.io
    ```sh
    docker login quay.io
    ```
* From the top repo directory, run:
  ```
  sudo make cc-payload
  ```
* Make sure the image was upload to the [Confidential Containers' runtime-payload registry](https://quay.io/repository/confidential-containers/runtime-payload?tab=tags)

## Notes

As the build happens serially, which is a way to avoid some issues faced with parallel builds in the past, this whole process takes a reasonably long time.

Make sure to run it on a machine that's not the one you're hacking on, prepare a cup of tea, and get back to it an hour later (at least).
