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
+4 -7
View File
@@ -58,7 +58,7 @@ func (opts *DeleteSubCommand) complete(input cli.Input) (err error) {
return errors.Errorf("need either of --%v or --%v and not both arguments", flagkey.HtName, flagkey.HtFnName)
}
_, opts.namespace, err = util.GetResourceNamespace(input, flagkey.NamespaceTrigger)
_, opts.namespace, err = opts.GetResourceNamespace(input, flagkey.NamespaceTrigger)
if err != nil {
return errors.Wrap(err, "error in deleting function ")
}
@@ -66,7 +66,7 @@ func (opts *DeleteSubCommand) complete(input cli.Input) (err error) {
}
func (opts *DeleteSubCommand) run(input cli.Input) error {
triggers, err := opts.Client().V1().HTTPTrigger().List(opts.namespace)
triggers, err := opts.Client().FissionClientSet.CoreV1().HTTPTriggers(opts.namespace).List(input.Context(), metav1.ListOptions{})
if err != nil {
return errors.Wrap(err, "error getting HTTP trigger list")
}
@@ -74,7 +74,7 @@ func (opts *DeleteSubCommand) run(input cli.Input) error {
var triggersToDelete []string
if len(opts.functionName) > 0 {
for _, trigger := range triggers {
for _, trigger := range triggers.Items {
// TODO: delete canary http triggers as well.
if trigger.Spec.FunctionReference.Name == opts.functionName {
triggersToDelete = append(triggersToDelete, trigger.ObjectMeta.Name)
@@ -87,10 +87,7 @@ func (opts *DeleteSubCommand) run(input cli.Input) error {
errs := utils.MultiErrorWithFormat()
for _, name := range triggersToDelete {
err := opts.Client().V1().HTTPTrigger().Delete(&metav1.ObjectMeta{
Name: name,
Namespace: opts.namespace,
})
err := opts.Client().FissionClientSet.CoreV1().HTTPTriggers(opts.namespace).Delete(input.Context(), name, metav1.DeleteOptions{})
if err != nil {
errs = multierror.Append(errs, err)
} else {