Use Kubernetes Client instead of Controller APIs from CLI (#2605)

Use the Kubernetes and Fission Client from CLI instead of Controller API.
This removes port-forwarding for the controller across Fission CLI mostly.

* Use configurable client in CLI
* Move resource namespace under cmd client
* use server to get fission version
* get archive with URL

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
Co-authored-by: Sanket Sudake <sanketsudake@gmail.com>
This commit is contained in:
neha_gupta
2022-11-07 21:42:39 +05:30
committed by GitHub
co-authored by Sanket Sudake
parent 261bf24974
commit b71a36dc1c
86 changed files with 1115 additions and 978 deletions
+10 -7
View File
@@ -51,15 +51,12 @@ func (opts *UpdateSubCommand) do(input cli.Input) error {
func (opts *UpdateSubCommand) complete(input cli.Input) (err error) {
htName := input.String(flagkey.HtName)
_, triggerNamespace, err := util.GetResourceNamespace(input, flagkey.NamespaceTrigger)
_, triggerNamespace, err := opts.GetResourceNamespace(input, flagkey.NamespaceTrigger)
if err != nil {
return errors.Wrap(err, "error in deleting function ")
}
ht, err := opts.Client().V1().HTTPTrigger().Get(&metav1.ObjectMeta{
Name: htName,
Namespace: triggerNamespace,
})
ht, err := opts.Client().FissionClientSet.CoreV1().HTTPTriggers(triggerNamespace).Get(input.Context(), htName, metav1.GetOptions{})
if err != nil {
return errors.Wrap(err, "error getting HTTP trigger")
}
@@ -102,7 +99,7 @@ func (opts *UpdateSubCommand) complete(input cli.Input) (err error) {
if input.IsSet(flagkey.HtFnName) {
// get the functions and their weights if specified
functionList := input.StringSlice(flagkey.HtFnName)
err := util.CheckFunctionExistence(opts.Client(), functionList, triggerNamespace)
err := util.CheckFunctionExistence(input.Context(), opts.Client(), functionList, triggerNamespace)
if err != nil {
console.Warn(err.Error())
}
@@ -151,7 +148,13 @@ func (opts *UpdateSubCommand) complete(input cli.Input) (err error) {
}
func (opts *UpdateSubCommand) run(input cli.Input) error {
_, err := opts.Client().V1().HTTPTrigger().Update(opts.trigger)
err := util.CheckHTTPTriggerDuplicates(input.Context(), opts.Client(), opts.trigger)
if err != nil {
return errors.Wrap(err, "Error while creating HTTP Trigger")
}
_, err = opts.Client().FissionClientSet.CoreV1().HTTPTriggers(opts.trigger.ObjectMeta.Namespace).Update(input.Context(), opts.trigger, metav1.UpdateOptions{})
if err != nil {
return errors.Wrap(err, "error updating the HTTP trigger")
}