Continue modifying docs
@@ -3,7 +3,7 @@
|
||||
<img width="300" src="/img/logoname-white.svg#gh-dark-mode-only" alt="infisical">
|
||||
</h1>
|
||||
<p align="center">
|
||||
<p align="center">Open-source, E2EE, simple tool to auto-sync environment variables across you team and infrastructure.</p>
|
||||
<p align="center">Open-source, E2EE, simple tool to manage and sync environment variables across your team and infrastructure.</p>
|
||||
</p>
|
||||
|
||||
<h4 align="center">
|
||||
@@ -38,7 +38,7 @@
|
||||
- 🔜 **[1-Click Deploy](https://infisical.com/docs/linux)** to Digital Ocean and Heroku
|
||||
- 🔜 **Authentication/Authorization** for projects (read/write controls soon)
|
||||
- 🔜 **Automatic Secret Rotation**
|
||||
- 🔜 **2FA** (coming soon)
|
||||
- 🔜 **2FA**
|
||||
- 🔜 **Access Logs**
|
||||
- 🔜 **Slack Integration & MS Teams** integrations
|
||||
|
||||
|
||||
27
docs/contributing/architecture.mdx
Normal file
@@ -0,0 +1,27 @@
|
||||
---
|
||||
title: "Architecture"
|
||||
---
|
||||
|
||||
Infisical is an open-source collection of services for simple secret management built on top of Typescript, Javascript (ongoing conversion to TS), and Go. It's all dockerized and can be spun up with Docker Compose.
|
||||
|
||||

|
||||
|
||||
## NGINX
|
||||
|
||||
NGINX is a reverse-proxy and load balancer that sits in front of Infisical. It forwards requests to the frontend and backend services.
|
||||
|
||||
## Frontend
|
||||
|
||||
The frontend service renders the Web UI using Next.js.
|
||||
|
||||
## Backend
|
||||
|
||||
The backend service provides the back-of-house logic for secret management.
|
||||
|
||||
## Database
|
||||
|
||||
The (MongoDB) database stores all data and (encrypted) secrets.
|
||||
|
||||
## CLI
|
||||
|
||||
The platform-agnostic CLI allows you to inject environment variables from Infisical into apps and infrastructure.
|
||||
@@ -1,77 +1,84 @@
|
||||
---
|
||||
title: "Install CLI"
|
||||
description: "Install the official Infisical CLI for both your development and production environments"
|
||||
title: "Installation"
|
||||
---
|
||||
|
||||
## Install
|
||||
|
||||
Installing Infisical CLI is simple. Just follow the guide for your OS below.
|
||||
Follow the guide for your OS below to install the CLI.
|
||||
|
||||
<Tabs>
|
||||
<Tab title="MacOS">
|
||||
Use [brew](https://brew.sh/) package manager
|
||||
|
||||
```
|
||||
$ brew install infisical/get-cli/infisical
|
||||
$ infisical --version
|
||||
```bash
|
||||
# install
|
||||
brew install infisical/get-cli/infisical
|
||||
|
||||
# check version
|
||||
infisical --version
|
||||
```
|
||||
|
||||
To update:
|
||||
|
||||
```bash
|
||||
brew upgrade infisical
|
||||
```
|
||||
$ brew upgrade infisical
|
||||
```
|
||||
|
||||
</Tab>
|
||||
<Tab title="Windows">
|
||||
Use [Scoop](https://scoop.sh/) package manager
|
||||
|
||||
```
|
||||
$ scoop bucket add org https://github.com/Infisical/scoop-infisical.git
|
||||
$ scoop install infisical
|
||||
$ infisical --version
|
||||
```bash
|
||||
# install
|
||||
scoop bucket add org https://github.com/Infisical/scoop-infisical.git
|
||||
scoop install infisical
|
||||
|
||||
# check version
|
||||
infisical --version
|
||||
```
|
||||
|
||||
To update:
|
||||
|
||||
```bash
|
||||
scoop update infisical
|
||||
```
|
||||
$ scoop update infisical
|
||||
```
|
||||
|
||||
</Tab>
|
||||
<Tab title="Alpine">
|
||||
Install prerequisite
|
||||
```
|
||||
```bash
|
||||
$ sudo apk add --no-cache bash sudo
|
||||
```
|
||||
|
||||
Add Infisical repository
|
||||
```
|
||||
```bash
|
||||
$ curl -1sLf \
|
||||
'https://dl.cloudsmith.io/public/infisical/infisical-cli/setup.alpine.sh' \
|
||||
| sudo -E bash
|
||||
```
|
||||
|
||||
Then install CLI
|
||||
```
|
||||
```bash
|
||||
$ apk update && apk add infisical
|
||||
```
|
||||
|
||||
</Tab>
|
||||
<Tab title="RedHat/CentOs/Amazon">
|
||||
Add Infisical repository
|
||||
```
|
||||
```bash
|
||||
$ curl -1sLf \
|
||||
'https://dl.cloudsmith.io/public/infisical/infisical-cli/setup.rpm.sh' \
|
||||
| sudo -E bash
|
||||
```
|
||||
|
||||
Then install CLI
|
||||
```
|
||||
```bash
|
||||
$ yum install infisical
|
||||
```
|
||||
|
||||
</Tab>
|
||||
<Tab title="Debian/Ubuntu">
|
||||
Add Infisical repository
|
||||
|
||||
```
|
||||
```bash
|
||||
$ curl -1sLf \
|
||||
'https://dl.cloudsmith.io/public/infisical/infisical-cli/setup.deb.sh' \
|
||||
| sudo -E bash
|
||||
@@ -86,25 +93,31 @@ Installing Infisical CLI is simple. Just follow the guide for your OS below.
|
||||
</Tabs>
|
||||
|
||||
## Usage
|
||||
|
||||
Once you have the CLI installed in your system, follow the guide to login and sync your first project.
|
||||
|
||||
#### Login
|
||||
|
||||
Login to the CLI by running the following command in your terminal
|
||||
|
||||
```
|
||||
infisical login
|
||||
```
|
||||
|
||||
<Info>
|
||||
To authenticate without logging in manually, read about [Infisical Token](/infisicalToken)
|
||||
To authenticate without logging in manually, read about [Infisical
|
||||
Token](/infisicalToken)
|
||||
</Info>
|
||||
#### Link secrets to your project
|
||||
After logging in, `CD` into the root of your local project. Then run the following command in the terminal to link your Infisical project to your local project.
|
||||
#### Link secrets to your project After logging in, `CD` into the root of your local
|
||||
project. Then run the following command in the terminal to link your Infisical project
|
||||
to your local project.
|
||||
|
||||
```
|
||||
infisical init
|
||||
```
|
||||
|
||||
#### Inject
|
||||
|
||||
To inject the secrets from the Infisical project you have selected in step 2 into your application process, run the following command.
|
||||
|
||||
```
|
||||
@@ -128,6 +141,7 @@ infisical run --stage=prod -- npm run dev
|
||||
You're now automatically pulling and injecting secrets as environment variables into your application!
|
||||
|
||||
### Support
|
||||
|
||||
We're constantly improving Infisical, so we'd love to get your feedback and take feature requests.
|
||||
|
||||
Lastly, if you have any questions or inquiries, shoot an email over to [support@infisical.com](mailto:support@infisical.com) so we can assist you. Alternatively, feel free to post your question or DM us on Slack here; we'd be happy to connect with you.
|
||||
28
docs/getting-started/dashboard/create-account.mdx
Normal file
@@ -0,0 +1,28 @@
|
||||
---
|
||||
title: "New Account"
|
||||
---
|
||||
|
||||
## Self-hosted
|
||||
|
||||
If you're using a self-hosted installation, follow the [setup](/self-hosting/overview) then open your website URL `{WEBSITE_URL}/login`.
|
||||
|
||||
## Infisical Cloud
|
||||
|
||||
**Step 1.** Open [infisical.com](https://infisical.com/) and click on either "Try Infisical for free" or "Start for free" to head to the signup sequence.
|
||||
|
||||

|
||||
|
||||
**Step 2.** Fill out the signup sequence.
|
||||
|
||||
After verifying your email address, you'll be prompted to fill out some required fields to set up your account.
|
||||
|
||||
| Field | Description |
|
||||
| ---------- | --------------------------- |
|
||||
| Email | Enter a valid email address |
|
||||
| First name | Your first name |
|
||||
| Last name | Your last name |
|
||||
| Password | Password |
|
||||
|
||||
Once you've done that, you'll be taken to the dashboard where we've populated some default environment variables for demonstration.
|
||||
|
||||

|
||||
33
docs/getting-started/dashboard/organization.mdx
Normal file
@@ -0,0 +1,33 @@
|
||||
---
|
||||
title: "Organization"
|
||||
---
|
||||
|
||||
By default, Infisical creates an organization under your name such as "John's Organization." To make changes and add members to your organization, head to your organization settings.
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
Feel free to change the name of your organization.
|
||||
|
||||
## Members
|
||||
|
||||
Members of an organization can create and add other members to projects within that organization.
|
||||
|
||||
To add a member to your organization, scroll down to the "Organization Members" section and invite the member via email. They'll receive an email to confirm their organization invitation. If the member is an existing user on the platform, they will be automatically added to the organization.
|
||||
|
||||

|
||||

|
||||
|
||||
Note that access to projects must be provisioned to new members after they've accepted their invitation, and they will not be added to any projects by default.
|
||||
|
||||
## Incident contacts
|
||||
|
||||
Incident contacts of an organization are alerted if anything abnormal is detected within the operations of an organization.
|
||||
|
||||
To add an incident contact to your organization, scroll down to the "Incident Contacts" section and add their email.
|
||||
|
||||

|
||||

|
||||
68
docs/getting-started/dashboard/project.mdx
Normal file
@@ -0,0 +1,68 @@
|
||||
---
|
||||
title: "Project"
|
||||
---
|
||||
|
||||
A project houses environment variables for an application or service.
|
||||
|
||||
## Dashboard
|
||||
|
||||
The dashboard page is where you can manage environment variables for a given project.
|
||||
|
||||

|
||||
|
||||
### Environment variables
|
||||
|
||||
Environment variables can be added or removed from a project. By default, they are pre-populated in your first project for demonstration. For any subsequent project, it can be convenient to import existing environment variables by dragging and dropping a .env file containing them.
|
||||
|
||||
Here's what dragging and dropping a .env looks like:
|
||||
|
||||

|
||||
|
||||
### Environments
|
||||
|
||||
In most cases, environment variables belong to specific environments: development, staging, testing, and production. You can input environment variables for each environment that your project uses.
|
||||
|
||||

|
||||
|
||||
### Personal/Shared scoping
|
||||
|
||||
Every environment variable is classified as either personal or shared.
|
||||
|
||||
- A personal environment variable is one created by a user of a project to be available for that user only.
|
||||
- A shared environment variable is one created by a user of a project to be available for other users of the project.
|
||||
|
||||
You can toggle the classification of an environment variable by pressing on its settings:
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
### Search
|
||||
|
||||
You can search for any environment variable by its key.
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
### Sort
|
||||
|
||||
You can sort environment variables alphabetically by their keys.
|
||||
|
||||

|
||||
|
||||
### Hide/Un-hide
|
||||
|
||||
You can hide or un-hide the values of your environment variables. By default, the values are hidden for your privacy.
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
### Download as .env
|
||||
|
||||
You can download your environment variables back in a .env file.
|
||||
|
||||

|
||||
63
docs/getting-started/features.mdx
Normal file
@@ -0,0 +1,63 @@
|
||||
---
|
||||
title: "Features"
|
||||
---
|
||||
|
||||
This is a non-exhaustive list of features that Infisical offers:
|
||||
|
||||
## Web UI
|
||||
|
||||
The Web UI is used to manage teams and environment variables.
|
||||
|
||||
- Provision access to organizations and projects.
|
||||
- Add/delete/update, scope, search, sort, hide-unhide environment variables.
|
||||
- Separate environment variables by environment.
|
||||
- Import environment variables via drag-and-drop, export them as a .env file.
|
||||
|
||||
## CLI
|
||||
|
||||
The CLI is used to inject environment variables into applications and infrastructure.
|
||||
|
||||
- Inject environment variables.
|
||||
- Inject environment variables into containers via service tokens for Docker.
|
||||
|
||||
## Integrations
|
||||
|
||||
We're still early with integrations but you'll be able to sync environment variables across your entire infrastructure from local development to CI/CD and production.
|
||||
|
||||
| Integration | Status |
|
||||
| -------------- | ----------- |
|
||||
| Docker | Available |
|
||||
| Docker-Compose | 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 |
|
||||
|
||||
Missing an integration? Throw in a request.
|
||||
|
||||
## Roadmap
|
||||
|
||||
We're building the future of secret management, one that's comprehensive and accessible to all. Some high-level features we have in mind:
|
||||
|
||||
| Feature | Status |
|
||||
| ------------------------------------- | --------------- |
|
||||
| Integrations | Ongoing |
|
||||
| More hosting options | Ongoing |
|
||||
| 1-Click Deploys | Ongoing |
|
||||
| Slack & MS teams integrations | Not yet started |
|
||||
| Access logs | Not yet started |
|
||||
| Version control for secrets | Not yet started |
|
||||
| 2FA | Not yet started |
|
||||
| Restricted IPs | Not yet started |
|
||||
| Read/write access controls | Not yet started |
|
||||
| Secret rotation | Not yet started |
|
||||
| Comparing secrets across environments | Not yet started |
|
||||
|
||||
Interested in contributing? Check out the guide.
|
||||
24
docs/getting-started/introduction.mdx
Normal file
@@ -0,0 +1,24 @@
|
||||
---
|
||||
title: "Introduction"
|
||||
---
|
||||
|
||||
Infisical is an [open-source](https://opensource.com/resources/what-open-source), end-to-end encrypted (E2EE) secret manager that enables teams to easily manage and sync their environment variables.
|
||||
|
||||
It stops [secret sprawl](https://www.gitguardian.com/glossary/secret-sprawl-definition) by providing a single source-of-truth for environment variables. It offers a dashboard for teams to manage environment variables and a platform-agnostic CLI to inject them into apps and infrastructure.
|
||||
|
||||
Some problems we solve:
|
||||
|
||||
- Leaking .env files to version control.
|
||||
- Debugging missing environment variables.
|
||||
- Sending environment variables over email.
|
||||
|
||||
Infisical uses [end-to-end encryption](https://en.wikipedia.org/wiki/End-to-end_encryption) to ensure that only designated team members can read their environment variables; unless intended for specific integrations, environment variables are always encrypted before being sent to the server.
|
||||
|
||||
<Card
|
||||
title="Security Brief"
|
||||
icon="shield-halved"
|
||||
iconType="duotone"
|
||||
href="https://dub.sh/XocpMvT"
|
||||
>
|
||||
Learn more about our system + security here.
|
||||
</Card>
|
||||
@@ -1,34 +0,0 @@
|
||||
---
|
||||
title: "Getting Started"
|
||||
description: "Infisical is a simple, end-to-end encrypted (E2EE) secrets manager that enables teams to sync and manage their application environment variables."
|
||||
---
|
||||
|
||||
## Introduction
|
||||
|
||||
Infisical works by injecting environment variables into your application process. Because of this, Infisical works for all programing languages and platforms.
|
||||
|
||||
Infisical is powered by public-key cryptography to ensure that you are the only person who can access your secrets. Read more about our security [here](https://dub.sh/XocpMvT)
|
||||
<Card
|
||||
title="Security Brief"
|
||||
icon="shield-halved"
|
||||
iconType="duotone"
|
||||
href="https://dub.sh/XocpMvT"
|
||||
>
|
||||
Learn more about our system + security here.
|
||||
</Card>
|
||||
|
||||
|
||||
### Step 1: Make an account
|
||||
|
||||
Head to [https://infisical.com](https://infisical.com/) to make an account and create a project. Once you've made an account, you'll be prompted to a dashboard with some placeholder environment variables. Go ahead and replace the placeholder environment variables with your environment variables from your .env file.
|
||||
|
||||
### Step 2 (Optional): Invite your dev team
|
||||
|
||||
Navigate to the “Team” tab in the left sidebar and invite your teammates to the project by submitting their emails. They'll each receive an email invitation to join the project and get access to the environment variables. A few things to note about invitations due to how our public-key cryptography works:
|
||||
|
||||
- If a teammate is already registered with Infisical, then they'll receive access to the environment variables immediately.
|
||||
- If a teammate is unregistered with Infisical, then they'll have to request access to the environment variables once they've registered.
|
||||
|
||||
### Step 3: Install the CLI
|
||||
The Infisical CLI will allow you to inject secrets into any environment. This includes both your local and production environments.
|
||||
|
||||
BIN
docs/images/architecture-diagram.png
Normal file
|
After Width: | Height: | Size: 63 KiB |
BIN
docs/images/architecture-diagram2.png
Normal file
|
After Width: | Height: | Size: 64 KiB |
BIN
docs/images/dashboard-name-modal-organization.png
Normal file
|
After Width: | Height: | Size: 285 KiB |
BIN
docs/images/dashboard-name-selected.png
Normal file
|
After Width: | Height: | Size: 250 KiB |
BIN
docs/images/dashboard.png
Normal file
|
After Width: | Height: | Size: 271 KiB |
BIN
docs/images/landing-page.png
Normal file
|
After Width: | Height: | Size: 870 KiB |
BIN
docs/images/organization-ic-add.png
Normal file
|
After Width: | Height: | Size: 263 KiB |
BIN
docs/images/organization-ic.png
Normal file
|
After Width: | Height: | Size: 244 KiB |
BIN
docs/images/organization-members-add.png
Normal file
|
After Width: | Height: | Size: 298 KiB |
BIN
docs/images/organization-members.png
Normal file
|
After Width: | Height: | Size: 249 KiB |
BIN
docs/images/organization.png
Normal file
|
After Width: | Height: | Size: 275 KiB |
BIN
docs/images/project-download.png
Normal file
|
After Width: | Height: | Size: 249 KiB |
BIN
docs/images/project-drag-drop.png
Normal file
|
After Width: | Height: | Size: 206 KiB |
BIN
docs/images/project-envar-toggle-moved.png
Normal file
|
After Width: | Height: | Size: 266 KiB |
BIN
docs/images/project-envar-toggle-open.png
Normal file
|
After Width: | Height: | Size: 262 KiB |
BIN
docs/images/project-envar-toggle.png
Normal file
|
After Width: | Height: | Size: 249 KiB |
BIN
docs/images/project-environment.png
Normal file
|
After Width: | Height: | Size: 249 KiB |
BIN
docs/images/project-hide.png
Normal file
|
After Width: | Height: | Size: 249 KiB |
BIN
docs/images/project-search-typed.png
Normal file
|
After Width: | Height: | Size: 233 KiB |
BIN
docs/images/project-search.png
Normal file
|
After Width: | Height: | Size: 249 KiB |
BIN
docs/images/project-sort.png
Normal file
|
After Width: | Height: | Size: 249 KiB |
BIN
docs/images/project-unhide.png
Normal file
|
After Width: | Height: | Size: 312 KiB |
3
docs/integrations/docker-compose.mdx
Normal file
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: "Docker Compose"
|
||||
---
|
||||
3
docs/integrations/docker.mdx
Normal file
@@ -0,0 +1,3 @@
|
||||
---
|
||||
title: "Docker"
|
||||
---
|
||||
@@ -44,40 +44,54 @@
|
||||
],
|
||||
"navigation": [
|
||||
{
|
||||
"group": "Documentation",
|
||||
"group": "Platform",
|
||||
"pages": [
|
||||
"gettingStarted",
|
||||
"installCLI",
|
||||
"infisicalToken",
|
||||
"CLI"
|
||||
"getting-started/introduction",
|
||||
"getting-started/features",
|
||||
{
|
||||
"group": "Web UI",
|
||||
"pages": [
|
||||
"getting-started/dashboard/create-account",
|
||||
"getting-started/dashboard/organization",
|
||||
"getting-started/dashboard/project"
|
||||
]
|
||||
},
|
||||
{
|
||||
"group": "Command Line",
|
||||
"pages": ["getting-started/cli/installation", "getting-started/cli/cli-guide", "getting-started/cli/infisical-token"]
|
||||
},
|
||||
"getting-started/infiscial-token"
|
||||
]
|
||||
},
|
||||
{
|
||||
"group": "Integrations",
|
||||
"pages": [
|
||||
"Heroku"
|
||||
"integrations/heroku",
|
||||
"integrations/docker",
|
||||
"integrations/docker-compose"
|
||||
]
|
||||
},
|
||||
{
|
||||
"group": "Self-hosting",
|
||||
"pages": [
|
||||
"self_host_overview",
|
||||
"self-hosting/overview",
|
||||
{
|
||||
"group": "Deployments",
|
||||
"pages": ["linux"]
|
||||
"pages": ["self-hosting/deployments/linux"]
|
||||
},
|
||||
{
|
||||
"group": "Configure",
|
||||
"pages": ["envars"]
|
||||
"group": "Configuration",
|
||||
"pages": ["self-hosting/configuration/envars"]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"group": "Contributing",
|
||||
"pages": [
|
||||
"contributing",
|
||||
"codeOfConduct",
|
||||
"developing"
|
||||
"contributing/overview",
|
||||
"contributing/code-of-conduct",
|
||||
"contributing/developing",
|
||||
"contributing/architecture"
|
||||
]
|
||||
}
|
||||
],
|
||||
|
||||