This commit is contained in:
Vladyslav Matsiiako
2022-11-28 23:20:53 -05:00
24 changed files with 551 additions and 46 deletions
+164 -15
View File
@@ -8,7 +8,7 @@
<h4 align="center"> <h4 align="center">
<a href="https://join.slack.com/t/infisical-users/shared_invite/zt-1kdbk07ro-RtoyEt_9E~fyzGo_xQYP6g">Slack</a> | <a href="https://join.slack.com/t/infisical-users/shared_invite/zt-1kdbk07ro-RtoyEt_9E~fyzGo_xQYP6g">Slack</a> |
<a href="https://infisical.com/signup">Infisical Cloud</a> | <a href="https://infisical.com/">Infisical Cloud</a> |
<a href="https://infisical.com/docs/self-hosting/overview">Self-Hosting</a> | <a href="https://infisical.com/docs/self-hosting/overview">Self-Hosting</a> |
<a href="https://infisical.com/docs/getting-started/introduction">Docs</a> | <a href="https://infisical.com/docs/getting-started/introduction">Docs</a> |
<a href="https://www.infisical.com">Website</a> <a href="https://www.infisical.com">Website</a>
@@ -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. **[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 - **[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 - **[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.) - **Navigate Multiple Environments** per project (e.g. development, staging, production, etc.)
- **Personal/Shared** scoping for environment variables - **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 - 🔜 **1-Click Deploy** to Digital Ocean and Heroku
- 🔜 **Authentication/Authorization** for projects (read/write controls soon) - 🔜 **Authentication/Authorization** for projects (read/write controls soon)
- 🔜 **Automatic Secret Rotation** - 🔜 **Automatic Secret Rotation**
@@ -92,19 +92,168 @@ Infisical officially launched as v.1.0 on November 21st, 2022. However, a lot of
## Integrations ## 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! :)
<table>
<tr>
<th>Platforms </th>
<th>Frameworks</th>
</tr>
<tr>
<td>
<table>
<tbody>
<tr>
<td align="left" valign="middle">
<a href="https://infisical.com/docs/integrations/platforms/docker">
✔️ Docker
</a>
</td>
<td align="left" valign="middle">
<a href="https://infisical.com/docs/integrations/platforms/docker-compose">
✔️ Docker Compose
</a>
</td>
<td align="left" valign="middle">
<a href="https://infisical.com/docs/integrations/cloud/heroku">
✔️ Heroku
</a>
</td>
</tr>
<tr>
<td align="left" valign="middle">
🔜 Vercel
</td>
<td align="left" valign="middle">
🔜 GitLab CI/CD
</td>
<td align="left" valign="middle">
🔜 Fly.io
</td>
</tr>
<tr>
<td align="left" valign="middle">
🔜 AWS
</td>
<td align="left" valign="middle">
🔜 GitHub Actions (https://github.com/Infisical/infisical/issues/54)
</td>
<td align="left" valign="middle">
🔜 Railway
</td>
</tr>
<tr>
<td align="left" valign="middle">
🔜 GCP
</td>
<td align="left" valign="middle">
🔜 Kubernetes
</td>
<td align="left" valign="middle">
🔜 CircleCI
</td>
</tr>
<tr>
<td align="left" valign="middle">
🔜 Jenkins
</td>
<td align="left" valign="middle">
🔜 Digital Ocean
</td>
<td align="left" valign="middle">
🔜 Azure
</td>
</tr>
<tr>
<td align="left" valign="middle">
🔜 TravisCI
</td>
<td align="left" valign="middle">
🔜 Netlify (https://github.com/Infisical/infisical/issues/55)
</td>
</tr>
</tbody>
</table>
</td>
<td>
<table>
<tbody>
<tr>
<td align="left" valign="middle">
<a href="https://infisical.com/docs/integrations/frameworks/react">
✔️ React
</a>
</td>
<td align="left" valign="middle">
<a href="https://infisical.com/docs/integrations/frameworks/express">
✔️ Express
</a>
</td>
</tr>
<tr>
<td align="left" valign="middle">
<a href="https://infisical.com/docs/integrations/frameworks/gatsby">
✔️ Gatsby
</a>
</td>
<td align="left" valign="middle">
<a href="https://infisical.com/docs/integrations/frameworks/flask">
✔️ Flask
</a>
</td>
</tr>
<tr>
<td align="left" valign="middle">
<a href="https://infisical.com/docs/integrations/frameworks/django">
✔️ Django
</a>
</td>
<td align="left" valign="middle">
<a href="https://infisical.com/docs/integrations/frameworks/laravel">
✔️ Laravel
</a>
</td>
</tr>
<tr>
<td align="left" valign="middle">
<a href="https://infisical.com/docs/integrations/frameworks/nestjs">
✔️ NestJS
</a>
</td>
<td align="left" valign="middle">
<a href="https://infisical.com/docs/integrations/frameworks/remix">
✔️ Remix
</a>
</td>
</tr>
<tr>
<td align="left" valign="middle">
<a href="https://infisical.com/docs/integrations/frameworks/nextjs">
✔️ Next.js
</a>
</td>
<td align="left" valign="middle">
🔜 Vite
</td>
</tr>
<tr>
<td align="left" valign="middle">
<a href="https://infisical.com/docs/integrations/frameworks/rails">
✔️ Ruby on Rails
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</table>
- [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 ## Open-source vs. paid
+2 -2
View File
@@ -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: 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](../../integrations/platforms/docker)
- [Docker Compose](../../integrations/docker-compose) - [Docker Compose](../../integrations/platforms/docker-compose)
<Info> <Info>
Once the token is expired, the CLI using it will no longer be able to make Once the token is expired, the CLI using it will no longer be able to make
+1 -1
View File
@@ -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. 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. It's possible to generate the token in the settings of a project.
+1 -1
View File
@@ -27,7 +27,7 @@ Start syncing environment variables with [Infisical Cloud](https://app.infisical
Learn how to configure and deploy Infisical. Learn how to configure and deploy Infisical.
</Card> </Card>
<Card <Card
href="/integrations/heroku" href="/integrations/overview"
title="Integrations" title="Integrations"
icon="plug" icon="plug"
color="#dc2626" color="#dc2626"
+5
View File
@@ -0,0 +1,5 @@
---
title: "Angular"
---
Instructions coming soon.
+5
View File
@@ -0,0 +1,5 @@
---
title: "Django"
---
Instructions coming soon.
+42
View File
@@ -0,0 +1,42 @@
---
title: "Express, Fastify, Koa"
---
Prerequisite: [Install the CLI](/cli/overview)
The steps apply to the following non-exhaustive list of frameworks:
- [Express](https://expressjs.com)
- [Fastify](https://www.fastify.io)
- [Koa](https://koajs.com)
## Initialize Infisical for your app
```bash
# move to your app
cd /path/to/project
# initialize infisical
infisical init
```
## Modify the start script in your `package.json`
```json
...
"scripts": {
"start": "infisical run -- node index.js"
"dev": "infisical run -- nodemon index.js" // if using nodemon for dev
}
...
```
## Start your server with environment variables injected
```bash
npm run start
# or start development server
npm run dev
```
+5
View File
@@ -0,0 +1,5 @@
---
title: "Fibre"
---
Coming soon.
+21
View File
@@ -0,0 +1,21 @@
---
title: "Flask"
---
Prerequisite: [Install the CLI](/cli/overview)
## Initialize Infisical for your [Flask](https://flask.palletsprojects.com/en/2.2.x) app
```bash
# move to your Flask app
cd /path/to/project
# initialize infisical
infisical init
```
## Start your server with environment variables injected
```bash
infisical run -- flask run
```
+41
View File
@@ -0,0 +1,41 @@
---
title: "Gatsby"
---
Prerequisite: [Install the CLI](/cli/overview)
## Initialize Infisical for your [Gatsby](https://www.gatsbyjs.com) app
```bash
# move to your app
cd /path/to/project
# initialize infisical
infisical init
```
## Modify the start script in your `package.json`
```json
...
"scripts": {
"develop": "infisical run -- gatsby develop",
"start": "infisical run -- gatsby develop",
"build": "infisical run -- gatsby build",
"serve": "infisical run -- gatsby serve",
"clean": "infisical run -- gatsby clean"
}
...
```
## Start your development server with environment variables injected
```bash
npm run develop
```
<Note>
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).
</Note>
+5
View File
@@ -0,0 +1,5 @@
---
title: "Laravel"
---
Instructions coming soon.
+47
View File
@@ -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
```
+43
View File
@@ -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>
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).
</Note>
+5
View File
@@ -0,0 +1,5 @@
---
title: "Nuxt"
---
Instructions coming soon.
+5
View File
@@ -0,0 +1,5 @@
---
title: "Ruby on Rails"
---
Instructions coming soon.
+34
View File
@@ -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
```
+5
View File
@@ -0,0 +1,5 @@
---
title: "Remix"
---
Instructions coming soon.
+40
View File
@@ -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>
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).
</Note>
+5
View File
@@ -0,0 +1,5 @@
---
title: "Vue"
---
Coming soon.
+31 -16
View File
@@ -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). Missing an integration? Throw in a [request](https://github.com/Infisical/infisical/issues).
| Integration | Status | | Integration | Type | Status |
| ---------------------------------------------- | ----------- | | -------------------------------------------------------- | --------- | ----------- |
| [Docker](/integrations/docker) | Available | | [Docker](/integrations/platforms/docker) | Platform | Available |
| [Docker-Compose](/integrations/docker-compose) | Available | | [Docker-Compose](/integrations/platforms/docker-compose) | Platform | Available |
| [Heroku](/integrations/heroku) | Available | | Kubernetes | Platform | Coming soon |
| Kubernetes | Coming soon | | [Heroku](/integrations/cloud/heroku) | Cloud | Available |
| Vercel | Coming soon | | Vercel | Cloud | Coming soon |
| AWS | Coming soon | | AWS | Cloud | Coming soon |
| GCP | Coming soon | | GCP | Cloud | Coming soon |
| Azure | Coming soon | | Azure | Cloud | Coming soon |
| DigitalOcean | Coming soon | | DigitalOcean | Cloud | Coming soon |
| GitLab | Coming soon | | GitLab | CI/CD | Coming soon |
| CircleCI | Coming soon | | CircleCI | CI/CD | Coming soon |
| TravisCI | Coming soon | | TravisCI | CI/CD | Coming soon |
| GitHub Actions | Coming soon | | GitHub Actions | CI/CD | Coming soon |
| Jenkins | 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 |
@@ -6,7 +6,7 @@ The Docker Compose integration enables you to inject environment variables from
## Add the CLI to your Dockerfile(s) ## 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 ## Generate Infisical Token
@@ -2,7 +2,7 @@
title: "Docker" 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 ## Add the CLI to your Dockerfile
+42 -9
View File
@@ -37,6 +37,11 @@
"icon": "server", "icon": "server",
"url": "self-hosting" "url": "self-hosting"
}, },
{
"name": "Integrations",
"icon": "plug",
"url": "integrations"
},
{ {
"name": "Contributing", "name": "Contributing",
"icon": "code", "icon": "code",
@@ -92,15 +97,6 @@
} }
] ]
}, },
{
"group": "Integrations",
"pages": [
"integrations/overview",
"integrations/heroku",
"integrations/docker",
"integrations/docker-compose"
]
},
{ {
"group": "Self-hosting", "group": "Self-hosting",
"pages": [ "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", "group": "Security",
"pages": [ "pages": [