@@ -157,6 +157,39 @@ EOF`);
157157 exec ( `yq w -i ${ this . options . installerConfigPath } workspace.resources.requests.memory "256Mi"` , {
158158 slice : slice ,
159159 } ) ;
160+
161+ // create two workspace classes (default and small) in server-config configmap
162+ exec ( `yq w -i ${ this . options . installerConfigPath } experimental.webapp.workspaceClasses[+].id "default"` , { slice : slice } ) ;
163+ exec ( `yq w -i ${ this . options . installerConfigPath } experimental.webapp.workspaceClasses[0].category "GENERAL PURPOSE"` , { slice : slice } ) ;
164+ exec ( `yq w -i ${ this . options . installerConfigPath } experimental.webapp.workspaceClasses[0].displayName "Default"` , { slice : slice } ) ;
165+ exec ( `yq w -i ${ this . options . installerConfigPath } experimental.webapp.workspaceClasses[0].description "Default workspace class (30GB disk)"` , { slice : slice } ) ;
166+ exec ( `yq w -i ${ this . options . installerConfigPath } experimental.webapp.workspaceClasses[0].powerups 1` , { slice : slice } ) ;
167+ exec ( `yq w -i ${ this . options . installerConfigPath } experimental.webapp.workspaceClasses[0].isDefault true` , { slice : slice } ) ;
168+ exec ( `yq w -i ${ this . options . installerConfigPath } experimental.webapp.workspaceClasses[0].deprecated false` , { slice : slice } ) ;
169+
170+ exec ( `yq w -i ${ this . options . installerConfigPath } experimental.webapp.workspaceClasses[+].id "small"` , { slice : slice } ) ;
171+ exec ( `yq w -i ${ this . options . installerConfigPath } experimental.webapp.workspaceClasses[1].category "GENERAL PURPOSE"` , { slice : slice } ) ;
172+ exec ( `yq w -i ${ this . options . installerConfigPath } experimental.webapp.workspaceClasses[1].displayName "Small"` , { slice : slice } ) ;
173+ exec ( `yq w -i ${ this . options . installerConfigPath } experimental.webapp.workspaceClasses[1].description "Small workspace class (20GB disk)"` , { slice : slice } ) ;
174+ exec ( `yq w -i ${ this . options . installerConfigPath } experimental.webapp.workspaceClasses[1].powerups 2` , { slice : slice } ) ;
175+ exec ( `yq w -i ${ this . options . installerConfigPath } experimental.webapp.workspaceClasses[1].isDefault false` , { slice : slice } ) ;
176+ exec ( `yq w -i ${ this . options . installerConfigPath } experimental.webapp.workspaceClasses[1].deprecated false` , { slice : slice } ) ;
177+ exec ( `yq w -i ${ this . options . installerConfigPath } experimental.webapp.workspaceClasses[1].marker.moreResources true` , { slice : slice } ) ;
178+
179+ // create two workspace classes (default and small) in ws-manager configmap
180+ exec ( `yq w -i ${ this . options . installerConfigPath } experimental.workspace.classes["default"].name "default"` , { slice : slice } ) ;
181+ exec ( `yq w -i ${ this . options . installerConfigPath } experimental.workspace.classes["default"].resources.requests.cpu 100m` , { slice : slice } ) ;
182+ exec ( `yq w -i ${ this . options . installerConfigPath } experimental.workspace.classes["default"].resources.requests.memory 128Mi` , { slice : slice } ) ;
183+ exec ( `yq w -i ${ this . options . installerConfigPath } experimental.workspace.classes["default"].pvc.size 30Gi` , { slice : slice } ) ;
184+ exec ( `yq w -i ${ this . options . installerConfigPath } experimental.workspace.classes["default"].pvc.storageClass rook-ceph-block` , { slice : slice } ) ;
185+ exec ( `yq w -i ${ this . options . installerConfigPath } experimental.workspace.classes["default"].pvc.snapshotClass csi-rbdplugin-snapclass` , { slice : slice } ) ;
186+
187+ exec ( `yq w -i ${ this . options . installerConfigPath } experimental.workspace.classes["small"].name "small"` , { slice : slice } ) ;
188+ exec ( `yq w -i ${ this . options . installerConfigPath } experimental.workspace.classes["small"].resources.requests.cpu 100m` , { slice : slice } ) ;
189+ exec ( `yq w -i ${ this . options . installerConfigPath } experimental.workspace.classes["small"].resources.requests.memory 128Mi` , { slice : slice } ) ;
190+ exec ( `yq w -i ${ this . options . installerConfigPath } experimental.workspace.classes["small"].pvc.size 20Gi` , { slice : slice } ) ;
191+ exec ( `yq w -i ${ this . options . installerConfigPath } experimental.workspace.classes["small"].pvc.storageClass rook-ceph-block` , { slice : slice } ) ;
192+ exec ( `yq w -i ${ this . options . installerConfigPath } experimental.workspace.classes["small"].pvc.snapshotClass csi-rbdplugin-snapclass` , { slice : slice } ) ;
160193 }
161194
162195 private configureObjectStorage ( slice : string ) {
0 commit comments