Add integrations anchor and preliminary framework integrations to docs

This commit is contained in:
Tuan Dang
2022-11-28 09:57:17 -05:00
parent 7ab2289c99
commit 7447288e5c
19 changed files with 323 additions and 38 deletions

View File

@@ -38,7 +38,7 @@
- **[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,24 @@ 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! :)
- [x] [Docker](https://infisical.com/docs/integrations/docker) - [x] [Docker](https://infisical.com/docs/integrations/platforms/docker)
- [x] [Docker Compose](https://infisical.com/docs/integrations/docker-compose) - [x] [Docker Compose](https://infisical.com/docs/integrations/platforms/docker-compose)
- [x] [Heroku](https://infisical.com/docs/integrations/heroku)
- [ ] Vercel
- [ ] Kubernetes - [ ] Kubernetes
- [x] [Heroku](https://infisical.com/docs/integrations/cloud/heroku)
- [ ] Vercel
- [ ] AWS - [ ] AWS
- [ ] GCP - [ ] GCP
- [ ] Azure - [ ] Azure
- [ ] Digital Ocean - [ ] Digital Ocean
- [ ] GitLab - [ ] GitLab
- [ ] CircleCI - [x] React
- [x] Express
- [x] Next.js
- [x] NestJS
- [x] Gatsby
- [x] Flask
## Open-source vs. paid ## Open-source vs. paid

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

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.

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"

View File

@@ -0,0 +1,5 @@
---
title: "Django"
---
Instructions coming soon.

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
```

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
```

View File

@@ -0,0 +1,39 @@
---
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 server with environment variables injected
```bash
yarn run start
# or start development server
yarn run develop
```

View File

@@ -0,0 +1,5 @@
---
title: "Laravel"
---
Instructions coming soon.

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
```

View File

@@ -0,0 +1,37 @@
---
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
yarn run dev
# or
npm run dev
```

View File

@@ -0,0 +1,5 @@
---
title: "Ruby on Rails"
---
Instructions coming soon.

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
yarn start
```

View File

@@ -0,0 +1,5 @@
---
title: "Remix"
---
Instructions coming soon.

View File

@@ -6,19 +6,29 @@ 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 |
| [Express](integrations/frameworks/express) | Framework | Available |
| [Next.js](/integrations/frameworks/nextjs) | Framework | Available |
| [NestJS](/integrations/frameworks/nestjs) | Framework | Available |
| [Gatsby](/integrations/frameworks/gatsby) | Framework | Available |
| [Remix](/integrations/frameworks/remix) | 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 |

View File

@@ -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

View File

@@ -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

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,40 @@
} }
] ]
}, },
{
"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/express",
"integrations/frameworks/nextjs",
"integrations/frameworks/nestjs",
"integrations/frameworks/gatsby",
"integrations/frameworks/remix",
"integrations/frameworks/django",
"integrations/frameworks/flask",
"integrations/frameworks/laravel",
"integrations/frameworks/rails"
]
},
{ {
"group": "Security", "group": "Security",
"pages": [ "pages": [