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 (
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.
Framework Integrations
++ Click on a framework to get the setup instructions. +
+