@@ -414,6 +414,9 @@ func (o *Override) V2Deployment(instance *current.IBPPeer, deployment *dep.Deplo
414414 }
415415 if instance .UsingCCLauncherImage () {
416416 dirs = append (dirs , "cclauncher/" )
417+ } else if isV24Peer (instance ) {
418+ dirs = append (dirs , "/opt/hyperledger/k8s_builder" )
419+ cmdFormat += ` && cp -r /opt/hyperledger/k8s_builder/bin /k8s_builder/`
417420 }
418421
419422 var directories string
@@ -454,6 +457,12 @@ func (o *Override) V2Deployment(instance *current.IBPPeer, deployment *dep.Deplo
454457 peerContainer .DeleteEnv ("CORE_VM_DOCKER_ATTACHSTDOUT" )
455458
456459 deployment .AppendEmptyDirVolumeIfMissing (fmt .Sprintf ("%s-cclauncher" , instance .Name ), corev1 .StorageMediumMemory )
460+ } else if isV24Peer (instance ) {
461+ // This is the case where it is a 2.4.x peer and using K8S Builder as external builder
462+ volumeMountName := fmt .Sprintf ("%s-k8sbuilder" , instance .GetName ())
463+ initContainer .AppendVolumeMountIfMissing (volumeMountName , "/k8s_builder" )
464+ peerContainer .AppendVolumeMountIfMissing (volumeMountName , "/opt/hyperledger/k8s_builder" )
465+ deployment .AppendEmptyDirVolumeIfMissing (fmt .Sprintf ("%s-k8sbuilder" , instance .Name ), corev1 .StorageMediumMemory )
457466 }
458467
459468 // Append a k/v JSON substitution map to the peer env.
@@ -635,8 +644,7 @@ func (o *Override) UpdateDeployment(instance *current.IBPPeer, k8sDep *appsv1.De
635644 if err != nil {
636645 return errors .Wrapf (err , "failed to update V2 fabric deployment for instance '%s'" , instance .GetName ())
637646 }
638- peerVersion := version .String (instance .Spec .FabricVersion )
639- if peerVersion .EqualWithoutTag (version .V2_4_1 ) || peerVersion .GreaterThan (version .V2_4_1 ) {
647+ if isV24Peer (instance ) {
640648 err := o .V24DeploymentUpdate (instance , deployment )
641649 if err != nil {
642650 return errors .Wrapf (err , "failed to update V24 fabric deployment for instance '%s'" , instance .GetName ())
@@ -970,3 +978,8 @@ func hsmDaemonSettings(instance *current.IBPPeer, hsmConfig *config.HSMConfig, p
970978 deployment .AppendPVCVolumeIfMissing (pvcVolumeName , instance .PVCName ())
971979 }
972980}
981+
982+ func isV24Peer (instance * current.IBPPeer ) bool {
983+ peerVersion := version .String (instance .Spec .FabricVersion )
984+ return peerVersion .EqualWithoutTag (version .V2_4_1 ) || peerVersion .GreaterThan (version .V2_4_1 )
985+ }
0 commit comments