mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-09-22 13:39:35 +00:00
Update .env.example with a new encryption key, correct the Quickstart Guides link in README.md, and enhance backend folder structure documentation with new sections for BDD tests and additional service details.
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
# Keys
|
||||
# Required key for platform encryption/decryption ops
|
||||
# THIS IS A SAMPLE ENCRYPTION KEY AND SHOULD NEVER BE USED FOR PRODUCTION
|
||||
ENCRYPTION_KEY=6c1fe4e407b8911c104518103505b218
|
||||
ENCRYPTION_KEY=VVHnGZ0w98WLgISK4XSJcagezuG6EWRFTk48KE4Y5Mw=
|
||||
|
||||
# JWT
|
||||
# Required secrets to sign JWT tokens
|
||||
|
||||
@@ -85,7 +85,7 @@ We're on a mission to make security tooling more accessible to everyone, not jus
|
||||
|
||||
## Getting started
|
||||
|
||||
Check out the [Quickstart Guides](https://infisical.com/docs/getting-started/introduction)
|
||||
Check out the [Quickstart Guides](https://infisical.com/docs/documentation/getting-started/overview)
|
||||
|
||||
| Use Infisical Cloud | Deploy Infisical on premise |
|
||||
| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ |
|
||||
|
||||
@@ -5,28 +5,47 @@ title: 'Backend folder structure'
|
||||
```
|
||||
├── scripts
|
||||
├── e2e-test
|
||||
├── bdd
|
||||
└── src/
|
||||
├── @types/
|
||||
│ ├── knex.d.ts
|
||||
│ └── fastify.d.ts
|
||||
│ ├── fastify.d.ts
|
||||
│ ├── ...
|
||||
├── db/
|
||||
│ ├── migrations
|
||||
│ ├── schemas
|
||||
│ └── seed
|
||||
│ └── seeds
|
||||
├── keystore/
|
||||
├── lib/
|
||||
│ ├── api-docs
|
||||
│ ├── aws
|
||||
│ ├── axios
|
||||
│ ├── base64
|
||||
│ ├── casl
|
||||
│ ├── certificates
|
||||
│ ├── config
|
||||
│ ├── crypto
|
||||
│ ├── dates
|
||||
│ ├── delay
|
||||
│ ├── error-codes
|
||||
│ ├── errors
|
||||
│ ├── files
|
||||
│ ├── fn
|
||||
│ ├── date
|
||||
│ └── config
|
||||
│ ├── ...
|
||||
├── queue
|
||||
├── server/
|
||||
│ ├── routes/
|
||||
│ │ ├── v1
|
||||
│ │ └── v2
|
||||
│ │ ├── v2
|
||||
│ │ ├── v3
|
||||
│ │ └── v4
|
||||
│ ├── plugins
|
||||
│ └── config
|
||||
│ ├── config
|
||||
│ └── lib
|
||||
├── services/
|
||||
│ ├── auth
|
||||
│ ├── org
|
||||
│ ├── ...
|
||||
│ └── project/
|
||||
│ ├── project-service.ts
|
||||
│ ├── project-types.ts
|
||||
@@ -42,19 +61,23 @@ Contains reusable scripts for backend automation, like running migrations and ge
|
||||
### `backend/e2e-test`
|
||||
Integration tests for the APIs.
|
||||
|
||||
### `backend/bdd`
|
||||
Behavior-Driven Development (BDD) tests using Python and Gherkin feature files.
|
||||
|
||||
### `backend/src`
|
||||
The source code of the backend.
|
||||
|
||||
- `@types`: Type definitions for libraries like Fastify and Knex.
|
||||
- `db`: Knex.js configuration for the database, including migration, seed files, and SQL type schemas.
|
||||
- `lib`: Stateless, reusable functions used across the codebase.
|
||||
- `@types`: Type definitions for libraries like Fastify, Knex, and other third-party dependencies.
|
||||
- `db`: Knex.js configuration for the database, including migrations, seed files, and SQL type schemas.
|
||||
- `keystore`: Key-value store abstraction layer supporting Redis and PostgreSQL for application caching, distributed locking, and coordination.
|
||||
- `lib`: Stateless, reusable functions used across the codebase, organized by functionality (crypto, config, dates, etc.).
|
||||
- `queue`: Infisical's queue system based on BullMQ.
|
||||
|
||||
### `src/server`
|
||||
|
||||
- Scope anything related to Fastify/service here.
|
||||
- Includes routes, Fastify plugins, and server configurations.
|
||||
- The routes folder contains various versions of routes separated into v1, v2, etc.
|
||||
- Includes routes, Fastify plugins, server configurations, and server-specific utilities.
|
||||
- The routes folder contains various versions of routes separated into v1, v2, v3, v4, etc.
|
||||
|
||||
### `src/services`
|
||||
|
||||
|
||||
@@ -39,10 +39,10 @@ Use the custom Infisical function `ormify` in `src/lib/knex` for simple database
|
||||
|
||||
## Connecting the Service Layer to the Server Layer
|
||||
|
||||
Server-related logic is handled in `/src/server`. To connect the service layer to the server layer, we use Fastify plugins for dependency injection:
|
||||
Server-related logic is handled in `/src/server`. To connect the service layer to the server layer, we use Fastify's dependency injection pattern:
|
||||
|
||||
1. Add the service type in the `fastify.d.ts` file under the `service` namespace of a FastifyServerInstance type.
|
||||
2. In `/src/server/routes/index.ts`, instantiate the required dependencies for `feature-x`, such as the DAL and service layers, and then pass them to `fastify.register("service,{...dependencies})`.
|
||||
1. Add the service type in `/src/@types/fastify.d.ts` under the `services` namespace of the `FastifyInstance` interface.
|
||||
2. In `/src/server/routes/index.ts`, instantiate the required dependencies for `feature-x` (such as the DAL and service layers), and then add the service instance to the `server.decorate()` call, where all services are registered for dependency injection.
|
||||
3. This makes the service layer accessible within all routes under the Fastify service instance, accessed via `server.services.<registered service name>.<function>`.
|
||||
|
||||
## Writing API Routes
|
||||
|
||||
@@ -46,9 +46,6 @@ description: "The open source platform for managing secrets, certificates, and s
|
||||
>
|
||||
Manage access to resources like databases, servers, and accounts with policy-based controls and approvals.
|
||||
</Card>
|
||||
</Columns>
|
||||
|
||||
<Columns cols="1">
|
||||
<Card
|
||||
title="Infisical KMS"
|
||||
href="/documentation/platform/kms/overview"
|
||||
|
||||
@@ -98,8 +98,8 @@ Using a __30-Day__ rotation interval as an example, here's how the process unfol
|
||||
|
||||
## Infisical Secret Rotation Strategies
|
||||
|
||||
- [PostgreSQL Credentials](./postgres)
|
||||
- [Microsoft SQL Server Credentials](./mssql)
|
||||
- [PostgreSQL Credentials](./postgres-credentials)
|
||||
- [Microsoft SQL Server Credentials](./mssql-credentials)
|
||||
|
||||
## FAQ
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ This section covers the internals of Infisical including its technical underpinn
|
||||
|
||||
<CardGroup cols={2}>
|
||||
<Card
|
||||
href="./components"
|
||||
href="./architecture/components"
|
||||
title="Components"
|
||||
icon="boxes-stacked"
|
||||
color="#000000"
|
||||
|
||||
Reference in New Issue
Block a user