:_mod-docs-content-type: ASSEMBLY
include::_attributes/common-attributes.adoc[]
[id="hcp-deploy-azure"]
= Deploying {hcp} on {azure-short}
:context: hcp-deploy-azure

toc::[]

[role="_abstract"]
With {hcp} on {azure-first}, you can reduce the cost associated with dedicated control-plane node VMs for each cluster. You can provision compute nodes as {azure-short} Virtual Machine Scale sets for dynamic scaling, and ensure credential isolation with per-cluster {azure-short} service principals.

:FeatureName: {hcp-capital} on {azure-short}
include::snippets/technology-preview.adoc[]

include::modules/hcp-azure-overview.adoc[leveloffset=+1]

[role="_additional-resources"]
.Additional resources

* link:https://azure.github.io/azure-workload-identity/docs/[{azure-short} Workload Identity documentation]

include::modules/hcp-azure-infra-creds.adoc[leveloffset=+2]

include::modules/hcp-azure-setup-resources.adoc[leveloffset=+1]

include::modules/hcp-azure-oidc.adoc[leveloffset=+2]

[role="_additional-resources"]
.Additional resources

* link:https://access.redhat.com/solutions/7001811[How to obtain the ccoctl tool for OpenShift 4 (Red{nbsp}Hat Knowledgebase article)]

include::modules/hcp-azure-workload-id.adoc[leveloffset=+2]

include::modules/hcp-azure-infra.adoc[leveloffset=+2]

[role="_additional-resources"]
.Additional resources

* xref:../../hosted_control_planes/hcp-deploy/hcp-deploy-azure.adoc#hcp-azure-workload-id_hcp-deploy-azure[Creating {azure-short} Workload Identities]

include::modules/hcp-azure-mgmt-cluster.adoc[leveloffset=+1]

include::modules/hcp-azure-hosted.adoc[leveloffset=+1]

include::modules/hcp-cluster-capabilities.adoc[leveloffset=+1]

include::modules/hcp-cluster-capabilities-ref.adoc[leveloffset=+2]

include::modules/hcp-cluster-capabilities-proc.adoc[leveloffset=+2]

include::modules/hcp-azure-private.adoc[leveloffset=+1]

include::modules/hcp-azure-private-subnet.adoc[leveloffset=+2]

[role="_additional-resources"]
.Additional resources

* xref:../../hosted_control_planes/hcp-deploy/hcp-deploy-azure.adoc#hcp-azure-mgmt-cluster_hcp-deploy-azure[Configuring an {azure-short} management cluster for {hcp}]

* xref:../../hosted_control_planes/hcp-deploy/hcp-deploy-azure.adoc#hcp-azure-oidc_hcp-deploy-azure[Setting up an OIDC issuer]

include::modules/hcp-azure-private-operator.adoc[leveloffset=+2]

[role="_additional-resources"]
.Additional resources

* xref:../../hosted_control_planes/hcp-deploy/hcp-deploy-azure.adoc#hcp-azure-oidc_hcp-deploy-azure[Setting up an OIDC issuer]

include::modules/hcp-azure-private-iam.adoc[leveloffset=+2]

[role="_additional-resources"]
.Additional resources

* xref:../../hosted_control_planes/hcp-deploy/hcp-deploy-azure.adoc#hcp-azure-oidc_hcp-deploy-azure[Setting up an OIDC issuer]

* xref:../../hosted_control_planes/hcp-deploy/hcp-deploy-azure.adoc#hcp-azure-workload-id_hcp-deploy-azure[Creating {azure-short} Workload Identities]

include::modules/hcp-azure-private-infra.adoc[leveloffset=+2]

[role="_additional-resources"]
.Additional resources

* xref:../../hosted_control_planes/hcp-deploy/hcp-deploy-azure.adoc#hcp-azure-oidc_hcp-deploy-azure[Setting up an OIDC issuer]

include::modules/hcp-azure-private-hosted.adoc[leveloffset=+2]

[role="_additional-resources"]
.Additional resources

* xref:../../hosted_control_planes/hcp-deploy/hcp-deploy-azure.adoc#hcp-azure-private-subnet_hcp-deploy-azure[Preparing a subnet for a private hosted cluster on {azure-short}]

* xref:../../hosted_control_planes/hcp-deploy/hcp-deploy-azure.adoc#hcp-azure-private-operator_hcp-deploy-azure[Installing the HyperShift Operator with private platform support]

* xref:../../hosted_control_planes/hcp-deploy/hcp-deploy-azure.adoc#hcp-azure-private-iam_hcp-deploy-azure[Configuring IAM resources for a private hosted cluster]

* xref:../../hosted_control_planes/hcp-deploy/hcp-deploy-azure.adoc#hcp-azure-private-infra_hcp-deploy-azure[Creating infrastructure for a private hosted cluster]

include::modules/hcp-azure-private-access.adoc[leveloffset=+2]

[role="_additional-resources"]
.Additional resources

* xref:../../hosted_control_planes/hcp-deploy/hcp-deploy-azure.adoc#hcp-azure-private-hosted_hcp-deploy-azure[Creating a private {azure-short} hosted cluster]

include::modules/hcp-azure-private-ts.adoc[leveloffset=+2]

include::modules/hcp-azure-autoscaling.adoc[leveloffset=+1]

include::modules/hcp-azure-delete.adoc[leveloffset=+1]

include::modules/hcp-azure-cluster-delete.adoc[leveloffset=+2]

include::modules/hcp-azure-infra-delete.adoc[leveloffset=+2]

include::modules/hcp-azure-workload-id-delete.adoc[leveloffset=+2]

include::modules/hcp-azure-delete-private.adoc[leveloffset=+2]
