@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.
- package/integration/hubspot/README.md +136 -0
- package/integration/hubspot/env.template +9 -0
- package/integration/hubspot/hubspot-deploy-company.json +200 -0
- package/integration/hubspot/hubspot-deploy-contact.json +228 -0
- package/integration/hubspot/hubspot-deploy-deal.json +248 -0
- package/integration/hubspot/hubspot-deploy.json +91 -0
- package/integration/hubspot/variables.yaml +17 -0
- package/lib/app-config.js +4 -3
- package/lib/app-deploy.js +8 -20
- package/lib/app-dockerfile.js +7 -9
- package/lib/app-prompts.js +6 -5
- package/lib/app-push.js +9 -9
- package/lib/app-register.js +23 -5
- package/lib/app-rotate-secret.js +10 -0
- package/lib/app-run.js +5 -11
- package/lib/app.js +42 -14
- package/lib/build.js +20 -16
- package/lib/cli.js +61 -2
- package/lib/commands/login.js +7 -1
- package/lib/datasource-deploy.js +14 -20
- package/lib/external-system-deploy.js +123 -40
- package/lib/external-system-download.js +431 -0
- package/lib/external-system-generator.js +13 -10
- package/lib/external-system-test.js +446 -0
- package/lib/generator-builders.js +323 -0
- package/lib/generator.js +200 -292
- package/lib/schema/application-schema.json +853 -852
- package/lib/schema/env-config.yaml +9 -1
- package/lib/schema/external-datasource.schema.json +823 -49
- package/lib/schema/external-system.schema.json +96 -78
- package/lib/templates.js +36 -5
- package/lib/utils/api-error-handler.js +12 -12
- package/lib/utils/cli-utils.js +4 -4
- package/lib/utils/device-code.js +65 -2
- package/lib/utils/env-template.js +5 -4
- package/lib/utils/external-system-display.js +159 -0
- package/lib/utils/external-system-validators.js +245 -0
- package/lib/utils/paths.js +151 -1
- package/lib/utils/schema-resolver.js +7 -2
- package/lib/validator.js +5 -2
- package/package.json +1 -1
- package/templates/applications/keycloak/env.template +8 -2
- package/templates/applications/keycloak/variables.yaml +3 -3
- package/templates/applications/miso-controller/env.template +23 -10
- package/templates/applications/miso-controller/rbac.yaml +263 -213
- 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
|
|
32
|
-
|
|
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
|
|
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 (
|
|
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=
|
|
121
|
-
|
|
122
|
-
# Web Server URL (for OpenAPI documentation server URLs)
|
|
123
|
-
#
|
|
124
|
-
|
|
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:
|
|
3
|
-
value:
|
|
4
|
-
description:
|
|
5
|
-
Groups: [
|
|
6
|
-
|
|
7
|
-
- name:
|
|
8
|
-
value:
|
|
9
|
-
description:
|
|
10
|
-
Groups: [
|
|
11
|
-
|
|
12
|
-
- name:
|
|
13
|
-
value:
|
|
14
|
-
description:
|
|
15
|
-
Groups: [
|
|
16
|
-
|
|
17
|
-
- name:
|
|
18
|
-
value:
|
|
19
|
-
description:
|
|
20
|
-
Groups: [
|
|
21
|
-
|
|
22
|
-
- name:
|
|
23
|
-
value:
|
|
24
|
-
description:
|
|
25
|
-
Groups: [
|
|
26
|
-
|
|
27
|
-
- name:
|
|
28
|
-
value:
|
|
29
|
-
description:
|
|
30
|
-
Groups: [
|
|
31
|
-
|
|
32
|
-
- name:
|
|
33
|
-
value:
|
|
34
|
-
description:
|
|
35
|
-
Groups: [
|
|
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:
|
|
40
|
-
roles: [
|
|
41
|
-
description:
|
|
42
|
-
|
|
43
|
-
- name:
|
|
44
|
-
roles: [
|
|
45
|
-
description:
|
|
46
|
-
|
|
47
|
-
- name:
|
|
48
|
-
roles: [
|
|
49
|
-
description:
|
|
50
|
-
|
|
51
|
-
- name:
|
|
52
|
-
roles: [
|
|
53
|
-
description:
|
|
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:
|
|
57
|
-
roles: [
|
|
58
|
-
description:
|
|
59
|
-
|
|
60
|
-
- name:
|
|
61
|
-
roles: [
|
|
62
|
-
description:
|
|
63
|
-
|
|
64
|
-
- name:
|
|
65
|
-
roles: [
|
|
66
|
-
description:
|
|
67
|
-
|
|
68
|
-
- name:
|
|
69
|
-
roles: [
|
|
70
|
-
description:
|
|
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:
|
|
74
|
-
roles: [
|
|
75
|
-
description:
|
|
76
|
-
|
|
77
|
-
- name:
|
|
78
|
-
roles: [
|
|
79
|
-
description:
|
|
80
|
-
|
|
81
|
-
- name:
|
|
82
|
-
roles: [
|
|
83
|
-
description:
|
|
84
|
-
|
|
85
|
-
- name:
|
|
86
|
-
roles: [
|
|
87
|
-
description:
|
|
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:
|
|
91
|
-
roles: [
|
|
92
|
-
description:
|
|
93
|
-
|
|
94
|
-
- name:
|
|
95
|
-
roles: [
|
|
96
|
-
description:
|
|
97
|
-
|
|
98
|
-
- name:
|
|
99
|
-
roles: [
|
|
100
|
-
description:
|
|
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:
|
|
104
|
-
roles: [
|
|
105
|
-
description:
|
|
106
|
-
|
|
107
|
-
- name:
|
|
108
|
-
roles:
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
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:
|
|
121
|
-
roles: [
|
|
122
|
-
description:
|
|
123
|
-
|
|
124
|
-
- name:
|
|
125
|
-
roles:
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
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:
|
|
138
|
-
roles: [
|
|
139
|
-
description:
|
|
140
|
-
|
|
141
|
-
- name:
|
|
142
|
-
roles:
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
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:
|
|
155
|
-
roles: [
|
|
156
|
-
description:
|
|
157
|
-
|
|
158
|
-
- name:
|
|
159
|
-
roles:
|
|
160
|
-
|
|
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:
|
|
164
|
-
roles: [
|
|
165
|
-
description:
|
|
166
|
-
|
|
167
|
-
- name:
|
|
168
|
-
roles: [
|
|
169
|
-
description:
|
|
170
|
-
|
|
171
|
-
- name:
|
|
172
|
-
roles: [
|
|
173
|
-
description:
|
|
174
|
-
|
|
175
|
-
- name:
|
|
176
|
-
roles: [
|
|
177
|
-
description:
|
|
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:
|
|
181
|
-
roles:
|
|
182
|
-
|
|
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:
|
|
186
|
-
roles:
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
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:
|
|
211
|
-
roles: [
|
|
212
|
-
description:
|
|
213
|
-
|
|
214
|
-
- name:
|
|
215
|
-
roles: [
|
|
216
|
-
description:
|
|
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:
|
|
220
|
-
roles: [
|
|
221
|
-
description:
|
|
222
|
-
|
|
223
|
-
- name:
|
|
224
|
-
roles: [
|
|
225
|
-
description:
|
|
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:
|
|
229
|
-
roles:
|
|
230
|
-
|
|
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:
|
|
5
|
-
description:
|
|
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:
|
|
37
|
+
type: keycloak
|
|
38
38
|
enableSSO: true
|
|
39
39
|
requiredRoles:
|
|
40
40
|
- aifabrix-user
|