Skip to content

Feat azure script credentials #559

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 9 commits into
base: main
Choose a base branch
from
Open
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
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,5 @@ scripts/vendor
.idea
*.iml
*.orig

.cursor/
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
last_modified_on: "2023-12-30"
last_modified_on: "2025-06-05"
title: "Managed By Qovery"
sidebar_label: hidden
hide_pagination: true
Expand All @@ -10,6 +10,7 @@ import Jump from '@site/src/components/Jump';
Don't be shy, pick the first page you want to read and start your journey with Qovery.

<Jump to="/docs/getting-started/install-qovery/azure/cluster-managed-by-qovery/quickstart">Quickstart</Jump>
<Jump to="/docs/getting-started/install-qovery/azure/cluster-managed-by-qovery/create-credentials">Create Credentials</Jump>



Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,5 @@ hide_pagination: true
Don't be shy, pick the first page you want to read and start your journey with Qovery.

<Jump to="/docs/getting-started/install-qovery/azure/cluster-managed-by-qovery/quickstart">Quickstart</Jump>
<Jump to="/docs/getting-started/install-qovery/azure/cluster-managed-by-qovery/create-credentials">Create Credentials</Jump>

Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
---
last_modified_on: "2025-06-10"
title: "Create Credentials"
description: "Generate your Azure credentials to connect your Azure account to Qovery"
---

import Steps from '@site/src/components/Steps';
import Alert from '@site/src/components/Alert';
import Assumptions from '@site/src/components/Assumptions';

This guide will help you to generate your Azure credentials to connect your Azure account to Qovery.

<!--
THIS FILE IS AUTOGENERATED!

To make changes please edit the template located at:

website/docs/getting-started/install-qovery/azure/cluster-managed-by-qovery/create-credentials.md.erb
-->

## Generate your Azure credentials

<Steps headingDepth={3}>
<ol>

<li>

[Connect to your Azure console](https://portal.azure.com)

</li>

<li>

Open the embedded Azure shell

<Alert type="warning">

Make sure the Azure Shell is set to Bash, not PowerShell.

</Alert>

<p align="center">
<img src="/img/azure-credentials/azure_shell_1.png" />
</p>

</li>

<li>

Fetch the command from Qovery console and copy it in the Azure Shell to dynamically create a service principal in your tenant using the Qovery app registration, allowing secure, credential-free installation of your Azure cluster:

```bash
curl https://hub.qovery.com/files/create_credentials_azure.sh | \
bash -s -- --qovery-app-id <from-qovery-console> --subscription-id $ACC_USER_SUBSCRIPTION
```

<Alert type="info">

By default, the command will use the currently active subscription. The script will display the current context (Subscription ID and Tenant ID) before granting permissions, allowing you to review and modify them if needed.
If you have multiple subscriptions, you can explicitly pass the desired subscription as a parameter.

</Alert>

</li>

<li>

At the end of the command execution, the script will return the Subscription ID and Tenant ID, which you will need to provide in the credentials creation modal in the Qovery console.

That's it!

</li>
</ol>
</Steps>

### Install a new cluster on Qovery

You will be able to use the credentials you just generated when creating a cluster via the Qovery console. This cluster will be linked to your Qovery organization.
Follow [this documentation][docs.using-qovery.configuration.clusters#creating-a-cluster] to create a new cluster on your organization.


[docs.using-qovery.configuration.clusters#creating-a-cluster]: /docs/using-qovery/configuration/clusters/#creating-a-cluster
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
---
title: "Create Credentials"
description: "Generate your Azure credentials to connect your Azure account to Qovery"
---

import Steps from '@site/src/components/Steps';
import Alert from '@site/src/components/Alert';
import Assumptions from '@site/src/components/Assumptions';

This guide will help you to generate your Azure credentials to connect your Azure account to Qovery.

## Generate your Azure credentials

<Steps headingDepth={3}>
<ol>

<li>

[Connect to your Azure console](https://portal.azure.com)

</li>

<li>

Open the embedded Azure shell

<Alert type="warning">

Make sure the Azure Shell is set to Bash, not PowerShell.

</Alert>

<p align="center">
<img src="/img/azure-credentials/azure_shell_1.png" />
</p>

</li>

<li>

Fetch the command from Qovery console and copy it in the Azure Shell to dynamically create a service principal in your tenant using the Qovery app registration, allowing secure, credential-free installation of your Azure cluster:

```bash
curl https://hub.qovery.com/files/create_credentials_azure.sh | \
bash -s -- --qovery-app-id <from-qovery-console> --subscription-id $ACC_USER_SUBSCRIPTION
```

<Alert type="info">

By default, the command will use the currently active subscription. The script will display the current context (Subscription ID and Tenant ID) before granting permissions, allowing you to review and modify them if needed.
If you have multiple subscriptions, you can explicitly pass the desired subscription as a parameter.

</Alert>

</li>

<li>

At the end of the command execution, the script will return the Subscription ID and Tenant ID, which you will need to provide in the credentials creation modal in the Qovery console.

That's it!

</li>
</ol>
</Steps>

### Install a new cluster on Qovery

You will be able to use the credentials you just generated when creating a cluster via the Qovery console. This cluster will be linked to your Qovery organization.
Follow [this documentation][docs.using-qovery.configuration.clusters#creating-a-cluster] to create a new cluster on your organization.
Original file line number Diff line number Diff line change
@@ -1,10 +1,93 @@
---
last_modified_on: "2023-12-30"
last_modified_on: "2025-06-09"
title: "Quickstart"
description: "Learn how to configure and plug your Microsoft Azure account"
description: "Learn how to quickly install Qovery on your Azure account"
---
import Steps from '@site/src/components/Steps';
import Alert from '@site/src/components/Alert';
import Assumptions from '@site/src/components/Assumptions';

We plan to provide a Managed Kubernetes offer for Microsoft Azure in the future. In the meantime, you can [install Qovery on your own Azure Kubernetes Service (AKS) cluster][docs.getting-started.install-qovery.kubernetes.quickstart].
Install Qovery on your Azure account in less than 20 minutes. Qovery will create a Kubernetes cluster for you and manage it for you. To install Qovery on an existing Kubernetes cluster, please refer to the [dedicated documentation][docs.getting-started.install-qovery.azure.cluster-managed-by-qovery].

<Assumptions>

[docs.getting-started.install-qovery.kubernetes.quickstart]: /docs/getting-started/install-qovery/kubernetes/quickstart/
* You have an account and an [Organization][docs.using-qovery.configuration.organization] on Qovery
* You have an Azure account
* You have an Azure tenant with an active subscription

</Assumptions>


<Steps headingDepth={3}>

<ol>

<li>

<!--
THIS FILE IS AUTOGENERATED!

To make changes please edit the template located at:

website/docs/getting-started/install-qovery/azure/cluster-managed-by-qovery/quickstart.md.erb
-->

## Create a Kubernetes cluster

You can create your Kubernetes cluster. Follow this [guide][docs.using-qovery.configuration.clusters#creating-a-cluster] to create your Kubernetes cluster.

<p align="center">
<img src="/img/install-qovery/common/add-cluster.jpg" alt="Add Cluster" />
</p>

</li>

<li>

## Attach Azure credentials

Follow this [guide][docs.getting-started.install-qovery.azure.cluster-managed-by-qovery.create-credentials] to create your Azure credentials.

<p align="center">
<img src="/img/install-qovery/azure/attach-credentials.png" alt="Attach Credentials" />
</p>

Then attach your credentials to your cluster and click on `Create`. Then, click on `Continue`.

</li>

<li>

## Select your options

Qovery propose multiple options that you can select to customize your installation. You can also change some of them later. Refer to this [guide][docs.using-qovery.configuration.clusters.azure] for more details on the available configurations.

</li>

<li>

## Install Qovery

Click on `Create and Deploy` to create the cluster and install Qovery on it.

It will take up to 20 minutes to create the cluster, VPC and install Qovery on it. But you can already [configure your first application][guides.getting-started.deploy-your-first-application].

You should see your new cluster in the list of clusters.

<p align="center">
<img src="/img/install-qovery/common/list-azure-clusters.png" alt="Show clusters" />
</p>

</li>

</ol>

</Steps>


[docs.getting-started.install-qovery.azure.cluster-managed-by-qovery.create-credentials]: /docs/getting-started/install-qovery/azure/cluster-managed-by-qovery/create-credentials/
[docs.getting-started.install-qovery.azure.cluster-managed-by-qovery]: /docs/getting-started/install-qovery/azure/cluster-managed-by-qovery/
[docs.using-qovery.configuration.clusters#creating-a-cluster]: /docs/using-qovery/configuration/clusters/#creating-a-cluster
[docs.using-qovery.configuration.clusters.azure]: /docs/using-qovery/configuration/clusters/azure/
[docs.using-qovery.configuration.organization]: /docs/using-qovery/configuration/organization/
[guides.getting-started.deploy-your-first-application]: /guides/getting-started/deploy-your-first-application/
Original file line number Diff line number Diff line change
@@ -1,6 +1,76 @@
---
title: "Quickstart"
description: "Learn how to configure and plug your Microsoft Azure account"
description: "Learn how to quickly install Qovery on your Azure account"
---
import Steps from '@site/src/components/Steps';
import Alert from '@site/src/components/Alert';
import Assumptions from '@site/src/components/Assumptions';

We plan to provide a Managed Kubernetes offer for Microsoft Azure in the future. In the meantime, you can [install Qovery on your own Azure Kubernetes Service (AKS) cluster][docs.getting-started.install-qovery.kubernetes.quickstart].
Install Qovery on your Azure account in less than 20 minutes. Qovery will create a Kubernetes cluster for you and manage it for you. To install Qovery on an existing Kubernetes cluster, please refer to the [dedicated documentation][docs.getting-started.install-qovery.azure.cluster-managed-by-qovery].
Copy link
Contributor

Choose a reason for hiding this comment

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

probably there's the same issue with the other guides but we can be more precise and say that "Qovery will create and manage for you a Kubernetes cluster (AKS) and other infrastructure components necessary to run your application on your account (block storage, image registry etc..).


<Assumptions>

* You have an account and an [Organization][docs.using-qovery.configuration.organization] on Qovery
* You have an Azure account
* You have an Azure tenant with an active subscription

</Assumptions>


<Steps headingDepth={3}>

<ol>

<li>

## Create a Kubernetes cluster

You can create your Kubernetes cluster. Follow this [guide][docs.using-qovery.configuration.clusters#creating-a-cluster] to create your Kubernetes cluster.

<p align="center">
<img src="/img/install-qovery/common/add-cluster.jpg" alt="Add Cluster" />
</p>

</li>

<li>

## Attach Azure credentials

Follow this [guide][docs.getting-started.install-qovery.azure.cluster-managed-by-qovery.create-credentials] to create your Azure credentials.

<p align="center">
<img src="/img/install-qovery/azure/attach-credentials.png" alt="Attach Credentials" />
</p>

Then attach your credentials to your cluster and click on `Create`. Then, click on `Continue`.

</li>

<li>

## Select your options

Qovery propose multiple options that you can select to customize your installation. You can also change some of them later. Refer to this [guide][docs.using-qovery.configuration.clusters.azure] for more details on the available configurations.

</li>

<li>

## Install Qovery

Click on `Create and Deploy` to create the cluster and install Qovery on it.

It will take up to 20 minutes to create the cluster, VPC and install Qovery on it. But you can already [configure your first application][guides.getting-started.deploy-your-first-application].

You should see your new cluster in the list of clusters.

<p align="center">
<img src="/img/install-qovery/common/list-azure-clusters.png" alt="Show clusters" />
</p>

</li>

</ol>

</Steps>
3 changes: 2 additions & 1 deletion website/docs/using-qovery/configuration/clusters.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
last_modified_on: "2025-04-16"
last_modified_on: "2025-06-09"
title: "Clusters"
description: "Learn how to configure your Kubernetes clusters on Qovery"
sidebar_label: hidden
Expand Down Expand Up @@ -61,6 +61,7 @@ Refer to the specific installation guide for your cloud provider:

<Jump to="/docs/using-qovery/configuration/clusters/aws-with-karpenter/">AWS with karpenter</Jump>
<Jump to="/docs/using-qovery/configuration/clusters/aws/">AWS</Jump>
<Jump to="/docs/using-qovery/configuration/clusters/azure/">Azure</Jump>
<Jump to="/docs/using-qovery/configuration/clusters/gcp/">GCP</Jump>
<Jump to="/docs/using-qovery/configuration/clusters/scaleway/">Scaleway</Jump>

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
last_modified_on: "2025-03-29"
last_modified_on: "2025-06-09"
title: "AWS EKS with Karpenter"
description: "Learn how to configure your AWS Kubernetes clusters with Karpenter on Qovery"
---
Expand Down Expand Up @@ -352,7 +352,7 @@ For more information on the instance types provided by each cloud provider and t
- **Consolidation schedule** *(Stable nodepool only)*: Optimizes resource usage by consolidating workloads onto fewer nodes. This feature is not available for the default nodepool, as consolidation can happen at any time. We recommend enabling this option; otherwise, nodes will never be consolidated, leading to unnecessary infrastructure costs.
- **Node pool limits**: Configure CPU and memory limits to ensure nodes stay within defined resource constraints, preventing excessive costs.

#### Image registry
#### Mirroring registry

In this tab, you will see that a container registry already exist (called `registry-{$UIID}`).
This is your cloud provider container registry used by Qovery to manage the deployment of your applications by mirroring the docker images.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -349,7 +349,7 @@ For more information on the instance types provided by each cloud provider and t
- **Consolidation schedule** *(Stable nodepool only)*: Optimizes resource usage by consolidating workloads onto fewer nodes. This feature is not available for the default nodepool, as consolidation can happen at any time. We recommend enabling this option; otherwise, nodes will never be consolidated, leading to unnecessary infrastructure costs.
- **Node pool limits**: Configure CPU and memory limits to ensure nodes stay within defined resource constraints, preventing excessive costs.

#### Image registry
#### Mirroring registry

In this tab, you will see that a container registry already exist (called `registry-{$UIID}`).
This is your cloud provider container registry used by Qovery to manage the deployment of your applications by mirroring the docker images.
Expand Down
Loading