@@ -31,8 +31,10 @@ define(['knockout', 'utils/observable-properties', 'utils/common-utilities', 'ut
3131 this . domainType = imageDefinition . targetDomainType ;
3232
3333 this . domainPersistentVolumeName = props . createProperty ( 'weblogic-domain-storage-volume' ) ;
34+ this . domainPersistentVolumeName . addValidator ( ...validationHelper . getK8sNameValidators ( ) ) ;
3435 this . domainPersistentVolumeMountPath = props . createProperty ( '/shared' ) ;
35- this . domainPersistentVolumeClaimName = props . createProperty ( ) ;
36+ this . domainPersistentVolumeClaimName = props . createProperty ( '${1}-pvc' , this . uid . observable ) ;
37+ this . domainPersistentVolumeClaimName . addValidator ( ...validationHelper . getK8sNameValidators ( ) ) ;
3638 this . domainPersistentVolumeLogHomeEnabled = props . createProperty ( false ) ;
3739 this . domainPersistentVolumeLogHome = props . createProperty ( '/shared/logs/${1}' , this . uid . observable ) ;
3840
@@ -49,8 +51,7 @@ define(['knockout', 'utils/observable-properties', 'utils/common-utilities', 'ut
4951
5052 this . imagePullPolicy = props . createProperty ( 'IfNotPresent' ) ;
5153
52- // These fields are exposed to the user only when using an existing Primary Image and
53- // not using an Auxiliary Image at all.
54+ // These fields are exposed to the user only when using MII w/o aux image
5455 //
5556 this . imageModelHome = props . createProperty ( imageDefinition . modelHomePath . value ) ;
5657 this . imageWDTInstallHome = props . createProperty ( imageDefinition . wdtHomePath . value + '/weblogic-deploy' ) ;
@@ -66,7 +67,7 @@ define(['knockout', 'utils/observable-properties', 'utils/common-utilities', 'ut
6667 this . auxImageRegistryPullEmail . addValidator ( ...validationHelper . getEmailAddressValidators ( ) ) ;
6768 this . auxImagePullPolicy = props . createProperty ( 'IfNotPresent' ) ;
6869
69- // These fields are exposed to the user only when using an existing Auxiliary Image.
70+ // These fields are exposed to the user only when using an existing Auxiliary Image or Domain Creation Image .
7071 //
7172 this . auxImageSourceModelHome = props . createProperty ( DEFAULT_AUX_IMAGE_WDT_MODEL_HOME ) ;
7273 this . auxImageSourceWDTInstallHome = props . createProperty ( DEFAULT_AUX_IMAGE_WDT_INSTALL_HOME ) ;
@@ -115,6 +116,45 @@ define(['knockout', 'utils/observable-properties', 'utils/common-utilities', 'ut
115116 this . memoryLimit = props . createProperty ( ) ;
116117 this . memoryLimit . addValidator ( ...validationHelper . getK8sMemoryValidators ( ) ) ;
117118
119+ this . runRcu = props . createProperty ( false ) ;
120+ this . waitForPvcBind = props . createProperty ( true ) ;
121+ this . walletPassword = props . createProperty ( ) . asCredential ( ) ;
122+ this . walletPasswordSecretName = props . createProperty ( '${1}-wallet-password-secret' , this . uid . observable ) ;
123+ this . walletPasswordSecretName . addValidator ( ...validationHelper . getK8sNameValidators ( ) ) ;
124+
125+ // TODO - currently unused, thinking to add an action to set up disaster recovery once the domain exists.
126+ this . walletFileSecretName = props . createProperty ( ) ;
127+
128+ this . createPv = props . createProperty ( false ) ;
129+ this . pvName = props . createProperty ( '${1}-pv' , this . uid . observable ) ;
130+ this . pvName . addValidator ( ...validationHelper . getK8sNameValidators ( ) ) ;
131+ this . pvType = props . createProperty ( 'storageClass' ) ;
132+ this . pvCapacity = props . createProperty ( '20Gi' ) ;
133+ this . pvCapacity . addValidator ( ...validationHelper . getK8sMemoryValidators ( ) ) ;
134+ this . pvNfsServer = props . createProperty ( ) ;
135+ this . pvNfsServer . addValidator ( ...validationHelper . getHostNameValidators ( ) ) ;
136+ // This field is used to hold the path for both nfs and hostPath types.
137+ this . pvPath = props . createProperty ( ) ;
138+
139+ this . defaultReclaimPolicy = ko . computed ( ( ) => {
140+ if ( this . pvType . observable ( ) === 'storageClass' ) {
141+ return 'Delete' ;
142+ }
143+ return 'Retain' ;
144+ } , this ) ;
145+
146+ this . pvReclaimPolicy = props . createProperty ( '${1}' , this . defaultReclaimPolicy ) ;
147+
148+ this . createPvc = props . createProperty ( false ) ;
149+ this . pvcUseDefaultStorageClass = props . createProperty ( false ) ;
150+ this . pvcStorageClassName = props . createProperty ( ) ;
151+ this . pvcStorageClassName . addValidator ( ...validationHelper . getK8sNameValidators ( ) ) ;
152+
153+ this . pvcSizeRequest = props . createProperty ( '5Gi' ) ;
154+ this . pvcSizeRequest . addValidator ( ...validationHelper . getK8sMemoryValidators ( ) ) ;
155+ this . pvcSizeLimit = props . createProperty ( ) ;
156+ this . pvcSizeLimit . addValidator ( ...validationHelper . getK8sMemoryValidators ( ) ) ;
157+
118158 // Jet tables do not work if you allow changing the value used as the primary key so always add a uid...
119159 //
120160 this . domainNodeSelector = props . createListProperty ( [ 'uid' , 'name' , 'value' ] ) ;
0 commit comments