feat(secret-sync): Add gitlab secret sync

This commit is contained in:
carlosmonastyrski
2025-06-20 21:13:14 -03:00
parent e5352e7aa8
commit e201d77a8f
99 changed files with 2912 additions and 56 deletions
+2 -1
View File
@@ -18,7 +18,8 @@ export enum SecretSync {
OnePass = "1password",
Heroku = "heroku",
Render = "render",
Flyio = "flyio"
Flyio = "flyio",
Gitlab = "gitlab"
}
export enum SecretSyncStatus {
@@ -0,0 +1,37 @@
import { AppConnection } from "@app/hooks/api/appConnections/enums";
import { SecretSync } from "@app/hooks/api/secretSyncs";
import { TRootSecretSync } from "@app/hooks/api/secretSyncs/types/root-sync";
export enum GitlabSyncScope {
Individual = "individual",
Group = "group"
}
export type TGitlabSync = TRootSecretSync & {
destination: SecretSync.Gitlab;
destinationConfig:
| {
scope: GitlabSyncScope.Individual;
projectId: string;
projectName: string;
targetEnvironment?: string;
shouldProtectSecrets?: boolean;
shouldMaskSecrets?: boolean;
shouldHideSecrets?: boolean;
}
| {
scope: GitlabSyncScope.Group;
groupId: string;
projectId: string;
projectName: string;
targetEnvironment?: string;
shouldProtectSecrets?: boolean;
shouldMaskSecrets?: boolean;
shouldHideSecrets?: boolean;
};
connection: {
app: AppConnection.Gitlab;
name: string;
id: string;
};
};
@@ -13,6 +13,7 @@ import { TDatabricksSync } from "./databricks-sync";
import { TFlyioSync } from "./flyio-sync";
import { TGcpSync } from "./gcp-sync";
import { TGitHubSync } from "./github-sync";
import { TGitlabSync } from "./gitlab-sync";
import { THCVaultSync } from "./hc-vault-sync";
import { THerokuSync } from "./heroku-sync";
import { THumanitecSync } from "./humanitec-sync";
@@ -49,7 +50,8 @@ export type TSecretSync =
| TOnePassSync
| THerokuSync
| TRenderSync
| TFlyioSync;
| TFlyioSync
| TGitlabSync;
export type TListSecretSyncs = { secretSyncs: TSecretSync[] };