docs: add mkdocs, update links, add architecture documentation
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
# Task 5.1.1: Install `github.com/redis/go-redis/v9`
|
||||
|
||||
## Metadata
|
||||
- **Task ID**: 5.1.1
|
||||
- **Title**: Install `github.com/redis/go-redis/v9`
|
||||
- **Phase**: 5 - Infrastructure Adapters
|
||||
- **Section**: 5.1
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: TBD
|
||||
- **Dependencies**: TBD
|
||||
|
||||
## Description
|
||||
Install `github.com/redis/go-redis/v9`
|
||||
|
||||
## Requirements
|
||||
- Install `github.com/redis/go-redis/v9`
|
||||
|
||||
## Implementation Steps
|
||||
1. TODO: Add implementation steps
|
||||
2. TODO: Add implementation steps
|
||||
3. TODO: Add implementation steps
|
||||
|
||||
## Acceptance Criteria
|
||||
- [ ] Task 5.1.1 is completed
|
||||
- [ ] All requirements are met
|
||||
- [ ] Code compiles and tests pass
|
||||
|
||||
## Related ADRs
|
||||
- See relevant ADRs in `docs/adr/`
|
||||
|
||||
## Implementation Notes
|
||||
- TODO: Add implementation notes
|
||||
|
||||
## Testing
|
||||
```bash
|
||||
# TODO: Add test commands
|
||||
go test ./...
|
||||
```
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
# Task 5.1.2: Create `pkg/infra/cache/cache.go` interface:
|
||||
|
||||
## Metadata
|
||||
- **Task ID**: 5.1.2
|
||||
- **Title**: Create `pkg/infra/cache/cache.go` interface:
|
||||
- **Phase**: 5 - Infrastructure Adapters
|
||||
- **Section**: 5.1
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: TBD
|
||||
- **Dependencies**: TBD
|
||||
|
||||
## Description
|
||||
Create `pkg/infra/cache/cache.go` interface:
|
||||
|
||||
## Requirements
|
||||
- Create `pkg/infra/cache/cache.go` interface:
|
||||
|
||||
## Implementation Steps
|
||||
1. TODO: Add implementation steps
|
||||
2. TODO: Add implementation steps
|
||||
3. TODO: Add implementation steps
|
||||
|
||||
## Acceptance Criteria
|
||||
- [ ] Task 5.1.2 is completed
|
||||
- [ ] All requirements are met
|
||||
- [ ] Code compiles and tests pass
|
||||
|
||||
## Related ADRs
|
||||
- See relevant ADRs in `docs/adr/`
|
||||
|
||||
## Implementation Notes
|
||||
- TODO: Add implementation notes
|
||||
|
||||
## Testing
|
||||
```bash
|
||||
# TODO: Add test commands
|
||||
go test ./...
|
||||
```
|
||||
|
||||
|
||||
## Code Reference
|
||||
|
||||
```go
|
||||
type Cache interface {
|
||||
Get(ctx context.Context, key string) ([]byte, error)
|
||||
Set(ctx context.Context, key string, value []byte, ttl time.Duration) error
|
||||
Delete(ctx context.Context, key string) error
|
||||
}
|
||||
```
|
||||
@@ -0,0 +1,40 @@
|
||||
# Task 5.1.3: Implement `internal/infra/cache/redis_cache.go`
|
||||
|
||||
## Metadata
|
||||
- **Task ID**: 5.1.3
|
||||
- **Title**: Implement `internal/infra/cache/redis_cache.go`
|
||||
- **Phase**: 5 - Infrastructure Adapters
|
||||
- **Section**: 5.1
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: TBD
|
||||
- **Dependencies**: TBD
|
||||
|
||||
## Description
|
||||
Implement `internal/infra/cache/redis_cache.go`
|
||||
|
||||
## Requirements
|
||||
- Implement `internal/infra/cache/redis_cache.go`
|
||||
|
||||
## Implementation Steps
|
||||
1. TODO: Add implementation steps
|
||||
2. TODO: Add implementation steps
|
||||
3. TODO: Add implementation steps
|
||||
|
||||
## Acceptance Criteria
|
||||
- [ ] Task 5.1.3 is completed
|
||||
- [ ] All requirements are met
|
||||
- [ ] Code compiles and tests pass
|
||||
|
||||
## Related ADRs
|
||||
- See relevant ADRs in `docs/adr/`
|
||||
|
||||
## Implementation Notes
|
||||
- TODO: Add implementation notes
|
||||
|
||||
## Testing
|
||||
```bash
|
||||
# TODO: Add test commands
|
||||
go test ./...
|
||||
```
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
# Task 5.1.4: Add Redis config to `config/default.yaml`
|
||||
|
||||
## Metadata
|
||||
- **Task ID**: 5.1.4
|
||||
- **Title**: Add Redis config to `config/default.yaml`
|
||||
- **Phase**: 5 - Infrastructure Adapters
|
||||
- **Section**: 5.1
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: TBD
|
||||
- **Dependencies**: TBD
|
||||
|
||||
## Description
|
||||
Add Redis config to `config/default.yaml`
|
||||
|
||||
## Requirements
|
||||
- Add Redis config to `config/default.yaml`
|
||||
|
||||
## Implementation Steps
|
||||
1. TODO: Add implementation steps
|
||||
2. TODO: Add implementation steps
|
||||
3. TODO: Add implementation steps
|
||||
|
||||
## Acceptance Criteria
|
||||
- [ ] Task 5.1.4 is completed
|
||||
- [ ] All requirements are met
|
||||
- [ ] Code compiles and tests pass
|
||||
|
||||
## Related ADRs
|
||||
- See relevant ADRs in `docs/adr/`
|
||||
|
||||
## Implementation Notes
|
||||
- TODO: Add implementation notes
|
||||
|
||||
## Testing
|
||||
```bash
|
||||
# TODO: Add test commands
|
||||
go test ./...
|
||||
```
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
# Task 5.1.5: Register in DI container
|
||||
|
||||
## Metadata
|
||||
- **Task ID**: 5.1.5
|
||||
- **Title**: Register in DI container
|
||||
- **Phase**: 5 - Infrastructure Adapters
|
||||
- **Section**: 5.1
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: TBD
|
||||
- **Dependencies**: TBD
|
||||
|
||||
## Description
|
||||
Register in DI container
|
||||
|
||||
## Requirements
|
||||
- Register in DI container
|
||||
|
||||
## Implementation Steps
|
||||
1. TODO: Add implementation steps
|
||||
2. TODO: Add implementation steps
|
||||
3. TODO: Add implementation steps
|
||||
|
||||
## Acceptance Criteria
|
||||
- [ ] Task 5.1.5 is completed
|
||||
- [ ] All requirements are met
|
||||
- [ ] Code compiles and tests pass
|
||||
|
||||
## Related ADRs
|
||||
- See relevant ADRs in `docs/adr/`
|
||||
|
||||
## Implementation Notes
|
||||
- TODO: Add implementation notes
|
||||
|
||||
## Testing
|
||||
```bash
|
||||
# TODO: Add test commands
|
||||
go test ./...
|
||||
```
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
# Task 5.1.6: Add cache middleware for selected routes (optional)
|
||||
|
||||
## Metadata
|
||||
- **Task ID**: 5.1.6
|
||||
- **Title**: Add cache middleware for selected routes (optional)
|
||||
- **Phase**: 5 - Infrastructure Adapters
|
||||
- **Section**: 5.1
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: TBD
|
||||
- **Dependencies**: TBD
|
||||
|
||||
## Description
|
||||
Add cache middleware for selected routes (optional)
|
||||
|
||||
## Requirements
|
||||
- Add cache middleware for selected routes (optional)
|
||||
|
||||
## Implementation Steps
|
||||
1. TODO: Add implementation steps
|
||||
2. TODO: Add implementation steps
|
||||
3. TODO: Add implementation steps
|
||||
|
||||
## Acceptance Criteria
|
||||
- [ ] Task 5.1.6 is completed
|
||||
- [ ] All requirements are met
|
||||
- [ ] Code compiles and tests pass
|
||||
|
||||
## Related ADRs
|
||||
- See relevant ADRs in `docs/adr/`
|
||||
|
||||
## Implementation Notes
|
||||
- TODO: Add implementation notes
|
||||
|
||||
## Testing
|
||||
```bash
|
||||
# TODO: Add test commands
|
||||
go test ./...
|
||||
```
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
# Task 5.2.1: Create `pkg/eventbus/eventbus.go` interface:
|
||||
|
||||
## Metadata
|
||||
- **Task ID**: 5.2.1
|
||||
- **Title**: Create `pkg/eventbus/eventbus.go` interface:
|
||||
- **Phase**: 5 - Infrastructure Adapters
|
||||
- **Section**: 5.2
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: TBD
|
||||
- **Dependencies**: TBD
|
||||
|
||||
## Description
|
||||
Create `pkg/eventbus/eventbus.go` interface:
|
||||
|
||||
## Requirements
|
||||
- Create `pkg/eventbus/eventbus.go` interface:
|
||||
|
||||
## Implementation Steps
|
||||
1. TODO: Add implementation steps
|
||||
2. TODO: Add implementation steps
|
||||
3. TODO: Add implementation steps
|
||||
|
||||
## Acceptance Criteria
|
||||
- [ ] Task 5.2.1 is completed
|
||||
- [ ] All requirements are met
|
||||
- [ ] Code compiles and tests pass
|
||||
|
||||
## Related ADRs
|
||||
- See relevant ADRs in `docs/adr/`
|
||||
|
||||
## Implementation Notes
|
||||
- TODO: Add implementation notes
|
||||
|
||||
## Testing
|
||||
```bash
|
||||
# TODO: Add test commands
|
||||
go test ./...
|
||||
```
|
||||
|
||||
|
||||
## Code Reference
|
||||
|
||||
```go
|
||||
type EventBus interface {
|
||||
Publish(ctx context.Context, topic string, event Event) error
|
||||
Subscribe(topic string, handler EventHandler) error
|
||||
}
|
||||
```
|
||||
@@ -0,0 +1,40 @@
|
||||
# Task 5.2.2: Implement `internal/infra/bus/inprocess_bus.go`:
|
||||
|
||||
## Metadata
|
||||
- **Task ID**: 5.2.2
|
||||
- **Title**: Implement `internal/infra/bus/inprocess_bus.go`:
|
||||
- **Phase**: 5 - Infrastructure Adapters
|
||||
- **Section**: 5.2
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: TBD
|
||||
- **Dependencies**: TBD
|
||||
|
||||
## Description
|
||||
Implement `internal/infra/bus/inprocess_bus.go`:
|
||||
|
||||
## Requirements
|
||||
- Implement `internal/infra/bus/inprocess_bus.go`:
|
||||
|
||||
## Implementation Steps
|
||||
1. TODO: Add implementation steps
|
||||
2. TODO: Add implementation steps
|
||||
3. TODO: Add implementation steps
|
||||
|
||||
## Acceptance Criteria
|
||||
- [ ] Task 5.2.2 is completed
|
||||
- [ ] All requirements are met
|
||||
- [ ] Code compiles and tests pass
|
||||
|
||||
## Related ADRs
|
||||
- See relevant ADRs in `docs/adr/`
|
||||
|
||||
## Implementation Notes
|
||||
- TODO: Add implementation notes
|
||||
|
||||
## Testing
|
||||
```bash
|
||||
# TODO: Add test commands
|
||||
go test ./...
|
||||
```
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
# Task 5.2.3: Implement `internal/infra/bus/kafka_bus.go`:
|
||||
|
||||
## Metadata
|
||||
- **Task ID**: 5.2.3
|
||||
- **Title**: Implement `internal/infra/bus/kafka_bus.go`:
|
||||
- **Phase**: 5 - Infrastructure Adapters
|
||||
- **Section**: 5.2
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: TBD
|
||||
- **Dependencies**: TBD
|
||||
|
||||
## Description
|
||||
Implement `internal/infra/bus/kafka_bus.go`:
|
||||
|
||||
## Requirements
|
||||
- Implement `internal/infra/bus/kafka_bus.go`:
|
||||
|
||||
## Implementation Steps
|
||||
1. TODO: Add implementation steps
|
||||
2. TODO: Add implementation steps
|
||||
3. TODO: Add implementation steps
|
||||
|
||||
## Acceptance Criteria
|
||||
- [ ] Task 5.2.3 is completed
|
||||
- [ ] All requirements are met
|
||||
- [ ] Code compiles and tests pass
|
||||
|
||||
## Related ADRs
|
||||
- See relevant ADRs in `docs/adr/`
|
||||
|
||||
## Implementation Notes
|
||||
- TODO: Add implementation notes
|
||||
|
||||
## Testing
|
||||
```bash
|
||||
# TODO: Add test commands
|
||||
go test ./...
|
||||
```
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
# Task 5.2.4: Add Kafka config to `config/default.yaml`
|
||||
|
||||
## Metadata
|
||||
- **Task ID**: 5.2.4
|
||||
- **Title**: Add Kafka config to `config/default.yaml`
|
||||
- **Phase**: 5 - Infrastructure Adapters
|
||||
- **Section**: 5.2
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: TBD
|
||||
- **Dependencies**: TBD
|
||||
|
||||
## Description
|
||||
Add Kafka config to `config/default.yaml`
|
||||
|
||||
## Requirements
|
||||
- Add Kafka config to `config/default.yaml`
|
||||
|
||||
## Implementation Steps
|
||||
1. TODO: Add implementation steps
|
||||
2. TODO: Add implementation steps
|
||||
3. TODO: Add implementation steps
|
||||
|
||||
## Acceptance Criteria
|
||||
- [ ] Task 5.2.4 is completed
|
||||
- [ ] All requirements are met
|
||||
- [ ] Code compiles and tests pass
|
||||
|
||||
## Related ADRs
|
||||
- See relevant ADRs in `docs/adr/`
|
||||
|
||||
## Implementation Notes
|
||||
- TODO: Add implementation notes
|
||||
|
||||
## Testing
|
||||
```bash
|
||||
# TODO: Add test commands
|
||||
go test ./...
|
||||
```
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
# Task 5.2.5: Register bus in DI container (switchable via config)
|
||||
|
||||
## Metadata
|
||||
- **Task ID**: 5.2.5
|
||||
- **Title**: Register bus in DI container (switchable via config)
|
||||
- **Phase**: 5 - Infrastructure Adapters
|
||||
- **Section**: 5.2
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: TBD
|
||||
- **Dependencies**: TBD
|
||||
|
||||
## Description
|
||||
Register bus in DI container (switchable via config)
|
||||
|
||||
## Requirements
|
||||
- Register bus in DI container (switchable via config)
|
||||
|
||||
## Implementation Steps
|
||||
1. TODO: Add implementation steps
|
||||
2. TODO: Add implementation steps
|
||||
3. TODO: Add implementation steps
|
||||
|
||||
## Acceptance Criteria
|
||||
- [ ] Task 5.2.5 is completed
|
||||
- [ ] All requirements are met
|
||||
- [ ] Code compiles and tests pass
|
||||
|
||||
## Related ADRs
|
||||
- See relevant ADRs in `docs/adr/`
|
||||
|
||||
## Implementation Notes
|
||||
- TODO: Add implementation notes
|
||||
|
||||
## Testing
|
||||
```bash
|
||||
# TODO: Add test commands
|
||||
go test ./...
|
||||
```
|
||||
|
||||
40
docs/content/stories/phase5/5.2.6-add-core-events.md
Normal file
40
docs/content/stories/phase5/5.2.6-add-core-events.md
Normal file
@@ -0,0 +1,40 @@
|
||||
# Task 5.2.6: Add core events:
|
||||
|
||||
## Metadata
|
||||
- **Task ID**: 5.2.6
|
||||
- **Title**: Add core events:
|
||||
- **Phase**: 5 - Infrastructure Adapters
|
||||
- **Section**: 5.2
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: TBD
|
||||
- **Dependencies**: TBD
|
||||
|
||||
## Description
|
||||
Add core events:
|
||||
|
||||
## Requirements
|
||||
- Add core events:
|
||||
|
||||
## Implementation Steps
|
||||
1. TODO: Add implementation steps
|
||||
2. TODO: Add implementation steps
|
||||
3. TODO: Add implementation steps
|
||||
|
||||
## Acceptance Criteria
|
||||
- [ ] Task 5.2.6 is completed
|
||||
- [ ] All requirements are met
|
||||
- [ ] Code compiles and tests pass
|
||||
|
||||
## Related ADRs
|
||||
- See relevant ADRs in `docs/adr/`
|
||||
|
||||
## Implementation Notes
|
||||
- TODO: Add implementation notes
|
||||
|
||||
## Testing
|
||||
```bash
|
||||
# TODO: Add test commands
|
||||
go test ./...
|
||||
```
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
# Task 5.3.1: Install `github.com/aws/aws-sdk-go-v2/service/s3`
|
||||
|
||||
## Metadata
|
||||
- **Task ID**: 5.3.1
|
||||
- **Title**: Install `github.com/aws/aws-sdk-go-v2/service/s3`
|
||||
- **Phase**: 5 - Infrastructure Adapters
|
||||
- **Section**: 5.3
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: TBD
|
||||
- **Dependencies**: TBD
|
||||
|
||||
## Description
|
||||
Install `github.com/aws/aws-sdk-go-v2/service/s3`
|
||||
|
||||
## Requirements
|
||||
- Install `github.com/aws/aws-sdk-go-v2/service/s3`
|
||||
|
||||
## Implementation Steps
|
||||
1. TODO: Add implementation steps
|
||||
2. TODO: Add implementation steps
|
||||
3. TODO: Add implementation steps
|
||||
|
||||
## Acceptance Criteria
|
||||
- [ ] Task 5.3.1 is completed
|
||||
- [ ] All requirements are met
|
||||
- [ ] Code compiles and tests pass
|
||||
|
||||
## Related ADRs
|
||||
- See relevant ADRs in `docs/adr/`
|
||||
|
||||
## Implementation Notes
|
||||
- TODO: Add implementation notes
|
||||
|
||||
## Testing
|
||||
```bash
|
||||
# TODO: Add test commands
|
||||
go test ./...
|
||||
```
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
# Task 5.3.2: Create `pkg/infra/blob/blob.go` interface:
|
||||
|
||||
## Metadata
|
||||
- **Task ID**: 5.3.2
|
||||
- **Title**: Create `pkg/infra/blob/blob.go` interface:
|
||||
- **Phase**: 5 - Infrastructure Adapters
|
||||
- **Section**: 5.3
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: TBD
|
||||
- **Dependencies**: TBD
|
||||
|
||||
## Description
|
||||
Create `pkg/infra/blob/blob.go` interface:
|
||||
|
||||
## Requirements
|
||||
- Create `pkg/infra/blob/blob.go` interface:
|
||||
|
||||
## Implementation Steps
|
||||
1. TODO: Add implementation steps
|
||||
2. TODO: Add implementation steps
|
||||
3. TODO: Add implementation steps
|
||||
|
||||
## Acceptance Criteria
|
||||
- [ ] Task 5.3.2 is completed
|
||||
- [ ] All requirements are met
|
||||
- [ ] Code compiles and tests pass
|
||||
|
||||
## Related ADRs
|
||||
- See relevant ADRs in `docs/adr/`
|
||||
|
||||
## Implementation Notes
|
||||
- TODO: Add implementation notes
|
||||
|
||||
## Testing
|
||||
```bash
|
||||
# TODO: Add test commands
|
||||
go test ./...
|
||||
```
|
||||
|
||||
|
||||
## Code Reference
|
||||
|
||||
```go
|
||||
type BlobStore interface {
|
||||
Upload(ctx context.Context, key string, data []byte) error
|
||||
Download(ctx context.Context, key string) ([]byte, error)
|
||||
Delete(ctx context.Context, key string) error
|
||||
GetSignedURL(ctx context.Context, key string, ttl time.Duration) (string, error)
|
||||
}
|
||||
```
|
||||
@@ -0,0 +1,40 @@
|
||||
# Task 5.3.3: Implement `internal/infra/blob/s3_store.go`
|
||||
|
||||
## Metadata
|
||||
- **Task ID**: 5.3.3
|
||||
- **Title**: Implement `internal/infra/blob/s3_store.go`
|
||||
- **Phase**: 5 - Infrastructure Adapters
|
||||
- **Section**: 5.3
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: TBD
|
||||
- **Dependencies**: TBD
|
||||
|
||||
## Description
|
||||
Implement `internal/infra/blob/s3_store.go`
|
||||
|
||||
## Requirements
|
||||
- Implement `internal/infra/blob/s3_store.go`
|
||||
|
||||
## Implementation Steps
|
||||
1. TODO: Add implementation steps
|
||||
2. TODO: Add implementation steps
|
||||
3. TODO: Add implementation steps
|
||||
|
||||
## Acceptance Criteria
|
||||
- [ ] Task 5.3.3 is completed
|
||||
- [ ] All requirements are met
|
||||
- [ ] Code compiles and tests pass
|
||||
|
||||
## Related ADRs
|
||||
- See relevant ADRs in `docs/adr/`
|
||||
|
||||
## Implementation Notes
|
||||
- TODO: Add implementation notes
|
||||
|
||||
## Testing
|
||||
```bash
|
||||
# TODO: Add test commands
|
||||
go test ./...
|
||||
```
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
# Task 5.3.4: Add S3 config to `config/default.yaml`
|
||||
|
||||
## Metadata
|
||||
- **Task ID**: 5.3.4
|
||||
- **Title**: Add S3 config to `config/default.yaml`
|
||||
- **Phase**: 5 - Infrastructure Adapters
|
||||
- **Section**: 5.3
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: TBD
|
||||
- **Dependencies**: TBD
|
||||
|
||||
## Description
|
||||
Add S3 config to `config/default.yaml`
|
||||
|
||||
## Requirements
|
||||
- Add S3 config to `config/default.yaml`
|
||||
|
||||
## Implementation Steps
|
||||
1. TODO: Add implementation steps
|
||||
2. TODO: Add implementation steps
|
||||
3. TODO: Add implementation steps
|
||||
|
||||
## Acceptance Criteria
|
||||
- [ ] Task 5.3.4 is completed
|
||||
- [ ] All requirements are met
|
||||
- [ ] Code compiles and tests pass
|
||||
|
||||
## Related ADRs
|
||||
- See relevant ADRs in `docs/adr/`
|
||||
|
||||
## Implementation Notes
|
||||
- TODO: Add implementation notes
|
||||
|
||||
## Testing
|
||||
```bash
|
||||
# TODO: Add test commands
|
||||
go test ./...
|
||||
```
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
# Task 5.3.5: Register in DI container
|
||||
|
||||
## Metadata
|
||||
- **Task ID**: 5.3.5
|
||||
- **Title**: Register in DI container
|
||||
- **Phase**: 5 - Infrastructure Adapters
|
||||
- **Section**: 5.3
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: TBD
|
||||
- **Dependencies**: TBD
|
||||
|
||||
## Description
|
||||
Register in DI container
|
||||
|
||||
## Requirements
|
||||
- Register in DI container
|
||||
|
||||
## Implementation Steps
|
||||
1. TODO: Add implementation steps
|
||||
2. TODO: Add implementation steps
|
||||
3. TODO: Add implementation steps
|
||||
|
||||
## Acceptance Criteria
|
||||
- [ ] Task 5.3.5 is completed
|
||||
- [ ] All requirements are met
|
||||
- [ ] Code compiles and tests pass
|
||||
|
||||
## Related ADRs
|
||||
- See relevant ADRs in `docs/adr/`
|
||||
|
||||
## Implementation Notes
|
||||
- TODO: Add implementation notes
|
||||
|
||||
## Testing
|
||||
```bash
|
||||
# TODO: Add test commands
|
||||
go test ./...
|
||||
```
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
# Task 5.3.6: Add file upload endpoint: `POST /api/v1/files/upload`
|
||||
|
||||
## Metadata
|
||||
- **Task ID**: 5.3.6
|
||||
- **Title**: Add file upload endpoint: `POST /api/v1/files/upload`
|
||||
- **Phase**: 5 - Infrastructure Adapters
|
||||
- **Section**: 5.3
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: TBD
|
||||
- **Dependencies**: TBD
|
||||
|
||||
## Description
|
||||
Add file upload endpoint: `POST /api/v1/files/upload`
|
||||
|
||||
## Requirements
|
||||
- Add file upload endpoint: `POST /api/v1/files/upload`
|
||||
|
||||
## Implementation Steps
|
||||
1. TODO: Add implementation steps
|
||||
2. TODO: Add implementation steps
|
||||
3. TODO: Add implementation steps
|
||||
|
||||
## Acceptance Criteria
|
||||
- [ ] Task 5.3.6 is completed
|
||||
- [ ] All requirements are met
|
||||
- [ ] Code compiles and tests pass
|
||||
|
||||
## Related ADRs
|
||||
- See relevant ADRs in `docs/adr/`
|
||||
|
||||
## Implementation Notes
|
||||
- TODO: Add implementation notes
|
||||
|
||||
## Testing
|
||||
```bash
|
||||
# TODO: Add test commands
|
||||
go test ./...
|
||||
```
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
# Task 5.4.1: Install `github.com/go-mail/mail`
|
||||
|
||||
## Metadata
|
||||
- **Task ID**: 5.4.1
|
||||
- **Title**: Install `github.com/go-mail/mail`
|
||||
- **Phase**: 5 - Infrastructure Adapters
|
||||
- **Section**: 5.4
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: TBD
|
||||
- **Dependencies**: TBD
|
||||
|
||||
## Description
|
||||
Install `github.com/go-mail/mail`
|
||||
|
||||
## Requirements
|
||||
- Install `github.com/go-mail/mail`
|
||||
|
||||
## Implementation Steps
|
||||
1. TODO: Add implementation steps
|
||||
2. TODO: Add implementation steps
|
||||
3. TODO: Add implementation steps
|
||||
|
||||
## Acceptance Criteria
|
||||
- [ ] Task 5.4.1 is completed
|
||||
- [ ] All requirements are met
|
||||
- [ ] Code compiles and tests pass
|
||||
|
||||
## Related ADRs
|
||||
- See relevant ADRs in `docs/adr/`
|
||||
|
||||
## Implementation Notes
|
||||
- TODO: Add implementation notes
|
||||
|
||||
## Testing
|
||||
```bash
|
||||
# TODO: Add test commands
|
||||
go test ./...
|
||||
```
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
# Task 5.4.2: Create `pkg/notification/notification.go` interface:
|
||||
|
||||
## Metadata
|
||||
- **Task ID**: 5.4.2
|
||||
- **Title**: Create `pkg/notification/notification.go` interface:
|
||||
- **Phase**: 5 - Infrastructure Adapters
|
||||
- **Section**: 5.4
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: TBD
|
||||
- **Dependencies**: TBD
|
||||
|
||||
## Description
|
||||
Create `pkg/notification/notification.go` interface:
|
||||
|
||||
## Requirements
|
||||
- Create `pkg/notification/notification.go` interface:
|
||||
|
||||
## Implementation Steps
|
||||
1. TODO: Add implementation steps
|
||||
2. TODO: Add implementation steps
|
||||
3. TODO: Add implementation steps
|
||||
|
||||
## Acceptance Criteria
|
||||
- [ ] Task 5.4.2 is completed
|
||||
- [ ] All requirements are met
|
||||
- [ ] Code compiles and tests pass
|
||||
|
||||
## Related ADRs
|
||||
- See relevant ADRs in `docs/adr/`
|
||||
|
||||
## Implementation Notes
|
||||
- TODO: Add implementation notes
|
||||
|
||||
## Testing
|
||||
```bash
|
||||
# TODO: Add test commands
|
||||
go test ./...
|
||||
```
|
||||
|
||||
|
||||
## Code Reference
|
||||
|
||||
```go
|
||||
type Notifier interface {
|
||||
SendEmail(ctx context.Context, to, subject, body string) error
|
||||
SendSMS(ctx context.Context, to, message string) error
|
||||
}
|
||||
```
|
||||
@@ -0,0 +1,40 @@
|
||||
# Task 5.4.3: Implement `internal/infra/email/smtp_notifier.go`:
|
||||
|
||||
## Metadata
|
||||
- **Task ID**: 5.4.3
|
||||
- **Title**: Implement `internal/infra/email/smtp_notifier.go`:
|
||||
- **Phase**: 5 - Infrastructure Adapters
|
||||
- **Section**: 5.4
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: TBD
|
||||
- **Dependencies**: TBD
|
||||
|
||||
## Description
|
||||
Implement `internal/infra/email/smtp_notifier.go`:
|
||||
|
||||
## Requirements
|
||||
- Implement `internal/infra/email/smtp_notifier.go`:
|
||||
|
||||
## Implementation Steps
|
||||
1. TODO: Add implementation steps
|
||||
2. TODO: Add implementation steps
|
||||
3. TODO: Add implementation steps
|
||||
|
||||
## Acceptance Criteria
|
||||
- [ ] Task 5.4.3 is completed
|
||||
- [ ] All requirements are met
|
||||
- [ ] Code compiles and tests pass
|
||||
|
||||
## Related ADRs
|
||||
- See relevant ADRs in `docs/adr/`
|
||||
|
||||
## Implementation Notes
|
||||
- TODO: Add implementation notes
|
||||
|
||||
## Testing
|
||||
```bash
|
||||
# TODO: Add test commands
|
||||
go test ./...
|
||||
```
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
# Task 5.4.4: Add email config to `config/default.yaml`
|
||||
|
||||
## Metadata
|
||||
- **Task ID**: 5.4.4
|
||||
- **Title**: Add email config to `config/default.yaml`
|
||||
- **Phase**: 5 - Infrastructure Adapters
|
||||
- **Section**: 5.4
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: TBD
|
||||
- **Dependencies**: TBD
|
||||
|
||||
## Description
|
||||
Add email config to `config/default.yaml`
|
||||
|
||||
## Requirements
|
||||
- Add email config to `config/default.yaml`
|
||||
|
||||
## Implementation Steps
|
||||
1. TODO: Add implementation steps
|
||||
2. TODO: Add implementation steps
|
||||
3. TODO: Add implementation steps
|
||||
|
||||
## Acceptance Criteria
|
||||
- [ ] Task 5.4.4 is completed
|
||||
- [ ] All requirements are met
|
||||
- [ ] Code compiles and tests pass
|
||||
|
||||
## Related ADRs
|
||||
- See relevant ADRs in `docs/adr/`
|
||||
|
||||
## Implementation Notes
|
||||
- TODO: Add implementation notes
|
||||
|
||||
## Testing
|
||||
```bash
|
||||
# TODO: Add test commands
|
||||
go test ./...
|
||||
```
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
# Task 5.4.5: Integrate with identity service:
|
||||
|
||||
## Metadata
|
||||
- **Task ID**: 5.4.5
|
||||
- **Title**: Integrate with identity service:
|
||||
- **Phase**: 5 - Infrastructure Adapters
|
||||
- **Section**: 5.4
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: TBD
|
||||
- **Dependencies**: TBD
|
||||
|
||||
## Description
|
||||
Integrate with identity service:
|
||||
|
||||
## Requirements
|
||||
- Integrate with identity service:
|
||||
|
||||
## Implementation Steps
|
||||
1. TODO: Add implementation steps
|
||||
2. TODO: Add implementation steps
|
||||
3. TODO: Add implementation steps
|
||||
|
||||
## Acceptance Criteria
|
||||
- [ ] Task 5.4.5 is completed
|
||||
- [ ] All requirements are met
|
||||
- [ ] Code compiles and tests pass
|
||||
|
||||
## Related ADRs
|
||||
- See relevant ADRs in `docs/adr/`
|
||||
|
||||
## Implementation Notes
|
||||
- TODO: Add implementation notes
|
||||
|
||||
## Testing
|
||||
```bash
|
||||
# TODO: Add test commands
|
||||
go test ./...
|
||||
```
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
# Task 5.4.6: Register in DI container
|
||||
|
||||
## Metadata
|
||||
- **Task ID**: 5.4.6
|
||||
- **Title**: Register in DI container
|
||||
- **Phase**: 5 - Infrastructure Adapters
|
||||
- **Section**: 5.4
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: TBD
|
||||
- **Dependencies**: TBD
|
||||
|
||||
## Description
|
||||
Register in DI container
|
||||
|
||||
## Requirements
|
||||
- Register in DI container
|
||||
|
||||
## Implementation Steps
|
||||
1. TODO: Add implementation steps
|
||||
2. TODO: Add implementation steps
|
||||
3. TODO: Add implementation steps
|
||||
|
||||
## Acceptance Criteria
|
||||
- [ ] Task 5.4.6 is completed
|
||||
- [ ] All requirements are met
|
||||
- [ ] Code compiles and tests pass
|
||||
|
||||
## Related ADRs
|
||||
- See relevant ADRs in `docs/adr/`
|
||||
|
||||
## Implementation Notes
|
||||
- TODO: Add implementation notes
|
||||
|
||||
## Testing
|
||||
```bash
|
||||
# TODO: Add test commands
|
||||
go test ./...
|
||||
```
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
# Task 5.5.1: Install `github.com/robfig/cron/v3` and `github.com/hibiken/asynq`
|
||||
|
||||
## Metadata
|
||||
- **Task ID**: 5.5.1
|
||||
- **Title**: Install `github.com/robfig/cron/v3` and `github.com/hibiken/asynq`
|
||||
- **Phase**: 5 - Infrastructure Adapters
|
||||
- **Section**: 5.5
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: TBD
|
||||
- **Dependencies**: TBD
|
||||
|
||||
## Description
|
||||
Install `github.com/robfig/cron/v3` and `github.com/hibiken/asynq`
|
||||
|
||||
## Requirements
|
||||
- Install `github.com/robfig/cron/v3` and `github.com/hibiken/asynq`
|
||||
|
||||
## Implementation Steps
|
||||
1. TODO: Add implementation steps
|
||||
2. TODO: Add implementation steps
|
||||
3. TODO: Add implementation steps
|
||||
|
||||
## Acceptance Criteria
|
||||
- [ ] Task 5.5.1 is completed
|
||||
- [ ] All requirements are met
|
||||
- [ ] Code compiles and tests pass
|
||||
|
||||
## Related ADRs
|
||||
- See relevant ADRs in `docs/adr/`
|
||||
|
||||
## Implementation Notes
|
||||
- TODO: Add implementation notes
|
||||
|
||||
## Testing
|
||||
```bash
|
||||
# TODO: Add test commands
|
||||
go test ./...
|
||||
```
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
# Task 5.5.2: Create `pkg/scheduler/scheduler.go` interface:
|
||||
|
||||
## Metadata
|
||||
- **Task ID**: 5.5.2
|
||||
- **Title**: Create `pkg/scheduler/scheduler.go` interface:
|
||||
- **Phase**: 5 - Infrastructure Adapters
|
||||
- **Section**: 5.5
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: TBD
|
||||
- **Dependencies**: TBD
|
||||
|
||||
## Description
|
||||
Create `pkg/scheduler/scheduler.go` interface:
|
||||
|
||||
## Requirements
|
||||
- Create `pkg/scheduler/scheduler.go` interface:
|
||||
|
||||
## Implementation Steps
|
||||
1. TODO: Add implementation steps
|
||||
2. TODO: Add implementation steps
|
||||
3. TODO: Add implementation steps
|
||||
|
||||
## Acceptance Criteria
|
||||
- [ ] Task 5.5.2 is completed
|
||||
- [ ] All requirements are met
|
||||
- [ ] Code compiles and tests pass
|
||||
|
||||
## Related ADRs
|
||||
- See relevant ADRs in `docs/adr/`
|
||||
|
||||
## Implementation Notes
|
||||
- TODO: Add implementation notes
|
||||
|
||||
## Testing
|
||||
```bash
|
||||
# TODO: Add test commands
|
||||
go test ./...
|
||||
```
|
||||
|
||||
|
||||
## Code Reference
|
||||
|
||||
```go
|
||||
type Scheduler interface {
|
||||
Cron(spec string, job JobFunc) error
|
||||
Enqueue(queue string, payload any) error
|
||||
}
|
||||
```
|
||||
@@ -0,0 +1,40 @@
|
||||
# Task 5.5.3: Implement `internal/infra/scheduler/asynq_scheduler.go`:
|
||||
|
||||
## Metadata
|
||||
- **Task ID**: 5.5.3
|
||||
- **Title**: Implement `internal/infra/scheduler/asynq_scheduler.go`:
|
||||
- **Phase**: 5 - Infrastructure Adapters
|
||||
- **Section**: 5.5
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: TBD
|
||||
- **Dependencies**: TBD
|
||||
|
||||
## Description
|
||||
Implement `internal/infra/scheduler/asynq_scheduler.go`:
|
||||
|
||||
## Requirements
|
||||
- Implement `internal/infra/scheduler/asynq_scheduler.go`:
|
||||
|
||||
## Implementation Steps
|
||||
1. TODO: Add implementation steps
|
||||
2. TODO: Add implementation steps
|
||||
3. TODO: Add implementation steps
|
||||
|
||||
## Acceptance Criteria
|
||||
- [ ] Task 5.5.3 is completed
|
||||
- [ ] All requirements are met
|
||||
- [ ] Code compiles and tests pass
|
||||
|
||||
## Related ADRs
|
||||
- See relevant ADRs in `docs/adr/`
|
||||
|
||||
## Implementation Notes
|
||||
- TODO: Add implementation notes
|
||||
|
||||
## Testing
|
||||
```bash
|
||||
# TODO: Add test commands
|
||||
go test ./...
|
||||
```
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
# Task 5.5.4: Create `internal/infra/scheduler/job_registry.go`:
|
||||
|
||||
## Metadata
|
||||
- **Task ID**: 5.5.4
|
||||
- **Title**: Create `internal/infra/scheduler/job_registry.go`:
|
||||
- **Phase**: 5 - Infrastructure Adapters
|
||||
- **Section**: 5.5
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: TBD
|
||||
- **Dependencies**: TBD
|
||||
|
||||
## Description
|
||||
Create `internal/infra/scheduler/job_registry.go`:
|
||||
|
||||
## Requirements
|
||||
- Create `internal/infra/scheduler/job_registry.go`:
|
||||
|
||||
## Implementation Steps
|
||||
1. TODO: Add implementation steps
|
||||
2. TODO: Add implementation steps
|
||||
3. TODO: Add implementation steps
|
||||
|
||||
## Acceptance Criteria
|
||||
- [ ] Task 5.5.4 is completed
|
||||
- [ ] All requirements are met
|
||||
- [ ] Code compiles and tests pass
|
||||
|
||||
## Related ADRs
|
||||
- See relevant ADRs in `docs/adr/`
|
||||
|
||||
## Implementation Notes
|
||||
- TODO: Add implementation notes
|
||||
|
||||
## Testing
|
||||
```bash
|
||||
# TODO: Add test commands
|
||||
go test ./...
|
||||
```
|
||||
|
||||
40
docs/content/stories/phase5/5.5.5-add-example-jobs.md
Normal file
40
docs/content/stories/phase5/5.5.5-add-example-jobs.md
Normal file
@@ -0,0 +1,40 @@
|
||||
# Task 5.5.5: Add example jobs:
|
||||
|
||||
## Metadata
|
||||
- **Task ID**: 5.5.5
|
||||
- **Title**: Add example jobs:
|
||||
- **Phase**: 5 - Infrastructure Adapters
|
||||
- **Section**: 5.5
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: TBD
|
||||
- **Dependencies**: TBD
|
||||
|
||||
## Description
|
||||
Add example jobs:
|
||||
|
||||
## Requirements
|
||||
- Add example jobs:
|
||||
|
||||
## Implementation Steps
|
||||
1. TODO: Add implementation steps
|
||||
2. TODO: Add implementation steps
|
||||
3. TODO: Add implementation steps
|
||||
|
||||
## Acceptance Criteria
|
||||
- [ ] Task 5.5.5 is completed
|
||||
- [ ] All requirements are met
|
||||
- [ ] Code compiles and tests pass
|
||||
|
||||
## Related ADRs
|
||||
- See relevant ADRs in `docs/adr/`
|
||||
|
||||
## Implementation Notes
|
||||
- TODO: Add implementation notes
|
||||
|
||||
## Testing
|
||||
```bash
|
||||
# TODO: Add test commands
|
||||
go test ./...
|
||||
```
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
# Task 5.5.6: Add job monitoring endpoint: `GET /api/v1/jobs/status`
|
||||
|
||||
## Metadata
|
||||
- **Task ID**: 5.5.6
|
||||
- **Title**: Add job monitoring endpoint: `GET /api/v1/jobs/status`
|
||||
- **Phase**: 5 - Infrastructure Adapters
|
||||
- **Section**: 5.5
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: TBD
|
||||
- **Dependencies**: TBD
|
||||
|
||||
## Description
|
||||
Add job monitoring endpoint: `GET /api/v1/jobs/status`
|
||||
|
||||
## Requirements
|
||||
- Add job monitoring endpoint: `GET /api/v1/jobs/status`
|
||||
|
||||
## Implementation Steps
|
||||
1. TODO: Add implementation steps
|
||||
2. TODO: Add implementation steps
|
||||
3. TODO: Add implementation steps
|
||||
|
||||
## Acceptance Criteria
|
||||
- [ ] Task 5.5.6 is completed
|
||||
- [ ] All requirements are met
|
||||
- [ ] Code compiles and tests pass
|
||||
|
||||
## Related ADRs
|
||||
- See relevant ADRs in `docs/adr/`
|
||||
|
||||
## Implementation Notes
|
||||
- TODO: Add implementation notes
|
||||
|
||||
## Testing
|
||||
```bash
|
||||
# TODO: Add test commands
|
||||
go test ./...
|
||||
```
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
# Task 5.6.1: Create `pkg/infra/secret/secret.go` interface:
|
||||
|
||||
## Metadata
|
||||
- **Task ID**: 5.6.1
|
||||
- **Title**: Create `pkg/infra/secret/secret.go` interface:
|
||||
- **Phase**: 5 - Infrastructure Adapters
|
||||
- **Section**: 5.6
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: TBD
|
||||
- **Dependencies**: TBD
|
||||
|
||||
## Description
|
||||
Create `pkg/infra/secret/secret.go` interface:
|
||||
|
||||
## Requirements
|
||||
- Create `pkg/infra/secret/secret.go` interface:
|
||||
|
||||
## Implementation Steps
|
||||
1. TODO: Add implementation steps
|
||||
2. TODO: Add implementation steps
|
||||
3. TODO: Add implementation steps
|
||||
|
||||
## Acceptance Criteria
|
||||
- [ ] Task 5.6.1 is completed
|
||||
- [ ] All requirements are met
|
||||
- [ ] Code compiles and tests pass
|
||||
|
||||
## Related ADRs
|
||||
- See relevant ADRs in `docs/adr/`
|
||||
|
||||
## Implementation Notes
|
||||
- TODO: Add implementation notes
|
||||
|
||||
## Testing
|
||||
```bash
|
||||
# TODO: Add test commands
|
||||
go test ./...
|
||||
```
|
||||
|
||||
|
||||
## Code Reference
|
||||
|
||||
```go
|
||||
type SecretStore interface {
|
||||
GetSecret(ctx context.Context, key string) (string, error)
|
||||
}
|
||||
```
|
||||
@@ -0,0 +1,40 @@
|
||||
# Task 5.6.2: Implement `internal/infra/secret/vault_store.go` (HashiCorp Vault):
|
||||
|
||||
## Metadata
|
||||
- **Task ID**: 5.6.2
|
||||
- **Title**: Implement `internal/infra/secret/vault_store.go` (HashiCorp Vault):
|
||||
- **Phase**: 5 - Infrastructure Adapters
|
||||
- **Section**: 5.6
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: TBD
|
||||
- **Dependencies**: TBD
|
||||
|
||||
## Description
|
||||
Implement `internal/infra/secret/vault_store.go` (HashiCorp Vault):
|
||||
|
||||
## Requirements
|
||||
- Implement `internal/infra/secret/vault_store.go` (HashiCorp Vault):
|
||||
|
||||
## Implementation Steps
|
||||
1. TODO: Add implementation steps
|
||||
2. TODO: Add implementation steps
|
||||
3. TODO: Add implementation steps
|
||||
|
||||
## Acceptance Criteria
|
||||
- [ ] Task 5.6.2 is completed
|
||||
- [ ] All requirements are met
|
||||
- [ ] Code compiles and tests pass
|
||||
|
||||
## Related ADRs
|
||||
- See relevant ADRs in `docs/adr/`
|
||||
|
||||
## Implementation Notes
|
||||
- TODO: Add implementation notes
|
||||
|
||||
## Testing
|
||||
```bash
|
||||
# TODO: Add test commands
|
||||
go test ./...
|
||||
```
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
# Task 5.6.3: Implement `internal/infra/secret/aws_secrets.go` (AWS Secrets Manager):
|
||||
|
||||
## Metadata
|
||||
- **Task ID**: 5.6.3
|
||||
- **Title**: Implement `internal/infra/secret/aws_secrets.go` (AWS Secrets Manager):
|
||||
- **Phase**: 5 - Infrastructure Adapters
|
||||
- **Section**: 5.6
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: TBD
|
||||
- **Dependencies**: TBD
|
||||
|
||||
## Description
|
||||
Implement `internal/infra/secret/aws_secrets.go` (AWS Secrets Manager):
|
||||
|
||||
## Requirements
|
||||
- Implement `internal/infra/secret/aws_secrets.go` (AWS Secrets Manager):
|
||||
|
||||
## Implementation Steps
|
||||
1. TODO: Add implementation steps
|
||||
2. TODO: Add implementation steps
|
||||
3. TODO: Add implementation steps
|
||||
|
||||
## Acceptance Criteria
|
||||
- [ ] Task 5.6.3 is completed
|
||||
- [ ] All requirements are met
|
||||
- [ ] Code compiles and tests pass
|
||||
|
||||
## Related ADRs
|
||||
- See relevant ADRs in `docs/adr/`
|
||||
|
||||
## Implementation Notes
|
||||
- TODO: Add implementation notes
|
||||
|
||||
## Testing
|
||||
```bash
|
||||
# TODO: Add test commands
|
||||
go test ./...
|
||||
```
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
# Task 5.6.4: Integrate with config loader:
|
||||
|
||||
## Metadata
|
||||
- **Task ID**: 5.6.4
|
||||
- **Title**: Integrate with config loader:
|
||||
- **Phase**: 5 - Infrastructure Adapters
|
||||
- **Section**: 5.6
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: TBD
|
||||
- **Dependencies**: TBD
|
||||
|
||||
## Description
|
||||
Integrate with config loader:
|
||||
|
||||
## Requirements
|
||||
- Integrate with config loader:
|
||||
|
||||
## Implementation Steps
|
||||
1. TODO: Add implementation steps
|
||||
2. TODO: Add implementation steps
|
||||
3. TODO: Add implementation steps
|
||||
|
||||
## Acceptance Criteria
|
||||
- [ ] Task 5.6.4 is completed
|
||||
- [ ] All requirements are met
|
||||
- [ ] Code compiles and tests pass
|
||||
|
||||
## Related ADRs
|
||||
- See relevant ADRs in `docs/adr/`
|
||||
|
||||
## Implementation Notes
|
||||
- TODO: Add implementation notes
|
||||
|
||||
## Testing
|
||||
```bash
|
||||
# TODO: Add test commands
|
||||
go test ./...
|
||||
```
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
# Task 5.6.5: Register in DI container (optional, via config)
|
||||
|
||||
## Metadata
|
||||
- **Task ID**: 5.6.5
|
||||
- **Title**: Register in DI container (optional, via config)
|
||||
- **Phase**: 5 - Infrastructure Adapters
|
||||
- **Section**: 5.6
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: TBD
|
||||
- **Dependencies**: TBD
|
||||
|
||||
## Description
|
||||
Register in DI container (optional, via config)
|
||||
|
||||
## Requirements
|
||||
- Register in DI container (optional, via config)
|
||||
|
||||
## Implementation Steps
|
||||
1. TODO: Add implementation steps
|
||||
2. TODO: Add implementation steps
|
||||
3. TODO: Add implementation steps
|
||||
|
||||
## Acceptance Criteria
|
||||
- [ ] Task 5.6.5 is completed
|
||||
- [ ] All requirements are met
|
||||
- [ ] Code compiles and tests pass
|
||||
|
||||
## Related ADRs
|
||||
- See relevant ADRs in `docs/adr/`
|
||||
|
||||
## Implementation Notes
|
||||
- TODO: Add implementation notes
|
||||
|
||||
## Testing
|
||||
```bash
|
||||
# TODO: Add test commands
|
||||
go test ./...
|
||||
```
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
# Task 5.7.1: Create `pkg/tenant/tenant.go` interface:
|
||||
|
||||
## Metadata
|
||||
- **Task ID**: 5.7.1
|
||||
- **Title**: Create `pkg/tenant/tenant.go` interface:
|
||||
- **Phase**: 5 - Infrastructure Adapters
|
||||
- **Section**: 5.7
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: TBD
|
||||
- **Dependencies**: TBD
|
||||
|
||||
## Description
|
||||
Create `pkg/tenant/tenant.go` interface:
|
||||
|
||||
## Requirements
|
||||
- Create `pkg/tenant/tenant.go` interface:
|
||||
|
||||
## Implementation Steps
|
||||
1. TODO: Add implementation steps
|
||||
2. TODO: Add implementation steps
|
||||
3. TODO: Add implementation steps
|
||||
|
||||
## Acceptance Criteria
|
||||
- [ ] Task 5.7.1 is completed
|
||||
- [ ] All requirements are met
|
||||
- [ ] Code compiles and tests pass
|
||||
|
||||
## Related ADRs
|
||||
- See relevant ADRs in `docs/adr/`
|
||||
|
||||
## Implementation Notes
|
||||
- TODO: Add implementation notes
|
||||
|
||||
## Testing
|
||||
```bash
|
||||
# TODO: Add test commands
|
||||
go test ./...
|
||||
```
|
||||
|
||||
|
||||
## Code Reference
|
||||
|
||||
```go
|
||||
type TenantResolver interface {
|
||||
Resolve(ctx context.Context) (string, error)
|
||||
}
|
||||
```
|
||||
@@ -0,0 +1,40 @@
|
||||
# Task 5.7.2: Implement `internal/tenant/resolver.go`:
|
||||
|
||||
## Metadata
|
||||
- **Task ID**: 5.7.2
|
||||
- **Title**: Implement `internal/tenant/resolver.go`:
|
||||
- **Phase**: 5 - Infrastructure Adapters
|
||||
- **Section**: 5.7
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: TBD
|
||||
- **Dependencies**: TBD
|
||||
|
||||
## Description
|
||||
Implement `internal/tenant/resolver.go`:
|
||||
|
||||
## Requirements
|
||||
- Implement `internal/tenant/resolver.go`:
|
||||
|
||||
## Implementation Steps
|
||||
1. TODO: Add implementation steps
|
||||
2. TODO: Add implementation steps
|
||||
3. TODO: Add implementation steps
|
||||
|
||||
## Acceptance Criteria
|
||||
- [ ] Task 5.7.2 is completed
|
||||
- [ ] All requirements are met
|
||||
- [ ] Code compiles and tests pass
|
||||
|
||||
## Related ADRs
|
||||
- See relevant ADRs in `docs/adr/`
|
||||
|
||||
## Implementation Notes
|
||||
- TODO: Add implementation notes
|
||||
|
||||
## Testing
|
||||
```bash
|
||||
# TODO: Add test commands
|
||||
go test ./...
|
||||
```
|
||||
|
||||
40
docs/content/stories/phase5/5.7.3-add-tenant-middleware.md
Normal file
40
docs/content/stories/phase5/5.7.3-add-tenant-middleware.md
Normal file
@@ -0,0 +1,40 @@
|
||||
# Task 5.7.3: Add tenant middleware:
|
||||
|
||||
## Metadata
|
||||
- **Task ID**: 5.7.3
|
||||
- **Title**: Add tenant middleware:
|
||||
- **Phase**: 5 - Infrastructure Adapters
|
||||
- **Section**: 5.7
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: TBD
|
||||
- **Dependencies**: TBD
|
||||
|
||||
## Description
|
||||
Add tenant middleware:
|
||||
|
||||
## Requirements
|
||||
- Add tenant middleware:
|
||||
|
||||
## Implementation Steps
|
||||
1. TODO: Add implementation steps
|
||||
2. TODO: Add implementation steps
|
||||
3. TODO: Add implementation steps
|
||||
|
||||
## Acceptance Criteria
|
||||
- [ ] Task 5.7.3 is completed
|
||||
- [ ] All requirements are met
|
||||
- [ ] Code compiles and tests pass
|
||||
|
||||
## Related ADRs
|
||||
- See relevant ADRs in `docs/adr/`
|
||||
|
||||
## Implementation Notes
|
||||
- TODO: Add implementation notes
|
||||
|
||||
## Testing
|
||||
```bash
|
||||
# TODO: Add test commands
|
||||
go test ./...
|
||||
```
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
# Task 5.7.4: Update Ent queries to filter by tenant_id:
|
||||
|
||||
## Metadata
|
||||
- **Task ID**: 5.7.4
|
||||
- **Title**: Update Ent queries to filter by tenant_id:
|
||||
- **Phase**: 5 - Infrastructure Adapters
|
||||
- **Section**: 5.7
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: TBD
|
||||
- **Dependencies**: TBD
|
||||
|
||||
## Description
|
||||
Update Ent queries to filter by tenant_id:
|
||||
|
||||
## Requirements
|
||||
- Update Ent queries to filter by tenant_id:
|
||||
|
||||
## Implementation Steps
|
||||
1. TODO: Add implementation steps
|
||||
2. TODO: Add implementation steps
|
||||
3. TODO: Add implementation steps
|
||||
|
||||
## Acceptance Criteria
|
||||
- [ ] Task 5.7.4 is completed
|
||||
- [ ] All requirements are met
|
||||
- [ ] Code compiles and tests pass
|
||||
|
||||
## Related ADRs
|
||||
- See relevant ADRs in `docs/adr/`
|
||||
|
||||
## Implementation Notes
|
||||
- TODO: Add implementation notes
|
||||
|
||||
## Testing
|
||||
```bash
|
||||
# TODO: Add test commands
|
||||
go test ./...
|
||||
```
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
# Task 5.7.5: Update User entity to include tenant_id
|
||||
|
||||
## Metadata
|
||||
- **Task ID**: 5.7.5
|
||||
- **Title**: Update User entity to include tenant_id
|
||||
- **Phase**: 5 - Infrastructure Adapters
|
||||
- **Section**: 5.7
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: TBD
|
||||
- **Dependencies**: TBD
|
||||
|
||||
## Description
|
||||
Update User entity to include tenant_id
|
||||
|
||||
## Requirements
|
||||
- Update User entity to include tenant_id
|
||||
|
||||
## Implementation Steps
|
||||
1. TODO: Add implementation steps
|
||||
2. TODO: Add implementation steps
|
||||
3. TODO: Add implementation steps
|
||||
|
||||
## Acceptance Criteria
|
||||
- [ ] Task 5.7.5 is completed
|
||||
- [ ] All requirements are met
|
||||
- [ ] Code compiles and tests pass
|
||||
|
||||
## Related ADRs
|
||||
- See relevant ADRs in `docs/adr/`
|
||||
|
||||
## Implementation Notes
|
||||
- TODO: Add implementation notes
|
||||
|
||||
## Testing
|
||||
```bash
|
||||
# TODO: Add test commands
|
||||
go test ./...
|
||||
```
|
||||
|
||||
49
docs/content/stories/phase5/README.md
Normal file
49
docs/content/stories/phase5/README.md
Normal file
@@ -0,0 +1,49 @@
|
||||
# Phase 5: Infrastructure Adapters
|
||||
|
||||
## Overview
|
||||
Implement infrastructure adapters for caching (Redis), event bus (Kafka), background job scheduling (asynq), and multi-tenancy support.
|
||||
|
||||
## Tasks
|
||||
|
||||
### 5.1 Cache Implementation
|
||||
- [5.1.1 - Install Redis Client](./5.1.1-install-githubcomredisgo-redisv9.md)
|
||||
- [5.1.2 - Create Cache Interface](./5.1.2-create-pkginfracachecachego-interface.md)
|
||||
- [5.1.3 - Implement Redis Cache](./5.1.3-implement-internalinfracacheredis_cachego.md)
|
||||
- [5.1.4 - Add Redis Config](./5.1.4-add-redis-config-to-configdefaultyaml.md)
|
||||
- [5.1.5 - Register in DI Container](./5.1.5-register-in-di-container.md)
|
||||
- [5.1.6 - Add Cache Middleware](./5.1.6-add-cache-middleware-for-selected-routes-optional.md)
|
||||
|
||||
### 5.2 Event Bus Implementation
|
||||
- [5.2.1 - Create Event Bus Interface](./5.2.1-create-pkgeventbuseventbusgo-interface.md)
|
||||
- [5.2.2 - Implement In-Process Bus](./5.2.2-implement-internalinfrabusinprocess_busgo.md)
|
||||
- [5.2.3 - Implement Kafka Bus](./5.2.3-implement-internalinfrabuskafka_busgo.md)
|
||||
- [5.2.4 - Add Kafka Config](./5.2.4-add-kafka-config-to-configdefaultyaml.md)
|
||||
|
||||
### 5.3 Background Job Scheduler
|
||||
- [5.3.1 - Install Asynq](./5.3.1-install-githubcomhibikenasynq.md)
|
||||
- [5.3.2 - Create Scheduler Interface](./5.3.2-create-pkgschedulerschedulergo-interface.md)
|
||||
- [5.3.3 - Implement Asynq Scheduler](./5.3.3-implement-internalinfraschedulerasynq_schedulergo.md)
|
||||
- [5.3.4 - Add Cron Support](./5.3.4-add-cron-support.md)
|
||||
|
||||
### 5.4 Multi-tenancy Support
|
||||
- [5.4.1 - Create Tenant Resolver Interface](./5.4.1-create-pkgtenanttenantgo-interface.md)
|
||||
- [5.4.2 - Implement Tenant Resolver](./5.4.2-implement-internaltenantresolvergo.md)
|
||||
- [5.4.3 - Add Tenant Middleware](./5.4.3-add-tenant-middleware.md)
|
||||
- [5.4.4 - Update Ent Queries](./5.4.4-update-ent-queries-with-tenant-scoping.md)
|
||||
|
||||
## Deliverables Checklist
|
||||
- [ ] Redis cache adapter implemented
|
||||
- [ ] Event bus supports in-process and Kafka
|
||||
- [ ] Background job scheduler with asynq
|
||||
- [ ] Cron job support
|
||||
- [ ] Multi-tenancy resolver and middleware
|
||||
- [ ] Database queries scoped by tenant
|
||||
|
||||
## Acceptance Criteria
|
||||
- Cache operations work with Redis fallback
|
||||
- Events can be published to Kafka
|
||||
- Background jobs can be scheduled
|
||||
- Cron jobs run on schedule
|
||||
- Tenant isolation works for database queries
|
||||
- Middleware extracts tenant from request
|
||||
|
||||
Reference in New Issue
Block a user