This package is a collection of go-swagger generated client bindings for App Registry which can be used to talk to quay.io or appr to pull down application packages.
Swagger spec file has been obtained from here - appr-api-swagger.yaml
Below is an example of how you can use the client bindings to connect to an app registry server and invoke its APIs. This example assumes that an instance of appr is running on your machine (localhost:5000). For more information on how to run appr server on local environment visit https://github.com/app-registry/appr
package main
import (
"log"
httptransport "github.com/go-openapi/runtime/client"
"github.com/go-openapi/strfmt"
apprclient "github.com/operator-framework/go-appr/appregistry"
"github.com/operator-framework/go-appr/appregistry/package_appr"
models "github.com/operator-framework/go-appr/models"
)
func main() {
client := apprclient.New(httptransport.New("localhost:5000", "/cnr", []string{"http"}), strfmt.Default)
packages, err := listPackages(client)
if err != nil {
log.Fatalf("error - %v", err)
}
log.Printf("success - found [%d] package(s)\n", len(packages))
}
func listPackages(client *apprclient.Appregistry) (models.Packages, error) {
params := package_appr.NewListPackagesParams()
packages, err := client.PackageAppr.ListPackages(params)
if err != nil {
return nil, err
}
return packages.Payload, nil
}This section is applicable if you want to regenerate the client bindings.
go-swagger is a prerequisite before you can generate client bindings.
First, install go-swagger.
go get -u github.com/go-swagger/go-swagger/cmd/swaggerNext, run go-swagger to generate client bindings, as shown below.
# change directory to the root of the go-appr repo.
swagger generate client --spec=./appr.spec.yaml --name=appregistry --api-package=appr --client-package=appregistry