mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-11 05:28:51 +00:00
68 lines
2.3 KiB
Plaintext
68 lines
2.3 KiB
Plaintext
---
|
|
title: "Architecture"
|
|
description: "How Infisical is built"
|
|
---
|
|
|
|
Infisical is a complex system with many parts to it. This page aims to help you build a mental model of the system architecture including how core flows are implemented.
|
|
|
|

|
|
|
|
## Components
|
|
|
|
### Infisical API
|
|
|
|
The Infisical API (sometimes referred to as the **backend**) contains the core platform logic.
|
|
|
|
### Storage backend
|
|
|
|
Infisical relies on a storage backend to store data including users and secrets.
|
|
|
|
Currently, the only supported storage backend is [MongoDB](https://www.mongodb.com) but we plan to add support for other options including PostgreSQL in Q1 2024.
|
|
|
|
### Redis
|
|
|
|
Infisical uses Redis to enable more complex workflows including a queuing system to manage long running asynchronous tasks, cron jobs, as well as reliable cache for frequently used resources.
|
|
|
|
### Infisical Web UI
|
|
|
|
The Web UI is the browser-based portal that connects to the Infisical API.
|
|
|
|
### Infisical clients
|
|
|
|
Clients are any application or infrastructure that connecting to the Infisical API using one of the below methods:
|
|
- Public API: Making API requests directly to the Infisical API.
|
|
- Client SDK: A platform-specific library with method abstractions for working with secrets. Currently, there are two official SDKs: [Node SDK](https://github.com/Infisical/infisical-node) and [Python SDK](https://github.com/Infisical/infisical-python).
|
|
- CLI: A terminal-based interface for interacting with the Infisical API.
|
|
- Kubernetes Operator: This operator retrieves secrets from Infisical and securely stores them in a designated cluster; it uses an InfisicalSecret resource to dictate authentication and storage procedures.
|
|
|
|
## Flows
|
|
|
|
### Signup
|
|
|
|
When a user signs up for an account with Infisical using email/password, they must verify their email by correctly entering the 6-digit OTP code sent to their email.
|
|
After this procedure, a public-private k
|
|
|
|
### Login
|
|
|
|
### Single sign-on
|
|
|
|
### Team management
|
|
|
|
- Organizations
|
|
- Projects / environments / paths
|
|
|
|
### Secrets
|
|
|
|
- Saving secrets
|
|
- Fetching secrets
|
|
|
|
### Integrations
|
|
|
|
### Versioning
|
|
|
|
### Audit logging
|
|
|
|
## Resources
|
|
|
|
- For in depth details, consult the code.
|
|
- To get started with Infisical, try out the [Getting Started](https://infisical.com/docs/documentation/getting-started/introduction) overview. |