feat(secret-sync): minor fixes

This commit is contained in:
carlosmonastyrski
2025-06-25 00:16:44 -03:00
parent 070982081c
commit 18e733c71f
3 changed files with 17 additions and 6 deletions

View File

@@ -155,6 +155,8 @@ const createGitLabVariable = async ({
environmentScope: payload.environmentScope,
protected: payload.protected,
masked: payload.masked,
// @ts-expect-error type
masked_and_hidden: payload.masked_and_hidden,
raw: false
});
}
@@ -323,7 +325,12 @@ export const GitLabSyncFns = {
const existingVariable = currentVariableMap.get(key);
if (existingVariable) {
if (existingVariable.value !== value) {
if (
existingVariable.value !== value ||
existingVariable.environmentScope !== targetEnvironment ||
existingVariable.protected !== destinationConfig.shouldProtectSecrets ||
existingVariable.masked !== destinationConfig.shouldMaskSecrets
) {
await updateGitLabVariable({
accessToken,
connection,
@@ -369,7 +376,7 @@ export const GitLabSyncFns = {
try {
const shouldDelete =
matchesSchema(variable.key, environment?.slug || "", secretSync.syncOptions.keySchema) &&
variable.key in secretMap;
!(variable.key in secretMap);
if (shouldDelete) {
await deleteGitLabVariable({

View File

@@ -24,7 +24,7 @@ Infisical supports two methods for connecting to GitLab: **OAuth** and **Access
![GitLab Applications Settings](/images/app-connections/gitlab/gitlab-applications.png)
Create the application. As part of the form, set the **Redirect URI** to `https://your-domain.com/integrations/gitlab/oauth2/callback`.
Create the application. As part of the form, set the **Redirect URI** to `https://your-domain.com/organization/app-connections/gitlab/oauth/callback`.
![GitLab New Application Form](/images/app-connections/gitlab/gitlab-create-application-top.png)
![GitLab New Application Form](/images/app-connections/gitlab/gitlab-create-application-bottom.png)

View File

@@ -8,7 +8,7 @@ export const GitLabSyncReviewFields = () => {
const { watch } = useFormContext<TSecretSyncForm & { destination: SecretSync.GitLab }>();
const projectName = watch("destinationConfig.projectName");
const targetEnvironment = watch("destinationConfig.targetEnvironment");
const groupId = watch("destinationConfig.groupId");
const groupName = watch("destinationConfig.groupName");
const scope = watch("destinationConfig.scope");
const shouldProtectSecrets = watch("destinationConfig.shouldProtectSecrets");
const shouldMaskSecrets = watch("destinationConfig.shouldMaskSecrets");
@@ -17,8 +17,12 @@ export const GitLabSyncReviewFields = () => {
return (
<>
<GenericFieldLabel label="Scope">{scope}</GenericFieldLabel>
<GenericFieldLabel label="Project Name">{projectName}</GenericFieldLabel>
{groupId && <GenericFieldLabel label="Group ID">{groupId}</GenericFieldLabel>}
{scope === GitlabSyncScope.Project && (
<GenericFieldLabel label="Project Name">{projectName}</GenericFieldLabel>
)}
{scope === GitlabSyncScope.Group && (
<GenericFieldLabel label="Group Name">{groupName}</GenericFieldLabel>
)}
{targetEnvironment && (
<GenericFieldLabel label="Environment">{targetEnvironment}</GenericFieldLabel>
)}