Merge branch 'main' into fix/remove-duplicate-error-notifications

This commit is contained in:
Victor Santos
2025-11-03 18:41:54 -03:00
283 changed files with 6603 additions and 1582 deletions
@@ -97,7 +97,7 @@ export const IPAllowlistSection = () => {
<UpgradePlanModal
isOpen={popUp.upgradePlan.isOpen}
onOpenChange={(isOpen) => handlePopUpToggle("upgradePlan", isOpen)}
text="You can use IP allowlisting if you switch to Infisical's Pro plan."
text="Your current plan does not include access to IP allowlisting. To unlock this feature, please upgrade to Infisical Pro plan."
/>
</div>
);
@@ -159,7 +159,7 @@ export const IPAllowlistTable = ({ popUp, handlePopUpOpen, handlePopUpToggle }:
<UpgradePlanModal
isOpen={popUp.upgradePlan.isOpen}
onOpenChange={(isOpen) => handlePopUpToggle("upgradePlan", isOpen)}
text="You can use IP allowlisting if you switch to Infisical's Pro plan."
text="Your current plan does not include access to IP allowlisting. To unlock this feature, please upgrade to Infisical Pro plan."
/>
</div>
);
@@ -0,0 +1,14 @@
import { TChefSync } from "@app/hooks/api/secretSyncs/types/chef-sync";
import { getSecretSyncDestinationColValues } from "../helpers";
import { SecretSyncTableCell } from "../SecretSyncTableCell";
type Props = {
secretSync: TChefSync;
};
export const ChefSyncDestinationCol = ({ secretSync }: Props) => {
const { primaryText, secondaryText } = getSecretSyncDestinationColValues(secretSync);
return <SecretSyncTableCell primaryText={primaryText} secondaryText={secondaryText} />;
};
@@ -9,6 +9,7 @@ import { AzureKeyVaultDestinationSyncCol } from "./AzureKeyVaultDestinationSyncC
import { BitbucketSyncDestinationCol } from "./BitbucketSyncDestinationCol";
import { CamundaSyncDestinationCol } from "./CamundaSyncDestinationCol";
import { ChecklySyncDestinationCol } from "./ChecklySyncDestinationCol";
import { ChefSyncDestinationCol } from "./ChefSyncDestinationCol";
import { CloudflarePagesSyncDestinationCol } from "./CloudflarePagesSyncDestinationCol";
import { CloudflareWorkersSyncDestinationCol } from "./CloudflareWorkersSyncDestinationCol";
import { DatabricksSyncDestinationCol } from "./DatabricksSyncDestinationCol";
@@ -103,6 +104,8 @@ export const SecretSyncDestinationCol = ({ secretSync }: Props) => {
return <BitbucketSyncDestinationCol secretSync={secretSync} />;
case SecretSync.LaravelForge:
return <LaravelForgeSyncDestinationCol secretSync={secretSync} />;
case SecretSync.Chef:
return <ChefSyncDestinationCol secretSync={secretSync} />;
default:
throw new Error(
`Unhandled Secret Sync Destination Col: ${(secretSync as TSecretSync).destination}`
@@ -202,6 +202,10 @@ export const getSecretSyncDestinationColValues = (secretSync: TSecretSync) => {
primaryText = destinationConfig.siteName || destinationConfig.siteId;
secondaryText = destinationConfig.orgName || destinationConfig.orgSlug;
break;
case SecretSync.Chef:
primaryText = destinationConfig.dataBagName;
secondaryText = destinationConfig.dataBagItemName;
break;
default:
throw new Error(`Unhandled Destination Col Values ${destination}`);
}
@@ -1156,8 +1156,7 @@ export const OverviewPage = () => {
}
handlePopUpOpen("upgradePlan", {
isEnterpriseFeature: true,
description:
"You can add dynamic secrets if you switch to Infisical's Enterprise plan."
text: "Adding dynamic secrets can be unlocked if you upgrade to Infisical Enterprise plan."
});
}}
isDisabled={userAvailableDynamicSecretEnvs.length === 0}
@@ -1182,8 +1181,7 @@ export const OverviewPage = () => {
return;
}
handlePopUpOpen("upgradePlan", {
description:
"You can add secret rotations if you switch to Infisical's Pro plan."
text: "Adding secret rotations can be unlocked if you upgrade to Infisical Pro plan."
});
}}
isDisabled={userAvailableSecretRotationEnvs.length === 0}
@@ -1669,7 +1667,7 @@ export const OverviewPage = () => {
isOpen={popUp.upgradePlan.isOpen}
onOpenChange={(isOpen) => handlePopUpToggle("upgradePlan", isOpen)}
isEnterpriseFeature={popUp.upgradePlan.data?.isEnterpriseFeature}
text={popUp.upgradePlan.data?.description}
text={popUp.upgradePlan.data?.text}
/>
)}
<CreateSecretRotationV2Modal
@@ -312,8 +312,7 @@ export const AccessApprovalRequest = ({
onClick={() => {
if (subscription && !subscription?.secretApproval) {
handlePopUpOpen("upgradePlan", {
description:
"You can use request access feature if you switch to Infisical's Pro plan."
text: "Access requests feature can be unlocked if you upgrade to Infisical Pro plan."
});
return;
}
@@ -573,7 +572,7 @@ export const AccessApprovalRequest = ({
)}
<UpgradePlanModal
text={popUp.upgradePlan.data?.description}
text={popUp.upgradePlan.data?.text}
isOpen={popUp.upgradePlan.isOpen}
onOpenChange={() => handlePopUpClose("upgradePlan")}
/>
@@ -491,7 +491,7 @@ export const ApprovalPolicyList = ({ projectId }: IProps) => {
<UpgradePlanModal
isOpen={popUp.upgradePlan.isOpen}
onOpenChange={(isOpen) => handlePopUpToggle("upgradePlan", isOpen)}
text="You can add secret approval policy if you switch to Infisical's Pro plan."
text="Adding secret approval policies can be unlocked if you upgrade to Infisical Pro plan."
/>
</>
);
@@ -884,7 +884,7 @@ export const ActionBar = ({
}
handlePopUpOpen("upgradePlan", {
feature: "PIT Recovery"
featureName: "PIT Recovery"
});
}}
leftIcon={<FontAwesomeIcon icon={faCodeCommit} />}
@@ -1000,7 +1000,7 @@ export const ActionBar = ({
return;
}
handlePopUpOpen("upgradePlan", {
feature: "Dynamic Secrets",
featureName: "Dynamic Secrets",
isEnterpriseFeature: true
});
}}
@@ -1030,7 +1030,7 @@ export const ActionBar = ({
return;
}
handlePopUpOpen("upgradePlan", {
feature: "Secret Rotation"
featureName: "Secret Rotation"
});
}}
variant="outline_bg"
@@ -1207,7 +1207,7 @@ export const ActionBar = ({
projectId={projectId}
onUpgradePlan={() =>
handlePopUpOpen("upgradePlan", {
feature: "Secret Imports"
featureName: "Secret Imports"
})
}
isOpen={popUp.addSecretImport.isOpen}
@@ -1272,7 +1272,7 @@ export const ActionBar = ({
isOpen={popUp.upgradePlan.isOpen}
onOpenChange={(isOpen) => handlePopUpToggle("upgradePlan", isOpen)}
isEnterpriseFeature={popUp.upgradePlan.data?.isEnterpriseFeature}
text={`You can use ${popUp.upgradePlan.data?.feature} if you switch to Infisical's ${popUp.upgradePlan.data?.isEnterpriseFeature ? "Enterprise" : "Pro"} plan.`}
text={`Your current plan does not include access to ${popUp.upgradePlan.data?.featureName}. To unlock this feature, please upgrade to Infisical ${popUp.upgradePlan.data?.isEnterpriseFeature ? "Enterprise" : "Pro"} plan.`}
/>
)}
<Modal
@@ -226,7 +226,7 @@ export const EnvironmentTabs = ({ secretPath }: Props) => {
<UpgradePlanModal
isOpen={popUp.upgradePlan.isOpen}
onOpenChange={(isOpen) => handlePopUpToggle("upgradePlan", isOpen)}
text="You can add custom environments if you switch to Infisical's Pro plan."
text="Your current plan does not include access to adding custom environments. To unlock this feature, please upgrade to Infisical Pro plan."
/>
<AddEnvironmentModal
isOpen={popUp.createEnvironment.isOpen}
@@ -321,7 +321,7 @@ export const SecretDetailSidebar = ({
onOpenChange={(isUpgradeModalOpen) =>
handlePopUpToggle("secretAccessUpgradePlan", isUpgradeModalOpen)
}
text="You can access secret access analysis if you switch to Infisical's Pro plan."
text="Secret access analysis feature can be unlocked if you upgrade to Infisical Pro plan."
/>
<Modal
isOpen={popUp.secretReferenceTree.isOpen}
@@ -381,7 +381,7 @@ const Page = () => {
<UpgradePlanModal
isOpen={popUp.upgradePlan.isOpen}
onOpenChange={(isOpen) => handlePopUpToggle("upgradePlan", isOpen)}
text="You can add secret rotation if you switch to Infisical's Pro plan."
text="Adding secret rotations can be unlocked if you upgrade to Infisical Pro plan."
/>
<Modal
isOpen={popUp.secretRotationV2.isOpen}
@@ -0,0 +1,19 @@
import { GenericFieldLabel } from "@app/components/secret-syncs";
import { TChefSync } from "@app/hooks/api/secretSyncs/types/chef-sync";
type Props = {
secretSync: TChefSync;
};
export const ChefSyncDestinationSection = ({ secretSync }: Props) => {
const { destinationConfig } = secretSync;
return (
<>
<GenericFieldLabel label="Data Bag">{destinationConfig.dataBagName}</GenericFieldLabel>
<GenericFieldLabel label="Data Bag Item">
{destinationConfig.dataBagItemName}
</GenericFieldLabel>
</>
);
};
@@ -20,6 +20,7 @@ import { AzureKeyVaultSyncDestinationSection } from "./AzureKeyVaultSyncDestinat
import { BitbucketSyncDestinationSection } from "./BitbucketSyncDestinationSection";
import { CamundaSyncDestinationSection } from "./CamundaSyncDestinationSection";
import { ChecklySyncDestinationSection } from "./ChecklySyncDestinationSection";
import { ChefSyncDestinationSection } from "./ChefSyncDestinationSection";
import { CloudflarePagesSyncDestinationSection } from "./CloudflarePagesSyncDestinationSection";
import { CloudflareWorkersSyncDestinationSection } from "./CloudflareWorkersSyncDestinationSection";
import { DatabricksSyncDestinationSection } from "./DatabricksSyncDestinationSection";
@@ -156,6 +157,9 @@ export const SecretSyncDestinationSection = ({ secretSync, onEditDestination }:
case SecretSync.LaravelForge:
DestinationComponents = <LaravelForgeSyncDestinationSection secretSync={secretSync} />;
break;
case SecretSync.Chef:
DestinationComponents = <ChefSyncDestinationSection secretSync={secretSync} />;
break;
default:
throw new Error(`Unhandled Destination Section components: ${destination}`);
}
@@ -74,6 +74,7 @@ export const SecretSyncOptionsSection = ({ secretSync, onEditOptions }: Props) =
case SecretSync.Northflank:
case SecretSync.Bitbucket:
case SecretSync.LaravelForge:
case SecretSync.Chef:
AdditionalSyncOptionsComponent = null;
break;
default:
@@ -115,7 +115,7 @@ export const EnvironmentSection = () => {
<UpgradePlanModal
isOpen={popUp.upgradePlan.isOpen}
onOpenChange={(isOpen) => handlePopUpToggle("upgradePlan", isOpen)}
text="You can add custom environments if you switch to Infisical's Pro plan."
text="You have reached the maximum number of environments allowed on the free plan. Upgrade to Infisical Pro plan to add more environments."
/>
</div>
);