feat(docs): Hashicorp Vault App Connection & Secret Sync Docs

This commit is contained in:
x
2025-04-24 21:22:44 -04:00
parent 92084ccd47
commit fab385fdd9
55 changed files with 450 additions and 159 deletions

View File

@@ -0,0 +1,4 @@
---
title: "Available"
openapi: "GET /api/v1/app-connections/hashicorp-vault/available"
---

View File

@@ -0,0 +1,8 @@
---
title: "Create"
openapi: "POST /api/v1/app-connections/hashicorp-vault"
---
<Note>
Check out the configuration docs for [Hashicorp Vault Connections](/integrations/app-connections/hashicorp-vault) to learn how to obtain the required credentials.
</Note>

View File

@@ -0,0 +1,4 @@
---
title: "Delete"
openapi: "DELETE /api/v1/app-connections/hashicorp-vault/{connectionId}"
---

View File

@@ -0,0 +1,4 @@
---
title: "Get by ID"
openapi: "GET /api/v1/app-connections/hashicorp-vault/{connectionId}"
---

View File

@@ -0,0 +1,4 @@
---
title: "Get by Name"
openapi: "GET /api/v1/app-connections/hashicorp-vault/connection-name/{connectionName}"
---

View File

@@ -0,0 +1,4 @@
---
title: "List"
openapi: "GET /api/v1/app-connections/hashicorp-vault"
---

View File

@@ -0,0 +1,8 @@
---
title: "Update"
openapi: "PATCH /api/v1/app-connections/hashicorp-vault/{connectionId}"
---
<Note>
Check out the configuration docs for [Hashicorp Vault Connections](/integrations/app-connections/hashicorp-vault) to learn how to obtain the required credentials.
</Note>

View File

@@ -0,0 +1,4 @@
---
title: "Create"
openapi: "POST /api/v1/secret-syncs/hashicorp-vault"
---

View File

@@ -0,0 +1,4 @@
---
title: "Delete"
openapi: "DELETE /api/v1/secret-syncs/hashicorp-vault/{syncId}"
---

View File

@@ -0,0 +1,4 @@
---
title: "Get by ID"
openapi: "GET /api/v1/secret-syncs/hashicorp-vault/{syncId}"
---

View File

@@ -0,0 +1,4 @@
---
title: "Get by Name"
openapi: "GET /api/v1/secret-syncs/hashicorp-vault/sync-name/{syncName}"
---

View File

@@ -0,0 +1,4 @@
---
title: "Import Secrets"
openapi: "POST /api/v1/secret-syncs/hashicorp-vault/{syncId}/import-secrets"
---

View File

@@ -0,0 +1,4 @@
---
title: "List"
openapi: "GET /api/v1/secret-syncs/hashicorp-vault"
---

View File

@@ -0,0 +1,4 @@
---
title: "Remove Secrets"
openapi: "POST /api/v1/secret-syncs/hashicorp-vault/{syncId}/remove-secrets"
---

View File

@@ -0,0 +1,4 @@
---
title: "Sync Secrets"
openapi: "POST /api/v1/secret-syncs/hashicorp-vault/{syncId}/sync-secrets"
---

View File

@@ -0,0 +1,4 @@
---
title: "Update"
openapi: "PATCH /api/v1/secret-syncs/hashicorp-vault/{syncId}"
---

Binary file not shown.

After

Width:  |  Height:  |  Size: 400 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 312 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 275 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 230 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 673 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 726 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 399 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 209 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 407 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 380 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 407 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 140 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 608 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 736 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 141 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 770 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 868 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 140 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 641 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 753 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 545 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 599 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 687 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 655 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 634 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 656 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 662 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 626 KiB

View File

@@ -0,0 +1,190 @@
---
title: "Hashicorp Vault Connection"
description: "Learn how to configure a Hashicorp Vault Connection for Infisical."
---
<Note>
The Hashicorp Vault UI may vary based on whether you're self-hosting or using HCP, but the written directions should still be universal.
</Note>
Infisical supports two methods for connecting to Hashicorp Vault.
<Tabs>
<Tab title="App Role (Recommended)">
<Steps>
<Step title="Navigate to Vault Access">
![Vault Access](/images/app-connections/hashicorp-vault/vault-access.png)
</Step>
<Step title="Enable New Method">
In the **Authentication Methods** tab, click on **Enable new method**.
![Vault Enable Method](/images/app-connections/hashicorp-vault/vault-authentication-methods.png)
</Step>
<Step title="Select AppRole">
![Vault AppRole](/images/app-connections/hashicorp-vault/vault-approle.png)
</Step>
<Step title="Enable Method">
You may change the name of the method, but we suggest keeping it as `approle`.
![Vault Enable Method](/images/app-connections/hashicorp-vault/vault-enable-method.png)
</Step>
<Step title="Navigate to Vault Policies">
From the home page, navigate to **Policies**.
![Vault Policies Navigate](/images/app-connections/hashicorp-vault/vault-policies-navigate.png)
</Step>
<Step title="Create ACL Policy">
![Vault Policies Page](/images/app-connections/hashicorp-vault/vault-policies-page.png)
</Step>
<Step title="Create Policy">
You may name your policy whatever you want, but remember the name as it will be used in future steps.
<Note>
Ensure that you replace the policy path so that it matches with an existing KV Secrets Engine mount and path.
</Note>
```hcl
path "demo_mount/data/demo_path/demo_subpath" {
capabilities = [ "create", "read", "update" ]
}
path "sys/mounts" {
capabilities = ["read"]
}
```
![Vault Create Policy](/images/app-connections/hashicorp-vault/vault-create-policy.png)
</Step>
<Step title="Run Shell Commands">
**Open Vault Shell**
![Vault Shell](/images/app-connections/hashicorp-vault/vault-shell.png)
<Note>
If you used custom approle or policy names in previous steps, you'll need to customize the following commands.
</Note>
**Create Infisical Role**
```hcl
vault write auth/approle/role/infisical token_policies="infisical-policy" token_ttl=30s token_max_ttl=2m
```
**Read RoleID**
```hcl
vault read auth/approle/role/infisical/role-id
```
**Generate New SecretID**
```hcl
vault write -force auth/approle/role/infisical/secret-id
```
Your shell output should look similar to the image below. Save the RoleID and SecretID values for later steps.
![Vault Shell Output](/images/app-connections/hashicorp-vault/vault-shell-output.png)
</Step>
</Steps>
</Tab>
<Tab title="Access Token">
## Get a Hashicorp Vault Access Token
Open your profile dropdown and click **Copy token**. This token will be used in later steps.
![Vault Profile Copy Token](/images/app-connections/hashicorp-vault/vault-profile-token.png)
</Tab>
</Tabs>
## Getting Vault Instance URL
<Tabs>
<Tab title="Self Hosted">
On self-hosted instances, simply copy your vault's base URL. (Ex. `https://vault.mycompany.com`)
Save this value for later steps.
</Tab>
<Tab title="HCP">
On HCP instances, you may need to navigate to **Cluster Overview** to see your cluster URL. Save this value for later steps.
![Vault Cluster URLs](/images/app-connections/hashicorp-vault/vault-cluster-urls.png)
</Tab>
</Tabs>
## Setup Vault Connection in Infisical
<Tabs>
<Tab title="Infisical UI">
<Steps>
<Step title="Navigate to App Connections">
In your Infisical dashboard, go to **Organization Settings** and select the **App Connections** tab.
![App Connections Tab](/images/app-connections/general/add-connection.png)
</Step>
<Step title="Add Connection">
Click the **+ Add Connection** button and select the **Hashicorp Vault Connection** option.
![Select Vault Connection](/images/app-connections/hashicorp-vault/vault-infisical-connect-page.png)
</Step>
<Step title="Configure Connection">
Configure your Vault Connection using the Instance URL and credentials from the steps above. **Depending on if you chose to authenticate with an Access Token or AppRole, you may need to input different information.**
![Vault Configure Connection](/images/app-connections/hashicorp-vault/vault-infisical-connect-modal.png)
- **Name**: The name of the connection being created. Must be slug-friendly.
- **Description**: An optional description to provide details about this connection.
- **Instance URL**: The URL of your Hashicorp Vault instance.
- **Access Token**: The Access Token generated in the steps above (if using Access Token authentication method).
- **Role ID**: The Role ID generated in the steps above (if using AppRole authentication method).
- **Secret ID**: The Secret ID generated in the steps above (if using AppRole authentication method).
</Step>
<Step title="Connection Created">
Your Vault Connection is now available for use.
![Vault Connection Created](/images/app-connections/hashicorp-vault/vault-infisical-connect-success.png)
</Step>
</Steps>
</Tab>
<Tab title="API">
To create a Vault Connection, make an API request to the [Create Hashicorp Vault
Connection](/api-reference/endpoints/app-connections/hashicorp-vault/create) API endpoint.
### Sample request
```bash Request
curl --request POST \
--url https://app.infisical.com/api/v1/app-connections/hashicorp-vault \
--header 'Content-Type: application/json' \
--data '{
"name": "my-vault-connection",
"method": "app-role",
"credentials": {
"instanceUrl": "https://vault.mycompany.com",
"roleId": "4797c4fa-7794-71f0-c8b1-7c87759df5bf",
"secretId": "ad24df93-19c8-c865-9997-6b8513253d3a"
}
}'
```
### Sample response
```bash Response
{
"appConnection": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "my-vault-connection",
"version": 1,
"orgId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"createdAt": "2025-04-01T05:31:56Z",
"updatedAt": "2025-04-01T05:31:56Z",
"app": "hashicorp-vault",
"method": "app-role",
"credentials": {
"instanceUrl": "https://vault.mycompany.com",
"roleId": "4797c4fa-7794-71f0-c8b1-7c87759df5bf"
}
}
}
```
</Tab>
</Tabs>

View File

@@ -4,158 +4,5 @@ description: "How to sync secrets from Infisical to HashiCorp Vault"
---
<Note>
Infisical connects to Vault via the AppRole auth method.
Currently, each Infisical project can only point and sync secrets to one Vault cluster / namespace
but with unlimited integrations to different paths within it.
This tutorial makes use of Vault's UI but, in principle, instructions can executed via
Vault CLI or API call.
Lastly, you should note that we provide a simple use-case and, in practice, you should adapt and extend it to your own Vault use-case and follow best practices, for instance when defining fine-grained ACL policies.
The Hashicorp Vault Native Integration will be deprecated in 2026. Please migrate to our new [Hashicorp Vault Sync](../secret-syncs/hashicorp-vault).
</Note>
Prerequisites:
- Set up and add envars to [Infisical Cloud](https://app.infisical.com)
- Have experience with [HashiCorp Vault](https://www.vaultproject.io/).
## Navigate to your project's integrations tab
![integrations](../../images/integrations.png)
## Prepare Vault
This section mirrors the latter parts of the [Vault quickstart](https://developer.hashicorp.com/vault/tutorials/cloud/getting-started-intro) provided by HashiCorp and uses sample names/values for demonstration.
To begin, navigate to the cluster / namespace that you want to sync secrets to in Vault; we'll use the default `admin` namespace (in practice, we recommend creating a namespace and not using the default `admin` namespace).
### Enable KV Secrets Engine
In Secrets, enable a KV Secrets Engine at a path for Infisical to sync secrets to; we'll use the path `kv`.
![integrations hashicorp vault secrets engine](../../images/integrations/hashicorp-vault/integrations-hashicorp-vault-engine-1.png)
![integrations hashicorp vault secrets engine](../../images/integrations/hashicorp-vault/integrations-hashicorp-vault-engine-2.png)
![integrations hashicorp vault secrets engine](../../images/integrations/hashicorp-vault/integrations-hashicorp-vault-engine-3.png)
### Enable the AppRole auth method
In Access > Auth Methods, enable the AppRole auth method.
![integrations hashicorp vault access](../../images/integrations/hashicorp-vault/integrations-hashicorp-vault-access-1.png)
![integrations hashicorp vault access](../../images/integrations/hashicorp-vault/integrations-hashicorp-vault-access-2.png)
![integrations hashicorp vault access](../../images/integrations/hashicorp-vault/integrations-hashicorp-vault-access-3.png)
### Create an ACL Policy
Now in Policies, create a new ACL policy scoped to the path(s) you wish Infisical to be able to sync secrets to.
We'll call the policy `test` and have it grant access to the `dev` path in the KV Secrets Engine where we will be syncing secrets to from Infisical.
```console
path "kv/data/dev" {
capabilities = [ "create", "read", "update" ]
}
path "sys/namespaces/*" {
capabilities = [ "create", "read", "update", "delete", "list" ]
}
```
<Note>
`kv` comes from the path of the KV Secrets Engine that we enabled and `dev` is the chosen path within it
that we want to sync secrets to.
</Note>
![integrations hashicorp vault policy](../../images/integrations/hashicorp-vault/integrations-hashicorp-vault-policy-1.png)
![integrations hashicorp vault policy](../../images/integrations/hashicorp-vault/integrations-hashicorp-vault-policy-2.png)
![integrations hashicorp vault policy](../../images/integrations/hashicorp-vault/integrations-hashicorp-vault-policy-3.png)
### Create a role with the policy attached
We now create a `infisical` role with the generated token's time-to-live (TTL) set to 1 hour and can be renewed for up to 4 hours from the time of its creation.
1. Click the Vault CLI shell icon (`>_`) to open a command shell in the browser.
![integrations hashicorp vault shell](../../images/integrations/hashicorp-vault/integrations-hashicorp-vault-shell.png)
2. Copy the command below.
```console
vault write auth/approle/role/infisical token_policies="test" token_ttl=1h token_max_ttl=4h
```
3. Paste the command into the command shell in the browser and press the enter button.
### Generate a RoleID and SecretID
Finally, we need to generate a **RoleID** and **SecretID** (like a username and password) that Infisical can use
to authenticate with Vault.
1. Click the Vault CLI shell icon (>_) again to open a command shell.
2. Read the RoleID.
```console
vault read auth/approle/role/infisical/role-id
```
Example output:
```console
Key Value
role_id b6ccdcca-183b-ce9c-6b98-b556b9a0edb9
```
3. Generate a new SecretID of the `infisical` role.
```console
vault write -force auth/approle/role/infisical/secret-id
```
Example output:
```console
Key Value
secret_id 735a47cc-7a98-77cc-0128-12b1e96a4157
secret_id_accessor 3ab305d1-1eab-df4b-4079-ef7135635c49
...snip...
```
Great. We're now ready to connect Infisical to Vault!
## Enter your Vault instance and authentication details
Back in Infisical, press on the HashiCorp Vault tile and input your Vault instance and `infisical` role RoleID and SecretID.
![integrations hashicorp vault authorization](../../images/integrations/hashicorp-vault/integrations-hashicorp-vault-auth.png)
For additional details on each field:
- Vault Cluster URL: The address of your cluster, either HCP or self-hosted.
If using HCP, you can copy your Cluster URL in the Cluster Overview:
![integrations hashicorp vault cluster URL](../../images/integrations/hashicorp-vault/integrations-hashicorp-vault-cluster-url.png)
- Vault Namespace: The Vault namespace you wish to connect to.
- Vault RoleID: The RoleID previously created for the `infisical` role.
- Vault SecretID: The SecretID previously created for the `infisical` role.
## Start integration
Select which Infisical environment secrets you want to sync to Vault.
For additional details on each field:
- Vault KV Secrets Engine Path: the path at which you enabled the intended KV Secrets Engine; in this demonstration, we used `kv`.
- Vault Secret(s) Path: the path in the KV Secrets Engine that you wish to sync secrets to.
Press create integration to start syncing secrets to Vault.
![integrations hashicorp vault](../../images/integrations/hashicorp-vault/integrations-hashicorp-vault-create.png)
![integrations hashicorp vault](../../images/integrations/hashicorp-vault/integrations-hashicorp-vault.png)

View File

@@ -0,0 +1,156 @@
---
title: "Hashicorp Vault Sync"
description: "Learn how to configure a Hashicorp Vault Sync for Infisical."
---
**Prerequisites:**
- Set up and add secrets to [Infisical Cloud](https://app.infisical.com)
- Create a [Hashicorp Vault Connection](/integrations/app-connections/hashicorp-vault)
<Tabs>
<Tab title="Infisical UI">
<Steps>
<Step title="Add Sync">
Navigate to **Project** > **Integrations** and select the **Secret Syncs** tab. Click on the **Add Sync** button.
![Secret Syncs Tab](/images/secret-syncs/general/secret-sync-tab.png)
</Step>
<Step title="Select Hashicorp Vault">
![Select Hashicorp Vault](/images/secret-syncs/hashicorp-vault/select-option.png)
</Step>
<Step title="Configure Source">
Configure the **Source** from where secrets should be retrieved, then click **Next**.
![Configure Source](/images/secret-syncs/hashicorp-vault/sync-source.png)
- **Environment**: The project environment to retrieve secrets from.
- **Secret Path**: The folder path to retrieve secrets from.
<Tip>
If you need to sync secrets from multiple folder locations, check out [secret imports](/documentation/platform/secret-reference#secret-imports).
</Tip>
</Step>
<Step title="Configure Destination">
Configure the **Destination** to where secrets should be deployed.
![Configure Destination](/images/secret-syncs/hashicorp-vault/sync-destination.png)
- **Hashicorp Vault Connection**: The Vault Connection to authenticate with.
- **Secrets Engine Mount**: The Secrets Engine Mount to sync secrets to.
- **Path**: The Secrets Engine Mount path to sync secrets to.
After configuring these parameters, click the **Next** button to continue to the Sync Options step.
</Step>
<Step title="Configure Sync Options">
Configure the **Sync Options** to specify how secrets should be synced, then click **Next**.
![Configure Options](/images/secret-syncs/hashicorp-vault/sync-options.png)
- **Initial Sync Behavior**: Determines how Infisical should resolve the initial sync.
- **Overwrite Destination Secrets**: Removes any secrets at the destination endpoint not present in Infisical.
- **Import Secrets (Prioritize Infisical)**: Imports secrets from the destination endpoint before syncing, prioritizing values from Infisical over Hashicorp Vault when keys conflict.
- **Import Secrets (Prioritize Hashicorp Vault)**: Imports secrets from the destination endpoint before syncing, prioritizing values from Hashicorp Vault over Infisical when keys conflict.
- **Auto-Sync Enabled**: If enabled, secrets will automatically be synced from the source location when changes occur. Disable to enforce manual syncing only.
- **Disable Secret Deletion**: If enabled, Infisical will not remove secrets from the sync destination. Enable this option if you intend to manage some secrets manually outside of Infisical.
</Step>
<Step title="Configure Details">
Configure the **Details** of your Hashicorp Vault Sync, then click **Next**.
![Configure Details](/images/secret-syncs/hashicorp-vault/sync-details.png)
- **Name**: The name of your sync. Must be slug-friendly.
- **Description**: An optional description for your sync.
</Step>
<Step title="Review Configuration">
Review your Hashicorp Vault Sync configuration, then click **Create Sync**.
![Confirm Configuration](/images/secret-syncs/hashicorp-vault/sync-review.png)
</Step>
<Step title="Sync Created">
If enabled, your Hashicorp Vault Sync will begin syncing your secrets to the destination endpoint.
![Sync Created](/images/secret-syncs/hashicorp-vault/sync-created.png)
</Step>
</Steps>
</Tab>
<Tab title="API">
To create an **Hashicorp Vault Sync**, make an API request to the [Create Hashicorp Vault Sync](/api-reference/endpoints/secret-syncs/hashicorp-vault/create) API endpoint.
### Sample request
```bash Request
curl --request POST \
--url https://app.infisical.com/api/v1/secret-syncs/hashicorp-vault \
--header 'Content-Type: application/json' \
--data '{
"name": "my-vault-sync",
"projectId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"description": "an example sync",
"connectionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"environment": "dev",
"secretPath": "/",
"isEnabled": true,
"syncOptions": {
"initialSyncBehavior": "overwrite-destination"
},
"destinationConfig": {
"mount": "secret",
"path": "dev/nested"
}
}'
```
### Sample response
```bash Response
{
"secretSync": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "my-vault-sync",
"description": "an example sync",
"isEnabled": true,
"version": 1,
"folderId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"connectionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"syncStatus": "succeeded",
"lastSyncJobId": "123",
"lastSyncMessage": null,
"lastSyncedAt": "2023-11-07T05:31:56Z",
"importStatus": null,
"lastImportJobId": null,
"lastImportMessage": null,
"lastImportedAt": null,
"removeStatus": null,
"lastRemoveJobId": null,
"lastRemoveMessage": null,
"lastRemovedAt": null,
"syncOptions": {
"initialSyncBehavior": "overwrite-destination"
},
"projectId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"connection": {
"app": "hashicorp-vault",
"name": "my-vault-connection",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"environment": {
"slug": "dev",
"name": "Development",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"folder": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"path": "/"
},
"destination": "hashicorp-vault",
"destinationConfig": {
"mount": "secret",
"path": "dev/nested"
}
}
}
```
</Tab>
</Tabs>

View File

@@ -429,7 +429,8 @@
"integrations/app-connections/postgres",
"integrations/app-connections/terraform-cloud",
"integrations/app-connections/vercel",
"integrations/app-connections/windmill"
"integrations/app-connections/windmill",
"integrations/app-connections/hashicorp-vault"
]
}
]
@@ -452,7 +453,8 @@
"integrations/secret-syncs/humanitec",
"integrations/secret-syncs/terraform-cloud",
"integrations/secret-syncs/vercel",
"integrations/secret-syncs/windmill"
"integrations/secret-syncs/windmill",
"integrations/secret-syncs/hashicorp-vault"
]
}
]
@@ -559,9 +561,7 @@
},
{
"group": "Others",
"pages": [
"integrations/external/backstage"
]
"pages": ["integrations/external/backstage"]
},
{
"group": "",
@@ -1073,6 +1073,18 @@
"api-reference/endpoints/app-connections/windmill/update",
"api-reference/endpoints/app-connections/windmill/delete"
]
},
{
"group": "Hashicorp Vault",
"pages": [
"api-reference/endpoints/app-connections/hashicorp-vault/list",
"api-reference/endpoints/app-connections/hashicorp-vault/available",
"api-reference/endpoints/app-connections/hashicorp-vault/get-by-id",
"api-reference/endpoints/app-connections/hashicorp-vault/get-by-name",
"api-reference/endpoints/app-connections/hashicorp-vault/create",
"api-reference/endpoints/app-connections/hashicorp-vault/update",
"api-reference/endpoints/app-connections/hashicorp-vault/delete"
]
}
]
},
@@ -1243,6 +1255,20 @@
"api-reference/endpoints/secret-syncs/windmill/import-secrets",
"api-reference/endpoints/secret-syncs/windmill/remove-secrets"
]
},
{
"group": "Hashicorp Vault",
"pages": [
"api-reference/endpoints/secret-syncs/hashicorp-vault/list",
"api-reference/endpoints/secret-syncs/hashicorp-vault/get-by-id",
"api-reference/endpoints/secret-syncs/hashicorp-vault/get-by-name",
"api-reference/endpoints/secret-syncs/hashicorp-vault/create",
"api-reference/endpoints/secret-syncs/hashicorp-vault/update",
"api-reference/endpoints/secret-syncs/hashicorp-vault/delete",
"api-reference/endpoints/secret-syncs/hashicorp-vault/sync-secrets",
"api-reference/endpoints/secret-syncs/hashicorp-vault/import-secrets",
"api-reference/endpoints/secret-syncs/hashicorp-vault/remove-secrets"
]
}
]
},