Skip to content

Commit

Permalink
adding deploy external image docs
Browse files Browse the repository at this point in the history
  • Loading branch information
emanuel-quix committed Nov 22, 2024
1 parent 7249b3a commit cd4e96b
Show file tree
Hide file tree
Showing 4 changed files with 59 additions and 0 deletions.
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. |

## 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.
1 change: 1 addition & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
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

0 comments on commit cd4e96b

Please sign in to comment.