@@ -44,6 +44,11 @@ func (c *AdditionalChart) ApplyMainChanges(pkgFs billy.Filesystem) error {
4444	if  err  !=  nil  {
4545		return  fmt .Errorf ("Encountered error while trying to get the main chart's working directory: %s" , err )
4646	}
47+ 	if  c .CRDChartOptions .UseTarArchive  {
48+ 		if  err  :=  helm .ArchiveCRDs (pkgFs , mainChartWorkingDir , path .ChartCRDDir , c .WorkingDir , path .ChartExtraFileDir ); err  !=  nil  {
49+ 			return  fmt .Errorf ("encountered error while trying to bundle and compress CRD files from the main chart: %s" , err )
50+ 		}
51+ 	}
4752	if  err  :=  helm .CopyCRDsFromChart (pkgFs , mainChartWorkingDir , path .ChartCRDDir , c .WorkingDir , c .CRDChartOptions .CRDDirectory ); err  !=  nil  {
4853		return  fmt .Errorf ("Encountered error while trying to copy CRDs from %s to %s: %s" , mainChartWorkingDir , c .WorkingDir , err )
4954	}
@@ -66,12 +71,14 @@ func (c *AdditionalChart) RevertMainChanges(pkgFs billy.Filesystem) error {
6671		return  fmt .Errorf ("Working directory %s has not been prepared yet" , c .WorkingDir )
6772	}
6873	if  c .CRDChartOptions  ==  nil  {
74+ 		// return if the additional chart is not a CRD chart 
6975		return  nil 
7076	}
7177	mainChartWorkingDir , err  :=  c .getMainChartWorkingDir (pkgFs )
7278	if  err  !=  nil  {
7379		return  fmt .Errorf ("Encountered error while trying to get the main chart's working directory: %s" , err )
7480	}
81+ 	// copy CRD files from packages/<package>/charts-crd/crd-manifest/ back to packages/<package>/charts/crds/ 
7582	if  err  :=  helm .CopyCRDsFromChart (pkgFs , c .WorkingDir , c .CRDChartOptions .CRDDirectory , mainChartWorkingDir , path .ChartCRDDir ); err  !=  nil  {
7683		return  fmt .Errorf ("Encountered error while trying to copy CRDs from %s to %s: %s" , c .WorkingDir , mainChartWorkingDir , err )
7784	}
0 commit comments