diff --git a/backend/src/services/secret-sync/humanitec/humanitec-sync-fns.ts b/backend/src/services/secret-sync/humanitec/humanitec-sync-fns.ts index 61655ceea..d0377d4b8 100644 --- a/backend/src/services/secret-sync/humanitec/humanitec-sync-fns.ts +++ b/backend/src/services/secret-sync/humanitec/humanitec-sync-fns.ts @@ -109,7 +109,7 @@ const updateSecret = async (secretSync: THumanitecSyncWithCredentials, secretMap `${IntegrationUrls.HUMANITEC_API_URL}/orgs/${destinationConfig.org}/apps/${destinationConfig.app}/envs/${destinationConfig.env}/values/${key}`, { value: secretMap[key].value, - description: secretMap[key].comment + description: secretMap[key].comment || "" }, { headers: { diff --git a/docs/images/app-connections/humanitec/humanitec-connection.png b/docs/images/app-connections/humanitec/humanitec-connection.png new file mode 100644 index 000000000..b18ac8aac Binary files /dev/null and b/docs/images/app-connections/humanitec/humanitec-connection.png differ diff --git a/docs/images/app-connections/humanitec/select-humanitec-connection.png b/docs/images/app-connections/humanitec/select-humanitec-connection.png new file mode 100644 index 000000000..70d430cfc Binary files /dev/null and b/docs/images/app-connections/humanitec/select-humanitec-connection.png differ diff --git a/docs/images/integrations/humanitec/add-humanitec-connection.png b/docs/images/integrations/humanitec/add-humanitec-connection.png new file mode 100644 index 000000000..9ae9a7bf1 Binary files /dev/null and b/docs/images/integrations/humanitec/add-humanitec-connection.png differ diff --git a/docs/images/integrations/humanitec/add-service-user-to-application.png b/docs/images/integrations/humanitec/add-service-user-to-application.png new file mode 100644 index 000000000..0d132199f Binary files /dev/null and b/docs/images/integrations/humanitec/add-service-user-to-application.png differ diff --git a/docs/images/integrations/humanitec/create-service-user.png b/docs/images/integrations/humanitec/create-service-user.png new file mode 100644 index 000000000..212447d5e Binary files /dev/null and b/docs/images/integrations/humanitec/create-service-user.png differ diff --git a/docs/images/secret-syncs/humanitec/humanitec-created.png b/docs/images/secret-syncs/humanitec/humanitec-created.png new file mode 100644 index 000000000..15c8f945b Binary files /dev/null and b/docs/images/secret-syncs/humanitec/humanitec-created.png differ diff --git a/docs/images/secret-syncs/humanitec/humanitec-destination.png b/docs/images/secret-syncs/humanitec/humanitec-destination.png new file mode 100644 index 000000000..7c65b95fd Binary files /dev/null and b/docs/images/secret-syncs/humanitec/humanitec-destination.png differ diff --git a/docs/images/secret-syncs/humanitec/humanitec-details.png b/docs/images/secret-syncs/humanitec/humanitec-details.png new file mode 100644 index 000000000..a48cd8c62 Binary files /dev/null and b/docs/images/secret-syncs/humanitec/humanitec-details.png differ diff --git a/docs/images/secret-syncs/humanitec/humanitec-options.png b/docs/images/secret-syncs/humanitec/humanitec-options.png new file mode 100644 index 000000000..071c1b8f0 Binary files /dev/null and b/docs/images/secret-syncs/humanitec/humanitec-options.png differ diff --git a/docs/images/secret-syncs/humanitec/humanitec-review.png b/docs/images/secret-syncs/humanitec/humanitec-review.png new file mode 100644 index 000000000..adda5535f Binary files /dev/null and b/docs/images/secret-syncs/humanitec/humanitec-review.png differ diff --git a/docs/images/secret-syncs/humanitec/humanitec-source.png b/docs/images/secret-syncs/humanitec/humanitec-source.png new file mode 100644 index 000000000..24ad776a0 Binary files /dev/null and b/docs/images/secret-syncs/humanitec/humanitec-source.png differ diff --git a/docs/images/secret-syncs/humanitec/select-humanitec-option.png b/docs/images/secret-syncs/humanitec/select-humanitec-option.png new file mode 100644 index 000000000..bb0cb9aed Binary files /dev/null and b/docs/images/secret-syncs/humanitec/select-humanitec-option.png differ diff --git a/docs/integrations/app-connections/humanitec.mdx b/docs/integrations/app-connections/humanitec.mdx new file mode 100644 index 000000000..8d54bd783 --- /dev/null +++ b/docs/integrations/app-connections/humanitec.mdx @@ -0,0 +1,42 @@ +--- +title: "Humanitec Connection" +description: "Learn how to configure a Humanitec Connection for Infisical." +--- + +Infisical supports connecting to Humanitec using a service user. + +## Setup Humanitec Connection in Infisical + + + + Navigate to the Humanitec Service Users tab and create a new service user. + This user will be used to connect to Humanitec from Infisical. + ![Humanitec Service User](/images/integrations/humanitec/create-service-user.png) + + + Add the Service User to the Application you want to sync with Infisical. + Assign at least the **Developer** role to the Service User. + ![Humanitec Service User Role](/images/integrations/humanitec/add-service-user-to-application.png) + + + Generate an API token for the Service User on the Service Users tab. + This token will be used to connect to Humanitec from Infisical. + + + Navigate to the **App Connections** tab on the **Organization Settings** page. + ![App Connections Tab](/images/app-connections/general/add-connection.png) + + + Select the **Humanitec Connection** option from the connection options modal. + ![Select Humanitec Connection](/images/app-connections/humanitec/select-humanitec-connection.png) + + + Add the API token to Infisical as a secret key. + This will allow Infisical to connect to Humanitec using the service user. + ![Infisical Secret Key](/images/integrations/humanitec/add-humanitec-connection.png) + + + Your **Humanitec Connection** is now available for use. + ![Humanitec Connection](/images/app-connections/humanitec/humanitec-connection.png) + + diff --git a/docs/integrations/secret-syncs/humanitec.mdx b/docs/integrations/secret-syncs/humanitec.mdx new file mode 100644 index 000000000..464d825b5 --- /dev/null +++ b/docs/integrations/secret-syncs/humanitec.mdx @@ -0,0 +1,64 @@ +--- +title: "Humanitec Sync" +description: "Learn how to configure a Humanitec Sync for Infisical." +--- + +**Prerequisites:** + + - Set up and add secrets to [Infisical Cloud](https://app.infisical.com) + - Create a [Humanitec Connection](/integrations/app-connections/humanitec) using the API token + + + + 1. 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) + + 2. Select the **Humanitec** option. + ![Select Humanitec](/images/secret-syncs/humanitec/select-humanitec-option.png) + + 3. Configure the **Source** from where secrets should be retrieved, then click **Next**. + ![Configure Source](/images/secret-syncs/humanitec/humanitec-source.png) + + - **Environment**: The project environment to retrieve secrets from. + - **Secret Path**: The folder path to retrieve secrets from. + + + If you need to sync secrets from multiple folder locations, check out [secret imports](/documentation/platform/secret-reference#secret-imports). + + + 4. Configure the **Destination** to where secrets should be deployed, then click **Next**. + ![Configure Destination](/images/secret-syncs/humanitec/humanitec-destination.png) + + - **Humanitec Connection**: The Humanitec Connection to authenticate with. + - **Organization**: The Humanitec organization to sync secrets to. + - **App**: The Humanitec app from the selected organization to sync secrets to. + - **Environment**: The Humanitec environment from the selected app to sync secrets to. +

+ + 5. Configure the **Sync Options** to specify how secrets should be synced, then click **Next**. + ![Configure Options](/images/secret-syncs/humanitec/humanitec-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. + + Humanitec does not support importing secrets. + + - **Auto-Sync Enabled**: If enabled, secrets will automatically be synced from the source location when changes occur. Disable to enforce manual syncing only. + + 6. Configure the **Details** of your Humanitec Sync, then click **Next**. + ![Configure Details](/images/secret-syncs/humanitec/humanitec-details.png) + + - **Name**: The name of your sync. Must be slug-friendly. + - **Description**: An optional description for your sync. + + 7. Review your Humanitec Sync configuration, then click **Create Sync**. + ![Confirm Configuration](/images/secret-syncs/humanitec/humanitec-review.png) + + 8. If enabled, your Humanitec Sync will begin syncing your secrets to the destination endpoint. + ![Sync Secrets](/images/secret-syncs/humanitec/humanitec-created.png) + + + + To create an **Humanitec Sync**, make an API request to the [Create Humanitec Sync](/api-reference/endpoints/secret-syncs/humanitec/create) API endpoint. + + diff --git a/docs/mint.json b/docs/mint.json index f604ff310..d54c27ffa 100644 --- a/docs/mint.json +++ b/docs/mint.json @@ -1,6 +1,6 @@ { "name": "Infisical", - "openapi": "https://app.infisical.com/api/docs/json", + "openapi": "https://3a13-190-31-36-142.ngrok-free.app/api/docs/json", "logo": { "dark": "/logo/dark.svg", "light": "/logo/light.svg", @@ -406,7 +406,8 @@ "integrations/app-connections/azure-key-vault", "integrations/app-connections/databricks", "integrations/app-connections/gcp", - "integrations/app-connections/github" + "integrations/app-connections/github", + "integrations/app-connections/humanitec" ] } ] @@ -424,7 +425,8 @@ "integrations/secret-syncs/azure-key-vault", "integrations/secret-syncs/databricks", "integrations/secret-syncs/gcp-secret-manager", - "integrations/secret-syncs/github" + "integrations/secret-syncs/github", + "integrations/secret-syncs/humanitec" ] } ]