Skip to content

Commit 90536d0

Browse files
committed
Conform to best practices
1 parent bc3cb06 commit 90536d0

File tree

1 file changed

+27
-32
lines changed

1 file changed

+27
-32
lines changed

docs/build-your-software-catalog/sync-data-to-catalog/cloud-providers/azure/azure-resource-graph.md

Lines changed: 27 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,13 @@ import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_expl
1616
This integration is in closed beta and is not available for general use. Please contact [Port's support team](http://support.port.io/) to request access.
1717
:::
1818

19-
Sync your Azure environment to Port at scale using Azure Resource Graph and Ocean framework. This integration is designed for high-volume data ingestion across multiple subscriptions, offering several key advantages:
19+
This integration provides a robust solution for syncing your Azure resources to Port by leveraging our open-source [Ocean framework](https://ocean.port.io). It is designed for high-volume data ingestion across multiple subscriptions and efficiently queries the Azure Resource Graph API, ensuring high-performance data ingestion even in large-scale environments.
2020

21+
Key advantages:
2122
- **Centralized Syncing**: Ingest resources from all your Azure subscriptions with a single deployment.
2223
- **High-Speed Ingestion**: Leverage Azure Resource Graph to query and sync up to 5000 subscriptions simultaneously for maximum performance.
2324
- **Customizable Mapping**: Take full control over which resource types are ingested and how they are mapped to your software catalog.
2425

25-
## Overview
26-
27-
This integration provides a robust solution for syncing your Azure resources to Port by leveraging our open-source [Ocean framework](https://ocean.port.io). It efficiently queries the Azure Resource Graph API, ensuring high-performance data ingestion even in large-scale environments.
28-
2926
On each run, the integration performs a full synchronization, so your software catalog always reflects the current state of your Azure resources. You can use declarative YAML mapping to transform raw data and model it according to your software catalog's structure.
3027

3128
The integration is packaged as a Docker container and can be deployed in any environment that supports it, such as Kubernetes or your CI/CD pipeline. This gives you full control over its execution schedule and operational management.
@@ -50,7 +47,7 @@ The mapping makes use of the [JQ JSON processor](https://stedolan.github.io/jq/m
5047
This is the default mapping configuration you get after installing the Azure integration.
5148

5249
<details>
53-
<summary><b>Default mapping configuration (Click to expand)</b></summary>
50+
<summary><b>Default mapping configuration (click to expand)</b></summary>
5451

5552
```yaml showLineNumbers
5653
resources:
@@ -140,13 +137,13 @@ For example, instead of fetching all resources and then filtering them in the ma
140137
Here is an example of a broad query versus an optimized query:
141138

142139
**Broad Query:**
143-
```kusto
140+
```kusto showLineNumbers
144141
resources
145142
| project id, type, name, location, tags, subscriptionId, resourceGroup
146143
```
147144

148145
**Optimized Query:**
149-
```kusto
146+
```kusto showLineNumbers
150147
resources
151148
| where type in~ ('microsoft.compute/virtualmachines', 'microsoft.storage/storageaccounts') and tags.environment == 'production'
152149
| project id, type, name, location, tags, subscriptionId, resourceGroup
@@ -174,20 +171,18 @@ Keep the following credentials handy after setup:
174171

175172
## Installation
176173

177-
<Tabs groupId="installation-methods" queryString="installation-methods" defaultValue="helm">
174+
<Tabs groupId="installation-methods" queryString defaultValue="helm">
178175

179176
<TabItem value="helm" label="Helm (Scheduled)" >
180177

181-
The Azure resource graph exporter is deployed using helm on kubernetes.
182-
183-
This way of deployment supports scheduled resyncs of resources from Azure to Port.
178+
Deploy the Azure resource graph exporter using Helm on Kubernetes to support scheduled resyncs of resources from Azure to Port.
184179

185-
<h2> Prerequisites </h2>
180+
<h2>Prerequisites</h2>
186181
- [Port API credentials](/build-your-software-catalog/sync-data-to-catalog/cloud-providers/azure/azure-resource-graph#setup)
187182
- [Helm](https://helm.sh/docs/intro/install/) >= 3.0.0
188183
- [Azure App Registration Credentials](/build-your-software-catalog/sync-data-to-catalog/cloud-providers/azure/azure-resource-graph#setup)
189184

190-
<h2> Installation </h2>
185+
<h2>Installation</h2>
191186

192187
<IntegrationVersion integration="azure-resource-graph" />
193188

@@ -226,19 +221,19 @@ helm upgrade --install azure port-labs/port-ocean \
226221

227222
<TabItem value="ci" label="CI/CD (Scheduled)">
228223

229-
<Tabs groupId="ci-methods" defaultValue="azureDevOps" queryString="ci-methods">
224+
<Tabs groupId="ci-methods" queryString defaultValue="azureDevOps">
230225

231226
<TabItem value="azureDevOps" label="Azure DevOps">
232227

233-
The Azure exporter is deployed using Azure DevOps pipline, which supports scheduled resyncs of resources from Azure to Port.
228+
Deploy the Azure exporter using an Azure DevOps pipeline to support scheduled resyncs of resources from Azure to Port.
234229

235-
<h2> Prerequisites </h2>
230+
<h2>Prerequisites</h2>
236231

237232
- [Port API credentials](/build-your-software-catalog/sync-data-to-catalog/cloud-providers/azure/azure-resource-graph#setup)
238233
- Access to an Azure DevOps project with permission to configure pipelines and secrets.
239234
- [Azure App Registration Credentials](/build-your-software-catalog/sync-data-to-catalog/cloud-providers/azure/azure-resource-graph#setup)
240235

241-
<h2> Installation </h2>
236+
<h2>Installation</h2>
242237

243238
Now that you have the Azure App Registration details, you can set up the Azure exporter using an Azure DevOps pipeline.
244239

@@ -256,7 +251,7 @@ Here is an example for `azure-pipeline-integration.yml` workflow file:
256251
Make sure to change the highlighted line to your variable group's name.
257252

258253
<details>
259-
<summary><b>Azure pipline integration (Click to expand)</b></summary>
254+
<summary><b>Azure pipeline integration (click to expand)</b></summary>
260255

261256
```yaml showLineNumbers
262257
name: Azure Resource Graph Exporter Pipeline
@@ -321,12 +316,12 @@ steps:
321316

322317
<TabItem value="github" label="GitHub Actions">
323318

324-
The Azure exporter is deployed using Github Actions, which supports scheduled resyncs of resources from Azure to Port.
319+
Deploy the Azure exporter using Github Actions to support scheduled resyncs of resources from Azure to Port.
325320

326321
- [Port API credentials](/build-your-software-catalog/sync-data-to-catalog/cloud-providers/azure/azure-resource-graph#setup)
327322
- [Azure App Registration Credentials](/build-your-software-catalog/sync-data-to-catalog/cloud-providers/azure/azure-resource-graph#setup)
328323

329-
<h2> Installation </h2>
324+
<h2>Installation</h2>
330325

331326
Now that you have the Azure App Registration details, you can set up the Azure exporter using Github Actions.
332327

@@ -347,7 +342,7 @@ Make sure to configure the following [Github Secrets](https://docs.github.com/en
347342
Here is an example for `azure-rg-integration.yml` workflow file:
348343

349344
<details>
350-
<summary><b>GitHub Action integration (Click to expand)</b></summary>
345+
<summary><b>GitHub Action integration (click to expand)</b></summary>
351346

352347
```yaml showLineNumbers
353348
name: Azure Resource Graph Exporter Workflow
@@ -379,13 +374,13 @@ Here is an example for `azure-rg-integration.yml` workflow file:
379374

380375
<TabItem value="argocd" label="ArgoCD">
381376

382-
<h2> Prerequisites </h2>
377+
<h2>Prerequisites</h2>
383378

384379
- [Port API credentials](/build-your-software-catalog/sync-data-to-catalog/cloud-providers/azure/azure-resource-graph#setup)
385380
- [ArgoCD](https://argoproj.github.io/argo-cd/getting_started/) >= 2.0.0
386381
- [Azure App Registration Credentials](/build-your-software-catalog/sync-data-to-catalog/cloud-providers/azure/azure-resource-graph#setup)
387382

388-
<h2> Installation </h2>
383+
<h2>Installation</h2>
389384

390385
1. Create a `values.yaml` file in `argocd/azure-rg-integration` in your git repository with the content:
391386

@@ -407,11 +402,11 @@ Here is an example for `azure-rg-integration.yml` workflow file:
407402

408403
:::note Replace placeholders
409404
Remember to replace the placeholders for `YOUR_PORT_CLIENT_ID` `YOUR_PORT_CLIENT_SECRET` and `YOUR_GIT_REPO_URL`.
410-
Multiple sources ArgoCD documentation can be found [here](https://argo-cd.readthedocs.io/en/stable/user-guide/multiple_sources/#helm-value-files-from-external-git-repository).
405+
Multiple sources ArgoCD documentation can be found in the [official documentation](https://argo-cd.readthedocs.io/en/stable/user-guide/multiple_sources/#helm-value-files-from-external-git-repository).
411406
:::
412407

413408
<details>
414-
<summary><b>ArgoCD Application (Click to expand)</b></summary>
409+
<summary><b>ArgoCD Application (click to expand)</b></summary>
415410

416411
```yaml showLineNumbers
417412
apiVersion: argoproj.io/v1alpha1
@@ -465,7 +460,7 @@ kubectl apply -f azure-rg-integration.yaml
465460

466461
<TabItem value="gitlab" label="GitLab">
467462

468-
<h2> Prerequisites </h2>
463+
<h2>Prerequisites</h2>
469464

470465
- [Port API credentials](/build-your-software-catalog/sync-data-to-catalog/cloud-providers/azure/azure-resource-graph#setup)
471466
- [Azure App Registration Credentials](/build-your-software-catalog/sync-data-to-catalog/cloud-providers/azure/azure-resource-graph#setup)
@@ -532,12 +527,12 @@ ingest_data:
532527

533528
<TabItem value="on-prem" label="On-Prem (Once)">
534529

535-
<h2> Prerequisites </h2>
530+
<h2>Prerequisites</h2>
536531
- [Port API credentials](/build-your-software-catalog/sync-data-to-catalog/cloud-providers/azure/azure-resource-graph#setup)
537532
- [Docker](https://docs.docker.com/get-docker/)
538533
- [Azure App Registration Credentials](/build-your-software-catalog/sync-data-to-catalog/cloud-providers/azure/azure-resource-graph#setup)
539534

540-
<h2> Installation </h2>
535+
<h2>Installation</h2>
541536

542537
Now that you have the Azure App Registration details, you can install the Azure exporter using Docker.
543538

@@ -552,7 +547,7 @@ You should have the following information ready:
552547
- `AZURE_TENANT_ID`: The Directory (tenant) ID from the Azure App Registration.
553548

554549
<details>
555-
<summary>Environment Variables</summary>
550+
<summary><b>Environment Variables (click to expand)</b></summary>
556551

557552
| Variable | Description |
558553
|---------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------|
@@ -572,7 +567,7 @@ You should have the following information ready:
572567

573568
For example:
574569

575-
```bash
570+
```bash showLineNumbers
576571
docker run -i --rm --platform=linux/amd64 \
577572
-e OCEAN__PORT__CLIENT_ID="$PORT_CLIENT_ID" \
578573
-e OCEAN__PORT__CLIENT_SECRET="$PORT_CLIENT_SECRET" \
@@ -592,7 +587,7 @@ ghcr.io/port-labs/port-ocean-azure-rg:latest
592587

593588
## Examples
594589

595-
### Mapping Azure Cloud resources
590+
### Mapping Azure cloud resources
596591

597592
The following example demonstrates how to ingest your Azure Subscriptions to Port.
598593
You can use the following Port blueprint definitions and integration configuration:

0 commit comments

Comments
 (0)