containerized-data-importer/tools/manifest-generator/manifest-generator.go
Adam Litke ae0223bc33 Templateize docker image names (#458)
When generating the CDI release manifest, allow the image names for the
controller, importer, and cloner pods to be changed.

Signed-off-by: Adam Litke <alitke@redhat.com>
2018-09-18 11:37:56 -04:00

69 lines
1.9 KiB
Go

//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 main
import (
"flag"
"os"
"text/template"
"github.com/golang/glog"
)
type data struct {
DockerRepo string
DockerTag string
ControllerImage string
ImporterImage string
ClonerImage string
Verbosity string
PullPolicy string
Namespace string
}
func main() {
dockerRepo := flag.String("docker-repo", "", "")
dockertag := flag.String("docker-tag", "", "")
controllerImage := flag.String("controller-image", "", "")
importerImage := flag.String("importer-image", "", "")
clonerImage := flag.String("cloner-image", "", "")
templFile := flag.String("template", "", "")
verbosity := flag.String("verbosity", "1", "")
pullPolicy := flag.String("pull-policy", "", "")
namespace := flag.String("namespace", "", "")
flag.Parse()
data := &data{
Verbosity: *verbosity,
DockerRepo: *dockerRepo,
DockerTag: *dockertag,
ControllerImage: *controllerImage,
ImporterImage: *importerImage,
ClonerImage: *clonerImage,
PullPolicy: *pullPolicy,
Namespace: *namespace,
}
file, err := os.OpenFile(*templFile, os.O_RDONLY, 0)
if err != nil {
glog.Fatalf("Failed to open file %s: %v\n", *templFile, err)
}
defer file.Close()
tmpl := template.Must(template.ParseFiles(*templFile))
err = tmpl.Execute(os.Stdout, data)
if err != nil {
glog.Fatalf("Error executing template: %v\n", err)
}
}