Giter Club home page Giter Club logo

kitbag's People

Contributors

kyma-bot avatar m00g3n avatar pbochynski avatar tobiscr avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

kitbag's Issues

Only the first argument passed to the plugin is validated

Description

If multiple arguments are passed to the function, only the first one is validated.

Expected result

All arguments passed to the function should be validated.

Actual result

$ kitbag k3s create -kcn kyma123 -this will -not be -validated 1
INFO[0000] Prep: Network
INFO[0000] Created network 'k3d-kyma123'
INFO[0000] Created volume 'k3d-kyma123-images'
INFO[0000] Starting new tools node...
INFO[0000] Starting Node 'k3d-kyma123-tools'
INFO[0001] Creating node 'k3d-kyma123-server-0'
INFO[0001] Creating LoadBalancer 'k3d-kyma123-serverlb'
INFO[0001] Using the k3d-tools node to gather environment information
INFO[0001] Starting cluster 'kyma123'
INFO[0001] Starting servers...
INFO[0001] Starting Node 'k3d-kyma123-server-0'
...

Investigate the way of installing/uninstalling new plugins

Description

ATM the plugin installation is reduced to placing the plugin's file into the plugin directory.
There is no mechanism (or guide) to install/uninstall all the plugin's dependency binaries.

Investigate and propose plugin's formal installation/uninstallation in kitbag.

Reasons

  • will help in kitbag's adoption
  • improves kitbag's ergonomic

Plugin arguments containing dashes are omitted

Description

Plugin arguments containing dashes are omitted.

Expected result

Plugin arguments containing dashes should not be omitted.

Actual result

The variables which values are passed as arguments which names contain dashes are not updated.

Steps to reproduce

  1. Create the plugin and declare the following option:
MOTHERSHIP_TEST_THIS|test-me-plz|123
  1. Invoke kitbag:
$ kitbag mothership local -test-me-plz 123123123

Improve kitbag's help command

Description

ATM to see the output of the help command one needs to fulfill all the plugin's requirements e.g.

  • have access to all the binaries used by the plugin,
  • have all required environmental variables set.

Help message should be displayed be displayed without any restrictions.

$ kitbag mothership help

ERROR:
    * The variable 'MOTHERSHIP_KUBECONFIG' was not defined or is empty


Usage:
kitbag  <command> [-optionKey optionValue]*

Supported commands for '' are:
  * self            (sub-plugin)             
  * golang          (sub-plugin)             
  * mothership      (sub-plugin)             
  * k3s             (sub-plugin)             

Available options for 'mothership' are [Name|Alias|DefaultValue|Description]:
  * MOTHERSHIP_CORRELATION_ID|corelation_id|
  * MOTHERSHIP_RUNTIME_ID|runtime_id|
  * MOTHERSHIP_SCHEDULING_ID|scheduling_id|
  * MOTHERSHIP_SHOOT|shoot|
  * MOTHERSHIP_EXCLUDE|exclude|
  * MOTHERSHIP_KUBECONFIG|kubeconfig|
  * MOTHERSHIP_K8S_NAME|kcn|msrec
  * help

Reasons

  • will help in kitbag's adoption
  • improves kitbag's ergonomic

Invalid argument handling

Plugin falls into dead loop when given an argument without a value.

Expected result

Plugin should fail gracefully if invalid arguments are passed.

Steps to reproduce

$ kitbag k3s create -kcn
DEBUG: Start parsing provided CLI arguments
DEBUG: CLI parameter 'k3s' is the plugin
DEBUG: CLI parameter 'create' is a command
DEBUG: Checking if CLI parameter '-kcn' is an supported option
DEBUG: CLI parameter '-kcn' is an option
DEBUG: Checking if CLI parameter '-kcn' is an supported option
DEBUG: CLI parameter '-kcn' is an option

Add support for array arguments

Description

Add support for array arguments.

$ kitbag plugin test -array 1st,2nd,3rd

Reasons

Array arguments handling should not be implemented in plugin scope.

Attachments

example implementation

Improve error plugin handling

Description

Enhance error handling mechanism by wrapping plugin's execution error messages with fail method.

Reasons

  • to delegate error handling to framework and simplify plugin development

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.