# TiDB Cloud Docker image management

For teams that need to deploy services to production environments, they need to provide a image list file.

In the image list file, `source`, `providers` and `tags` fields are required.

For third-party images, `localName` field should be `third-party/{originalPath}`. For example, the `localName` for source image `quay.io/prometheus/node-exporter` should be `third-party/prometheus/node-exporter`. Third-party images are stored in controlplane cloud account container registry. We grant permission to dataplane k8s node. The `providers` field tells the image-syncer to properly sync the image to the desired cloud provider container registry. For BYOC, the images may need to sync to customer's account container registry.

For cloud vendor provided images such as AWS ebs-csi-driver, we can use them directly and don't need to sync to our own container registry. So we don't need to specify the `localName`.

In BYOC mode, dataplane docker images are synchronized to customer cloud account container registry. `sync_customer` field indicate whether the image need to sync to customer's container registry.

A full list of images helps Security Team to scanning the images. And also helps us to clean unused images to save cost.
