@aifabrix/builder 2.33.0 → 2.33.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -0
- package/integration/hubspot/README.md +7 -7
- package/lib/api/index.js +6 -2
- package/lib/app/deploy-config.js +161 -0
- package/lib/app/deploy.js +28 -153
- package/lib/app/register.js +6 -5
- package/lib/app/run-helpers.js +23 -17
- package/lib/cli.js +31 -1
- package/lib/commands/logout.js +3 -4
- package/lib/commands/up-common.js +72 -0
- package/lib/commands/up-dataplane.js +109 -0
- package/lib/commands/up-miso.js +134 -0
- package/lib/core/config.js +32 -9
- package/lib/core/secrets-docker-env.js +88 -0
- package/lib/core/secrets.js +142 -115
- package/lib/datasource/deploy.js +31 -3
- package/lib/datasource/list.js +102 -15
- package/lib/infrastructure/helpers.js +82 -1
- package/lib/infrastructure/index.js +2 -0
- package/lib/schema/env-config.yaml +7 -0
- package/lib/utils/api.js +70 -2
- package/lib/utils/compose-generator.js +13 -13
- package/lib/utils/config-paths.js +13 -0
- package/lib/utils/device-code.js +2 -2
- package/lib/utils/env-endpoints.js +2 -5
- package/lib/utils/env-map.js +4 -5
- package/lib/utils/error-formatters/network-errors.js +13 -3
- package/lib/utils/parse-image-ref.js +27 -0
- package/lib/utils/paths.js +28 -4
- package/lib/utils/secrets-generator.js +34 -12
- package/lib/utils/secrets-helpers.js +1 -2
- package/lib/utils/token-manager-refresh.js +5 -0
- package/package.json +1 -1
- package/templates/applications/dataplane/Dockerfile +16 -0
- package/templates/applications/dataplane/README.md +205 -0
- package/templates/applications/dataplane/env.template +143 -0
- package/templates/applications/dataplane/rbac.yaml +283 -0
- package/templates/applications/dataplane/variables.yaml +143 -0
- package/templates/applications/keycloak/Dockerfile +1 -1
- package/templates/applications/keycloak/README.md +193 -0
- package/templates/applications/keycloak/variables.yaml +5 -6
- package/templates/applications/miso-controller/Dockerfile +8 -8
- package/templates/applications/miso-controller/README.md +369 -0
- package/templates/applications/miso-controller/env.template +114 -6
- package/templates/applications/miso-controller/rbac.yaml +74 -0
- package/templates/applications/miso-controller/variables.yaml +93 -5
- package/templates/github/ci.yaml.hbs +44 -1
- package/templates/github/release.yaml.hbs +44 -0
- package/templates/infra/compose.yaml.hbs +2 -1
- package/templates/applications/miso-controller/test.yaml +0 -1
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
# Dataplane Builder
|
|
2
|
+
|
|
3
|
+
Build, run, and deploy Dataplane using `@aifabrix/builder`.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Quick Start
|
|
8
|
+
|
|
9
|
+
### 1. Install
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npm install -g @aifabrix/builder
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
### 2. First Time Setup
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
# Check your environment
|
|
19
|
+
aifabrix doctor
|
|
20
|
+
|
|
21
|
+
# Login to controller (change your own port)
|
|
22
|
+
aifabrix login --method device --environment dev --controller http://localhost:3100
|
|
23
|
+
|
|
24
|
+
# Register your application (gets you credentials automatically)
|
|
25
|
+
aifabrix app register dataplane
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### 3. Build & Run Locally
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
# Build the Docker image
|
|
32
|
+
aifabrix build dataplane
|
|
33
|
+
|
|
34
|
+
# Run locally
|
|
35
|
+
aifabrix run dataplane
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
**Access your app:** <http://localhost:3111> (host port from `build.localPort`; container uses 3001)
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## Testing dataplane (use DATAPLANE_TEST_GUIDE)
|
|
43
|
+
|
|
44
|
+
**Use the builder's Dataplane Test Guide** for auth, health, wizard, external systems, and pipeline checks:
|
|
45
|
+
|
|
46
|
+
- **In aifabrix-builder:** `integration/hubspot/DATAPLANE_TEST_GUIDE.md`
|
|
47
|
+
- **Dataplane base URL:** `http://localhost:3111`
|
|
48
|
+
- **Controller:** `http://localhost:3110` (login, token)
|
|
49
|
+
|
|
50
|
+
The guide defines: token setup, `/health`, wizard API, external systems API, pipeline API, and quick checks.
|
|
51
|
+
Keep `build.localPort` in `variables.yaml` at **3111** so it matches that guide.
|
|
52
|
+
|
|
53
|
+
**View logs:**
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
docker logs aifabrix-dataplane -f
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
**Stop:**
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
docker stop aifabrix-dataplane
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### 4. Deploy to Azure
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
# Build with version tag
|
|
69
|
+
aifabrix build dataplane --tag v1.0.0
|
|
70
|
+
|
|
71
|
+
# Push to registry
|
|
72
|
+
aifabrix push dataplane --registry myacr.azurecr.io --tag "v1.0.0,latest"
|
|
73
|
+
|
|
74
|
+
# Deploy to miso-controller
|
|
75
|
+
aifabrix deploy dataplane
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## Using miso-client
|
|
81
|
+
|
|
82
|
+
> [miso-client](https://github.com/esystemsdev/aifabrix-miso-client)
|
|
83
|
+
|
|
84
|
+
After registering your app, you automatically get credentials in your secret file. Use miso-client for login, RBAC, audit logs, etc.
|
|
85
|
+
|
|
86
|
+
**Rotate credentials if needed:**
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
aifabrix app rotate-secret dataplane
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## Reference
|
|
95
|
+
|
|
96
|
+
### Common Commands
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
# Development
|
|
100
|
+
aifabrix build dataplane # Build app
|
|
101
|
+
aifabrix run dataplane # Run locally
|
|
102
|
+
aifabrix dockerfile dataplane --force # Generate Dockerfile
|
|
103
|
+
aifabrix resolve dataplane # Generate .env file
|
|
104
|
+
|
|
105
|
+
# Deployment
|
|
106
|
+
aifabrix json dataplane # Preview deployment JSON
|
|
107
|
+
aifabrix genkey dataplane # Generate deployment key
|
|
108
|
+
aifabrix push dataplane --registry myacr.azurecr.io # Push to ACR
|
|
109
|
+
aifabrix deploy dataplane --controller <url> # Deploy to Azure
|
|
110
|
+
|
|
111
|
+
# Management
|
|
112
|
+
aifabrix app register dataplane
|
|
113
|
+
aifabrix app list
|
|
114
|
+
aifabrix app rotate-secret dataplane
|
|
115
|
+
|
|
116
|
+
# Utilities
|
|
117
|
+
aifabrix doctor # Check environment
|
|
118
|
+
aifabrix login --method device # Login
|
|
119
|
+
aifabrix --help # Get help
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### Build Options
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
aifabrix build dataplane --tag v1.0.0 # Custom tag
|
|
126
|
+
aifabrix build dataplane --force-template # Force template regeneration
|
|
127
|
+
aifabrix build dataplane --language typescript # Override language detection
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
### Run Options
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
aifabrix run dataplane --port 3000 # Custom port
|
|
134
|
+
aifabrix run dataplane --debug # Debug output
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
### Push Options
|
|
138
|
+
|
|
139
|
+
```bash
|
|
140
|
+
aifabrix push dataplane --registry myacr.azurecr.io --tag v1.0.0
|
|
141
|
+
aifabrix push dataplane --registry myacr.azurecr.io --tag "v1.0.0,latest,stable"
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
### Deploy Options
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
aifabrix deploy dataplane
|
|
148
|
+
aifabrix deploy dataplane --no-poll
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
### Login Methods
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
# Device code flow
|
|
155
|
+
aifabrix login --method device --environment dev
|
|
156
|
+
|
|
157
|
+
# Credentials (reads from secrets.local.yaml)
|
|
158
|
+
aifabrix login --method credentials --app dataplane --environment dev
|
|
159
|
+
|
|
160
|
+
# Explicit credentials
|
|
161
|
+
aifabrix login --method credentials --app dataplane --client-id $CLIENT_ID --client-secret $CLIENT_SECRET --environment dev
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
### Environment Variables
|
|
165
|
+
|
|
166
|
+
```bash
|
|
167
|
+
export AIFABRIX_HOME=/custom/path
|
|
168
|
+
export AIFABRIX_SECRETS=/path/to/secrets.yaml
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
## Troubleshooting
|
|
174
|
+
|
|
175
|
+
- **"Docker not running"** → Start Docker Desktop
|
|
176
|
+
- **"Not logged in"** → Run `aifabrix login` first
|
|
177
|
+
- **"Port already in use"** → Use `--port` flag or change `build.localPort` in `variables.yaml` (default: 3111, must match DATAPLANE_TEST_GUIDE)
|
|
178
|
+
- **"Authentication failed"** → Run `aifabrix login` again
|
|
179
|
+
- **"Build fails"** → Check Docker is running and `variables.yaml` → `build.secrets` path is correct
|
|
180
|
+
- **"Can't connect"** → Verify infrastructure is running and PostgreSQL is accessible
|
|
181
|
+
|
|
182
|
+
**Regenerate files:**
|
|
183
|
+
|
|
184
|
+
```bash
|
|
185
|
+
aifabrix resolve dataplane --force
|
|
186
|
+
aifabrix json dataplane
|
|
187
|
+
aifabrix genkey dataplane
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
## Prerequisites
|
|
193
|
+
|
|
194
|
+
- `@aifabrix/builder` installed globally
|
|
195
|
+
- Docker Desktop running
|
|
196
|
+
- Azure CLI installed (for push command)
|
|
197
|
+
- Authenticated with controller (for deploy command)
|
|
198
|
+
- PostgreSQL database (ensure infrastructure is running)
|
|
199
|
+
- Redis (ensure infrastructure is running)
|
|
200
|
+
- File storage configured
|
|
201
|
+
- Authentication/RBAC configured
|
|
202
|
+
|
|
203
|
+
---
|
|
204
|
+
|
|
205
|
+
**Application**: dataplane | **Port**: 3111 (local) / 3001 (container) | **Registry**: myacr.azurecr.io | **Image**: aifabrix/dataplane:latest
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
# Environment Variables Template
|
|
2
|
+
# Use kv:// references for secrets (resolved from .aifabrix/secrets.yaml)
|
|
3
|
+
# Use ${VAR} for environment-specific values
|
|
4
|
+
|
|
5
|
+
# =============================================================================
|
|
6
|
+
# APPLICATION ENVIRONMENT
|
|
7
|
+
# =============================================================================
|
|
8
|
+
|
|
9
|
+
PORT=3001
|
|
10
|
+
ENVIRONMENT=development
|
|
11
|
+
DEBUG=false
|
|
12
|
+
LOG_LEVEL=INFO
|
|
13
|
+
LOG_FORMAT=json
|
|
14
|
+
LOG_FILE_PATH=/mnt/data/logs/app.log
|
|
15
|
+
LOCAL_MODE=false
|
|
16
|
+
|
|
17
|
+
# When API_KEY is set, a matching Bearer token bypasses OAuth2 validation
|
|
18
|
+
API_KEY=kv://miso-controller-api-key-secretKeyVault
|
|
19
|
+
|
|
20
|
+
# API Configuration
|
|
21
|
+
API_V1_STR=/api/v1
|
|
22
|
+
VERSION=1.6.0
|
|
23
|
+
|
|
24
|
+
# CORS Configuration
|
|
25
|
+
ALLOWED_ORIGINS=http://localhost:*
|
|
26
|
+
IDE_CORS_ORIGINS=
|
|
27
|
+
|
|
28
|
+
# Encryption Configuration
|
|
29
|
+
ENCRYPTION_KEY=kv://secrets-encryptionKeyVault
|
|
30
|
+
|
|
31
|
+
# =============================================================================
|
|
32
|
+
# DATABASE CONFIGURATION
|
|
33
|
+
# =============================================================================
|
|
34
|
+
|
|
35
|
+
DATABASE_URL=kv://databases-dataplane-0-urlKeyVault
|
|
36
|
+
DB_0_PASSWORD=kv://databases-dataplane-0-passwordKeyVault
|
|
37
|
+
|
|
38
|
+
# Vector and document store DB: chunks, embeddings, vector indexes (pgvector).
|
|
39
|
+
# Binaries path: config.processing.fileStoragePath or /data/documents.
|
|
40
|
+
VECTOR_DATABASE_URL=kv://databases-dataplane-1-urlKeyVault
|
|
41
|
+
DB_1_PASSWORD=kv://databases-dataplane-1-passwordKeyVault
|
|
42
|
+
|
|
43
|
+
# Logs Database Configuration (for execution, audit, ABAC traces)
|
|
44
|
+
LOGS_DATABASE_URL=kv://databases-dataplane-2-urlKeyVault
|
|
45
|
+
DB_2_PASSWORD=kv://databases-dataplane-2-passwordKeyVault
|
|
46
|
+
|
|
47
|
+
# Records Database Configuration (for external records storage)
|
|
48
|
+
RECORDS_DATABASE_URL=kv://databases-dataplane-3-urlKeyVault
|
|
49
|
+
DB_3_PASSWORD=kv://databases-dataplane-3-passwordKeyVault
|
|
50
|
+
|
|
51
|
+
# =============================================================================
|
|
52
|
+
# REDIS CONFIGURATION
|
|
53
|
+
# =============================================================================
|
|
54
|
+
# Connects to external redis from aifabrix-setup
|
|
55
|
+
|
|
56
|
+
REDIS_URL=kv://redis-url
|
|
57
|
+
|
|
58
|
+
# =============================================================================
|
|
59
|
+
# CACHE CONFIGURATION
|
|
60
|
+
# =============================================================================
|
|
61
|
+
|
|
62
|
+
CACHE_ENABLED=true
|
|
63
|
+
CACHE_CIP_EXECUTION_TTL=1800
|
|
64
|
+
CACHE_METADATA_FILTER_TTL=3600
|
|
65
|
+
|
|
66
|
+
# =============================================================================
|
|
67
|
+
# AUTHENTICATION CONFIGURATION
|
|
68
|
+
# =============================================================================
|
|
69
|
+
|
|
70
|
+
# MISO Application Client Credentials (per application)
|
|
71
|
+
MISO_CLIENTID=kv://dataplane-client-idKeyVault
|
|
72
|
+
MISO_CLIENTSECRET=kv://dataplane-client-secretKeyVault
|
|
73
|
+
|
|
74
|
+
# Keycloak Configuration (for OAuth2 endpoints)
|
|
75
|
+
KEYCLOAK_SERVER_URL=kv://keycloak-server-urlKeyVault
|
|
76
|
+
KEYCLOAK_REALM=aifabrix
|
|
77
|
+
|
|
78
|
+
# MISO Controller URL
|
|
79
|
+
MISO_CONTROLLER_URL=http://${MISO_HOST}:${MISO_PORT}
|
|
80
|
+
|
|
81
|
+
# =============================================================================
|
|
82
|
+
# AI/LLM CONFIGURATION
|
|
83
|
+
# =============================================================================
|
|
84
|
+
|
|
85
|
+
# OpenAI Configuration
|
|
86
|
+
OPENAI_API_KEY=kv://secrets-openaiApiKeyVault
|
|
87
|
+
|
|
88
|
+
# Azure OpenAI Configuration
|
|
89
|
+
AZURE_OPENAI_ENDPOINT=
|
|
90
|
+
AZURE_OPENAI_API_KEY=kv://secrets-azureOpenaiApiKeyVault
|
|
91
|
+
AZURE_OPENAI_API_VERSION=2024-02-15-preview
|
|
92
|
+
AZURE_OPENAI_DEPLOYMENT_NAME=gpt-4o
|
|
93
|
+
|
|
94
|
+
# =============================================================================
|
|
95
|
+
# AUDIT CONFIGURATION
|
|
96
|
+
# =============================================================================
|
|
97
|
+
|
|
98
|
+
# General Audit Settings
|
|
99
|
+
AUDIT_ENABLED=true
|
|
100
|
+
MISO_LOG_FORWARD_ERRORS=true
|
|
101
|
+
AUTH_AUDIT_ENABLED=true
|
|
102
|
+
|
|
103
|
+
# ABAC Audit Configuration
|
|
104
|
+
ABAC_AUDIT_ENABLED=true
|
|
105
|
+
ABAC_AUDIT_DETAIL_LEVEL=summary
|
|
106
|
+
ABAC_EXPLAIN_MODE_ENABLED=false
|
|
107
|
+
ABAC_PERFORMANCE_THRESHOLD_MS=1000
|
|
108
|
+
|
|
109
|
+
# RBAC Audit Configuration
|
|
110
|
+
RBAC_AUDIT_ENABLED=true
|
|
111
|
+
RBAC_AUDIT_DETAIL_LEVEL=summary
|
|
112
|
+
RBAC_EXPLAIN_MODE_ENABLED=false
|
|
113
|
+
|
|
114
|
+
# =============================================================================
|
|
115
|
+
# OBSERVABILITY CONFIGURATION
|
|
116
|
+
# =============================================================================
|
|
117
|
+
|
|
118
|
+
# OpenTelemetry Configuration
|
|
119
|
+
OPENTELEMETRY_ENABLED=false
|
|
120
|
+
OPENTELEMETRY_ENDPOINT=
|
|
121
|
+
|
|
122
|
+
# =============================================================================
|
|
123
|
+
# CIP EXECUTION CONFIGURATION
|
|
124
|
+
# =============================================================================
|
|
125
|
+
# These control CIP (Composable Integration Pipeline) execution behavior
|
|
126
|
+
|
|
127
|
+
CIP_EXECUTION_MAX_RESPONSE_SIZE_MB=100.0
|
|
128
|
+
CIP_EXECUTION_MAX_RECORDS=100000
|
|
129
|
+
CIP_EXECUTION_OPERATION_TIMEOUT=300.0
|
|
130
|
+
CIP_EXECUTION_HTTP_TIMEOUT=30.0
|
|
131
|
+
CIP_EXECUTION_MAX_RETRIES=3
|
|
132
|
+
CIP_EXECUTION_RETRY_BACKOFF_FACTOR=2.0
|
|
133
|
+
CIP_EXECUTION_RETRY_INITIAL_DELAY=1.0
|
|
134
|
+
|
|
135
|
+
# Circuit Breaker Configuration
|
|
136
|
+
CIP_EXECUTION_CIRCUIT_BREAKER_FAILURE_THRESHOLD=5
|
|
137
|
+
CIP_EXECUTION_CIRCUIT_BREAKER_TIME_WINDOW=60
|
|
138
|
+
CIP_EXECUTION_CIRCUIT_BREAKER_SUCCESS_THRESHOLD=2
|
|
139
|
+
CIP_EXECUTION_CIRCUIT_BREAKER_HALF_OPEN_TIMEOUT=30
|
|
140
|
+
|
|
141
|
+
# Rate Limiting Configuration
|
|
142
|
+
CIP_EXECUTION_RATE_LIMIT_REQUESTS_PER_SECOND=10.0
|
|
143
|
+
CIP_EXECUTION_RATE_LIMIT_BURST_SIZE=20
|
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
# AI Fabrix Dataplane - RBAC Configuration
|
|
2
|
+
# Roles and permissions for this application
|
|
3
|
+
#
|
|
4
|
+
# Note: Environment access is managed by MisoClient, not by per-environment roles.
|
|
5
|
+
# MisoClient validates environment access automatically based on user/application permissions.
|
|
6
|
+
|
|
7
|
+
roles:
|
|
8
|
+
- name: "AI Fabrix Platform Admin"
|
|
9
|
+
value: "aifabrix-platform-admin"
|
|
10
|
+
description: "Full platform infrastructure management and enterprise controller access"
|
|
11
|
+
groups: ["AI-Fabrix-Platform-Admins"]
|
|
12
|
+
|
|
13
|
+
- name: "AI Fabrix Security Admin"
|
|
14
|
+
value: "aifabrix-security-admin"
|
|
15
|
+
description: "Security and compliance management for enterprise controller"
|
|
16
|
+
groups: ["AI-Fabrix-Security-Admins"]
|
|
17
|
+
|
|
18
|
+
- name: "AI Fabrix Deployment Admin"
|
|
19
|
+
value: "aifabrix-deployment-admin"
|
|
20
|
+
description: "Application deployment orchestration and environment management"
|
|
21
|
+
groups: ["AI-Fabrix-Deployment-Admins"]
|
|
22
|
+
|
|
23
|
+
- name: "AI Fabrix Compliance Admin"
|
|
24
|
+
value: "aifabrix-compliance-admin"
|
|
25
|
+
description: "ISO 27001 compliance monitoring and audit management"
|
|
26
|
+
groups: ["AI-Fabrix-Compliance-Admins"]
|
|
27
|
+
|
|
28
|
+
- name: "AI Fabrix Developer"
|
|
29
|
+
value: "aifabrix-developer"
|
|
30
|
+
description: "Developer access to deploy applications via GitHub Actions"
|
|
31
|
+
groups: ["AI-Fabrix-Developers"]
|
|
32
|
+
|
|
33
|
+
- name: "AI Fabrix Observer"
|
|
34
|
+
value: "aifabrix-observer"
|
|
35
|
+
description: "Read-only access to monitoring, logs, and compliance reports"
|
|
36
|
+
groups: ["AI-Fabrix-Observers"]
|
|
37
|
+
|
|
38
|
+
permissions:
|
|
39
|
+
# Credential management
|
|
40
|
+
- name: "credential:create"
|
|
41
|
+
roles: ["aifabrix-platform-admin"]
|
|
42
|
+
description: "Create credentials"
|
|
43
|
+
|
|
44
|
+
- name: "credential:read"
|
|
45
|
+
roles: ["aifabrix-platform-admin", "aifabrix-security-admin", "aifabrix-compliance-admin", "aifabrix-observer"]
|
|
46
|
+
description: "Read credentials"
|
|
47
|
+
|
|
48
|
+
- name: "credential:update"
|
|
49
|
+
roles: ["aifabrix-platform-admin", "aifabrix-security-admin"]
|
|
50
|
+
description: "Update credentials"
|
|
51
|
+
|
|
52
|
+
- name: "credential:delete"
|
|
53
|
+
roles: ["aifabrix-platform-admin"]
|
|
54
|
+
description: "Delete credentials"
|
|
55
|
+
|
|
56
|
+
# External data source management
|
|
57
|
+
- name: "external-data-source:create"
|
|
58
|
+
roles: ["aifabrix-platform-admin", "aifabrix-developer"]
|
|
59
|
+
description: "Create external data sources"
|
|
60
|
+
|
|
61
|
+
- name: "external-data-source:read"
|
|
62
|
+
roles: ["aifabrix-platform-admin", "aifabrix-security-admin", "aifabrix-deployment-admin", "aifabrix-compliance-admin", "aifabrix-developer", "aifabrix-observer"]
|
|
63
|
+
description: "Read external data sources"
|
|
64
|
+
|
|
65
|
+
- name: "external-data-source:update"
|
|
66
|
+
roles: ["aifabrix-platform-admin", "aifabrix-developer"]
|
|
67
|
+
description: "Update external data sources"
|
|
68
|
+
|
|
69
|
+
- name: "external-data-source:delete"
|
|
70
|
+
roles: ["aifabrix-platform-admin", "aifabrix-developer"]
|
|
71
|
+
description: "Delete external data sources"
|
|
72
|
+
|
|
73
|
+
- name: "external-data-source:sync"
|
|
74
|
+
roles: ["aifabrix-platform-admin", "aifabrix-deployment-admin", "aifabrix-developer"]
|
|
75
|
+
description: "Sync external data sources"
|
|
76
|
+
|
|
77
|
+
# External system management
|
|
78
|
+
- name: "external-system:create"
|
|
79
|
+
roles: ["aifabrix-platform-admin", "aifabrix-developer"]
|
|
80
|
+
description: "Create external systems"
|
|
81
|
+
|
|
82
|
+
- name: "external-system:read"
|
|
83
|
+
roles: ["aifabrix-platform-admin", "aifabrix-security-admin", "aifabrix-deployment-admin", "aifabrix-compliance-admin", "aifabrix-developer", "aifabrix-observer"]
|
|
84
|
+
description: "Read external systems"
|
|
85
|
+
|
|
86
|
+
- name: "external-system:update"
|
|
87
|
+
roles: ["aifabrix-platform-admin", "aifabrix-developer"]
|
|
88
|
+
description: "Update external systems"
|
|
89
|
+
|
|
90
|
+
- name: "external-system:delete"
|
|
91
|
+
roles: ["aifabrix-platform-admin", "aifabrix-developer"]
|
|
92
|
+
description: "Delete external systems"
|
|
93
|
+
|
|
94
|
+
# Document storage management
|
|
95
|
+
- name: "document-storage:create"
|
|
96
|
+
roles: ["aifabrix-platform-admin", "aifabrix-developer"]
|
|
97
|
+
description: "Create document storage"
|
|
98
|
+
|
|
99
|
+
- name: "document-storage:read"
|
|
100
|
+
roles: ["aifabrix-platform-admin", "aifabrix-security-admin", "aifabrix-deployment-admin", "aifabrix-compliance-admin", "aifabrix-developer", "aifabrix-observer"]
|
|
101
|
+
description: "Read document storage"
|
|
102
|
+
|
|
103
|
+
- name: "document-storage:update"
|
|
104
|
+
roles: ["aifabrix-platform-admin", "aifabrix-developer"]
|
|
105
|
+
description: "Update document storage"
|
|
106
|
+
|
|
107
|
+
- name: "document-storage:delete"
|
|
108
|
+
roles: ["aifabrix-platform-admin", "aifabrix-developer"]
|
|
109
|
+
description: "Delete document storage"
|
|
110
|
+
|
|
111
|
+
- name: "document-storage:process"
|
|
112
|
+
roles: ["aifabrix-platform-admin", "aifabrix-deployment-admin", "aifabrix-developer"]
|
|
113
|
+
description: "Process documents"
|
|
114
|
+
|
|
115
|
+
# Integration template management
|
|
116
|
+
- name: "integration-template:create"
|
|
117
|
+
roles: ["aifabrix-platform-admin", "aifabrix-developer"]
|
|
118
|
+
description: "Create integration templates"
|
|
119
|
+
|
|
120
|
+
- name: "integration-template:read"
|
|
121
|
+
roles: ["aifabrix-platform-admin", "aifabrix-security-admin", "aifabrix-deployment-admin", "aifabrix-compliance-admin", "aifabrix-developer", "aifabrix-observer"]
|
|
122
|
+
description: "Read integration templates"
|
|
123
|
+
|
|
124
|
+
- name: "integration-template:update"
|
|
125
|
+
roles: ["aifabrix-platform-admin", "aifabrix-deployment-admin", "aifabrix-developer"]
|
|
126
|
+
description: "Update integration templates"
|
|
127
|
+
|
|
128
|
+
- name: "integration-template:delete"
|
|
129
|
+
roles: ["aifabrix-platform-admin", "aifabrix-developer"]
|
|
130
|
+
description: "Delete integration templates"
|
|
131
|
+
|
|
132
|
+
# Generic dataplane operations
|
|
133
|
+
- name: "dataplane:read"
|
|
134
|
+
roles: ["aifabrix-platform-admin", "aifabrix-security-admin", "aifabrix-deployment-admin", "aifabrix-compliance-admin", "aifabrix-developer", "aifabrix-observer"]
|
|
135
|
+
description: "Read dataplane data"
|
|
136
|
+
|
|
137
|
+
- name: "dataplane:write"
|
|
138
|
+
roles: ["aifabrix-platform-admin", "aifabrix-developer"]
|
|
139
|
+
description: "Write dataplane data"
|
|
140
|
+
|
|
141
|
+
- name: "dataplane:delete"
|
|
142
|
+
roles: ["aifabrix-platform-admin", "aifabrix-developer"]
|
|
143
|
+
description: "Delete dataplane data"
|
|
144
|
+
|
|
145
|
+
- name: "dataplane:process"
|
|
146
|
+
roles: ["aifabrix-platform-admin", "aifabrix-deployment-admin", "aifabrix-developer"]
|
|
147
|
+
description: "Process dataplane operations"
|
|
148
|
+
|
|
149
|
+
# External data source publishing
|
|
150
|
+
- name: "external-data-source:publish"
|
|
151
|
+
roles: ["aifabrix-platform-admin", "aifabrix-deployment-admin", "aifabrix-developer"]
|
|
152
|
+
description: "Publish external data sources"
|
|
153
|
+
|
|
154
|
+
# External system publishing
|
|
155
|
+
- name: "external-system:publish"
|
|
156
|
+
roles: ["aifabrix-platform-admin", "aifabrix-deployment-admin", "aifabrix-developer"]
|
|
157
|
+
description: "Publish external systems"
|
|
158
|
+
|
|
159
|
+
# Document record management
|
|
160
|
+
- name: "document-record:create"
|
|
161
|
+
roles: ["aifabrix-platform-admin", "aifabrix-developer"]
|
|
162
|
+
description: "Create document records"
|
|
163
|
+
|
|
164
|
+
- name: "document-record:read"
|
|
165
|
+
roles: ["aifabrix-platform-admin", "aifabrix-security-admin", "aifabrix-deployment-admin", "aifabrix-compliance-admin", "aifabrix-developer", "aifabrix-observer"]
|
|
166
|
+
description: "Read document records"
|
|
167
|
+
|
|
168
|
+
- name: "document-record:update"
|
|
169
|
+
roles: ["aifabrix-platform-admin", "aifabrix-developer"]
|
|
170
|
+
description: "Update document records"
|
|
171
|
+
|
|
172
|
+
- name: "document-record:delete"
|
|
173
|
+
roles: ["aifabrix-platform-admin", "aifabrix-developer"]
|
|
174
|
+
description: "Delete document records"
|
|
175
|
+
|
|
176
|
+
- name: "document-record:write"
|
|
177
|
+
roles: ["aifabrix-platform-admin", "aifabrix-developer"]
|
|
178
|
+
description: "Write document records"
|
|
179
|
+
|
|
180
|
+
- name: "document-record:validate"
|
|
181
|
+
roles: ["aifabrix-platform-admin", "aifabrix-deployment-admin", "aifabrix-developer"]
|
|
182
|
+
description: "Validate document records"
|
|
183
|
+
|
|
184
|
+
- name: "document-record:approve"
|
|
185
|
+
roles: ["aifabrix-platform-admin", "aifabrix-compliance-admin"]
|
|
186
|
+
description: "Approve document records"
|
|
187
|
+
|
|
188
|
+
# External record management
|
|
189
|
+
- name: "external-record:create"
|
|
190
|
+
roles: ["aifabrix-platform-admin", "aifabrix-developer"]
|
|
191
|
+
description: "Create external records"
|
|
192
|
+
|
|
193
|
+
- name: "external-record:read"
|
|
194
|
+
roles: ["aifabrix-platform-admin", "aifabrix-security-admin", "aifabrix-deployment-admin", "aifabrix-compliance-admin", "aifabrix-developer", "aifabrix-observer"]
|
|
195
|
+
description: "Read external records"
|
|
196
|
+
|
|
197
|
+
- name: "external-record:update"
|
|
198
|
+
roles: ["aifabrix-platform-admin", "aifabrix-developer"]
|
|
199
|
+
description: "Update external records"
|
|
200
|
+
|
|
201
|
+
- name: "external-record:delete"
|
|
202
|
+
roles: ["aifabrix-platform-admin", "aifabrix-developer"]
|
|
203
|
+
description: "Delete external records"
|
|
204
|
+
|
|
205
|
+
# External data access grant management
|
|
206
|
+
- name: "external-data-access-grant:create"
|
|
207
|
+
roles: ["aifabrix-platform-admin", "aifabrix-developer"]
|
|
208
|
+
description: "Create external data access grants"
|
|
209
|
+
|
|
210
|
+
- name: "external-data-access-grant:read"
|
|
211
|
+
roles: ["aifabrix-platform-admin", "aifabrix-security-admin", "aifabrix-deployment-admin", "aifabrix-compliance-admin", "aifabrix-developer", "aifabrix-observer"]
|
|
212
|
+
description: "Read external data access grants"
|
|
213
|
+
|
|
214
|
+
- name: "external-data-access-grant:update"
|
|
215
|
+
roles: ["aifabrix-platform-admin", "aifabrix-developer"]
|
|
216
|
+
description: "Update external data access grants"
|
|
217
|
+
|
|
218
|
+
- name: "external-data-access-grant:delete"
|
|
219
|
+
roles: ["aifabrix-platform-admin", "aifabrix-developer"]
|
|
220
|
+
description: "Delete external data access grants"
|
|
221
|
+
|
|
222
|
+
# User and group management
|
|
223
|
+
- name: "user:read"
|
|
224
|
+
roles: ["aifabrix-platform-admin", "aifabrix-security-admin", "aifabrix-compliance-admin", "aifabrix-observer"]
|
|
225
|
+
description: "Read user information"
|
|
226
|
+
|
|
227
|
+
- name: "group:read"
|
|
228
|
+
roles: ["aifabrix-platform-admin", "aifabrix-security-admin", "aifabrix-compliance-admin", "aifabrix-observer"]
|
|
229
|
+
description: "Read group information"
|
|
230
|
+
|
|
231
|
+
# OpenAPI file management
|
|
232
|
+
- name: "openapi-file:read"
|
|
233
|
+
roles: ["aifabrix-platform-admin", "aifabrix-security-admin", "aifabrix-deployment-admin", "aifabrix-compliance-admin", "aifabrix-developer", "aifabrix-observer"]
|
|
234
|
+
description: "Read OpenAPI files"
|
|
235
|
+
|
|
236
|
+
- name: "openapi-file:update"
|
|
237
|
+
roles: ["aifabrix-platform-admin", "aifabrix-developer"]
|
|
238
|
+
description: "Update OpenAPI files"
|
|
239
|
+
|
|
240
|
+
- name: "openapi-file:delete"
|
|
241
|
+
roles: ["aifabrix-platform-admin", "aifabrix-developer"]
|
|
242
|
+
description: "Delete OpenAPI files"
|
|
243
|
+
|
|
244
|
+
# External data source write operations
|
|
245
|
+
- name: "external-data-source:write"
|
|
246
|
+
roles: ["aifabrix-platform-admin", "aifabrix-developer"]
|
|
247
|
+
description: "Write external data source data"
|
|
248
|
+
|
|
249
|
+
# Record relation management
|
|
250
|
+
- name: "record-relation:create"
|
|
251
|
+
roles: ["aifabrix-platform-admin", "aifabrix-developer"]
|
|
252
|
+
description: "Create record relations"
|
|
253
|
+
|
|
254
|
+
- name: "record-relation:read"
|
|
255
|
+
roles: ["aifabrix-platform-admin", "aifabrix-security-admin", "aifabrix-deployment-admin", "aifabrix-compliance-admin", "aifabrix-developer", "aifabrix-observer"]
|
|
256
|
+
description: "Read record relations"
|
|
257
|
+
|
|
258
|
+
- name: "record-relation:delete"
|
|
259
|
+
roles: ["aifabrix-platform-admin", "aifabrix-developer"]
|
|
260
|
+
description: "Delete record relations"
|
|
261
|
+
|
|
262
|
+
# Audit operations
|
|
263
|
+
- name: "audit:read"
|
|
264
|
+
roles: ["aifabrix-platform-admin", "aifabrix-security-admin", "aifabrix-compliance-admin", "aifabrix-observer"]
|
|
265
|
+
description: "Read audit logs and execution history"
|
|
266
|
+
|
|
267
|
+
# Search operations
|
|
268
|
+
- name: "document:search"
|
|
269
|
+
roles: ["aifabrix-platform-admin", "aifabrix-security-admin", "aifabrix-deployment-admin", "aifabrix-compliance-admin", "aifabrix-developer", "aifabrix-observer"]
|
|
270
|
+
description: "Search documents"
|
|
271
|
+
|
|
272
|
+
- name: "record:search"
|
|
273
|
+
roles: ["aifabrix-platform-admin", "aifabrix-security-admin", "aifabrix-deployment-admin", "aifabrix-compliance-admin", "aifabrix-developer", "aifabrix-observer"]
|
|
274
|
+
description: "Search records"
|
|
275
|
+
|
|
276
|
+
# IDE simulation operations
|
|
277
|
+
- name: "dataplane:abac-simulate"
|
|
278
|
+
roles: ["aifabrix-platform-admin", "aifabrix-security-admin", "aifabrix-developer"]
|
|
279
|
+
description: "Simulate ABAC policy evaluation in IDE"
|
|
280
|
+
|
|
281
|
+
- name: "dataplane:rbac-simulate"
|
|
282
|
+
roles: ["aifabrix-platform-admin", "aifabrix-security-admin", "aifabrix-developer"]
|
|
283
|
+
description: "Simulate RBAC policy evaluation in IDE"
|