kyma-incubator / kitbag Goto Github PK
View Code? Open in Web Editor NEWLicense: Apache License 2.0
License: Apache License 2.0
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'
...
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
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
MOTHERSHIP_TEST_THIS|test-me-plz|123
$ kitbag mothership local -test-me-plz 123123123
Description
ATM to see the output of the help
command one needs to fulfill all the plugin's requirements e.g.
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
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
Description
Add support for boolean arguments.
kitbag ... -k3s-enabled
Reasons
Boolean arguments could improve api readability.
Description
Kitbag is following the convention over configuration principle. We should investigate mechanisms that would help us detect the deviations from the kitbag's convention (e.g. the variable naming) in plugin scripts.
Reasons
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
Description
Enhance error handling mechanism by wrapping plugin's execution error messages with fail method.
Reasons
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.