Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 58 additions & 0 deletions docs/deploy/deploy-external-image.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@

# Deploy an External Image

This section of the documentation provides guidance on how to ***deploy an external image*** within the pipeline.

Deploying an external image directly allows you to bypass application and version configurations, offering flexibility for non-standardized services or third-party containers. The deployment process is straightforward and integrated into the UI.

To summarize, your workflow for deploying an external image is:

1. **Prepare the external image**: Ensure it's built and pushed to a container registry accessible by the platform.

2. **Access the `New deployment` dialog in the UI**: Select the option to deploy an external image from the menu.

![Menu showing external image deployment option](../images/deploy/new-deployment-menu.png)

3. **Provide the external image uri and configure settings**: In the dialog, specify the image and adjust settings like resources, replicas, and public access.

![External Image Deployment settings dialog](../images/deploy/deployment-image-dialog.png)

## External Image Reference

The external image reference specifies the image to deploy. It must include:

- The container registry (e.g., DockerHub, AWS ECR, GCR).
- The image name.
- The tag (e.g., `latest`, or a specific version like `1.2.3`).

Example external image reference:

```plaintext
dockerhub.io/myorg/my-service:1.2.3
```

!!! tip

Ensure your external image is accessible from the platform. For private repositories, ensure the correct credentials or access policies are in place.

## Deployment Settings for External Images

The deployment settings for external images are similar to application deployments, with slight differences. Below is a description of the main features:

| Dialog Item | Description |
|----------------------|-----------------------------------------------------------------------------|
| **External Image** | The full external image reference, including registry, name, and tag. |
| **Environment Variables** | Any environment variables your container needs can be specified here. |
| **Deployment Settings** | Configure whether the image runs as a service or a job. Also, set CPU, memory, and replicas for scaling. |
| **Public Access** | Configure whether the container is accessible externally via a public URL. |
| **State Management** | If state is enabled, a `state` folder is created to persist data across restarts. See [state management docs](./state-management.md). |
| **Deployment Name** | The name of the deployment. You can change it to something descriptive. |

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do we need a Yaml example?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am pointing to the yaml configuration here

To deploy an external image from the command line, modify your [`quix.yaml`](../quix-cli/yaml-reference/pipeline-descriptor.md) file to include the image, then use the following commands:

## Working on the Command Line

To deploy an external image from the command line, modify your [`quix.yaml`](../quix-cli/yaml-reference/pipeline-descriptor.md) file to include the image, then use the following commands:

- **Sync local changes**: Use the `quix local pipeline sync --update` command. This updates your pipeline in Quix Cloud based on your `quix.yaml` file.
- **Sync remote environment**: Use the `quix envs sync` command to synchronize an environment with its project repository.

For more details on CLI usage, see the [CLI documentation](../quix-cli/overview.md).
Binary file added docs/images/deploy/deployment-image-dialog.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/deploy/new-deployment-menu.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 2 additions & 1 deletion mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -213,7 +213,7 @@ nav:
- Yugabytedb sink: quix-connectors/quix-streams/sinks/coming-soon/Yugabytedb-sink.md


- 'Quix CLI': '!import https://github.com/quixio/quix-cli/?branch=1.1.0'
- 'Quix CLI': '!import https://github.com/quixio/quix-cli/?branch=1.2.0'
- 'Quix Cloud':
- 'Overview': 'quix-cloud/overview.md'
- 'Quickstart': 'quix-cloud/quickstart.md'
Expand Down Expand Up @@ -290,6 +290,7 @@ nav:
- 'Configuring network ports': 'deploy/ports.md'
- 'State management': 'deploy/state-management.md'
- 'Deploy public services': 'deploy/deploy-public-page.md'
- 'Deploy an external image': 'deploy/deploy-external-image.md'
- '4. Manage your pipelines':
- 'Overview': 'manage/overview.md'
- 'Troubleshooting': 'manage/troubleshooting.md'
Expand Down