diff --git a/.github/workflows/pull_requests.yaml b/.github/workflows/pull_requests.yaml index e9b4232e..96fd3d74 100644 --- a/.github/workflows/pull_requests.yaml +++ b/.github/workflows/pull_requests.yaml @@ -82,9 +82,9 @@ jobs: with: version: v0.10.0 kubectl_version: v1.20.0 - knative_serving: v0.20.0 - knative_kourier: v0.20.0 - knative_eventing: v0.20.0 + knative_serving: v0.22.0 + knative_kourier: v0.22.0 + knative_eventing: v0.22.0 config: testdata/cluster.yaml - name: Configure Cluster run: ./hack/configure.sh diff --git a/client.go b/client.go index fda65b4a..cbaae365 100644 --- a/client.go +++ b/client.go @@ -115,7 +115,7 @@ type ProgressListener interface { // Describer of Functions' remote deployed aspect. type Describer interface { // Describe the running state of the service as reported by the underlyng platform. - Describe(name string) (description Description, err error) + Describe(ctx context.Context, name string) (description Description, err error) } type Description struct { @@ -508,11 +508,11 @@ func (c *Client) List(ctx context.Context) ([]ListItem, error) { // Describe a Function. Name takes precidence. If no name is provided, // the Function defined at root is used. -func (c *Client) Describe(name, root string) (d Description, err error) { +func (c *Client) Describe(ctx context.Context, name, root string) (d Description, err error) { // If name is provided, it takes precidence. // Otherwise load the Function defined at root. if name != "" { - return c.describer.Describe(name) + return c.describer.Describe(ctx, name) } f, err := NewFunction(root) @@ -522,7 +522,7 @@ func (c *Client) Describe(name, root string) (d Description, err error) { if !f.Initialized() { return d, fmt.Errorf("%v is not initialized", f.Name) } - return c.describer.Describe(f.Name) + return c.describer.Describe(ctx, f.Name) } // Remove a Function. Name takes precidence. If no name is provided, diff --git a/cmd/describe.go b/cmd/describe.go index 04bf81f6..62993c45 100644 --- a/cmd/describe.go +++ b/cmd/describe.go @@ -71,7 +71,7 @@ func runDescribe(cmd *cobra.Command, args []string) (err error) { bosonFunc.WithVerbose(config.Verbose), bosonFunc.WithDescriber(describer)) - d, err := client.Describe(config.Name, config.Path) + d, err := client.Describe(cmd.Context(), config.Name, config.Path) if err != nil { return } diff --git a/cmd/emit.go b/cmd/emit.go index 6a66bf4d..b62aeb2f 100644 --- a/cmd/emit.go +++ b/cmd/emit.go @@ -82,7 +82,7 @@ func runEmit(cmd *cobra.Command, args []string) (err error) { return } var desc fn.Description - desc, err = d.Describe(f.Name) + desc, err = d.Describe(cmd.Context(), f.Name) if err != nil { return } diff --git a/go.mod b/go.mod index 6edad87d..8dfbc808 100644 --- a/go.mod +++ b/go.mod @@ -20,10 +20,10 @@ require ( k8s.io/api v0.19.7 k8s.io/apimachinery v0.19.7 k8s.io/client-go v0.19.7 - knative.dev/client v0.21.0 - knative.dev/eventing v0.21.0 - knative.dev/pkg v0.0.0-20210216013737-584933f8280b - knative.dev/serving v0.21.0 + knative.dev/client v0.22.0 + knative.dev/eventing v0.22.0 + knative.dev/pkg v0.0.0-20210331065221-952fdd90dbb0 + knative.dev/serving v0.22.0 ) // knative.dev/serving@v0.21.0 and knative.dev/pkg@v0.0.0-20210331065221-952fdd90dbb0 require different versions of go-openapi/spec diff --git a/go.sum b/go.sum index c3c6a9a5..44ee41d2 100644 --- a/go.sum +++ b/go.sum @@ -810,8 +810,9 @@ github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y8 github.com/prometheus/common v0.6.0/go.mod h1:eBmuwkDJBwy6iBfxCBob6t6dR6ENT/y+J+Zk0j9GMYc= github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt26CguLLsqA= github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= -github.com/prometheus/common v0.15.0 h1:4fgOnadei3EZvgRwxJ7RMpG1k1pOZth5Pc13tyspaKM= github.com/prometheus/common v0.15.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s= +github.com/prometheus/common v0.19.0 h1:Itb4+NjG9wRdkAWgVucbM/adyIXxEhbw0866e0uZE6A= +github.com/prometheus/common v0.19.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s= github.com/prometheus/procfs v0.0.0-20180125133057-cb4147076ac7/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= @@ -987,8 +988,8 @@ go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4-0.20200608061201-1901b56b9515/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= -go.opencensus.io v0.22.6 h1:BdkrbWrzDlV9dnbzoP7sfN+dHheJ4J9JOaYxcUDL+ok= -go.opencensus.io v0.22.6/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= +go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M= +go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opentelemetry.io/otel v0.16.0/go.mod h1:e4GKElweB8W2gWUqbghw0B8t5MCTccc9212eNHnOHwA= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= @@ -1414,8 +1415,8 @@ google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.35.0 h1:TwIQcH3es+MojMVojxxfQ3l3OF2KzlRxML2xZq0kRo8= -google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.36.0 h1:o1bcQ6imQMIOpdrO3SWf2z5RV72WbDwdXuK0MDlc8As= +google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -1545,22 +1546,23 @@ k8s.io/utils v0.0.0-20200324210504-a9aa75ae1b89/go.mod h1:sZAwmy6armz5eXlNoLmJcl k8s.io/utils v0.0.0-20200729134348-d5654de09c73/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20210111153108-fddb29f9d009 h1:0T5IaWHO3sJTEmCP6mUlBvMukxPKUQWqiI/YuiBNMiQ= k8s.io/utils v0.0.0-20210111153108-fddb29f9d009/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -knative.dev/caching v0.0.0-20210215030244-1212288570f0/go.mod h1:rAPalJe9Lx3jHffJpackk5WjZYl3j2QvXUgw0GPllxQ= -knative.dev/client v0.21.0 h1:VWgxFKClPe26PsSigiPoTx6zYBcMmLWv3I7cQsIfGw8= -knative.dev/client v0.21.0/go.mod h1:1En9uxMhk62EReWR1d66/d3tnpkot/D3vBRfmuidFNc= -knative.dev/eventing v0.21.0 h1:oZoL0lXXslUClNvoi5mLO2YI6zn2C8qg80mz8Y6Vmkg= -knative.dev/eventing v0.21.0/go.mod h1:JjbVEOTJJHqo9CTxbTfrMn018hG8fOr3UfBoCJ7KWaA= -knative.dev/hack v0.0.0-20210203173706-8368e1f6eacf/go.mod h1:PHt8x8yX5Z9pPquBEfIj0X66f8iWkWfR0S/sarACJrI= -knative.dev/networking v0.0.0-20210215030235-088986a1c2a3/go.mod h1:pmAMQjMqQUxpK0UyjE71KljMs6rwDMVIAlvrZsU3I6Y= -knative.dev/networking v0.0.0-20210216014426-94bfc013982b h1:708bHZC2RPjdx8MLH7OASqGP+fhmarJJxVIZoIy+msY= -knative.dev/networking v0.0.0-20210216014426-94bfc013982b/go.mod h1:Crdn87hxdFd3Jj6PIyrjzGnr8OGHX35k5xo9jlOrjjA= -knative.dev/pkg v0.0.0-20210212203835-448ae657fb5f/go.mod h1:TJSdebQOWX5N2bszohOYVi0H1QtXbtlYLuMghAFBMhY= -knative.dev/pkg v0.0.0-20210215165523-84c98f3c3e7a/go.mod h1:TJSdebQOWX5N2bszohOYVi0H1QtXbtlYLuMghAFBMhY= -knative.dev/pkg v0.0.0-20210216013737-584933f8280b h1:2v+GBBenjPXhtk3KX/YqxCQVBU6o/AaRkkqE58lgFRQ= -knative.dev/pkg v0.0.0-20210216013737-584933f8280b/go.mod h1:TJSdebQOWX5N2bszohOYVi0H1QtXbtlYLuMghAFBMhY= -knative.dev/reconciler-test v0.0.0-20210216030508-77f50054d024/go.mod h1:RP/K5xJylB72Go6eAsXYEsQHp4zCCNMNjmsqhvq7wko= -knative.dev/serving v0.21.0 h1:bdg0JqNovzlMQB2IxXU/iJKF2zPZH6/yXiwiUtr7vtY= -knative.dev/serving v0.21.0/go.mod h1:PU9k1Y6YMG27XQldEu5agNkcebvSafUXKXPircQYCsE= +knative.dev/caching v0.0.0-20210331063521-5691bb38d441/go.mod h1:CfW7OVs7gzUXJj0OrIe8YlWEC4Qe0Avnq+5b81/Gw1s= +knative.dev/client v0.22.0 h1:rtTlRwnydC+DkP+u0dSXv+yW97xc3HtzDKpbvIfTHYQ= +knative.dev/client v0.22.0/go.mod h1:h0AqleNSlOqhDBhgAkhD5V4IXPcqxhCn2cfLJExqa/U= +knative.dev/eventing v0.22.0 h1:esDaddfSmiVhLKDnUCVVunSdNeHklVEz0fsqs3NupuQ= +knative.dev/eventing v0.22.0/go.mod h1:LOG7bh0eZQkbYANcnORwke6Yy6aUu62o8GeByaOFfRQ= +knative.dev/hack v0.0.0-20210325223819-b6ab329907d3/go.mod h1:PHt8x8yX5Z9pPquBEfIj0X66f8iWkWfR0S/sarACJrI= +knative.dev/hack/schema v0.0.0-20210325223819-b6ab329907d3/go.mod h1:ffjwmdcrH5vN3mPhO8RrF2KfNnbHeCE2C60A+2cv3U0= +knative.dev/networking v0.0.0-20210331064822-999a7708876c h1:7ggsYXtltPHjbgxi76hg5g2eOtmg8KaBIP40XJsfMyA= +knative.dev/networking v0.0.0-20210331064822-999a7708876c/go.mod h1:0V6M1AaWPL/MtQLuEx0NxiwDdtb8Y4b4f7P3C8sp0zo= +knative.dev/pkg v0.0.0-20210329065222-9d92ea16c0d3/go.mod h1:PD5g8hUCXq6iR3tILjmZeJBvQfXGnHMPKryq54qHJhg= +knative.dev/pkg v0.0.0-20210330162221-808d62257db6/go.mod h1:PD5g8hUCXq6iR3tILjmZeJBvQfXGnHMPKryq54qHJhg= +knative.dev/pkg v0.0.0-20210331062321-6317ec6066f4/go.mod h1:PD5g8hUCXq6iR3tILjmZeJBvQfXGnHMPKryq54qHJhg= +knative.dev/pkg v0.0.0-20210331065221-952fdd90dbb0 h1:z05hcB4br0qz7JdwIoUSTXLTF+7ThuJ+R6NFfXd1Y4Q= +knative.dev/pkg v0.0.0-20210331065221-952fdd90dbb0/go.mod h1:PD5g8hUCXq6iR3tILjmZeJBvQfXGnHMPKryq54qHJhg= +knative.dev/reconciler-test v0.0.0-20210329214021-2a67496462a4/go.mod h1:qLfJMHc0i9ENTSet/SUp/FcQm4QVfNTX8ZC//aVQN0M= +knative.dev/serving v0.22.0 h1:7l7PglDjVA2McFoQNgPvChBrn2koEsvlB+f7LU8bnJk= +knative.dev/serving v0.22.0/go.mod h1:20yuZH4F7cvoovC2Pi1uQBoIbOjllapVSKDkWAXkItA= modernc.org/cc v1.0.0/go.mod h1:1Sk4//wdnYJiUIxnW8ddKpaOJCF37yAdqYnkxUpaYxw= modernc.org/golex v1.0.0/go.mod h1:b/QX9oBD/LhixY6NDh+IdGv17hgB+51fET1i2kPSmvk= modernc.org/mathutil v1.0.0/go.mod h1:wU0vUrJsVWBZ4P6e7xtFJEhFSNsfRLJ8H458uRjg03k= diff --git a/knative/deployer.go b/knative/deployer.go index 17f60bc7..7881f7e5 100644 --- a/knative/deployer.go +++ b/knative/deployer.go @@ -44,7 +44,7 @@ func (d *Deployer) Deploy(ctx context.Context, f fn.Function) (result fn.Deploym return fn.DeploymentResult{}, err } - _, err = client.GetService(f.Name) + _, err = client.GetService(ctx, f.Name) if err != nil { if errors.IsNotFound(err) { @@ -53,7 +53,7 @@ func (d *Deployer) Deploy(ctx context.Context, f fn.Function) (result fn.Deploym err = fmt.Errorf("knative deployer failed to generate the service: %v", err) return fn.DeploymentResult{}, err } - err = client.CreateService(service) + err = client.CreateService(ctx, service) if err != nil { err = fmt.Errorf("knative deployer failed to deploy the service: %v", err) return fn.DeploymentResult{}, err @@ -62,13 +62,13 @@ func (d *Deployer) Deploy(ctx context.Context, f fn.Function) (result fn.Deploym if d.Verbose { fmt.Println("Waiting for Knative Service to become ready") } - err, _ = client.WaitForService(f.Name, DefaultWaitingTimeout, wait.NoopMessageCallback()) + err, _ = client.WaitForService(ctx, f.Name, DefaultWaitingTimeout, wait.NoopMessageCallback()) if err != nil { err = fmt.Errorf("knative deployer failed to wait for the service to become ready: %v", err) return fn.DeploymentResult{}, err } - route, err := client.GetRoute(f.Name) + route, err := client.GetRoute(ctx, f.Name) if err != nil { err = fmt.Errorf("knative deployer failed to get the route: %v", err) return fn.DeploymentResult{}, err @@ -87,13 +87,13 @@ func (d *Deployer) Deploy(ctx context.Context, f fn.Function) (result fn.Deploym } } else { // Update the existing Service - _, err = client.UpdateServiceWithRetry(f.Name, updateService(f.ImageWithDigest(), f.Env, f.Annotations), 3) + _, err = client.UpdateServiceWithRetry(ctx, f.Name, updateService(f.ImageWithDigest(), f.Env, f.Annotations), 3) if err != nil { err = fmt.Errorf("knative deployer failed to update the service: %v", err) return fn.DeploymentResult{}, err } - route, err := client.GetRoute(f.Name) + route, err := client.GetRoute(ctx, f.Name) if err != nil { err = fmt.Errorf("knative deployer failed to get the route: %v", err) return fn.DeploymentResult{}, err diff --git a/knative/describer.go b/knative/describer.go index 3f22a351..da0e1106 100644 --- a/knative/describer.go +++ b/knative/describer.go @@ -1,6 +1,8 @@ package knative import ( + "context" + "k8s.io/apimachinery/pkg/api/errors" v1 "knative.dev/client/pkg/serving/v1" "knative.dev/eventing/pkg/apis/eventing/v1beta1" @@ -28,7 +30,7 @@ func NewDescriber(namespaceOverride string) (describer *Describer, err error) { // restricts to label-syntax, which is thus escaped. Therefore as a knative (kube) implementation // detal proper full names have to be escaped on the way in and unescaped on the way out. ex: // www.example-site.com -> www-example--site-com -func (d *Describer) Describe(name string) (description bosonFunc.Description, err error) { +func (d *Describer) Describe(ctx context.Context, name string) (description bosonFunc.Description, err error) { servingClient, err := NewServingClient(d.namespace) if err != nil { @@ -40,12 +42,12 @@ func (d *Describer) Describe(name string) (description bosonFunc.Description, er return } - service, err := servingClient.GetService(name) + service, err := servingClient.GetService(ctx, name) if err != nil { return } - routes, err := servingClient.ListRoutes(v1.WithService(name)) + routes, err := servingClient.ListRoutes(ctx, v1.WithService(name)) if err != nil { return } @@ -55,7 +57,7 @@ func (d *Describer) Describe(name string) (description bosonFunc.Description, er routeURLs = append(routeURLs, route.Status.URL.String()) } - triggers, err := eventingClient.ListTriggers() + triggers, err := eventingClient.ListTriggers(ctx) // IsNotFound -- Eventing is probably not installed on the cluster if err != nil && !errors.IsNotFound(err) { return diff --git a/knative/lister.go b/knative/lister.go index 09195a48..0300f9b4 100644 --- a/knative/lister.go +++ b/knative/lister.go @@ -31,14 +31,14 @@ func NewLister(namespaceOverride string) (l *Lister, err error) { return } -func (l *Lister) List(context.Context) (items []bosonFunc.ListItem, err error) { +func (l *Lister) List(ctx context.Context) (items []bosonFunc.ListItem, err error) { client, err := NewServingClient(l.Namespace) if err != nil { return } - lst, err := client.ListServices(clientservingv1.WithLabel(labelKey, labelValue)) + lst, err := client.ListServices(ctx, clientservingv1.WithLabel(labelKey, labelValue)) if err != nil { return } diff --git a/knative/remover.go b/knative/remover.go index aed9dc7b..ae1b2cff 100644 --- a/knative/remover.go +++ b/knative/remover.go @@ -33,7 +33,7 @@ func (remover *Remover) Remove(ctx context.Context, name string) (err error) { fmt.Printf("Removing Knative Service: %v\n", name) - err = client.DeleteService(name, RemoveTimeout) + err = client.DeleteService(ctx, name, RemoveTimeout) if err != nil { err = fmt.Errorf("knative remover failed to delete the service: %v", err) }