diff --git a/README.md b/README.md index b054218bf..1b013b5dc 100644 --- a/README.md +++ b/README.md @@ -271,4 +271,4 @@ Looking to report a security vulnerability? Please don't post about it in GitHub - + diff --git a/docs/cli/overview.mdx b/docs/cli/overview.mdx index bbe86d379..8411b8e75 100644 --- a/docs/cli/overview.mdx +++ b/docs/cli/overview.mdx @@ -95,3 +95,9 @@ The Infisical CLI provides a way to inject environment variables from the platfo + +## Log in to the Infisical CLI + +```bash +infisical login +``` diff --git a/docs/cli/usage.mdx b/docs/cli/usage.mdx index ea7180068..4237f8154 100644 --- a/docs/cli/usage.mdx +++ b/docs/cli/usage.mdx @@ -4,12 +4,6 @@ title: "Usage" Prerequisite: [Install the CLI](/cli/overview) -## Log in to the Infisical CLI - -```bash -infisical login -``` - ## Initialize Infisical for your project ```bash @@ -29,11 +23,11 @@ infisical run -- [your application start command] Options you can specify: -| Option | Description | Default value | -| ------------- | ----------------------------------------------------------------------------------------------------------- | ------------- | -| `--env` | Used to set the environment that secrets are pulled from. Accepted values: `dev`, `staging`, `test`, `prod` | `dev` | -| `--projectId` | Used to link a local project to the platform (required only if injecting via the service token method) | `None` | -| `--expand` | Parse shell parameter expansions in your secrets (e.g., `${DOMAIN}`) | `true` | +| Option | Description | Default value | +| ------------- | ----------------------------------------------------------------------------------------------------------- | ------------- | +| `--env` | Used to set the environment that secrets are pulled from. Accepted values: `dev`, `staging`, `test`, `prod` | `dev` | +| `--projectId` | Used to link a local project to the platform (required only if injecting via the service token method) | `None` | +| `--expand` | Parse shell parameter expansions in your secrets (e.g., `${DOMAIN}`) | `true` | ## Examples: diff --git a/docs/integrations/frameworks/django.mdx b/docs/integrations/frameworks/django.mdx index 1835c2e9e..0fa785dcc 100644 --- a/docs/integrations/frameworks/django.mdx +++ b/docs/integrations/frameworks/django.mdx @@ -2,4 +2,23 @@ title: "Django" --- -Instructions coming soon. +Prerequisites: + +- Set up and add envars to [Infisical Cloud](https://app.infisical.com) +- [Install the CLI](/cli/overview) + +## Initialize Infisical for your [Django](https://www.djangoproject.com) project + +```bash +# move to your Django project +cd /path/to/project + +# initialize infisical +infisical init +``` + +## Start your server with environment variables injected + +```bash +infisical run -- python manage.py runserver +``` diff --git a/docs/integrations/frameworks/express.mdx b/docs/integrations/frameworks/express.mdx index 851483cc7..c681babb3 100644 --- a/docs/integrations/frameworks/express.mdx +++ b/docs/integrations/frameworks/express.mdx @@ -2,7 +2,10 @@ title: "Express, Fastify, Koa" --- -Prerequisite: [Install the CLI](/cli/overview) +Prerequisites: + +- Set up and add envars to [Infisical Cloud](https://app.infisical.com) +- [Install the CLI](/cli/overview) The steps apply to the following non-exhaustive list of frameworks: diff --git a/docs/integrations/frameworks/fiber.mdx b/docs/integrations/frameworks/fiber.mdx new file mode 100644 index 000000000..ed022c644 --- /dev/null +++ b/docs/integrations/frameworks/fiber.mdx @@ -0,0 +1,10 @@ +--- +title: "Fiber" +--- + +Prerequisites: + +- Set up and add envars to [Infisical Cloud](https://app.infisical.com) +- [Install the CLI](/cli/overview) + +Coming soon. diff --git a/docs/integrations/frameworks/fibre.mdx b/docs/integrations/frameworks/fibre.mdx deleted file mode 100644 index 0d281a5f3..000000000 --- a/docs/integrations/frameworks/fibre.mdx +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: "Fibre" ---- - -Coming soon. diff --git a/docs/integrations/frameworks/flask.mdx b/docs/integrations/frameworks/flask.mdx index bb35bd23c..941b62b2e 100644 --- a/docs/integrations/frameworks/flask.mdx +++ b/docs/integrations/frameworks/flask.mdx @@ -2,7 +2,10 @@ title: "Flask" --- -Prerequisite: [Install the CLI](/cli/overview) +Prerequisites: + +- Set up and add envars to [Infisical Cloud](https://app.infisical.com) +- [Install the CLI](/cli/overview) ## Initialize Infisical for your [Flask](https://flask.palletsprojects.com/en/2.2.x) app diff --git a/docs/integrations/frameworks/gatsby.mdx b/docs/integrations/frameworks/gatsby.mdx index cc3ddb0af..ee80be1d6 100644 --- a/docs/integrations/frameworks/gatsby.mdx +++ b/docs/integrations/frameworks/gatsby.mdx @@ -2,7 +2,10 @@ title: "Gatsby" --- -Prerequisite: [Install the CLI](/cli/overview) +Prerequisites: + +- Set up and add envars to [Infisical Cloud](https://app.infisical.com) +- [Install the CLI](/cli/overview) ## Initialize Infisical for your [Gatsby](https://www.gatsbyjs.com) app diff --git a/docs/integrations/frameworks/laravel.mdx b/docs/integrations/frameworks/laravel.mdx index 78786c719..0dfb219aa 100644 --- a/docs/integrations/frameworks/laravel.mdx +++ b/docs/integrations/frameworks/laravel.mdx @@ -2,4 +2,9 @@ title: "Laravel" --- +Prerequisites: + +- Set up and add envars to [Infisical Cloud](https://app.infisical.com) +- [Install the CLI](/cli/overview) + Instructions coming soon. diff --git a/docs/integrations/frameworks/nestjs.mdx b/docs/integrations/frameworks/nestjs.mdx index c24615ffa..8283b1175 100644 --- a/docs/integrations/frameworks/nestjs.mdx +++ b/docs/integrations/frameworks/nestjs.mdx @@ -2,7 +2,10 @@ title: "NestJS" --- -Prerequisite: [Install the CLI](/cli/overview) +Prerequisites: + +- Set up and add envars to [Infisical Cloud](https://app.infisical.com) +- [Install the CLI](/cli/overview) ## Initialize Infisical for your [NestJS](https://nestjs.com) app diff --git a/docs/integrations/frameworks/nextjs.mdx b/docs/integrations/frameworks/nextjs.mdx index 5fa87297d..a70cf6e41 100644 --- a/docs/integrations/frameworks/nextjs.mdx +++ b/docs/integrations/frameworks/nextjs.mdx @@ -2,9 +2,12 @@ title: "Next.js" --- -Prerequisite: [Install the CLI](/cli/overview) +Prerequisites: -## Initialize Infisical for your [Next.js](https://nextjs.org) +- Set up and add envars to [Infisical Cloud](https://app.infisical.com) +- [Install the CLI](/cli/overview) + +## Initialize Infisical for your [Next.js](https://nextjs.org) app ```bash # move to your Next.js app diff --git a/docs/integrations/frameworks/nuxt.mdx b/docs/integrations/frameworks/nuxt.mdx index 2cbb18975..901ec35a5 100644 --- a/docs/integrations/frameworks/nuxt.mdx +++ b/docs/integrations/frameworks/nuxt.mdx @@ -2,7 +2,10 @@ title: "Nuxt" --- -Prerequisite: [Install the CLI](/cli/overview) +Prerequisites: + +- Set up and add envars to [Infisical Cloud](https://app.infisical.com) +- [Install the CLI](/cli/overview) ## Initialize Infisical for your [Nuxt](https://nuxtjs.org) app diff --git a/docs/integrations/frameworks/rails.mdx b/docs/integrations/frameworks/rails.mdx index 9bb59f920..7e08bffa7 100644 --- a/docs/integrations/frameworks/rails.mdx +++ b/docs/integrations/frameworks/rails.mdx @@ -2,4 +2,23 @@ title: "Ruby on Rails" --- -Instructions coming soon. +Prerequisites: + +- Set up and add envars to [Infisical Cloud](https://app.infisical.com) +- [Install the CLI](/cli/overview) + +## Initialize Infisical for your [Rails](https://rubyonrails.org) app + +```bash +# move to your Rails app +cd /path/to/project + +# initialize infisical +infisical init +``` + +## Start your server with environment variables injected + +```bash +infisical run -- bin/rails server +``` diff --git a/docs/integrations/frameworks/react.mdx b/docs/integrations/frameworks/react.mdx index 48523e179..950505432 100644 --- a/docs/integrations/frameworks/react.mdx +++ b/docs/integrations/frameworks/react.mdx @@ -2,7 +2,10 @@ title: "React" --- -Prerequisite: [Install the CLI](/cli/overview) +Prerequisites: + +- Set up and add envars to [Infisical Cloud](https://app.infisical.com) +- [Install the CLI](/cli/overview) ## Initialize Infisical for your [Create React App](https://create-react-app.dev) diff --git a/docs/integrations/frameworks/remix.mdx b/docs/integrations/frameworks/remix.mdx index 87aea3d65..aa9956005 100644 --- a/docs/integrations/frameworks/remix.mdx +++ b/docs/integrations/frameworks/remix.mdx @@ -2,7 +2,10 @@ title: "Remix" --- -Prerequisite: [Install the CLI](/cli/overview) +Prerequisites: + +- Set up and add envars to [Infisical Cloud](https://app.infisical.com) +- [Install the CLI](/cli/overview) ## Initialize Infisical for your [Remix](https://remix.run) app diff --git a/docs/integrations/frameworks/vite.mdx b/docs/integrations/frameworks/vite.mdx index 7c8b0642c..251924ca7 100644 --- a/docs/integrations/frameworks/vite.mdx +++ b/docs/integrations/frameworks/vite.mdx @@ -2,7 +2,10 @@ title: "Vite" --- -Prerequisite: [Install the CLI](/cli/overview) +Prerequisites: + +- Set up and add envars to [Infisical Cloud](https://app.infisical.com) +- [Install the CLI](/cli/overview) ## Initialize Infisical for your [Vite](https://vitejs.dev) app diff --git a/docs/integrations/frameworks/vue.mdx b/docs/integrations/frameworks/vue.mdx index 6c4816e6b..15c4a12cf 100644 --- a/docs/integrations/frameworks/vue.mdx +++ b/docs/integrations/frameworks/vue.mdx @@ -2,7 +2,10 @@ title: "Vue" --- -Prerequisite: [Install the CLI](/cli/overview) +Prerequisites: + +- Set up and add envars to [Infisical Cloud](https://app.infisical.com) +- [Install the CLI](/cli/overview) ## Initialize Infisical for your [Vue](https://vuejs.org) app diff --git a/docs/integrations/overview.mdx b/docs/integrations/overview.mdx index 651f86a6f..17c7a7f72 100644 --- a/docs/integrations/overview.mdx +++ b/docs/integrations/overview.mdx @@ -31,8 +31,8 @@ Missing an integration? Throw in a [request](https://github.com/Infisical/infisi | [Gatsby](/integrations/frameworks/gatsby) | Framework | Available | | [Remix](/integrations/frameworks/remix) | Framework | Available | | [Vite](/integrations/frameworks/vite) | Framework | Available | -| [Fibre](/integrations/frameworks/fibre) | Framework | Coming soon | -| [Django](/integrations/frameworks/django) | Framework | Coming soon | +| [Fiber](/integrations/frameworks/fiber) | Framework | Coming soon | +| [Django](/integrations/frameworks/django) | Framework | Available | | [Flask](/integrations/frameworks/flask) | Framework | Available | | [Laravel](/integrations/frameworks/laravel) | Framework | Coming soon | -| [Ruby on Rails](/integrations/frameworks/rails) | Framework | Coming soon | +| [Ruby on Rails](/integrations/frameworks/rails) | Framework | Available | diff --git a/docs/mint.json b/docs/mint.json index f2f8a7877..7d0317f0e 100644 --- a/docs/mint.json +++ b/docs/mint.json @@ -142,7 +142,7 @@ "integrations/frameworks/gatsby", "integrations/frameworks/remix", "integrations/frameworks/vite", - "integrations/frameworks/fibre", + "integrations/frameworks/fiber", "integrations/frameworks/django", "integrations/frameworks/flask", "integrations/frameworks/laravel", diff --git a/frontend/components/basic/dialog/AddServiceTokenDialog.js b/frontend/components/basic/dialog/AddServiceTokenDialog.js index f8300358f..8147253b5 100644 --- a/frontend/components/basic/dialog/AddServiceTokenDialog.js +++ b/frontend/components/basic/dialog/AddServiceTokenDialog.js @@ -8,6 +8,7 @@ import nacl from "tweetnacl"; import addServiceToken from "~/pages/api/serviceToken/addServiceToken"; import getLatestFileKey from "~/pages/api/workspace/getLatestFileKey"; +import { envMapping } from "../../../public/data/frequentConstants"; import { decryptAssymmetric, encryptAssymmetric, @@ -16,13 +17,6 @@ import Button from "../buttons/Button"; import InputField from "../InputField"; import ListBox from "../Listbox"; -const envMapping = { - Development: "dev", - Staging: "staging", - Production: "prod", - Testing: "test", -}; - const expiryMapping = { "1 day": 86400, "7 days": 604800, diff --git a/frontend/components/basic/table/ServiceTokenTable.js b/frontend/components/basic/table/ServiceTokenTable.js index 8018d3e1c..f67b7e4c7 100644 --- a/frontend/components/basic/table/ServiceTokenTable.js +++ b/frontend/components/basic/table/ServiceTokenTable.js @@ -2,18 +2,10 @@ import React, { useEffect, useState } from "react"; import { useRouter } from "next/router"; import { faX } from "@fortawesome/free-solid-svg-icons"; +import { reverseEnvMapping } from "../../../public/data/frequentConstants"; import guidGenerator from "../../utilities/randomId"; import Button from "../buttons/Button"; -const roles = ["admin", "user"]; - -const reverseEnvMapping = { - dev: "Development", - staging: "Staging", - prod: "Production", - test: "Testing", -}; - /** * This is the component that we utilize for the user table - in future, can reuse it for some other purposes too. * #TODO: add the possibility of choosing and doing operations on multiple users. diff --git a/frontend/components/dashboard/DashboardInputField.js b/frontend/components/dashboard/DashboardInputField.js index eb4934c08..45657c696 100644 --- a/frontend/components/dashboard/DashboardInputField.js +++ b/frontend/components/dashboard/DashboardInputField.js @@ -1,27 +1,10 @@ -import React from "react"; +import React, { useRef } from "react"; import { faCircle } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import guidGenerator from "../utilities/randomId"; -/** - * This function splits the input of a dashboard field into the parts that are inside and outside of ${...} - * @param {string} text - the value of the input in the Dashboard Input Field - * @returns - */ -const findReferences = (text) => { - var splitText = text.split("${"); - let textArray = [splitText[0]]; - for (var i = 1; i < splitText.length; i++) { - let insideBrackets = "${" + splitText[i].split("}")[0]; - if (splitText[i].includes("}")) { - insideBrackets += "}"; - } - textArray.push(insideBrackets); - textArray.push(splitText[i].split("}")[1]); - } - return textArray; -}; +const REGEX = /([$]{.*?})/g; /** * This component renders the input fields on the dashboard @@ -42,6 +25,12 @@ const DashboardInputField = ({ blurred, duplicates }) => { + const ref = useRef(null); + const syncScroll = (e) => { + ref.current.scrollTop = e.target.scrollTop; + ref.current.scrollLeft = e.target.scrollLeft; + }; + if (type === "varName") { const startsWithNumber = !isNaN(value.charAt(0)) && value != ""; const hasDuplicates = duplicates?.includes(value); @@ -76,52 +65,54 @@ const DashboardInputField = ({ return (
onChangeHandler(e.target.value, index)} - type={type} value={value} + onChange={(e) => onChangeHandler(e.target.value, index)} + onScroll={syncScroll} className={`${ blurred ? "text-transparent group-hover:text-transparent focus:text-transparent active:text-transparent" : "" - } asolute z-10 peer font-mono ph-no-capture bg-transparent rounded-md caret-white text-transparent text-md px-2 py-1.5 w-full min-w-16 outline-none focus:ring-2 focus:ring-primary/50 duration-200`} + } z-10 peer font-mono ph-no-capture bg-transparent rounded-md caret-white text-transparent text-md px-2 py-1.5 w-full min-w-16 outline-none focus:ring-2 focus:ring-primary/50 duration-200`} spellCheck="false" /> -
- {findReferences(value).map((texts, id) => { - if (id % 2 == 0 || texts.length <= 2) { - return ( - - {texts} - - ); - } - return ( - - {texts.slice(0, 2)} - - {texts.slice(2, texts.length - 1)} - - {texts.slice(texts.length - 1, texts.length) == "}" ? ( - - {texts.slice(texts.length - 1, texts.length)}{" "} + { + value + .split(REGEX) + .map((word, id) => { + if (word.match(REGEX) !== null) { + return ( + + {word.slice(0, 2)} + + {word.slice(2, word.length - 1)} + + {word.slice(word.length - 1, word.length) == "}" ? ( + + {word.slice(word.length - 1, word.length)} + + ) : ( + + {word.slice(word.length - 1, word.length)} + + )} - ) : ( - - {texts.slice(texts.length - 1, texts.length)}{" "} - - )} - - ); - })} + ); + } else { + return {word}; + } + }) + }
{blurred && (
@@ -137,7 +128,7 @@ const DashboardInputField = ({ /> ))}
- )} + )}
); diff --git a/frontend/components/utilities/secrets/getSecretsForProject.js b/frontend/components/utilities/secrets/getSecretsForProject.js index ba502ccfd..7bdac922f 100644 --- a/frontend/components/utilities/secrets/getSecretsForProject.js +++ b/frontend/components/utilities/secrets/getSecretsForProject.js @@ -1,5 +1,6 @@ import getSecrets from "~/pages/api/files/GetSecrets"; +import { envMapping } from "../../../public/data/frequentConstants"; import guidGenerator from "../randomId"; const { @@ -9,13 +10,6 @@ const { const nacl = require("tweetnacl"); nacl.util = require("tweetnacl-util"); -const envMapping = { - Development: "dev", - Staging: "staging", - Production: "prod", - Testing: "test", -}; - const getSecretsForProject = async ({ env, setFileState, diff --git a/frontend/components/utilities/secrets/pushKeys.js b/frontend/components/utilities/secrets/pushKeys.js index 97ec31c06..fde5b45a4 100644 --- a/frontend/components/utilities/secrets/pushKeys.js +++ b/frontend/components/utilities/secrets/pushKeys.js @@ -2,6 +2,8 @@ import uploadSecrets from "~/pages/api/files/UploadSecrets"; import getLatestFileKey from "~/pages/api/workspace/getLatestFileKey"; import getWorkspaceKeys from "~/pages/api/workspace/getWorkspaceKeys"; +import { envMapping } from "../../../public/data/frequentConstants"; + const crypto = require("crypto"); const { decryptAssymmetric, @@ -12,12 +14,6 @@ const { const nacl = require("tweetnacl"); nacl.util = require("tweetnacl-util"); -const envMapping = { - Development: "dev", - Staging: "staging", - Production: "prod", - Testing: "test", -}; const pushKeys = async (obj, workspaceId, env) => { let sharedKey = await getLatestFileKey(workspaceId); diff --git a/frontend/next.config.js b/frontend/next.config.js index caa9ec566..1c883c4b9 100644 --- a/frontend/next.config.js +++ b/frontend/next.config.js @@ -2,11 +2,19 @@ const ContentSecurityPolicy = ` default-src 'self'; +<<<<<<< HEAD script-src 'self' https://app.posthog.com https://infisical.com https://assets.calendly.com/ https://js.stripe.com https://api.stripe.com 'unsafe-inline' 'unsafe-eval'; +======= + script-src 'self' https://app.posthog.com https://js.stripe.com https://api.stripe.com 'unsafe-inline' 'unsafe-eval'; +>>>>>>> main style-src 'self' https://rsms.me 'unsafe-inline'; - child-src https://infisical.com https://api.stripe.com; + child-src https://api.stripe.com; frame-src https://js.stripe.com/ https://api.stripe.com; +<<<<<<< HEAD connect-src 'self' ws: wss: https://api.github.com/repos/Infisical/infisical-cli https://api.heroku.com/ https://id.heroku.com/oauth/authorize https://id.heroku.com/oauth/token https://checkout.stripe.com https://app.posthog.com https://infisical.com https://api.stripe.com https://vitals.vercel-insights.com/v1/vitals; +======= + connect-src 'self' https://api.heroku.com/ https://id.heroku.com/oauth/authorize https://id.heroku.com/oauth/token https://checkout.stripe.com https://app.posthog.com https://api.stripe.com; +>>>>>>> main img-src 'self' https://*.stripe.com https://i.ytimg.com/ data:; media-src; font-src 'self' https://maxcdn.bootstrapcdn.com https://rsms.me https://fonts.gstatic.com; diff --git a/frontend/pages/dashboard/[id].js b/frontend/pages/dashboard/[id].js index 50a97b72e..42abf24db 100644 --- a/frontend/pages/dashboard/[id].js +++ b/frontend/pages/dashboard/[id].js @@ -34,19 +34,13 @@ import pushKeys from "~/components/utilities/secrets/pushKeys"; import pushKeysIntegration from "~/components/utilities/secrets/pushKeysIntegration"; import guidGenerator from "~/utilities/randomId"; +import { envMapping } from "../../public/data/frequentConstants"; import getWorkspaceIntegrations from "../api/integrations/getWorkspaceIntegrations"; import getUser from "../api/user/getUser"; import checkUserAction from "../api/userActions/checkUserAction"; import registerUserAction from "../api/userActions/registerUserAction"; import getWorkspaces from "../api/workspace/getWorkspaces"; -const envMapping = { - Development: "dev", - Staging: "staging", - Production: "prod", - Testing: "test", -}; - /** * This component represent a single row for an environemnt variable on the dashboard * @param {object} obj diff --git a/frontend/pages/integrations/[id].js b/frontend/pages/integrations/[id].js index 3689c24ff..898882e31 100644 --- a/frontend/pages/integrations/[id].js +++ b/frontend/pages/integrations/[id].js @@ -17,6 +17,11 @@ import getSecretsForProject from "~/components/utilities/secrets/getSecretsForPr import pushKeysIntegration from "~/components/utilities/secrets/pushKeysIntegration"; import guidGenerator from "~/utilities/randomId"; +import { + envMapping, + frameworks, + reverseEnvMapping +} from "../../public/data/frequentConstants"; import deleteIntegration from "../api/integrations/DeleteIntegration"; import deleteIntegrationAuth from "../api/integrations/DeleteIntegrationAuth"; import getIntegrationApps from "../api/integrations/GetIntegrationApps"; @@ -27,20 +32,6 @@ import startIntegration from "../api/integrations/StartIntegration"; const crypto = require("crypto"); -const envMapping = { - Development: "dev", - Staging: "staging", - Production: "prod", - Testing: "test", -}; - -const reverseEnvMapping = { - dev: "Development", - staging: "Staging", - prod: "Production", - test: "Testing", -}; - const Integration = ({ projectIntegration }) => { const [integrationEnvironment, setIntegrationEnvironment] = useState( reverseEnvMapping[projectIntegration.environment] @@ -248,7 +239,7 @@ export default function Integrations() { )}
-

Available Integrations

+

Platform & Cloud Integrations

Click on the itegration you want to connect. This will let your @@ -265,7 +256,7 @@ export default function Integrations() { reach out support@infisical.com.

-
+
{Object.keys(integrations).map((integration) => (
integration logo {integrations[integration].name.split(" ").length > 2 ? ( -
+
{integrations[integration].name.split(" ")[0]}
{integrations[integration].name.split(" ")[1]}{" "} @@ -303,7 +294,7 @@ export default function Integrations() {
) : ( -
+
{integrations[integration].name}
)} @@ -353,6 +344,35 @@ export default function Integrations() {
))}
+
+
+

Framework Integrations

+
+

+ Click on a framework to get the setup instructions. +

+
+ {frameworks.map((framework) => ( +
+ +
1 ? "text-sm px-1" : "text-xl px-2"} text-center w-full max-w-xs`}> + {framework?.image && integration logo} + {framework?.name && framework?.image &&
} + {framework?.name && framework.name} +
+
+
+ ))} +
diff --git a/frontend/public/data/frequentConstants.ts b/frontend/public/data/frequentConstants.ts new file mode 100644 index 000000000..fbc0034d3 --- /dev/null +++ b/frontend/public/data/frequentConstants.ts @@ -0,0 +1,82 @@ +const envMapping = { + Development: "dev", + Staging: "staging", + Production: "prod", + Testing: "test", +}; + +const reverseEnvMapping = { + dev: "Development", + staging: "Staging", + prod: "Production", + test: "Testing", +}; + +const frameworks = [{ + "name": "Docker", + "image": "Docker", + "link": "https://infisical.com/docs/integrations/platforms/docker" + }, { + "name": "Docker Compose", + "image": "Docker Compose", + "link": "https://infisical.com/docs/integrations/platforms/docker-compose" + }, { + "name": "React", + "image": "React", + "link": "https://infisical.com/docs/integrations/frameworks/react" + }, { + "name": "Vue", + "image": "Vue", + "link": "https://infisical.com/docs/integrations/frameworks/vue" + }, { + "image": "Express", + "link": "https://infisical.com/docs/integrations/frameworks/express" + },{ + "image": "Next.js", + "link": "https://infisical.com/docs/integrations/frameworks/nextjs" + }, { + "name": "Django", + "image": "Django", + "link": "https://infisical.com/docs/integrations/frameworks/django" + }, { + "name": "NestJS", + "image": "NestJS", + "link": "https://infisical.com/docs/integrations/frameworks/nestjs" + }, { + "name": "Nuxt", + "image": "Nuxt", + "link": "https://infisical.com/docs/integrations/frameworks/nuxt" + }, { + "name": "Gatsby", + "image": "Gatsby", + "link": "https://infisical.com/docs/integrations/frameworks/gatsby" + }, { + "name": "Remix", + "image": "Remix", + "link": "https://infisical.com/docs/integrations/frameworks/remix" + }, { + "name": "Vite", + "image": "Vite", + "link": "https://infisical.com/docs/integrations/frameworks/vite" + }, { + "image": "Fiber", + "link": "https://infisical.com/docs/integrations/frameworks/fiber" + }, { + "name": "Flask", + "image": "Flask", + "link": "https://infisical.com/docs/integrations/frameworks/flask" + }, { + "name": "Laravel", + "image": "Laravel", + "link": "https://infisical.com/docs/integrations/frameworks/laravel" + }, { + "image": "Rails", + "link": "https://infisical.com/docs/integrations/frameworks/rails" + } +] + +export { + envMapping, + frameworks, + reverseEnvMapping +}; diff --git a/frontend/public/images/integrations/Django.png b/frontend/public/images/integrations/Django.png new file mode 100644 index 000000000..2994c8bc0 Binary files /dev/null and b/frontend/public/images/integrations/Django.png differ diff --git a/frontend/public/images/integrations/Docker Compose.png b/frontend/public/images/integrations/Docker Compose.png new file mode 100644 index 000000000..aa9f58112 Binary files /dev/null and b/frontend/public/images/integrations/Docker Compose.png differ diff --git a/frontend/public/images/integrations/Docker.png b/frontend/public/images/integrations/Docker.png new file mode 100644 index 000000000..5180a6ae4 Binary files /dev/null and b/frontend/public/images/integrations/Docker.png differ diff --git a/frontend/public/images/integrations/Express.png b/frontend/public/images/integrations/Express.png new file mode 100644 index 000000000..87571cbfb Binary files /dev/null and b/frontend/public/images/integrations/Express.png differ diff --git a/frontend/public/images/integrations/Fiber.png b/frontend/public/images/integrations/Fiber.png new file mode 100644 index 000000000..6f856be7b Binary files /dev/null and b/frontend/public/images/integrations/Fiber.png differ diff --git a/frontend/public/images/integrations/Flask.png b/frontend/public/images/integrations/Flask.png new file mode 100644 index 000000000..31a69e832 Binary files /dev/null and b/frontend/public/images/integrations/Flask.png differ diff --git a/frontend/public/images/integrations/Gatsby.png b/frontend/public/images/integrations/Gatsby.png new file mode 100644 index 000000000..10dff2aa1 Binary files /dev/null and b/frontend/public/images/integrations/Gatsby.png differ diff --git a/frontend/public/images/integrations/Laravel.png b/frontend/public/images/integrations/Laravel.png new file mode 100644 index 000000000..41a6686d4 Binary files /dev/null and b/frontend/public/images/integrations/Laravel.png differ diff --git a/frontend/public/images/integrations/NestJS.png b/frontend/public/images/integrations/NestJS.png new file mode 100644 index 000000000..d7b6d349e Binary files /dev/null and b/frontend/public/images/integrations/NestJS.png differ diff --git a/frontend/public/images/integrations/Next.js.png b/frontend/public/images/integrations/Next.js.png new file mode 100644 index 000000000..94296b178 Binary files /dev/null and b/frontend/public/images/integrations/Next.js.png differ diff --git a/frontend/public/images/integrations/Nuxt.png b/frontend/public/images/integrations/Nuxt.png new file mode 100644 index 000000000..9b8f0f342 Binary files /dev/null and b/frontend/public/images/integrations/Nuxt.png differ diff --git a/frontend/public/images/integrations/Rails.png b/frontend/public/images/integrations/Rails.png new file mode 100644 index 000000000..7b3eb1011 Binary files /dev/null and b/frontend/public/images/integrations/Rails.png differ diff --git a/frontend/public/images/integrations/React.png b/frontend/public/images/integrations/React.png new file mode 100644 index 000000000..1a48b7d0d Binary files /dev/null and b/frontend/public/images/integrations/React.png differ diff --git a/frontend/public/images/integrations/Remix.png b/frontend/public/images/integrations/Remix.png new file mode 100644 index 000000000..e46c7ab41 Binary files /dev/null and b/frontend/public/images/integrations/Remix.png differ diff --git a/frontend/public/images/integrations/Vite.png b/frontend/public/images/integrations/Vite.png new file mode 100644 index 000000000..394614b0f Binary files /dev/null and b/frontend/public/images/integrations/Vite.png differ diff --git a/frontend/public/images/integrations/Vue.png b/frontend/public/images/integrations/Vue.png new file mode 100644 index 000000000..1f299e476 Binary files /dev/null and b/frontend/public/images/integrations/Vue.png differ