doc: added documentation for azure app configuration
|
After Width: | Height: | Size: 616 KiB |
|
After Width: | Height: | Size: 355 KiB |
|
After Width: | Height: | Size: 418 KiB |
|
After Width: | Height: | Size: 444 KiB |
|
After Width: | Height: | Size: 503 KiB |
|
After Width: | Height: | Size: 1.2 MiB |
|
After Width: | Height: | Size: 1.1 MiB |
|
After Width: | Height: | Size: 1.1 MiB |
|
After Width: | Height: | Size: 554 KiB |
|
After Width: | Height: | Size: 835 KiB |
@@ -0,0 +1,75 @@
|
|||||||
|
---
|
||||||
|
title: "Azure App Configuration"
|
||||||
|
description: "How to sync secrets from Infisical to Azure App Configuration"
|
||||||
|
---
|
||||||
|
|
||||||
|
<Tabs>
|
||||||
|
<Tab title="Usage">
|
||||||
|
Prerequisites:
|
||||||
|
|
||||||
|
- Set up and add envars to [Infisical Cloud](https://app.infisical.com).
|
||||||
|
- Set up Azure and have an existing App Configuration instance.
|
||||||
|
- User setting up the integration on Infisical must have the `App Configuration Data Owner` role for the intended Azure App Configuration instance.
|
||||||
|
- Azure App Configuration instance must be reachable by Infisical.
|
||||||
|
|
||||||
|
<Steps>
|
||||||
|
<Step title="Authorize Infisical for Azure App Configuration">
|
||||||
|
Navigate to your project's integrations tab
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Press on the Azure App Configuration tile and grant Infisical access to App Configuration.
|
||||||
|
</Step>
|
||||||
|
<Step title="Start integration">
|
||||||
|
Obtain the Azure App Configuration endpoint from the overview tab.
|
||||||
|

|
||||||
|
|
||||||
|
Select which Infisical environment secrets you want to sync to your Azure App Configuration. Then, input your App Configuration instance endpoint. Optionally, you can define a prefix for your secrets which will be appended to the keys upon syncing.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Press create integration to start syncing secrets to Azure App Configuration.
|
||||||
|
</Step>
|
||||||
|
</Steps>
|
||||||
|
|
||||||
|
</Tab>
|
||||||
|
<Tab title="Self-Hosted Setup">
|
||||||
|
Using the Azure App Configuration integration on a self-hosted instance of Infisical requires configuring an application in Azure
|
||||||
|
and registering your instance with it.
|
||||||
|
|
||||||
|
<Steps>
|
||||||
|
<Step title="Create an application in Azure">
|
||||||
|
Navigate to Azure Active Directory > App registrations to create a new application.
|
||||||
|
|
||||||
|
<Info>
|
||||||
|
Azure Active Directory is now Microsoft Entra ID.
|
||||||
|
</Info>
|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
|
Create the application. As part of the form, set the **Redirect URI** to `https://your-domain.com/integrations/azure-app-configuration/oauth2/callback`.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
After registration, set the API permissions of the app to include the following Azure App Configuration permissions: KeyValue.Delete, KeyValue.Read, and KeyValue.Write.
|
||||||
|

|
||||||
|
|
||||||
|
</Step>
|
||||||
|
<Step title="Add your application credentials to Infisical">
|
||||||
|
Obtain the **Application (Client) ID** in Overview and generate a **Client Secret** in Certificate & secrets for your Azure application.
|
||||||
|
|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
|
Back in your Infisical instance, add two new environment variables for the credentials of your Azure application.
|
||||||
|
|
||||||
|
- `CLIENT_ID_AZURE`: The **Application (Client) ID** of your Azure application.
|
||||||
|
- `CLIENT_SECRET_AZURE`: The **Client Secret** of your Azure application.
|
||||||
|
|
||||||
|
Once added, restart your Infisical instance and use the Azure App Configuration integration.
|
||||||
|
</Step>
|
||||||
|
</Steps>
|
||||||
|
|
||||||
|
</Tab>
|
||||||
|
</Tabs>
|
||||||
@@ -357,6 +357,7 @@
|
|||||||
},
|
},
|
||||||
"integrations/cloud/vercel",
|
"integrations/cloud/vercel",
|
||||||
"integrations/cloud/azure-key-vault",
|
"integrations/cloud/azure-key-vault",
|
||||||
|
"integrations/cloud/azure-app-configuration",
|
||||||
"integrations/cloud/azure-devops",
|
"integrations/cloud/azure-devops",
|
||||||
"integrations/cloud/gcp-secret-manager",
|
"integrations/cloud/gcp-secret-manager",
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -137,7 +137,10 @@ export default function AzureAppConfigurationCreateIntegration() {
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<span className="ml-1.5">Azure App Configuration</span>
|
<span className="ml-1.5">Azure App Configuration</span>
|
||||||
<Link href="https://infisical.com/docs/integrations/cloud/aws-secret-manager" passHref>
|
<Link
|
||||||
|
href="https://infisical.com/docs/integrations/cloud/azure-app-configuration"
|
||||||
|
passHref
|
||||||
|
>
|
||||||
<a target="_blank" rel="noopener noreferrer">
|
<a target="_blank" rel="noopener noreferrer">
|
||||||
<div className="ml-2 mb-1 inline-block cursor-default rounded-md bg-yellow/20 px-1.5 pb-[0.03rem] pt-[0.04rem] text-sm text-yellow opacity-80 hover:opacity-100">
|
<div className="ml-2 mb-1 inline-block cursor-default rounded-md bg-yellow/20 px-1.5 pb-[0.03rem] pt-[0.04rem] text-sm text-yellow opacity-80 hover:opacity-100">
|
||||||
<FontAwesomeIcon icon={faBookOpen} className="mr-1.5" />
|
<FontAwesomeIcon icon={faBookOpen} className="mr-1.5" />
|
||||||
|
|||||||
@@ -83,6 +83,11 @@ export const IntegrationsSection = ({
|
|||||||
}?`}
|
}?`}
|
||||||
onChange={(isOpen) => handlePopUpToggle("deleteConfirmation", isOpen)}
|
onChange={(isOpen) => handlePopUpToggle("deleteConfirmation", isOpen)}
|
||||||
deleteKey={
|
deleteKey={
|
||||||
|
((popUp?.deleteConfirmation?.data as TIntegration)?.integration ===
|
||||||
|
"azure-app-configuration" &&
|
||||||
|
(popUp?.deleteConfirmation?.data as TIntegration)?.app
|
||||||
|
?.split("//")[1]
|
||||||
|
?.split(".")[0]) ||
|
||||||
(popUp?.deleteConfirmation?.data as TIntegration)?.app ||
|
(popUp?.deleteConfirmation?.data as TIntegration)?.app ||
|
||||||
(popUp?.deleteConfirmation?.data as TIntegration)?.owner ||
|
(popUp?.deleteConfirmation?.data as TIntegration)?.owner ||
|
||||||
(popUp?.deleteConfirmation?.data as TIntegration)?.path ||
|
(popUp?.deleteConfirmation?.data as TIntegration)?.path ||
|
||||||
|
|||||||