From 8b070484dd9087518f3b7b4733d35652962678dd Mon Sep 17 00:00:00 2001 From: Afrie Irham Date: Mon, 24 Jul 2023 20:36:42 +0800 Subject: [PATCH 1/8] docs: add running infisical docs locally --- docs/contributing/developing.mdx | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/docs/contributing/developing.mdx b/docs/contributing/developing.mdx index 1c7708c99..bc1bc8dd5 100644 --- a/docs/contributing/developing.mdx +++ b/docs/contributing/developing.mdx @@ -82,4 +82,28 @@ Password: `testInfisical1` ```bash # To stop environment use Control+C (on Mac) CTRL+C (on Win) or docker-compose -f docker-compose.dev.yml down +``` + +## Starting Infisical docs locally + +We use [Mintlify](https://mintlify.com/) for our docs. + +#### Install Mintlify CLI. + +```bash +npm i -g mintlify +``` + +or + +```bash +yarn global add mintlify +``` + +#### Running the docs +Go to `docs` directory and run `mintlify dev`. This will start up the docs on `localhost:3000` + +```bash +# From the root directory +cd docs; mintlify dev; ``` \ No newline at end of file From e2b666345b7f75e5bf083f55c79036b24bf635ac Mon Sep 17 00:00:00 2001 From: akhilmhdh Date: Mon, 24 Jul 2023 20:53:59 +0530 Subject: [PATCH 2/8] fix: resolved secret import delete and include_import response control --- .../controllers/v1/secretImportController.ts | 1 - .../src/controllers/v2/secretsController.ts | 2 +- .../src/controllers/v3/secretsController.ts | 21 +++++++++++-------- backend/src/routes/v1/secretImport.ts | 2 +- 4 files changed, 14 insertions(+), 12 deletions(-) diff --git a/backend/src/controllers/v1/secretImportController.ts b/backend/src/controllers/v1/secretImportController.ts index a55b20a94..4b6539930 100644 --- a/backend/src/controllers/v1/secretImportController.ts +++ b/backend/src/controllers/v1/secretImportController.ts @@ -30,7 +30,6 @@ export const createSecretImport = async (req: Request, res: Response) => { if (doesImportExist) { throw BadRequestError({ message: "Secret import already exist" }); } - importSecDoc.imports.push({ environment: secretImport.environment, secretPath: secretImport.secretPath diff --git a/backend/src/controllers/v2/secretsController.ts b/backend/src/controllers/v2/secretsController.ts index ea8098e37..284c69c09 100644 --- a/backend/src/controllers/v2/secretsController.ts +++ b/backend/src/controllers/v2/secretsController.ts @@ -830,7 +830,7 @@ export const getSecrets = async (req: Request, res: Response) => { // TODO(akhilmhdh) - secret-imp change this to org type let importedSecrets: any[] = []; - if (include_imports) { + if (include_imports === "true") { importedSecrets = await getAllImportedSecrets(workspaceId, environment, folderId as string); } diff --git a/backend/src/controllers/v3/secretsController.ts b/backend/src/controllers/v3/secretsController.ts index 4399b4be0..5aa175541 100644 --- a/backend/src/controllers/v3/secretsController.ts +++ b/backend/src/controllers/v3/secretsController.ts @@ -25,14 +25,17 @@ export const getSecretsRaw = async (req: Request, res: Response) => { let secretPath = req.query.secretPath as string; const includeImports = req.query.include_imports as string; - // if the service token has single scope, it will get all secrets for that scope by default - const serviceTokenDetails: IServiceTokenData = req?.serviceTokenData + // if the service token has single scope, it will get all secrets for that scope by default + const serviceTokenDetails: IServiceTokenData = req?.serviceTokenData; if (serviceTokenDetails) { - if (serviceTokenDetails.scopes.length == 1 && !containsGlobPatterns(serviceTokenDetails.scopes[0].secretPath)) { - const scope = serviceTokenDetails.scopes[0] - secretPath = scope.secretPath - environment = scope.environment - workspaceId = serviceTokenDetails.workspace.toString() + if ( + serviceTokenDetails.scopes.length == 1 && + !containsGlobPatterns(serviceTokenDetails.scopes[0].secretPath) + ) { + const scope = serviceTokenDetails.scopes[0]; + secretPath = scope.secretPath; + environment = scope.environment; + workspaceId = serviceTokenDetails.workspace.toString(); } else { requireWorkspaceAuth({ acceptedRoles: [ADMIN, MEMBER], @@ -41,7 +44,7 @@ export const getSecretsRaw = async (req: Request, res: Response) => { requiredPermissions: [PERMISSION_READ_SECRETS], requireBlindIndicesEnabled: true, requireE2EEOff: true - }) + }); } } @@ -294,7 +297,7 @@ export const getSecrets = async (req: Request, res: Response) => { authData: req.authData }); - if (includeImports) { + if (includeImports === "true") { const folders = await Folder.findOne({ workspace: workspaceId, environment }); let folderId = "root"; // if folder exist get it and replace folderid with new one diff --git a/backend/src/routes/v1/secretImport.ts b/backend/src/routes/v1/secretImport.ts index 60ed16bc8..655fbd933 100644 --- a/backend/src/routes/v1/secretImport.ts +++ b/backend/src/routes/v1/secretImport.ts @@ -46,7 +46,7 @@ router.delete( body("secretImportPath").isString().exists().trim(), body("secretImportEnv").isString().exists().trim(), validateRequest, - secretImportController.updateSecretImport + secretImportController.deleteSecretImport ); router.get( From 8c39fa24388be44a1ec87a46ed343e73cc650067 Mon Sep 17 00:00:00 2001 From: Maidul Islam Date: Mon, 24 Jul 2023 15:01:31 -0400 Subject: [PATCH 3/8] add conditional imports to raw api --- backend/src/controllers/v3/secretsController.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/controllers/v3/secretsController.ts b/backend/src/controllers/v3/secretsController.ts index 5aa175541..8a190f43a 100644 --- a/backend/src/controllers/v3/secretsController.ts +++ b/backend/src/controllers/v3/secretsController.ts @@ -59,7 +59,7 @@ export const getSecretsRaw = async (req: Request, res: Response) => { workspaceId: new Types.ObjectId(workspaceId) }); - if (includeImports) { + if (includeImports === "true") { const folders = await Folder.findOne({ workspace: workspaceId, environment }); let folderId = "root"; // if folder exist get it and replace folderid with new one From 993866bb8b566faa8fd13c7b610cfe976b9b9f6f Mon Sep 17 00:00:00 2001 From: Maidul Islam Date: Mon, 24 Jul 2023 17:18:07 -0400 Subject: [PATCH 4/8] Update secret-reference.mdx --- docs/documentation/platform/secret-reference.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/documentation/platform/secret-reference.mdx b/docs/documentation/platform/secret-reference.mdx index 4192e1606..380facd94 100644 --- a/docs/documentation/platform/secret-reference.mdx +++ b/docs/documentation/platform/secret-reference.mdx @@ -45,8 +45,8 @@ To add an import, simply click on the `Add import` button and provide the enviro ![secret import change order](../../images/secret-import-add.png) The hierarchy of importing secrets is governed by a "last-one-wins" rule. This means the sequence in which you import matters - the final folder imported will override secrets from any prior folders. -Moreover, any secrets you define directly in your environment will take precedence over secrets from any imported folders. +Additionally, any secrets you define directly in your environment will override any secrets that are imported with the same name. -You can modify this sequence by dragging and rearranging the folders using the `Change Order` drag handle. +You can modify the order of folders to control overrides using the `Change Order` drag handle. ![secret import change order](../../images/secret-import-change-order.png) From 4b720bf9405ce33290c3f9d3310435971f0de7a0 Mon Sep 17 00:00:00 2001 From: Maidul Islam Date: Mon, 24 Jul 2023 18:13:35 -0400 Subject: [PATCH 5/8] Update kubernetes.mdx --- docs/integrations/platforms/kubernetes.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/integrations/platforms/kubernetes.mdx b/docs/integrations/platforms/kubernetes.mdx index 01e011f79..3d26536ba 100644 --- a/docs/integrations/platforms/kubernetes.mdx +++ b/docs/integrations/platforms/kubernetes.mdx @@ -66,12 +66,12 @@ metadata: spec: # The host that should be used to pull secrets from. If left empty, the value specified in Global configuration will be used hostAPI: https://app.infisical.com/api - resyncInterval: + resyncInterval: 60 authentication: serviceToken: serviceTokenSecretReference: secretName: service-token - secretNamespace: option + secretNamespace: default secretsScope: envSlug: dev secretsPath: "/" From 54c79012dbf13a6d2250d25652faf60f0b54eaa3 Mon Sep 17 00:00:00 2001 From: Vladyslav Matsiiako Date: Tue, 25 Jul 2023 07:01:27 -0700 Subject: [PATCH 6/8] fix the org-members link --- frontend/src/components/basic/dialog/AddProjectMemberDialog.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/components/basic/dialog/AddProjectMemberDialog.tsx b/frontend/src/components/basic/dialog/AddProjectMemberDialog.tsx index 87004e0e8..e8049066b 100644 --- a/frontend/src/components/basic/dialog/AddProjectMemberDialog.tsx +++ b/frontend/src/components/basic/dialog/AddProjectMemberDialog.tsx @@ -127,7 +127,7 @@ const AddProjectMemberDialog = ({ ) : (