summaryrefslogtreecommitdiffstats
path: root/src/orchestrator/utils/helm/helm.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/orchestrator/utils/helm/helm.go')
-rw-r--r--src/orchestrator/utils/helm/helm.go35
1 files changed, 23 insertions, 12 deletions
diff --git a/src/orchestrator/utils/helm/helm.go b/src/orchestrator/utils/helm/helm.go
index f0d15fbf..80cdfe5a 100644
--- a/src/orchestrator/utils/helm/helm.go
+++ b/src/orchestrator/utils/helm/helm.go
@@ -19,7 +19,6 @@ package helm
import (
"bytes"
utils "github.com/onap/multicloud-k8s/src/orchestrator/utils"
- "github.com/onap/multicloud-k8s/src/orchestrator/utils/types"
pkgerrors "github.com/pkg/errors"
"log"
@@ -46,6 +45,15 @@ import (
"k8s.io/helm/pkg/timeconv"
)
+//KubernetesResourceTemplate - Represents the template that is used to create a particular
+//resource in Kubernetes
+type KubernetesResourceTemplate struct {
+ // Tracks the apiVersion and Kind of the resource
+ GVK schema.GroupVersionKind
+ // Path to the file that contains the resource info
+ FilePath string
+}
+
// Template is the interface for all helm templating commands
// Any backend implementation will implement this interface and will
// access the functionality via this.
@@ -144,10 +152,10 @@ func (h *TemplateClient) mergeValues(dest map[string]interface{}, src map[string
// GenerateKubernetesArtifacts a mapping of type to fully evaluated helm template
func (h *TemplateClient) GenerateKubernetesArtifacts(inputPath string, valueFiles []string,
- values []string) ([]types.KubernetesResourceTemplate, error) {
+ values []string) ([]KubernetesResourceTemplate, error) {
var outputDir, chartPath, namespace, releaseName string
- var retData []types.KubernetesResourceTemplate
+ var retData []KubernetesResourceTemplate
releaseName = h.releaseName
namespace = h.kubeNameSpace
@@ -255,7 +263,7 @@ func (h *TemplateClient) GenerateKubernetesArtifacts(inputPath string, valueFile
return retData, err
}
- kres := types.KubernetesResourceTemplate{
+ kres := KubernetesResourceTemplate{
GVK: gvk,
FilePath: mfilePath,
}
@@ -281,13 +289,20 @@ func getGroupVersionKind(data string) (schema.GroupVersionKind, error) {
// Resolver is an interface exposes the helm related functionalities
type Resolver interface {
- Resolve(appContent, appProfileContent []byte, overrideValuesOfAppStr []string, rName string) ([]types.KubernetesResourceTemplate, error)
+ Resolve(appContent, appProfileContent []byte, overrideValuesOfAppStr []string, appName string) ([]KubernetesResourceTemplate, error)
}
// Resolve function
-func (h *TemplateClient) Resolve(appContent []byte, appProfileContent []byte, overrideValuesOfAppStr []string, rName, appName string) ([]types.KubernetesResourceTemplate, error) {
+func (h *TemplateClient) Resolve(appContent []byte, appProfileContent []byte, overrideValuesOfAppStr []string, appName string) ([]KubernetesResourceTemplate, error) {
+
+ var sortedTemplates []KubernetesResourceTemplate
- var sortedTemplates []types.KubernetesResourceTemplate
+ //chartBasePath is the tmp path where the appContent(rawHelmCharts) is extracted.
+ chartBasePath, err := utils.ExtractTarBall(bytes.NewBuffer(appContent))
+ if err != nil {
+ return sortedTemplates, pkgerrors.Wrap(err, "Extracting appContent")
+ }
+ log.Printf("The chartBasePath :: %s", chartBasePath)
//prPath is the tmp path where the appProfileContent is extracted.
prPath, err := utils.ExtractTarBall(bytes.NewBuffer(appProfileContent))
@@ -296,16 +311,12 @@ func (h *TemplateClient) Resolve(appContent []byte, appProfileContent []byte, ov
}
log.Printf("The profile path:: %s", prPath)
- prYamlClient, err := utils.ProcessProfileYaml(prPath, h.manifestName)
+ prYamlClient, err := ProcessProfileYaml(prPath, h.manifestName)
if err != nil {
return sortedTemplates, pkgerrors.Wrap(err, "Processing Profile Manifest")
}
log.Println("Got the profileYamlClient..")
- //chartBasePath is the tmp path where the appContent(rawHelmCharts) is extracted.
- chartBasePath, err := utils.ExtractTarBall(bytes.NewBuffer(appContent))
- log.Printf("The chartBasePath :: %s", chartBasePath)
-
err = prYamlClient.CopyConfigurationOverrides(chartBasePath)
if err != nil {
return sortedTemplates, pkgerrors.Wrap(err, "Copying configresources to chart")