Compare commits

..

9 Commits

Author SHA1 Message Date
Boris Kuschel
e5108e0040 remove kruft
Signed-off-by: Boris Kuschel <boris.kuschel@qlik.com>
2019-12-19 13:47:45 -05:00
Boris Kuschel
0372b82b49 Fix install command
Signed-off-by: Boris Kuschel <boris.kuschel@qlik.com>
2019-12-19 13:41:43 -05:00
Foysal Iqbal
48ca84f5f8 fix tag issue for about action 2019-12-19 12:29:32 -05:00
Boris Kuschel
97a137ff23 Fix file perms
Signed-off-by: Boris Kuschel <boris.kuschel@qlik.com>
2019-12-19 11:14:06 -05:00
Boris Kuschel
776c91d300 Add correct perms for unix
Signed-off-by: Boris Kuschel <boris.kuschel@qlik.com>
2019-12-19 09:57:55 -05:00
Boris Kuschel
c37f5338dc Fix mixin parameter
Signed-off-by: Boris Kuschel <boris.kuschel@qlik.com>
2019-12-19 07:22:20 -05:00
Boris Kuschel
0cf8a9b4c9 Add version infor
Signed-off-by: Boris Kuschel <boris.kuschel@qlik.com>
2019-12-19 06:35:35 -05:00
Boris Kuschel
75fcb93c33 Download version of Porter
Signed-off-by: Boris Kuschel <boris.kuschel@qlik.com>
2019-12-19 06:30:14 -05:00
Boris Kuschel
465095e4ee Use porter on cli releases page
Signed-off-by: Boris Kuschel <boris.kuschel@qlik.com>
2019-12-18 21:14:51 -05:00
6 changed files with 1298 additions and 22 deletions

628
.qliksense/porter-runtime Normal file

File diff suppressed because one or more lines are too long

628
.qliksense/porter.exe Normal file

File diff suppressed because one or more lines are too long

View File

@@ -83,7 +83,7 @@ For example, the 'debug' driver may be specified, which simply logs the info giv
RunE: func(cmd *cobra.Command, args []string) error {
// Push images here.
// TODO: Need to get the private reg from params
args = opts.getTagDefaults(args)
args = append(os.Args[1:], opts.getTagDefaults(args)...)
if registry = opts.findKey("dockerRegistry"); registry != nil {
if len(*registry) > 0 {
q.TagAndPushImages(*registry)
@@ -122,6 +122,9 @@ For example, the 'debug' driver may be specified, which simply logs the info giv
}
func (o *aboutOptions) getTagDefaults(args []string) []string {
var err error
if len(o.Tag) > 1 {
args = append(args, []string{"--tag", o.Tag}...)
}
if len(o.Tag) <= 0 && len(o.File) <= 0 && len(o.CNABFile) <= 0 {
if _, err = os.Stat("porter.yaml"); err != nil {
args = append(args, []string{"--tag", "qlik/qliksense-cnab-bundle:" + o.Version}...)

View File

@@ -1,7 +1,5 @@
package main
func main() {
initAndExecute()
}

View File

@@ -17,12 +17,13 @@ import (
)
const (
porterURLBase = "https://deislabs.blob.core.windows.net/porter"
porterHomeVar = "PORTER_HOME"
porterDirVar = ".porter"
mixinDirVar = "mixins"
porterPermaLink = "latest"
porterRuntime = "porter-runtime"
// porterURLBase = "https://deislabs.blob.core.windows.net/porter"
porterURLBase = "https://github.com/qlik-oss/sense-installer/releases/download"
porterHomeVar = "PORTER_HOME"
qlikSenseHomeVar = "QLIKSENSE_HOME"
qlikSenseDirVar = ".qliksense"
mixinDirVar = "mixins"
porterRuntime = "porter-runtime"
)
func initAndExecute() error {
@@ -42,8 +43,10 @@ func initAndExecute() error {
func installPorter() (string, error) {
var (
homeDir, mixin, mixinOpts, porterHome, porterExe string
mixinsVar = map[string]string{
//porterPermaLink = pkg.Version
porterPermaLink = "v0.3.0"
destination, homeDir, mixin, mixinOpts, qlikSenseHome, porterExe, ext string
mixinsVar = map[string]string{
"kustomize": "-v 0.2-beta-3-0e19ca4 --url https://github.com/donmstewart/porter-kustomize/releases/download",
"qliksense": "-v v0.11.0 --url https://github.com/qlik-oss/porter-qliksense/releases/download",
"exec": "-v latest",
@@ -64,17 +67,19 @@ func installPorter() (string, error) {
if runtime.GOOS == "windows" {
porterExe = porterExe + ".exe"
}
if porterHome = os.Getenv(porterHomeVar); porterHome == "" {
if qlikSenseHome = os.Getenv(qlikSenseHomeVar); qlikSenseHome == "" {
if homeDir, err = homedir.Dir(); err != nil {
return "", err
}
if homeDir, err = homedir.Expand(homeDir); err != nil {
return "", err
}
porterHome = filepath.Join(homeDir, porterDirVar)
qlikSenseHome = filepath.Join(homeDir, qlikSenseDirVar)
}
porterExe = filepath.Join(porterHome, porterExe)
if _, err = os.Stat(porterHome); err != nil {
os.Setenv(porterHomeVar, qlikSenseHome)
//TODO: Check if porter version is one alreadu is one for this build
porterExe = filepath.Join(qlikSenseHome, porterExe)
if _, err = os.Stat(qlikSenseHome); err != nil {
if os.IsNotExist(err) {
downloadPorter = true
} else {
@@ -90,22 +95,29 @@ func installPorter() (string, error) {
}
}
if downloadPorter {
os.Mkdir(porterHome, os.ModePerm)
if err = downloadFile(porterURLBase+"/"+porterPermaLink+"/porter-linux-amd64", filepath.Join(porterHome, porterRuntime)); err != nil {
os.Mkdir(qlikSenseHome, os.ModePerm)
destination = filepath.Join(qlikSenseHome, porterRuntime)
if err = downloadFile(porterURLBase+"/"+porterPermaLink+"/porter-linux-amd64", destination ); err != nil {
return "", err
}
os.Chmod(destination, 0755)
if runtime.GOOS == "linux" && runtime.GOARCH == "amd64" {
if _, err = copy(filepath.Join(porterHome, porterRuntime), porterExe); err != nil {
if _, err = copy(filepath.Join(qlikSenseHome, porterRuntime), porterExe); err != nil {
return "", err
}
os.Chmod(porterExe, 0755)
} else {
if err = downloadFile(porterURLBase+"/"+porterPermaLink+"/"+"porter-"+runtime.GOOS+"-"+runtime.GOARCH, porterExe); err != nil {
if runtime.GOOS == "windows" {
ext = ".exe"
}
if err = downloadFile(porterURLBase+"/"+porterPermaLink+"/"+"porter-"+runtime.GOOS+"-"+runtime.GOARCH+ext, porterExe); err != nil {
return "", err
}
os.Chmod(porterExe, 0755)
}
}
if _, err = os.Stat(filepath.Join(porterHome, mixinDirVar)); err != nil {
if _, err = os.Stat(filepath.Join(qlikSenseHome, mixinDirVar)); err != nil {
if os.IsNotExist(err) {
downloadMixins = mixinsVar
} else {
@@ -114,7 +126,7 @@ func installPorter() (string, error) {
} else {
downloadMixins = make(map[string]string)
for mixin, mixinOpts = range mixinsVar {
if _, err = os.Stat(filepath.Join(porterHome, mixinDirVar, mixin)); err != nil {
if _, err = os.Stat(filepath.Join(qlikSenseHome, mixinDirVar, mixin)); err != nil {
if os.IsNotExist(err) {
downloadMixins[mixin] = mixinOpts
} else {
@@ -124,7 +136,7 @@ func installPorter() (string, error) {
}
}
for mixin, mixinOpts = range downloadMixins {
cmd = exec.Command(porterExe, "mixin", "install", mixin, mixinOpts)
cmd = exec.Command(porterExe, append([]string{"mixin", "install", mixin}, strings.Split(mixinOpts, " ")...)...)
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
if err = cmd.Run(); err != nil {

7
pkg/version.go Normal file
View File

@@ -0,0 +1,7 @@
package pkg
// These are build-time values, set during an official release
var (
Commit string
Version string
)