@aifabrix/builder 2.8.0 → 2.10.0

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.
Files changed (46) hide show
  1. package/integration/hubspot/README.md +136 -0
  2. package/integration/hubspot/env.template +9 -0
  3. package/integration/hubspot/hubspot-deploy-company.json +200 -0
  4. package/integration/hubspot/hubspot-deploy-contact.json +228 -0
  5. package/integration/hubspot/hubspot-deploy-deal.json +248 -0
  6. package/integration/hubspot/hubspot-deploy.json +91 -0
  7. package/integration/hubspot/variables.yaml +17 -0
  8. package/lib/app-config.js +4 -3
  9. package/lib/app-deploy.js +8 -20
  10. package/lib/app-dockerfile.js +7 -9
  11. package/lib/app-prompts.js +6 -5
  12. package/lib/app-push.js +9 -9
  13. package/lib/app-register.js +23 -5
  14. package/lib/app-rotate-secret.js +10 -0
  15. package/lib/app-run.js +5 -11
  16. package/lib/app.js +42 -14
  17. package/lib/build.js +20 -16
  18. package/lib/cli.js +61 -2
  19. package/lib/commands/login.js +7 -1
  20. package/lib/datasource-deploy.js +14 -20
  21. package/lib/external-system-deploy.js +123 -40
  22. package/lib/external-system-download.js +431 -0
  23. package/lib/external-system-generator.js +13 -10
  24. package/lib/external-system-test.js +446 -0
  25. package/lib/generator-builders.js +323 -0
  26. package/lib/generator.js +200 -292
  27. package/lib/schema/application-schema.json +853 -852
  28. package/lib/schema/env-config.yaml +9 -1
  29. package/lib/schema/external-datasource.schema.json +823 -49
  30. package/lib/schema/external-system.schema.json +96 -78
  31. package/lib/templates.js +36 -5
  32. package/lib/utils/api-error-handler.js +12 -12
  33. package/lib/utils/cli-utils.js +4 -4
  34. package/lib/utils/device-code.js +65 -2
  35. package/lib/utils/env-template.js +5 -4
  36. package/lib/utils/external-system-display.js +159 -0
  37. package/lib/utils/external-system-validators.js +245 -0
  38. package/lib/utils/paths.js +151 -1
  39. package/lib/utils/schema-resolver.js +7 -2
  40. package/lib/validator.js +5 -2
  41. package/package.json +1 -1
  42. package/templates/applications/keycloak/env.template +8 -2
  43. package/templates/applications/keycloak/variables.yaml +3 -3
  44. package/templates/applications/miso-controller/env.template +23 -10
  45. package/templates/applications/miso-controller/rbac.yaml +263 -213
  46. package/templates/applications/miso-controller/variables.yaml +3 -3
@@ -28,13 +28,21 @@ ONBOARDING_ADMIN_EMAIL=kv://miso-controller-admin-emailKeyVault
28
28
  # APPLICATION ENVIRONMENT
29
29
  # =============================================================================
30
30
 
31
- NODE_ENV=development
32
- PORT=3000
31
+ # NODE_ENV: production for Docker (serves pre-built static files), development for local dev
32
+ # In Docker, this should be production to prevent Vite dev server initialization
33
+ NODE_ENV=${NODE_ENV}
34
+ PORT=${MISO_PORT}
33
35
  AUTO_CREATE_TABLES=true
34
36
  FAST_STARTUP=false
35
- ALLOWED_ORIGINS=http://localhost:3000,http://localhost:5173
37
+ ALLOWED_ORIGINS=http://localhost:*
36
38
  ENABLE_API_DOCS=true
37
39
 
40
+ # Rate Limiting Configuration (for local development)
41
+ # Set DISABLE_RATE_LIMIT=true to disable rate limiting entirely (local development only)
42
+ DISABLE_RATE_LIMIT=true
43
+ # RATE_LIMIT_WINDOW_MS=900000 # 15 minutes in milliseconds (default: 900000)
44
+ # RATE_LIMIT_MAX=100 # Max requests per window (default: 100)
45
+
38
46
  # Package Version (auto-set by npm/pnpm, optional override)
39
47
  # npm_package_version=1.0.0
40
48
 
@@ -72,6 +80,7 @@ REDIS_PERMISSIONS_TTL=900
72
80
 
73
81
  KEYCLOAK_REALM=aifabrix
74
82
  KEYCLOAK_SERVER_URL=kv://keycloak-server-urlKeyVault
83
+ KEYCLOAK_PUBLIC_SERVER_URL=kv://keycloak-public-server-urlKeyVault
75
84
  KEYCLOAK_CLIENT_ID=miso-controller
76
85
  KEYCLOAK_CLIENT_SECRET=kv://keycloak-client-secretKeyVault
77
86
  KEYCLOAK_ADMIN_USERNAME=admin
@@ -96,8 +105,9 @@ AZURE_SERVICE_NAME=kv://azure-service-nameKeyVault
96
105
  AZURE_CLIENT_ID=kv://azure-client-idKeyVault
97
106
  AZURE_CLIENT_SECRET=kv://azure-client-secretKeyVault
98
107
 
99
- # Mock Mode (set to false for production)
100
- MOCK=true
108
+ # Mock Mode (defaults to false - set to true only for testing/development)
109
+ # Set MOCK=true to prevent actual Azure resource creation (for testing)
110
+ MOCK=false
101
111
 
102
112
  # =============================================================================
103
113
  # SECURITY & ENCRYPTION
@@ -117,11 +127,14 @@ API_KEY=kv://miso-controller-api-key-secretKeyVault
117
127
  # =============================================================================
118
128
 
119
129
  # MISO Controller URL
120
- MISO_CONTROLLER_URL=kv://miso-controller-url
121
-
122
- # Web Server URL (for OpenAPI documentation server URLs)
123
- # Used to generate correct server URLs in OpenAPI spec
124
- WEB_SERVER_URL=kv://miso-controller-web-server-url
130
+ MISO_CONTROLLER_URL=http://${MISO_HOST}:${MISO_PORT}
131
+
132
+ # Web Server URL (for OpenAPI documentation server URLs and Keycloak callbacks)
133
+ # This is the PUBLIC-FACING URL that browsers/users access (e.g., http://localhost:3100)
134
+ # Used to generate correct server URLs in OpenAPI spec and Keycloak callback URLs
135
+ # For Docker: use localhost with mapped port (e.g., localhost:3100)
136
+ # For production: use public domain (e.g., https://miso.example.com)
137
+ MISO_WEB_SERVER_URL=kv://miso-controller-web-server-url
125
138
 
126
139
  # MISO Environment Configuration (miso, dev, tst, pro)
127
140
  MISO_ENVIRONMENT=miso
@@ -1,230 +1,280 @@
1
1
  roles:
2
- - name: "AI Fabrix Platform Admin"
3
- value: "aifabrix-platform-admin"
4
- description: "Full platform infrastructure management and enterprise controller access"
5
- Groups: ["AI-Fabrix-Platform-Admins"]
6
-
7
- - name: "AI Fabrix Security Admin"
8
- value: "aifabrix-security-admin"
9
- description: "Security and compliance management for enterprise controller"
10
- Groups: ["AI-Fabrix-Security-Admins"]
11
-
12
- - name: "AI Fabrix Infrastructure Admin"
13
- value: "aifabrix-infrastructure-admin"
14
- description: "Infrastructure deployment and management across environments"
15
- Groups: ["AI-Fabrix-Infrastructure-Admins"]
16
-
17
- - name: "AI Fabrix Deployment Admin"
18
- value: "aifabrix-deployment-admin"
19
- description: "Application deployment orchestration and environment management"
20
- Groups: ["AI-Fabrix-Deployment-Admins"]
21
-
22
- - name: "AI Fabrix Compliance Admin"
23
- value: "aifabrix-compliance-admin"
24
- description: "ISO 27001 compliance monitoring and audit management"
25
- Groups: ["AI-Fabrix-Compliance-Admins"]
26
-
27
- - name: "AI Fabrix Developer"
28
- value: "aifabrix-developer"
29
- description: "Developer access to deploy applications via GitHub Actions"
30
- Groups: ["AI-Fabrix-Developers"]
31
-
32
- - name: "AI Fabrix Observer"
33
- value: "aifabrix-observer"
34
- description: "Read-only access to monitoring, logs, and compliance reports"
35
- Groups: ["AI-Fabrix-Observers"]
2
+ - name: 'AI Fabrix Platform Admin'
3
+ value: 'aifabrix-platform-admin'
4
+ description: 'Full platform infrastructure management and enterprise controller access'
5
+ Groups: ['AI-Fabrix-Platform-Admins']
6
+
7
+ - name: 'AI Fabrix Security Admin'
8
+ value: 'aifabrix-security-admin'
9
+ description: 'Security and compliance management for enterprise controller'
10
+ Groups: ['AI-Fabrix-Security-Admins']
11
+
12
+ - name: 'AI Fabrix Infrastructure Admin'
13
+ value: 'aifabrix-infrastructure-admin'
14
+ description: 'Infrastructure deployment and management across environments'
15
+ Groups: ['AI-Fabrix-Infrastructure-Admins']
16
+
17
+ - name: 'AI Fabrix Deployment Admin'
18
+ value: 'aifabrix-deployment-admin'
19
+ description: 'Application deployment orchestration and environment management'
20
+ Groups: ['AI-Fabrix-Deployment-Admins']
21
+
22
+ - name: 'AI Fabrix Compliance Admin'
23
+ value: 'aifabrix-compliance-admin'
24
+ description: 'ISO 27001 compliance monitoring and audit management'
25
+ Groups: ['AI-Fabrix-Compliance-Admins']
26
+
27
+ - name: 'AI Fabrix Developer'
28
+ value: 'aifabrix-developer'
29
+ description: 'Developer access to deploy applications via GitHub Actions'
30
+ Groups: ['AI-Fabrix-Developers']
31
+
32
+ - name: 'AI Fabrix Observer'
33
+ value: 'aifabrix-observer'
34
+ description: 'Read-only access to monitoring, logs, and compliance reports'
35
+ Groups: ['AI-Fabrix-Observers']
36
36
 
37
37
  permissions:
38
38
  # Service User Management
39
- - name: "service-user:create"
40
- roles: ["aifabrix-platform-admin", "aifabrix-security-admin"]
41
- description: "Create service users and API clients"
42
-
43
- - name: "service-user:read"
44
- roles: ["aifabrix-platform-admin", "aifabrix-security-admin", "aifabrix-observer"]
45
- description: "View service users and their configurations"
46
-
47
- - name: "service-user:update"
48
- roles: ["aifabrix-platform-admin", "aifabrix-security-admin"]
49
- description: "Update service user configurations and regenerate secrets"
50
-
51
- - name: "service-user:delete"
52
- roles: ["aifabrix-platform-admin", "aifabrix-security-admin"]
53
- description: "Deactivate service users"
54
-
39
+ - name: 'service-user:create'
40
+ roles: ['aifabrix-platform-admin', 'aifabrix-security-admin']
41
+ description: 'Create service users and API clients'
42
+
43
+ - name: 'service-user:read'
44
+ roles: ['aifabrix-platform-admin', 'aifabrix-security-admin', 'aifabrix-observer']
45
+ description: 'View service users and their configurations'
46
+
47
+ - name: 'service-user:update'
48
+ roles: ['aifabrix-platform-admin', 'aifabrix-security-admin']
49
+ description: 'Update service user configurations and regenerate secrets'
50
+
51
+ - name: 'service-user:delete'
52
+ roles: ['aifabrix-platform-admin', 'aifabrix-security-admin']
53
+ description: 'Deactivate service users'
54
+
55
55
  # User Management
56
- - name: "users:create"
57
- roles: ["aifabrix-platform-admin", "aifabrix-security-admin"]
58
- description: "Create new users"
59
-
60
- - name: "users:read"
61
- roles: ["aifabrix-platform-admin", "aifabrix-security-admin", "aifabrix-observer"]
62
- description: "View user information and profiles"
63
-
64
- - name: "users:update"
65
- roles: ["aifabrix-platform-admin", "aifabrix-security-admin"]
66
- description: "Update user information and manage group memberships"
67
-
68
- - name: "users:delete"
69
- roles: ["aifabrix-platform-admin", "aifabrix-security-admin"]
70
- description: "Delete users"
71
-
56
+ - name: 'users:create'
57
+ roles: ['aifabrix-platform-admin', 'aifabrix-security-admin']
58
+ description: 'Create new users'
59
+
60
+ - name: 'users:read'
61
+ roles: ['aifabrix-platform-admin', 'aifabrix-security-admin', 'aifabrix-observer']
62
+ description: 'View user information and profiles'
63
+
64
+ - name: 'users:update'
65
+ roles: ['aifabrix-platform-admin', 'aifabrix-security-admin']
66
+ description: 'Update user information and manage group memberships'
67
+
68
+ - name: 'users:delete'
69
+ roles: ['aifabrix-platform-admin', 'aifabrix-security-admin']
70
+ description: 'Delete users'
71
+
72
72
  # Group Management
73
- - name: "groups:create"
74
- roles: ["aifabrix-platform-admin", "aifabrix-security-admin"]
75
- description: "Create new groups"
76
-
77
- - name: "groups:read"
78
- roles: ["aifabrix-platform-admin", "aifabrix-security-admin", "aifabrix-observer"]
79
- description: "View group information and members"
80
-
81
- - name: "groups:update"
82
- roles: ["aifabrix-platform-admin", "aifabrix-security-admin"]
83
- description: "Update group information"
84
-
85
- - name: "groups:delete"
86
- roles: ["aifabrix-platform-admin", "aifabrix-security-admin"]
87
- description: "Delete groups"
88
-
73
+ - name: 'groups:create'
74
+ roles: ['aifabrix-platform-admin', 'aifabrix-security-admin']
75
+ description: 'Create new groups'
76
+
77
+ - name: 'groups:read'
78
+ roles: ['aifabrix-platform-admin', 'aifabrix-security-admin', 'aifabrix-observer']
79
+ description: 'View group information and members'
80
+
81
+ - name: 'groups:update'
82
+ roles: ['aifabrix-platform-admin', 'aifabrix-security-admin']
83
+ description: 'Update group information'
84
+
85
+ - name: 'groups:delete'
86
+ roles: ['aifabrix-platform-admin', 'aifabrix-security-admin']
87
+ description: 'Delete groups'
88
+
89
89
  # Administrative Permissions
90
- - name: "admin:read"
91
- roles: ["aifabrix-platform-admin"]
92
- description: "Administrative read access to all resources"
93
-
94
- - name: "admin:write"
95
- roles: ["aifabrix-platform-admin"]
96
- description: "Administrative write access to all resources"
97
-
98
- - name: "admin:delete"
99
- roles: ["aifabrix-platform-admin"]
100
- description: "Administrative delete access to all resources"
101
-
90
+ - name: 'admin:read'
91
+ roles: ['aifabrix-platform-admin']
92
+ description: 'Administrative read access to all resources'
93
+
94
+ - name: 'admin:write'
95
+ roles: ['aifabrix-platform-admin']
96
+ description: 'Administrative write access to all resources'
97
+
98
+ - name: 'admin:delete'
99
+ roles: ['aifabrix-platform-admin']
100
+ description: 'Administrative delete access to all resources'
101
+
102
102
  # Template Applications (environment = null)
103
- - name: "applications:create"
104
- roles: ["aifabrix-platform-admin", "aifabrix-infrastructure-admin", "aifabrix-deployment-admin"]
105
- description: "Register new application templates"
106
-
107
- - name: "applications:read"
108
- roles: ["aifabrix-platform-admin", "aifabrix-infrastructure-admin", "aifabrix-deployment-admin", "aifabrix-developer", "aifabrix-observer"]
109
- description: "View application templates"
110
-
111
- - name: "applications:update"
112
- roles: ["aifabrix-platform-admin", "aifabrix-infrastructure-admin", "aifabrix-deployment-admin"]
113
- description: "Update application templates"
114
-
115
- - name: "applications:delete"
116
- roles: ["aifabrix-platform-admin", "aifabrix-infrastructure-admin"]
117
- description: "Remove application templates"
118
-
103
+ - name: 'applications:create'
104
+ roles: ['aifabrix-platform-admin', 'aifabrix-infrastructure-admin', 'aifabrix-deployment-admin']
105
+ description: 'Register new application templates'
106
+
107
+ - name: 'applications:read'
108
+ roles:
109
+ [
110
+ 'aifabrix-platform-admin',
111
+ 'aifabrix-infrastructure-admin',
112
+ 'aifabrix-deployment-admin',
113
+ 'aifabrix-developer',
114
+ 'aifabrix-observer'
115
+ ]
116
+ description: 'View application templates'
117
+
118
+ - name: 'applications:update'
119
+ roles: ['aifabrix-platform-admin', 'aifabrix-infrastructure-admin', 'aifabrix-deployment-admin']
120
+ description: 'Update application templates'
121
+
122
+ - name: 'applications:delete'
123
+ roles: ['aifabrix-platform-admin', 'aifabrix-infrastructure-admin']
124
+ description: 'Remove application templates'
125
+
119
126
  # Environments
120
- - name: "environments:create"
121
- roles: ["aifabrix-platform-admin", "aifabrix-infrastructure-admin"]
122
- description: "Create new environments (dev, tst, pro, miso)"
123
-
124
- - name: "environments:read"
125
- roles: ["aifabrix-platform-admin", "aifabrix-infrastructure-admin", "aifabrix-deployment-admin", "aifabrix-developer", "aifabrix-observer"]
126
- description: "View environments and their status"
127
-
128
- - name: "environments:update"
129
- roles: ["aifabrix-platform-admin", "aifabrix-infrastructure-admin"]
130
- description: "Update environment configuration"
131
-
132
- - name: "environments:delete"
133
- roles: ["aifabrix-platform-admin", "aifabrix-infrastructure-admin"]
134
- description: "Delete environments"
135
-
127
+ - name: 'environments:create'
128
+ roles: ['aifabrix-platform-admin', 'aifabrix-infrastructure-admin']
129
+ description: 'Create new environments (dev, tst, pro, miso)'
130
+
131
+ - name: 'environments:read'
132
+ roles:
133
+ [
134
+ 'aifabrix-platform-admin',
135
+ 'aifabrix-infrastructure-admin',
136
+ 'aifabrix-deployment-admin',
137
+ 'aifabrix-developer',
138
+ 'aifabrix-observer'
139
+ ]
140
+ description: 'View environments and their status'
141
+
142
+ - name: 'environments:update'
143
+ roles: ['aifabrix-platform-admin', 'aifabrix-infrastructure-admin']
144
+ description: 'Update environment configuration'
145
+
146
+ - name: 'environments:delete'
147
+ roles: ['aifabrix-platform-admin', 'aifabrix-infrastructure-admin']
148
+ description: 'Delete environments'
149
+
136
150
  # Environment Applications
137
- - name: "environments-applications:create"
138
- roles: ["aifabrix-platform-admin", "aifabrix-deployment-admin", "aifabrix-developer"]
139
- description: "Create applications within environments"
140
-
141
- - name: "environments-applications:read"
142
- roles: ["aifabrix-platform-admin", "aifabrix-deployment-admin", "aifabrix-developer", "aifabrix-observer"]
143
- description: "View applications within environments"
144
-
145
- - name: "environments-applications:update"
146
- roles: ["aifabrix-platform-admin", "aifabrix-deployment-admin", "aifabrix-developer"]
147
- description: "Update applications within environments"
148
-
149
- - name: "environments-applications:delete"
150
- roles: ["aifabrix-platform-admin", "aifabrix-deployment-admin"]
151
- description: "Remove applications from environments"
152
-
151
+ - name: 'environments-applications:create'
152
+ roles: ['aifabrix-platform-admin', 'aifabrix-deployment-admin', 'aifabrix-developer']
153
+ description: 'Create applications within environments'
154
+
155
+ - name: 'environments-applications:read'
156
+ roles:
157
+ [
158
+ 'aifabrix-platform-admin',
159
+ 'aifabrix-deployment-admin',
160
+ 'aifabrix-developer',
161
+ 'aifabrix-observer'
162
+ ]
163
+ description: 'View applications within environments'
164
+
165
+ - name: 'environments-applications:update'
166
+ roles: ['aifabrix-platform-admin', 'aifabrix-deployment-admin', 'aifabrix-developer']
167
+ description: 'Update applications within environments'
168
+
169
+ - name: 'environments-applications:delete'
170
+ roles: ['aifabrix-platform-admin', 'aifabrix-deployment-admin']
171
+ description: 'Remove applications from environments'
172
+
153
173
  # Pipeline & Deployment
154
- - name: "applications:deploy"
155
- roles: ["aifabrix-platform-admin", "aifabrix-deployment-admin", "aifabrix-developer"]
156
- description: "Deploy applications to environments"
157
-
158
- - name: "deployments:read"
159
- roles: ["aifabrix-platform-admin", "aifabrix-deployment-admin", "aifabrix-developer", "aifabrix-observer"]
160
- description: "View deployment history and status"
161
-
174
+ - name: 'applications:deploy'
175
+ roles: ['aifabrix-platform-admin', 'aifabrix-deployment-admin', 'aifabrix-developer']
176
+ description: 'Deploy applications to environments'
177
+
178
+ - name: 'deployments:read'
179
+ roles:
180
+ [
181
+ 'aifabrix-platform-admin',
182
+ 'aifabrix-deployment-admin',
183
+ 'aifabrix-developer',
184
+ 'aifabrix-observer'
185
+ ]
186
+ description: 'View deployment history and status'
187
+
162
188
  # Controller Operations
163
- - name: "controller:admin"
164
- roles: ["aifabrix-platform-admin"]
165
- description: "Full administrative access to controller operations"
166
-
167
- - name: "controller:deploy"
168
- roles: ["aifabrix-platform-admin", "aifabrix-infrastructure-admin", "aifabrix-deployment-admin"]
169
- description: "Deploy infrastructure and manage environments"
170
-
171
- - name: "controller:monitor"
172
- roles: ["aifabrix-platform-admin", "aifabrix-security-admin", "aifabrix-observer"]
173
- description: "Monitor system health and view logs"
174
-
175
- - name: "controller:compliance"
176
- roles: ["aifabrix-platform-admin", "aifabrix-compliance-admin"]
177
- description: "Access compliance reports and audit logs"
178
-
189
+ - name: 'controller:admin'
190
+ roles: ['aifabrix-platform-admin']
191
+ description: 'Full administrative access to controller operations'
192
+
193
+ - name: 'controller:deploy'
194
+ roles: ['aifabrix-platform-admin', 'aifabrix-infrastructure-admin', 'aifabrix-deployment-admin']
195
+ description: 'Deploy infrastructure and manage environments'
196
+
197
+ - name: 'controller:monitor'
198
+ roles: ['aifabrix-platform-admin', 'aifabrix-security-admin', 'aifabrix-observer']
199
+ description: 'Monitor system health and view logs'
200
+
201
+ - name: 'controller:compliance'
202
+ roles: ['aifabrix-platform-admin', 'aifabrix-compliance-admin']
203
+ description: 'Access compliance reports and audit logs'
204
+
179
205
  # Authentication & Authorization
180
- - name: "auth:read"
181
- roles: ["aifabrix-platform-admin", "aifabrix-security-admin", "aifabrix-developer", "aifabrix-observer"]
182
- description: "View user roles and permissions"
183
-
206
+ - name: 'auth:read'
207
+ roles:
208
+ [
209
+ 'aifabrix-platform-admin',
210
+ 'aifabrix-security-admin',
211
+ 'aifabrix-developer',
212
+ 'aifabrix-observer'
213
+ ]
214
+ description: 'View user roles and permissions'
215
+
184
216
  # Logs
185
- - name: "logs:read"
186
- roles: ["aifabrix-platform-admin", "aifabrix-security-admin", "aifabrix-compliance-admin", "aifabrix-observer"]
187
- description: "View application and audit logs"
188
-
189
- - name: "logs:write"
190
- roles: ["aifabrix-platform-admin", "aifabrix-developer"]
191
- description: "Write audit and error logs"
192
-
193
- - name: "logs:export"
194
- roles: ["aifabrix-platform-admin", "aifabrix-security-admin", "aifabrix-compliance-admin"]
195
- description: "Export logs for archival and compliance"
196
-
197
- - name: "audit:read"
198
- roles: ["aifabrix-platform-admin", "aifabrix-security-admin", "aifabrix-compliance-admin"]
199
- description: "View audit trail logs"
200
-
201
- - name: "jobs:read"
202
- roles: ["aifabrix-platform-admin", "aifabrix-infrastructure-admin", "aifabrix-deployment-admin", "aifabrix-observer"]
203
- description: "View job and performance logs"
204
-
205
- - name: "admin:export"
206
- roles: ["aifabrix-platform-admin"]
207
- description: "Administrative export access to all data"
208
-
217
+ - name: 'logs:read'
218
+ roles:
219
+ [
220
+ 'aifabrix-platform-admin',
221
+ 'aifabrix-security-admin',
222
+ 'aifabrix-compliance-admin',
223
+ 'aifabrix-observer'
224
+ ]
225
+ description: 'View application and audit logs'
226
+
227
+ - name: 'logs:write'
228
+ roles: ['aifabrix-platform-admin', 'aifabrix-developer']
229
+ description: 'Write audit and error logs'
230
+
231
+ - name: 'logs:export'
232
+ roles: ['aifabrix-platform-admin', 'aifabrix-security-admin', 'aifabrix-compliance-admin']
233
+ description: 'Export logs for archival and compliance'
234
+
235
+ - name: 'audit:read'
236
+ roles: ['aifabrix-platform-admin', 'aifabrix-security-admin', 'aifabrix-compliance-admin']
237
+ description: 'View audit trail logs'
238
+
239
+ - name: 'jobs:read'
240
+ roles:
241
+ [
242
+ 'aifabrix-platform-admin',
243
+ 'aifabrix-infrastructure-admin',
244
+ 'aifabrix-deployment-admin',
245
+ 'aifabrix-observer'
246
+ ]
247
+ description: 'View job and performance logs'
248
+
249
+ - name: 'admin:export'
250
+ roles: ['aifabrix-platform-admin']
251
+ description: 'Administrative export access to all data'
252
+
209
253
  # Admin Operations
210
- - name: "admin:sync"
211
- roles: ["aifabrix-platform-admin", "aifabrix-infrastructure-admin"]
212
- description: "Full system synchronization operations"
213
-
214
- - name: "admin:keycloak"
215
- roles: ["aifabrix-platform-admin", "aifabrix-security-admin"]
216
- description: "Keycloak administration and configuration"
217
-
254
+ - name: 'admin:sync'
255
+ roles: ['aifabrix-platform-admin', 'aifabrix-infrastructure-admin']
256
+ description: 'Full system synchronization operations'
257
+
258
+ - name: 'admin:keycloak'
259
+ roles: ['aifabrix-platform-admin', 'aifabrix-security-admin']
260
+ description: 'Keycloak administration and configuration'
261
+
218
262
  # Cache Management
219
- - name: "cache:read"
220
- roles: ["aifabrix-platform-admin", "aifabrix-security-admin", "aifabrix-observer"]
221
- description: "View cache statistics and performance metrics"
222
-
223
- - name: "cache:admin"
224
- roles: ["aifabrix-platform-admin"]
225
- description: "Manage cache (clear, invalidate patterns)"
226
-
263
+ - name: 'cache:read'
264
+ roles: ['aifabrix-platform-admin', 'aifabrix-security-admin', 'aifabrix-observer']
265
+ description: 'View cache statistics and performance metrics'
266
+
267
+ - name: 'cache:admin'
268
+ roles: ['aifabrix-platform-admin']
269
+ description: 'Manage cache (clear, invalidate patterns)'
270
+
227
271
  # Dashboard
228
- - name: "dashboard:read"
229
- roles: ["aifabrix-platform-admin", "aifabrix-deployment-admin", "aifabrix-developer", "aifabrix-observer"]
230
- description: "View dashboard summaries and aggregates"
272
+ - name: 'dashboard:read'
273
+ roles:
274
+ [
275
+ 'aifabrix-platform-admin',
276
+ 'aifabrix-deployment-admin',
277
+ 'aifabrix-developer',
278
+ 'aifabrix-observer'
279
+ ]
280
+ description: 'View dashboard summaries and aggregates'
@@ -1,8 +1,8 @@
1
1
  # Application Metadata
2
2
  app:
3
3
  key: miso-controller
4
- displayName: "Miso Controller"
5
- description: "AI Fabrix Miso Controller - Backend API and orchestration service"
4
+ displayName: 'Miso Controller'
5
+ description: 'AI Fabrix Miso Controller - Backend API and orchestration service'
6
6
  type: webapp
7
7
 
8
8
  # Image Configuration
@@ -34,7 +34,7 @@ healthCheck:
34
34
 
35
35
  # Authentication
36
36
  authentication:
37
- type: local
37
+ type: keycloak
38
38
  enableSSO: true
39
39
  requiredRoles:
40
40
  - aifabrix-user