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
+5 -5
View File
@@ -28,7 +28,6 @@ import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
fv1 "github.com/fission/fission/pkg/apis/core/v1"
"github.com/fission/fission/pkg/controller/client"
"github.com/fission/fission/pkg/fission-cli/cliwrapper/cli"
"github.com/fission/fission/pkg/fission-cli/cmd"
"github.com/fission/fission/pkg/fission-cli/cmd/spec"
@@ -65,7 +64,7 @@ func (opts *CreateSubCommand) run(input cli.Input) error {
envName := input.String(flagkey.PkgEnvironment)
userProvidedNS, pkgNamespace, err := util.GetResourceNamespace(input, flagkey.NamespacePackage)
userProvidedNS, pkgNamespace, err := opts.GetResourceNamespace(input, flagkey.NamespacePackage)
if err != nil {
return fv1.AggregateValidationErrors("Environment", err)
}
@@ -126,7 +125,7 @@ func (opts *CreateSubCommand) run(input cli.Input) error {
}
// TODO: get all necessary value from CLI input directly
func CreatePackage(input cli.Input, client client.Interface, pkgName string, pkgNamespace string, envName string,
func CreatePackage(input cli.Input, client cmd.Client, pkgName string, pkgNamespace string, envName string,
srcArchiveFiles []string, deployArchiveFiles []string, buildcmd string, specDir string, specFile string, noZip bool, userProvidedNS string) (*metav1.ObjectMeta, error) {
insecure := input.Bool(flagkey.PkgInsecure)
@@ -224,11 +223,12 @@ func CreatePackage(input cli.Input, client client.Interface, pkgName string, pkg
return &pkg.ObjectMeta, nil
} else {
pkg.ObjectMeta.Namespace = pkgNamespace
pkgMetadata, err := client.V1().Package().Create(pkg)
pkgMetadata, err := client.FissionClientSet.CoreV1().Packages(pkgNamespace).Create(input.Context(), pkg, metav1.CreateOptions{})
if err != nil {
return nil, errors.Wrap(err, "error creating package")
}
fmt.Printf("Package '%v' created\n", pkgMetadata.GetName())
return pkgMetadata, nil
return &pkgMetadata.ObjectMeta, nil
}
}