From d0a6f85e4b7bacbd836c6900b1a831d0dea3d535 Mon Sep 17 00:00:00 2001 From: Christophe Larsonneur Date: Thu, 31 Jan 2019 09:45:54 +0100 Subject: [PATCH] Use latest fixes from forjj-modules for extra plugins options forjj should accept. --- drivers_options.go | 49 +++++++++++++++++++++++++++++------------- glide.lock | 14 ++++++------ secrets.go | 2 +- secrets_context.go | 2 +- workspace/context.go | 2 +- workspace/workspace.go | 2 +- 6 files changed, 45 insertions(+), 26 deletions(-) diff --git a/drivers_options.go b/drivers_options.go index 808a8a56..977ccfcc 100644 --- a/drivers_options.go +++ b/drivers_options.go @@ -198,31 +198,50 @@ func (a *Forj) init_driver_flags(instance_name string) error { // Determine which actions can be configured for drivers object flags. id.prepare_actions_list() + // Determining Object/Flags to configure in forjj cli + objectToExport := false + for _, flagDet := range object_det.Flags { + if flagDet.CliExport || len(flagDet.CliCmdActions) > 0 { + objectToExport = true + break + } + } + if !objectToExport { + gotrace.Trace("Object '%s': Not exported to forjj cli.", object_name) + continue + } + gotrace.Trace("Object '%s': Adding fields", object_name) // Adding fields to the object. - for flag_name, flag_det := range object_det.Flags { - if flag_det.FormatRegexp == "" { // Default flag regexp to eliminate cli warning. - flag_det.FormatRegexp = ".*" + for flagName, flagDet := range object_det.Flags { + if flagDet.FormatRegexp == "" { // Default flag regexp to eliminate cli warning. + flagDet.FormatRegexp = ".*" + } + if !flagDet.CliExport && len(flagDet.CliCmdActions) == 0 { + continue } - if id.add_object_fields(flag_name, &flag_det, id.validActions) { - object_det.Flags[flag_name] = flag_det + if id.add_object_fields(flagName, &flagDet, id.validActions) { + object_det.Flags[flagName] = flagDet } - id.add_object_field_to_cmds(flag_name, &flag_det) + id.add_object_field_to_cmds(flagName, &flagDet) } gotrace.Trace("Object '%s': Adding groups fields", object_name) - for group_name, group_det := range object_det.Groups { - default_actions := id.validActions - if group_det.Actions != nil && len(group_det.Actions) > 0 { - default_actions = group_det.Actions - gotrace.Trace("Object '%s' - Group '%s': Default group actions defined to '%s'", default_actions) + for groupName, groupDet := range object_det.Groups { + defaultActions := id.validActions + if groupDet.Actions != nil && len(groupDet.Actions) > 0 { + defaultActions = groupDet.Actions + gotrace.Trace("Object '%s' - Group '%s': Default group actions defined to '%s'", defaultActions) } - for flag_name, flag_det := range group_det.Flags { - if id.add_object_fields(group_name+"-"+flag_name, &flag_det, default_actions) { - object_det.Groups[group_name].Flags[flag_name] = flag_det + for flagName, flagDet := range groupDet.Flags { + if !flagDet.CliExport && len(flagDet.CliCmdActions) == 0 { + continue + } + if id.add_object_fields(groupName+"-"+flagName, &flagDet, defaultActions) { + object_det.Groups[groupName].Flags[flagName] = flagDet } } } @@ -345,7 +364,7 @@ func (a *Forj) moveSecureObjectData(ffd *forjfile.DeployForgeYaml, deploy, objec if v, found, source := ffd.Get(object_name, instance, "secret_"+flag_name); found { // each key can have a secret_ value defined, stored in secret and can be refered in the Forjfile // with {{ Current.Creds. }} - a.s.SetObjectValue(deploy, source , object_name, instance, flag_name, v) + a.s.SetObjectValue(deploy, source, object_name, instance, flag_name, v) ffd.Remove(object_name, instance, flag_name) gotrace.Trace("Removing and setting secure Object (%s/%s) flag data '%s' from Forjfile to creds.yaml", diff --git a/glide.lock b/glide.lock index fd8ea891..77df45d0 100644 --- a/glide.lock +++ b/glide.lock @@ -1,5 +1,5 @@ hash: 96c626ea3b685de3d27336771760c757e1c870bfac2f1f2b838a36b09c940d6f -updated: 2019-01-26T21:25:54.562160516Z +updated: 2019-01-30T17:19:13.916222085Z imports: - name: github.com/alecthomas/kingpin version: a328427ab7d619fe3c8d16a0da66899d03d5afae @@ -51,10 +51,10 @@ imports: - name: github.com/fatih/color version: 3f9d52f7176a6927daacff70a3e8d1dc2025c53e - name: github.com/forj-oss/forjj-modules - version: 90b2970dbe4ef6ae310cb30378b975a8fc83ba15 + version: 803570931ca95493a6f1e0f5f325687220a4dba9 subpackages: - cli - - cli/interface + - cli/clier - cli/kingpinCli - cli/tools - trace @@ -77,19 +77,19 @@ imports: - name: github.com/moul/http2curl version: faeffb3553568c6ecaa9c103c09dea941ca9c570 - name: github.com/opencontainers/go-digest - version: c9281466c8b2f606084ac71339773efd177436e7 + version: 4eb64ca734023ea9a10c70ff11dc0e3f69d38482 - name: github.com/parnurzeal/gorequest version: a578a48e8d6ca8b01a3b18314c43c6716bb5f5a3 - name: github.com/pkg/errors version: ffb6e22f01932bf7ac35e0bad9be11f01d1c8685 - name: github.com/Sirupsen/logrus - version: 7d8d63893b994a654b3bc8d16ffd7fb6b9f884a4 + version: 4ea4861398d99a2d05be29675c5b74caf7bea95e - name: github.com/stretchr/testify version: ffdc059bfe9ce6a4e144ba849dbedead332c6053 subpackages: - assert - name: golang.org/x/crypto - version: 057139ce5d2bdbe6fe73c53679e24e9cf007f637 + version: b01c7a72566457eb1420261cdafef86638fc3861 subpackages: - ssh/terminal - name: golang.org/x/net @@ -101,7 +101,7 @@ imports: - proxy - publicsuffix - name: golang.org/x/sys - version: b90733256f2e882e81d52f9126de08df5615afd9 + version: aca44879d5644da7c5b8ec6a1115e9b6ea6c40d9 subpackages: - unix - windows diff --git a/secrets.go b/secrets.go index f51dadf5..9ffa03a6 100644 --- a/secrets.go +++ b/secrets.go @@ -4,7 +4,7 @@ import ( "strings" "github.com/alecthomas/kingpin" - "github.com/forj-oss/forjj-modules/cli/interface" + "github.com/forj-oss/forjj-modules/cli/clier" ) type secrets struct { diff --git a/secrets_context.go b/secrets_context.go index 7492bcf1..918d55fd 100644 --- a/secrets_context.go +++ b/secrets_context.go @@ -3,7 +3,7 @@ package main import ( "github.com/alecthomas/kingpin" "github.com/forj-oss/forjj-modules/cli" - "github.com/forj-oss/forjj-modules/cli/interface" + "github.com/forj-oss/forjj-modules/cli/clier" "github.com/forj-oss/forjj-modules/cli/kingpinCli" ) diff --git a/workspace/context.go b/workspace/context.go index 90cf3aee..77b01439 100644 --- a/workspace/context.go +++ b/workspace/context.go @@ -3,7 +3,7 @@ package workspace import ( "github.com/alecthomas/kingpin" "github.com/forj-oss/forjj-modules/cli" - "github.com/forj-oss/forjj-modules/cli/interface" + "github.com/forj-oss/forjj-modules/cli/clier" "github.com/forj-oss/forjj-modules/cli/kingpinCli" ) diff --git a/workspace/workspace.go b/workspace/workspace.go index 2e8657cb..3ad61b45 100644 --- a/workspace/workspace.go +++ b/workspace/workspace.go @@ -5,7 +5,7 @@ import ( "strings" "github.com/alecthomas/kingpin" - "github.com/forj-oss/forjj-modules/cli/interface" + "github.com/forj-oss/forjj-modules/cli/clier" ) // Workspace represents cli subcommand actions and options