|
2 | 2 | description: 'C4 Buckets'
|
3 | 3 | ---
|
4 | 4 |
|
5 |
| -# Storage - Buckets |
| 5 | +# Storage (Buckets/Object Storage) |
6 | 6 |
|
7 | 7 | ## 1. System Context
|
8 | 8 |
|
9 |
| -**Developers** use Nitric to declare buckets within their application. |
| 9 | +**Developers** use Nitric to define required buckets within their application. |
10 | 10 |
|
11 | 11 | - App code uses the [Bucket resource](/storage) from the Nitric SDK.
|
12 |
| -- Developers configure buckets and implement application logic to securely access and manipulate bucket data. |
13 |
| -- Developers request the level of access they require for the bucket in their application logic e.g. read, write, delete. |
14 |
| -- Developers can implement handlers for on events such as read, write or delete. |
| 12 | +- Developers define buckets their application requires and implement logic to securely store/retrieve/delete files. |
| 13 | +- Developers _request_ the level of access they require for the bucket in their application logic e.g. read, write, delete. |
| 14 | +- Developers can implement handlers for file change events such as write or delete. |
15 | 15 |
|
16 |
| -**Operations** use default or overridden Terraform modules to provision the necessary resources for their target cloud. |
| 16 | +**Operations** use default or overridden IaC (e.g Terraform modules) to provision the necessary resources for their target cloud. |
17 | 17 |
|
18 | 18 | <details>
|
19 | 19 | <summary>Example AWS Provider</summary>
|
20 | 20 |
|
21 | 21 | - **AWS S3** serves as the storage backend.
|
22 | 22 | - **AWS Lambda** functions are used to process events triggered by S3.
|
23 |
| -- **AWS IAM** provides roles and policies for secure access to S3 buckets and Lambda functions, enforcing least priviledge access based on the developers request. |
| 23 | +- **AWS IAM** provides roles and policies for secure access to S3 buckets and Lambda functions, enforcing least privilege access based on the developers request. |
24 | 24 |
|
25 | 25 | ```mermaid
|
26 | 26 | flowchart TD
|
@@ -113,8 +113,8 @@ sequenceDiagram
|
113 | 113 |
|
114 | 114 | - Ensures storage buckets have unique names by appending a randomly generated identifier. This avoids naming conflicts and aligns with best practices for globally accessible cloud resources.
|
115 | 115 | - Supports the addition of metadata tags for resource identification, management, and tracking, enabling better governance.
|
116 |
| -- Configures storage bucket notifications to trigger functions or message queues based on specified events (e.g., object creation, update, or deletion). |
117 |
| -- Implements least privilege access by dynamically assigning permissions to functions or services that interact with the storage bucket. |
| 116 | +- Configures storage bucket notifications to trigger functions or message queues based on specified events (e.g., object update or deletion). |
| 117 | +- Implements least privilege access by only assigning requested permissions to functions or services that interact with the storage bucket. |
118 | 118 | - Uses templates or dynamic blocks to handle multiple notification targets, allowing scalability and flexibility for different workflows.
|
119 | 119 |
|
120 | 120 | ## 4. Code
|
|
0 commit comments