@aifabrix/builder 2.33.1 → 2.33.4

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 (42) hide show
  1. package/README.md +13 -0
  2. package/lib/app/deploy-config.js +161 -0
  3. package/lib/app/deploy.js +28 -153
  4. package/lib/app/register.js +6 -5
  5. package/lib/app/run-helpers.js +23 -17
  6. package/lib/cli.js +31 -1
  7. package/lib/commands/logout.js +3 -4
  8. package/lib/commands/up-common.js +72 -0
  9. package/lib/commands/up-dataplane.js +109 -0
  10. package/lib/commands/up-miso.js +134 -0
  11. package/lib/core/config.js +32 -9
  12. package/lib/core/secrets-docker-env.js +88 -0
  13. package/lib/core/secrets.js +142 -115
  14. package/lib/infrastructure/helpers.js +82 -1
  15. package/lib/infrastructure/index.js +2 -0
  16. package/lib/schema/env-config.yaml +7 -0
  17. package/lib/utils/compose-generator.js +13 -13
  18. package/lib/utils/config-paths.js +13 -0
  19. package/lib/utils/device-code.js +2 -2
  20. package/lib/utils/env-endpoints.js +2 -5
  21. package/lib/utils/env-map.js +18 -14
  22. package/lib/utils/parse-image-ref.js +27 -0
  23. package/lib/utils/paths.js +28 -4
  24. package/lib/utils/secrets-generator.js +34 -12
  25. package/lib/utils/secrets-helpers.js +1 -2
  26. package/lib/utils/token-manager-refresh.js +5 -0
  27. package/package.json +1 -1
  28. package/templates/applications/dataplane/Dockerfile +16 -0
  29. package/templates/applications/dataplane/README.md +205 -0
  30. package/templates/applications/dataplane/env.template +143 -0
  31. package/templates/applications/dataplane/rbac.yaml +283 -0
  32. package/templates/applications/dataplane/variables.yaml +143 -0
  33. package/templates/applications/keycloak/Dockerfile +1 -1
  34. package/templates/applications/keycloak/README.md +193 -0
  35. package/templates/applications/keycloak/variables.yaml +5 -6
  36. package/templates/applications/miso-controller/Dockerfile +8 -8
  37. package/templates/applications/miso-controller/README.md +369 -0
  38. package/templates/applications/miso-controller/env.template +114 -6
  39. package/templates/applications/miso-controller/rbac.yaml +74 -0
  40. package/templates/applications/miso-controller/variables.yaml +93 -5
  41. package/templates/infra/compose.yaml.hbs +2 -1
  42. package/templates/applications/miso-controller/test.yaml +0 -1
@@ -43,9 +43,97 @@ authentication:
43
43
 
44
44
  # Build Configuration
45
45
  build:
46
- context: .. # Docker build context (relative to builder/)
47
- dockerfile: builder/miso-controller/Dockerfile # Dockerfile name (empty = use template)
48
- envOutputPath: # Copy .env to repo root for local dev (relative to builder/) (if null, no .env file is copied) (if empty, .env file is copied to repo root)
49
- localPort: 3010 # Port for local development (different from Docker port)
50
- language: typescript # Runtime language for template selection (typescript or python)
46
+ context: ../.. # Docker build context (relative to builder/miso-controller/)
47
+ dockerfile: builder/miso-controller/Dockerfile # Dockerfile name (relative to project root)
48
+ envOutputPath: ../../packages/miso-controller/.env # Copy .env to repo root for local dev (relative to builder/) (if null, no .env file is copied) (if empty, .env file is copied to repo root)
49
+ localPort: 3010 # Port for local development (different from Docker port)
50
+ language: typescript # Runtime language for template selection (typescript or python)
51
51
 
52
+ # =============================================================================
53
+ # Portal Input Configuration (Deployment Wizard)
54
+ # =============================================================================
55
+ # User-editable parameters only. No system URLs, credentials, or secrets.
56
+ #
57
+ # NOT included (auto-configured):
58
+ # - DATABASE_URL, REDIS_URL, KEYCLOAK_* → auto-generated during Azure install
59
+ # - MISO_*, AZURE_*, kv:// → credentials and system parameters
60
+ # - PORT, NODE_ENV, MISO_ENVIRONMENT → set by deployment target
61
+
62
+ configuration:
63
+ # -------------------------------------------------------------------------
64
+ # Operations & Debugging
65
+ # -------------------------------------------------------------------------
66
+ - name: LOG_LEVEL
67
+ portalInput:
68
+ field: select
69
+ label: "Log Level"
70
+ options:
71
+ - debug
72
+ - info
73
+ - warn
74
+ - error
75
+
76
+ - name: ENABLE_API_DOCS
77
+ portalInput:
78
+ field: select
79
+ label: "Enable API Documentation (Swagger/ReDoc)"
80
+ options:
81
+ - "true"
82
+ - "false"
83
+
84
+ - name: FAST_STARTUP
85
+ portalInput:
86
+ field: select
87
+ label: "Fast Startup (skip non-critical init)"
88
+ options:
89
+ - "true"
90
+ - "false"
91
+
92
+ - name: LOG_TO_FILE
93
+ portalInput:
94
+ field: select
95
+ label: "Log to File"
96
+ options:
97
+ - "true"
98
+ - "false"
99
+
100
+ # -------------------------------------------------------------------------
101
+ # Keycloak Events (feature flag)
102
+ # -------------------------------------------------------------------------
103
+ - name: KEYCLOAK_EVENTS_ENABLED
104
+ portalInput:
105
+ field: select
106
+ label: "Keycloak Events (sync users/groups)"
107
+ options:
108
+ - "true"
109
+ - "false"
110
+
111
+ # -------------------------------------------------------------------------
112
+ # Rate Limiting (tune for environment)
113
+ # -------------------------------------------------------------------------
114
+ - name: RATE_LIMIT_WINDOW_MS
115
+ portalInput:
116
+ field: text
117
+ label: "Rate Limit Window (milliseconds)"
118
+ placeholder: "900000"
119
+
120
+ - name: RATE_LIMIT_MAX
121
+ portalInput:
122
+ field: text
123
+ label: "Rate Limit Max Requests per Window"
124
+ placeholder: "100"
125
+
126
+ # -------------------------------------------------------------------------
127
+ # Redis Cache TTL (seconds) – RBAC/roles caching
128
+ # -------------------------------------------------------------------------
129
+ - name: REDIS_ROLES_TTL
130
+ portalInput:
131
+ field: text
132
+ label: "Redis Roles Cache TTL (seconds)"
133
+ placeholder: "900"
134
+
135
+ - name: REDIS_PERMISSIONS_TTL
136
+ portalInput:
137
+ field: text
138
+ label: "Redis Permissions Cache TTL (seconds)"
139
+ placeholder: "900"
@@ -54,7 +54,8 @@ services:
54
54
  PGADMIN_DEFAULT_PASSWORD: ${PGADMIN_DEFAULT_PASSWORD}
55
55
  PGADMIN_CONFIG_SERVER_MODE: 'False'
56
56
  PGADMIN_SERVER_JSON_FILE: /pgadmin4/servers.json
57
- PGPASSFILE: /pgpass
57
+ PGADMIN_REPLACE_SERVERS_ON_STARTUP: 'True'
58
+ PGPASS_FILE: /pgpass
58
59
  ports:
59
60
  - "{{pgadminPort}}:80"
60
61
  volumes:
@@ -1 +0,0 @@
1
- test content