diff --git a/frontend/src/pages/integrations/checkly/authorize.tsx b/frontend/src/pages/integrations/checkly/authorize.tsx index 9d1ce3c5e..0e4ba70d9 100644 --- a/frontend/src/pages/integrations/checkly/authorize.tsx +++ b/frontend/src/pages/integrations/checkly/authorize.tsx @@ -1,5 +1,6 @@ import { useState } from "react"; import Head from "next/head"; +import Image from "next/image"; import Link from "next/link"; import { useRouter } from "next/router"; import { faArrowUpRightFromSquare, faBookOpen } from "@fortawesome/free-solid-svg-icons"; @@ -54,16 +55,26 @@ export default function ChecklyCreateIntegrationPage() { className="text-left px-6 text-xl" subTitle="After adding your API-key, you will be prompted to set up an integration for a particular Infisical project and environment." > - Checkly Integration - - -
- - Docs - -
-
- +
+
+ Checkly logo +
+ Checkly Integration + + +
+ + Docs + +
+
+ +
+
Set Up Checkly Integration @@ -103,88 +114,124 @@ export default function ChecklyCreateIntegrationPage() { - Checkly Integration - - -
- - Docs - -
-
- +
+
+ Checkly logo +
+ Checkly Integration + + +
+ + Docs + +
+
+ +
- - setSelectedSourceEnvironment(val)} + className="w-full border border-mineshaft-500" > - {sourceEnvironment.name} - - ))} - - - - setSecretPath(evt.target.value)} - placeholder="Provide a path, default is /" - /> - - - - - - setSecretSuffix(evt.target.value)} - placeholder="Provide a suffix for secret names, default is no suffix" - /> - + {workspace?.environments.map((sourceEnvironment) => ( + + {sourceEnvironment.name} + + ))} + + + + setSecretPath(evt.target.value)} + placeholder="Provide a path, default is /" + /> + + + + + + + + + setSecretSuffix(evt.target.value)} + placeholder="Provide a suffix for secret names, default is no suffix" + /> + + + +
+
+
+
Pro Tips
+ After creating an integration, your secrets will start syncing immediately. This might cause an unexpected override of current secrets in Checkly with secrets from Infisical. + If you have multiple Checkly integrations and are using suffixes for at least one of them, you will have to add suffixes for all the active Checkly integrations – otherwise you might run into rare unexpected behavior. +
) : (
- Set Up GCP Secret Manager Integration + Set Up Checkly Integration {isintegrationAuthAppsLoading ? infisical loading indicator :
diff --git a/frontend/src/pages/integrations/gcp-secret-manager/authorize.tsx b/frontend/src/pages/integrations/gcp-secret-manager/authorize.tsx index ba071f33f..0e0b1bd2f 100644 --- a/frontend/src/pages/integrations/gcp-secret-manager/authorize.tsx +++ b/frontend/src/pages/integrations/gcp-secret-manager/authorize.tsx @@ -2,6 +2,7 @@ import crypto from "crypto"; import { useState } from "react"; import Head from "next/head"; +import Image from "next/image"; import Link from "next/link"; import { useRouter } from "next/router"; import { faGoogle } from "@fortawesome/free-brands-svg-icons"; @@ -72,16 +73,26 @@ export default function GCPSecretManagerAuthorizeIntegrationPage() { className="text-left px-6 text-xl" subTitle="Connect Infisical to GCP Secret Manager to sync secrets." > - GCP Secret Manager Integration - - -
- - Docs - -
-
- +
+
+ GCP logo +
+ GCP Secret Manager Integration + + +
+ + Docs + +
+
+ +
+
+
+
Pro Tips
+ After creating an integration, your secrets will start syncing immediately. This might cause an unexpected override of current secrets in GCP Secret Manager with secrets from Infisical. +
) : (
diff --git a/frontend/src/pages/integrations/github/create.tsx b/frontend/src/pages/integrations/github/create.tsx index 4a319ceb8..bfe291106 100644 --- a/frontend/src/pages/integrations/github/create.tsx +++ b/frontend/src/pages/integrations/github/create.tsx @@ -1,5 +1,10 @@ import { useEffect, useState } from "react"; +import Head from "next/head"; +import Image from "next/image"; +import Link from "next/link"; import { useRouter } from "next/router"; +import { faArrowUpRightFromSquare, faBookOpen, faBugs, faCircleInfo } from "@fortawesome/free-solid-svg-icons"; +import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import queryString from "query-string"; import { @@ -29,7 +34,7 @@ export default function GitHubCreateIntegrationPage() { const { data: workspace } = useGetWorkspaceById(localStorage.getItem("projectData.id") ?? ""); const { data: integrationAuth } = useGetIntegrationAuthById((integrationAuthId as string) ?? ""); - const { data: integrationAuthApps } = useGetIntegrationAuthApps({ + const { data: integrationAuthApps, isLoading: isintegrationAuthAppsLoading } = useGetIntegrationAuthApps({ integrationAuthId: (integrationAuthId as string) ?? "" }); @@ -88,10 +93,38 @@ export default function GitHubCreateIntegrationPage() { selectedSourceEnvironment && integrationAuthApps && targetAppId ? ( -
- - GitHub Integration - +
+ + Set Up GitHub Integration + + + + +
+
+ GitHub logo +
+ GitHub Integration + + +
+ + Docs + +
+
+ +
+
+ - + setSecretPath(evt.target.value)} placeholder="Provide a path, default is /" /> - + setGitLabURL(e.target.value)} @@ -42,8 +73,9 @@ export default function GitLabAuthorizeIntegrationPage() { diff --git a/frontend/src/pages/integrations/gitlab/create.tsx b/frontend/src/pages/integrations/gitlab/create.tsx index 66e68303e..d4cba8a0e 100644 --- a/frontend/src/pages/integrations/gitlab/create.tsx +++ b/frontend/src/pages/integrations/gitlab/create.tsx @@ -1,5 +1,10 @@ import { useEffect, useState } from "react"; +import Head from "next/head"; +import Image from "next/image"; +import Link from "next/link"; import { useRouter } from "next/router"; +import { faArrowUpRightFromSquare, faBookOpen, faBugs, faCircleInfo } from "@fortawesome/free-solid-svg-icons"; +import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import queryString from "query-string"; import { @@ -38,11 +43,11 @@ export default function GitLabCreateIntegrationPage() { const [targetTeamId, setTargetTeamId] = useState(null); - const { data: integrationAuthApps } = useGetIntegrationAuthApps({ + const { data: integrationAuthApps, isLoading: isintegrationAuthAppsLoading } = useGetIntegrationAuthApps({ integrationAuthId: (integrationAuthId as string) ?? "", ...(targetTeamId ? { teamId: targetTeamId } : {}) }); - const { data: integrationAuthTeams } = useGetIntegrationAuthTeams( + const { data: integrationAuthTeams, isLoading: isintegrationAuthTeamsLoading } = useGetIntegrationAuthTeams( (integrationAuthId as string) ?? "" ); @@ -114,10 +119,38 @@ export default function GitLabCreateIntegrationPage() { integrationAuthApps && integrationAuthTeams && targetAppId ? ( -
- - GitLab Integration - +
+ + Set Up GitLab Integration + + + + +
+
+ Gitlab logo +
+ GitLab Integration + + +
+ + Docs + +
+
+ +
+
+ - + setSecretPath(evt.target.value)} placeholder="Provide a path, default is /" /> - + {targetEntity === "group" && targetTeamId && ( - + )} - + - +
+
+
+
Pro Tips
+ After creating an integration, your secrets will start syncing immediately. This might cause an unexpected override of current secrets in GitLab with secrets from Infisical. +
) : ( -
+
+ + Set Up GitLab Integration + + + {isintegrationAuthAppsLoading || isintegrationAuthTeamsLoading ? infisical loading indicator :
+ +

+ Something went wrong. Please contact + support@infisical.com + if the issue persists. +

+
} +
); } diff --git a/frontend/src/pages/integrations/hashicorp-vault/authorize.tsx b/frontend/src/pages/integrations/hashicorp-vault/authorize.tsx index f2158f350..56863734f 100644 --- a/frontend/src/pages/integrations/hashicorp-vault/authorize.tsx +++ b/frontend/src/pages/integrations/hashicorp-vault/authorize.tsx @@ -1,5 +1,6 @@ import { useState } from "react"; import Head from "next/head"; +import Image from "next/image"; import Link from "next/link"; import { useRouter } from "next/router"; import { faArrowUpRightFromSquare, faBookOpen } from "@fortawesome/free-solid-svg-icons"; @@ -91,18 +92,28 @@ export default function HashiCorpVaultAuthorizeIntegrationPage() { - HashiCorp Vault Integration - - -
- - Docs - -
-
- +
+
+ HCP Vault logo +
+ HashiCorp Vault Integration + + +
+ + Docs + +
+
+ +
+
Set Up Vault Integration - + - HashiCorp Vault Integration - - -
- - Docs - -
-
- +
+
+ HCP Vault logo +
+ HashiCorp Vault Integration + + +
+ + Docs + +
+
+ +
setSelectedSourceEnvironment(val)} @@ -128,14 +161,14 @@ export default function VercelCreateIntegrationPage() { ))} - + setSecretPath(evt.target.value)} placeholder="Provide a path, default is /" /> - + - + {targetEnvironment === "preview" && filteredBranches && ( - +