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:
Victor Santos
2025-11-10 19:07:26 -03:00
parent f93dc220c8
commit d9ef0b23d1
7 changed files with 42 additions and 22 deletions

View File

@@ -1,7 +1,7 @@
# Keys # Keys
# Required key for platform encryption/decryption ops # Required key for platform encryption/decryption ops
# THIS IS A SAMPLE ENCRYPTION KEY AND SHOULD NEVER BE USED FOR PRODUCTION # THIS IS A SAMPLE ENCRYPTION KEY AND SHOULD NEVER BE USED FOR PRODUCTION
ENCRYPTION_KEY=6c1fe4e407b8911c104518103505b218 ENCRYPTION_KEY=VVHnGZ0w98WLgISK4XSJcagezuG6EWRFTk48KE4Y5Mw=
# JWT # JWT
# Required secrets to sign JWT tokens # Required secrets to sign JWT tokens

View File

@@ -85,7 +85,7 @@ We're on a mission to make security tooling more accessible to everyone, not jus
## Getting started ## 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 | | Use Infisical Cloud | Deploy Infisical on premise |
| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ | | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ |

View File

@@ -5,28 +5,47 @@ title: 'Backend folder structure'
``` ```
├── scripts ├── scripts
├── e2e-test ├── e2e-test
├── bdd
└── src/ └── src/
├── @types/ ├── @types/
│ ├── knex.d.ts │ ├── knex.d.ts
── fastify.d.ts ── fastify.d.ts
│ ├── ...
├── db/ ├── db/
│ ├── migrations │ ├── migrations
│ ├── schemas │ ├── schemas
│ └── seed │ └── seeds
├── keystore/
├── lib/ ├── lib/
│ ├── api-docs
│ ├── aws
│ ├── axios
│ ├── base64
│ ├── casl
│ ├── certificates
│ ├── config
│ ├── crypto
│ ├── dates
│ ├── delay
│ ├── error-codes
│ ├── errors
│ ├── files
│ ├── fn │ ├── fn
│ ├── date │ ├── ...
│ └── config
├── queue ├── queue
├── server/ ├── server/
│ ├── routes/ │ ├── routes/
│ │ ├── v1 │ │ ├── v1
│ │ ── v2 │ │ ── v2
│ │ ├── v3
│ │ └── v4
│ ├── plugins │ ├── plugins
── config ── config
│ └── lib
├── services/ ├── services/
│ ├── auth │ ├── auth
│ ├── org │ ├── org
│ ├── ...
│ └── project/ │ └── project/
│ ├── project-service.ts │ ├── project-service.ts
│ ├── project-types.ts │ ├── project-types.ts
@@ -42,19 +61,23 @@ Contains reusable scripts for backend automation, like running migrations and ge
### `backend/e2e-test` ### `backend/e2e-test`
Integration tests for the APIs. Integration tests for the APIs.
### `backend/bdd`
Behavior-Driven Development (BDD) tests using Python and Gherkin feature files.
### `backend/src` ### `backend/src`
The source code of the backend. The source code of the backend.
- `@types`: Type definitions for libraries like Fastify and Knex. - `@types`: Type definitions for libraries like Fastify, Knex, and other third-party dependencies.
- `db`: Knex.js configuration for the database, including migration, seed files, and SQL type schemas. - `db`: Knex.js configuration for the database, including migrations, seed files, and SQL type schemas.
- `lib`: Stateless, reusable functions used across the codebase. - `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. - `queue`: Infisical's queue system based on BullMQ.
### `src/server` ### `src/server`
- Scope anything related to Fastify/service here. - Scope anything related to Fastify/service here.
- Includes routes, Fastify plugins, and server configurations. - Includes routes, Fastify plugins, server configurations, and server-specific utilities.
- The routes folder contains various versions of routes separated into v1, v2, etc. - The routes folder contains various versions of routes separated into v1, v2, v3, v4, etc.
### `src/services` ### `src/services`

View File

@@ -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 ## 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. 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 pass them to `fastify.register("service,{...dependencies})`. 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>`. 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 ## Writing API Routes

View File

@@ -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. Manage access to resources like databases, servers, and accounts with policy-based controls and approvals.
</Card> </Card>
</Columns>
<Columns cols="1">
<Card <Card
title="Infisical KMS" title="Infisical KMS"
href="/documentation/platform/kms/overview" href="/documentation/platform/kms/overview"

View File

@@ -98,8 +98,8 @@ Using a __30-Day__ rotation interval as an example, here's how the process unfol
## Infisical Secret Rotation Strategies ## Infisical Secret Rotation Strategies
- [PostgreSQL Credentials](./postgres) - [PostgreSQL Credentials](./postgres-credentials)
- [Microsoft SQL Server Credentials](./mssql) - [Microsoft SQL Server Credentials](./mssql-credentials)
## FAQ ## FAQ

View File

@@ -15,7 +15,7 @@ This section covers the internals of Infisical including its technical underpinn
<CardGroup cols={2}> <CardGroup cols={2}>
<Card <Card
href="./components" href="./architecture/components"
title="Components" title="Components"
icon="boxes-stacked" icon="boxes-stacked"
color="#000000" color="#000000"