summaryrefslogtreecommitdiffstats
path: root/src/orchestrator/utils/profile_yaml.go
diff options
context:
space:
mode:
authorRajamohan Raj <rajamohan.raj@intel.com>2020-04-03 07:43:11 +0000
committerRitu Sood <Ritu.Sood@intel.com>2020-04-13 16:46:10 +0000
commitc8ba8f21b68b64b4068f188614dd7c891edf035f (patch)
treebf7b48d32552a60b6635204c49fd2a3f7665e310 /src/orchestrator/utils/profile_yaml.go
parent502b61039dbdc9089768a49b87163e654d8cbfb7 (diff)
Test cases for resolving the helm templates
Added test cases for overriding values and resolving the helm charts. Also addressed the merge conflicts and review comments Issue-ID: MULTICLOUD-1041 Signed-off-by: Rajamohan Raj <rajamohan.raj@intel.com> Change-Id: I511e8e2e71c60e878df434370fc053f09cda1f66
Diffstat (limited to 'src/orchestrator/utils/profile_yaml.go')
-rw-r--r--src/orchestrator/utils/profile_yaml.go109
1 files changed, 0 insertions, 109 deletions
diff --git a/src/orchestrator/utils/profile_yaml.go b/src/orchestrator/utils/profile_yaml.go
deleted file mode 100644
index 91687c0a..00000000
--- a/src/orchestrator/utils/profile_yaml.go
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Copyright 2020 Intel Corporation, Inc
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package utils
-
-import (
- "io/ioutil"
- "log"
- "path/filepath"
-
- "github.com/ghodss/yaml"
- pkgerrors "github.com/pkg/errors"
-)
-
-/*
-#Sample Yaml format for profile manifest.yaml
----
-version: v1
-type:
- values: "values_override.yaml"
- configresource:
- - filepath: config.yaml
- chartpath: chart/config/resources/config.yaml
- - filepath: config2.yaml
- chartpath: chart/config/resources/config2.yaml
-*/
-
-type overrideFiles struct {
- FilePath string `yaml:"filepath"`
- ChartPath string `yaml:"chartpath"`
-}
-
-type supportedOverrides struct {
- ConfigResource []overrideFiles `yaml:"configresource"`
- Values string `yaml:"values"`
-}
-
-type profileOverride struct {
- Version string `yaml:"version"`
- Type supportedOverrides `yaml:"type"`
-}
-
-type ProfileYamlClient struct {
- path string
- override profileOverride
-}
-
-func (p ProfileYamlClient) Print() {
- log.Println(p.override)
-}
-
-//GetValues returns a path to the override values.yam
-//that was part of the profile
-func (p ProfileYamlClient) GetValues() string {
- return filepath.Join(p.path, p.override.Type.Values)
-}
-
-//CopyConfigurationOverrides copies the various files that are
-//provided as overrides to their corresponding locations within
-//the destination chart.
-func (p ProfileYamlClient) CopyConfigurationOverrides(chartPath string) error {
-
- //Iterate over each configresource and copy that file into
- //the respective path in the chart.
- for _, v := range p.override.Type.ConfigResource {
- data, err := ioutil.ReadFile(filepath.Join(p.path, v.FilePath))
- if err != nil {
- return pkgerrors.Wrap(err, "Reading configuration file")
- }
- err = ioutil.WriteFile(filepath.Join(chartPath, v.ChartPath), data, 0644)
- if err != nil {
- return pkgerrors.Wrap(err, "Writing configuration file into chartpath")
- }
- }
-
- return nil
-}
-
-//ProcessProfileYaml parses the manifest.yaml file that is part of the profile
-//package and creates the appropriate structures out of it.
-func ProcessProfileYaml(fpath string, manifestFileName string) (ProfileYamlClient, error) {
-
- p := filepath.Join(fpath, manifestFileName)
- data, err := ioutil.ReadFile(p)
- if err != nil {
- return ProfileYamlClient{}, pkgerrors.Wrap(err, "Reading manifest file")
- }
-
- out := profileOverride{}
- err = yaml.Unmarshal(data, &out)
- if err != nil {
- return ProfileYamlClient{}, pkgerrors.Wrap(err, "Marshaling manifest yaml file")
- }
-
- return ProfileYamlClient{path: fpath, override: out}, nil
-}