> For the complete documentation index, see [llms.txt](https://docs.ozone.one/ozone-end-user-guide/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ozone.one/ozone-end-user-guide/~/changes/7YIrhOgqbpKF1lkWsq0G/guides/quickstart/setting-up-a-workload-for-cross-cloud-delivery.md).

# Setting up a Workload for Cross Cloud Delivery

## Creating a Custom Microservice

An application in the context of Ozone is a microservice that is mapped to a repository, a registry or a helm chart.

By creating applications, you can deploy the microservice for both public and private access through a workflow with in-built secret management.

&#x20;

### Pre-requisites

* You should have synced a source control repository from the [ecosystem integrations](/ozone-end-user-guide/~/changes/7YIrhOgqbpKF1lkWsq0G/guides/quickstart/setting-up-ecosystem-integrations.md)
* You should have synced a *registry* that Ozone can push to and pull from from the [ecosystem integrations](/ozone-end-user-guide/~/changes/7YIrhOgqbpKF1lkWsq0G/guides/quickstart/setting-up-ecosystem-integrations.md)
* You should have a cluster [*synced*](/ozone-end-user-guide/~/changes/7YIrhOgqbpKF1lkWsq0G/guides/quickstart/syncing-kubernetes-clusters-for-cd.md) to ozone with Helm and Tekton enabled from the cluster settings at the very least&#x20;

&#x20;

### How do I set it up a custom microservice?

* Navigate to Microservices on the side bar
* Click on **+New Microservice**
* Select the Custom Application type
* Enter the name, description and the environments this microservice has access to
* Select a repository from the available providers within the current project to pull the code from
  * If this is a pure container image, disable the CI option and Ozone will orchestrate just the CD flows
* Enter the dockerfile location relative to the root of the repository structure
* Select the namespace that the application will be deployed to on any given cluster
* Expose the service suitably from the given options
  * Supported options are ClusterIP, Nodeport, Loadbalancer and Ingress
* Map the registry to push this application to
* Select how you would like to expose this service (Nodeport, Load Balancer, Cluster IP, Ingress)

{% embed url="<https://youtu.be/WklOl0-kL9Q>" %}
Creating a microservice for deployments
{% endembed %}

## Creating a Helm Microservice

A Helm Application is one that is typically provided by third party vendors to your organization and you are using a helm chart to deploy it to any given Kubernetes Cluster

### Pre-requisites

* You should have [enabled Helm](/ozone-end-user-guide/~/changes/7YIrhOgqbpKF1lkWsq0G/guides/quickstart/syncing-kubernetes-clusters-for-cd.md) for the target clusters that you would like to deploy to.
* You must have at least one public or private helm channel linked to Ozone

### How do I setup a Helm Application?

* Navigate to Applications
* Click on +CREATE
* Select Helm Application as the type to create
* Select the Helm Chart that you would like this app to represent
* Click on SUBMIT to save the application
* You can now create Helm Releases for each application
