diff --git a/README.md b/README.md index d819b1cd9..b3d7cfae4 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@

Slack | - Infisical Cloud | + Infisical Cloud | Self-Hosting | Docs | Website @@ -33,12 +33,12 @@ **[Infisical](https://infisical.com)** is an open source, E2EE tool to help teams manage and sync environment variables across their development workflow and infrastructure. It's designed to be simple and take minutes to get going. -- **User-Friendly Dashboard** to manage your team's environment variables within projects +- **[User-Friendly Dashboard](https://infisical.com/docs/getting-started/dashboard/project)** to manage your team's environment variables within projects - **[Language-Agnostic CLI](https://infisical.com/docs/cli/overview)** that pulls and injects environment variables into your local workflow - **[Complete control over your data](https://infisical.com/docs/self-hosting/overview)** - host it yourself on any infrastructure - **Navigate Multiple Environments** per project (e.g. development, staging, production, etc.) - **Personal/Shared** scoping for environment variables -- **[Integrations](https://infisical.com/docs/integrations/heroku)** with CI/CD and production infrastructure (Heroku available, more coming soon) +- **[Integrations](https://infisical.com/docs/integrations/overview)** with CI/CD and production infrastructure (Heroku available, more coming soon) - 🔜 **1-Click Deploy** to Digital Ocean and Heroku - 🔜 **Authentication/Authorization** for projects (read/write controls soon) - 🔜 **Automatic Secret Rotation** @@ -92,19 +92,168 @@ Infisical officially launched as v.1.0 on November 21st, 2022. However, a lot of ## Integrations -We're currently setting the foundation and building integrations so secrets can be synced everywhere. Any help is welcome! :) +We're currently setting the foundation and building [integrations](https://infisical.com/docs/integrations/overview) so secrets can be synced everywhere. Any help is welcome! :) + + + + + + + + + + +
Platforms Frameworks
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + ✔️ Docker + + + + ✔️ Docker Compose + + + + ✔️ Heroku + +
+ 🔜 Vercel + + 🔜 GitLab CI/CD + + 🔜 Fly.io +
+ 🔜 AWS + + 🔜 GitHub Actions (https://github.com/Infisical/infisical/issues/54) + + 🔜 Railway +
+ 🔜 GCP + + 🔜 Kubernetes + + 🔜 CircleCI +
+ 🔜 Jenkins + + 🔜 Digital Ocean + + 🔜 Azure +
+ 🔜 TravisCI + + 🔜 Netlify (https://github.com/Infisical/infisical/issues/55) +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + ✔️ React + + + + ✔️ Express + +
+ + ✔️ Gatsby + + + + ✔️ Flask + +
+ + ✔️ Django + + + + ✔️ Laravel + +
+ + ✔️ NestJS + + + + ✔️ Remix + +
+ + ✔️ Next.js + + + 🔜 Vite +
+ + ✔️ Ruby on Rails + +
+ +
-- [x] [Docker](https://infisical.com/docs/integrations/docker) -- [x] [Docker Compose](https://infisical.com/docs/integrations/docker-compose) -- [x] [Heroku](https://infisical.com/docs/integrations/heroku) -- [ ] Vercel -- [ ] Kubernetes -- [ ] AWS -- [ ] GCP -- [ ] Azure -- [ ] Digital Ocean -- [ ] GitLab -- [ ] CircleCI ## Open-source vs. paid diff --git a/docs/cli/token.mdx b/docs/cli/token.mdx index 043f07431..5b3d2fd6b 100644 --- a/docs/cli/token.mdx +++ b/docs/cli/token.mdx @@ -12,8 +12,8 @@ The CLI looks out for an environment variable called the `INFISICAL_TOKEN` which A common use-case is to use the Infisical Token to fetch environment variables with Docker. More specifically, a token can be passed to a container as an environment variable for the CLI to authenticate and pull its corresponding secrets. Check out the integration guides for that: -- [Docker](../../integrations/docker) -- [Docker Compose](../../integrations/docker-compose) +- [Docker](../../integrations/platforms/docker) +- [Docker Compose](../../integrations/platforms/docker-compose) Once the token is expired, the CLI using it will no longer be able to make diff --git a/docs/getting-started/dashboard/token.mdx b/docs/getting-started/dashboard/token.mdx index 5cde8d61d..85f46b799 100644 --- a/docs/getting-started/dashboard/token.mdx +++ b/docs/getting-started/dashboard/token.mdx @@ -4,7 +4,7 @@ title: "Infisical Token" An Infisical Token is needed to authenticate the CLI when there isn't an easy way to input your login credentials. -It's useful for the [Docker](/integrations/docker) and [Docker Compose](/integrations/docker-compose) integrations. +It's useful for the [Docker](/integrations/platforms/docker) and [Docker Compose](/integrations/platforms/docker-compose) integrations. It's possible to generate the token in the settings of a project. diff --git a/docs/getting-started/introduction.mdx b/docs/getting-started/introduction.mdx index 5f5d2a44d..72b86bf05 100644 --- a/docs/getting-started/introduction.mdx +++ b/docs/getting-started/introduction.mdx @@ -27,7 +27,7 @@ Start syncing environment variables with [Infisical Cloud](https://app.infisical Learn how to configure and deploy Infisical. + Note that for environment variables to be exposed to the client, you'll have + to prefix them with `GATSBY_`. Read more about that + [here](https://www.gatsbyjs.com/docs/how-to/local-development/environment-variables/#accessing-environment-variables-in-the-browser). + diff --git a/docs/integrations/frameworks/laravel.mdx b/docs/integrations/frameworks/laravel.mdx new file mode 100644 index 000000000..78786c719 --- /dev/null +++ b/docs/integrations/frameworks/laravel.mdx @@ -0,0 +1,5 @@ +--- +title: "Laravel" +--- + +Instructions coming soon. diff --git a/docs/integrations/frameworks/nestjs.mdx b/docs/integrations/frameworks/nestjs.mdx new file mode 100644 index 000000000..c24615ffa --- /dev/null +++ b/docs/integrations/frameworks/nestjs.mdx @@ -0,0 +1,47 @@ +--- +title: "NestJS" +--- + +Prerequisite: [Install the CLI](/cli/overview) + +## Initialize Infisical for your [NestJS](https://nestjs.com) app + +```bash +# move to your Next.js app +cd /path/to/project + +# initialize infisical +infisical init +``` + +## Modify the start script in your `package.json` + +```json +... +"scripts": { + "prebuild": "rimraf dist", + "build": "nest build", + "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"", + "start": "infisical run -- nest start", + "start:dev": "infisical run -- nest start --watch", + "start:debug": "nest start --debug --watch", + "start:prod": "node dist/main", + "lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix", + "test": "jest", + "test:watch": "jest --watch", + "test:cov": "jest --coverage", + "test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand", + "test:e2e": "jest --config ./test/jest-e2e.json" +} +... +``` + +## Start your server with environment variables injected + +```bash +npm run start + +# or start development server + +npm run start:dev +``` diff --git a/docs/integrations/frameworks/nextjs.mdx b/docs/integrations/frameworks/nextjs.mdx new file mode 100644 index 000000000..5fa87297d --- /dev/null +++ b/docs/integrations/frameworks/nextjs.mdx @@ -0,0 +1,43 @@ +--- +title: "Next.js" +--- + +Prerequisite: [Install the CLI](/cli/overview) + +## Initialize Infisical for your [Next.js](https://nextjs.org) + +```bash +# move to your Next.js app +cd /path/to/project + +# initialize infisical +infisical init +``` + +## Modify the start script in your `package.json` + +```json +... +"scripts": { + "dev": "infisical run -- next dev", + "build": "infisical run -- next build", + "start": "infisical run -- next start" +} +... +``` + +## Start your server with environment variables injected + +```bash +npm run build && npm run start + +# or start development server + +npm run dev +``` + + + Note that for environment variables to be exposed to the client, you'll have + to prefix them with `NEXT_PUBLIC_`. Read more about that + [here](https://nextjs.org/docs/basic-features/environment-variables). + diff --git a/docs/integrations/frameworks/nuxt.mdx b/docs/integrations/frameworks/nuxt.mdx new file mode 100644 index 000000000..165da7e32 --- /dev/null +++ b/docs/integrations/frameworks/nuxt.mdx @@ -0,0 +1,5 @@ +--- +title: "Nuxt" +--- + +Instructions coming soon. diff --git a/docs/integrations/frameworks/rails.mdx b/docs/integrations/frameworks/rails.mdx new file mode 100644 index 000000000..9bb59f920 --- /dev/null +++ b/docs/integrations/frameworks/rails.mdx @@ -0,0 +1,5 @@ +--- +title: "Ruby on Rails" +--- + +Instructions coming soon. diff --git a/docs/integrations/frameworks/react.mdx b/docs/integrations/frameworks/react.mdx new file mode 100644 index 000000000..48523e179 --- /dev/null +++ b/docs/integrations/frameworks/react.mdx @@ -0,0 +1,34 @@ +--- +title: "React" +--- + +Prerequisite: [Install the CLI](/cli/overview) + +## Initialize Infisical for your [Create React App](https://create-react-app.dev) + +```bash +# move to your React app +cd /path/to/project + +# initialize infisical +infisical init +``` + +## Modify the start script in your `package.json` + +```json +... +"scripts": { + "start": "infisical run -- react-scripts start", + "build": "react-scripts build", + "test": "react-scripts test", + "eject": "react-scripts eject" +} +... +``` + +## Start your server with environment variables injected + +```bash +npm start +``` diff --git a/docs/integrations/frameworks/remix.mdx b/docs/integrations/frameworks/remix.mdx new file mode 100644 index 000000000..6712c693f --- /dev/null +++ b/docs/integrations/frameworks/remix.mdx @@ -0,0 +1,5 @@ +--- +title: "Remix" +--- + +Instructions coming soon. diff --git a/docs/integrations/frameworks/vite.mdx b/docs/integrations/frameworks/vite.mdx new file mode 100644 index 000000000..7c8b0642c --- /dev/null +++ b/docs/integrations/frameworks/vite.mdx @@ -0,0 +1,40 @@ +--- +title: "Vite" +--- + +Prerequisite: [Install the CLI](/cli/overview) + +## Initialize Infisical for your [Vite](https://vitejs.dev) app + +```bash +# move to your Vite app +cd /path/to/project + +# initialize infisical +infisical init +``` + +## Modify the start script in your `package.json` + +```json +... +"scripts": { + "dev": "infisical run -- vite", + "build": "infisical run -- vite build", + "preview": "infisical run -- vite preview" +} +... +``` + +## Start your development server with environment variables injected + +```bash +npm run dev +``` + + + Note that for environment variables to be exposed to the client, you'll have + to prefix them with `VITE_` and export them from the `vite.config.js` file. + Read more about that [here](https://vitejs.dev/guide/env-and-mode.html) and + [here](https://main.vitejs.dev/config). + diff --git a/docs/integrations/frameworks/vue.mdx b/docs/integrations/frameworks/vue.mdx new file mode 100644 index 000000000..d71d8227d --- /dev/null +++ b/docs/integrations/frameworks/vue.mdx @@ -0,0 +1,5 @@ +--- +title: "Vue" +--- + +Coming soon. diff --git a/docs/integrations/overview.mdx b/docs/integrations/overview.mdx index 268f23319..89511afdc 100644 --- a/docs/integrations/overview.mdx +++ b/docs/integrations/overview.mdx @@ -6,19 +6,34 @@ Integrations allow environment variables to be synced from Infisical into your l Missing an integration? Throw in a [request](https://github.com/Infisical/infisical/issues). -| Integration | Status | -| ---------------------------------------------- | ----------- | -| [Docker](/integrations/docker) | Available | -| [Docker-Compose](/integrations/docker-compose) | Available | -| [Heroku](/integrations/heroku) | Available | -| Kubernetes | Coming soon | -| Vercel | Coming soon | -| AWS | Coming soon | -| GCP | Coming soon | -| Azure | Coming soon | -| DigitalOcean | Coming soon | -| GitLab | Coming soon | -| CircleCI | Coming soon | -| TravisCI | Coming soon | -| GitHub Actions | Coming soon | -| Jenkins | Coming soon | +| Integration | Type | Status | +| -------------------------------------------------------- | --------- | ----------- | +| [Docker](/integrations/platforms/docker) | Platform | Available | +| [Docker-Compose](/integrations/platforms/docker-compose) | Platform | Available | +| Kubernetes | Platform | Coming soon | +| [Heroku](/integrations/cloud/heroku) | Cloud | Available | +| Vercel | Cloud | Coming soon | +| AWS | Cloud | Coming soon | +| GCP | Cloud | Coming soon | +| Azure | Cloud | Coming soon | +| DigitalOcean | Cloud | Coming soon | +| GitLab | CI/CD | Coming soon | +| CircleCI | CI/CD | Coming soon | +| TravisCI | CI/CD | Coming soon | +| GitHub Actions | CI/CD | Coming soon | +| Jenkins | CI/CD | Coming soon | +| [React](/integrations/frameworks/react) | Framework | Available | +| [Vue](/integrations/frameworks/vue) | Framework | Coming soon | +| [Angular](/integrations/frameworks/angular) | Framework | Coming soon | +| [Express](/integrations/frameworks/express) | Framework | Available | +| [Next.js](/integrations/frameworks/nextjs) | Framework | Available | +| [NestJS](/integrations/frameworks/nestjs) | Framework | Available | +| [Nuxt](/integrations/frameworks/nuxt) | Framework | Coming soon | +| [Gatsby](/integrations/frameworks/gatsby) | Framework | Available | +| [Remix](/integrations/frameworks/remix) | Framework | Coming soon | +| [Vite](/integrations/frameworks/vite) | Framework | Available | +| [Fibre](/integrations/frameworks/fibre) | Framework | Coming soon | +| [Django](/integrations/) | Framework | Coming soon | +| [Flask](/integrations/frameworks/flask) | Framework | Available | +| [Laravel](/integrations/frameworks/laravel) | Framework | Coming soon | +| [Ruby on Rails](/integrations/frameworks/rails) | Framework | Coming soon | diff --git a/docs/integrations/docker-compose.mdx b/docs/integrations/platforms/docker-compose.mdx similarity index 97% rename from docs/integrations/docker-compose.mdx rename to docs/integrations/platforms/docker-compose.mdx index 133eba378..9e0f90e55 100644 --- a/docs/integrations/docker-compose.mdx +++ b/docs/integrations/platforms/docker-compose.mdx @@ -6,7 +6,7 @@ The Docker Compose integration enables you to inject environment variables from ## Add the CLI to your Dockerfile(s) -Follow steps 1 through 3 on our [guide to configure Infisical CLI](../integrations/docker) in your Dockerfile. +Follow steps 1 through 3 on our [guide to configure Infisical CLI](../integrations/platforms/docker) in your Dockerfile. ## Generate Infisical Token diff --git a/docs/integrations/docker.mdx b/docs/integrations/platforms/docker.mdx similarity index 95% rename from docs/integrations/docker.mdx rename to docs/integrations/platforms/docker.mdx index 3b03abea3..6f08c9ec8 100644 --- a/docs/integrations/docker.mdx +++ b/docs/integrations/platforms/docker.mdx @@ -2,7 +2,7 @@ title: "Docker" --- -The Docker integration enables you to inject environment variables from Infisical into a container. +Infisical can be used in a Dockerfile to inject environment variables into a Docker container. ## Add the CLI to your Dockerfile diff --git a/docs/mint.json b/docs/mint.json index 4e203102a..0bdaecd16 100644 --- a/docs/mint.json +++ b/docs/mint.json @@ -37,6 +37,11 @@ "icon": "server", "url": "self-hosting" }, + { + "name": "Integrations", + "icon": "plug", + "url": "integrations" + }, { "name": "Contributing", "icon": "code", @@ -92,15 +97,6 @@ } ] }, - { - "group": "Integrations", - "pages": [ - "integrations/overview", - "integrations/heroku", - "integrations/docker", - "integrations/docker-compose" - ] - }, { "group": "Self-hosting", "pages": [ @@ -115,6 +111,43 @@ } ] }, + { + "group": "Integrations", + "pages": [ + "integrations/overview" + ] + }, + { + "group": "Platforms", + "pages": [ + "integrations/platforms/docker", + "integrations/platforms/docker-compose" + ] + }, + { + "group": "Cloud", + "pages": [ + "integrations/cloud/heroku" + ] + }, + { + "group": "Frameworks", + "pages": [ + "integrations/frameworks/react", + "integrations/frameworks/vue", + "integrations/frameworks/angular", + "integrations/frameworks/express", + "integrations/frameworks/nextjs", + "integrations/frameworks/nestjs", + "integrations/frameworks/gatsby", + "integrations/frameworks/remix", + "integrations/frameworks/vite", + "integrations/frameworks/django", + "integrations/frameworks/flask", + "integrations/frameworks/laravel", + "integrations/frameworks/rails" + ] + }, { "group": "Security", "pages": [