mirror of
https://github.com/rancher/steve.git
synced 2025-09-24 12:59:45 +00:00
committed by
Arvind Iyengar
parent
682e866977
commit
c5087d55cf
@@ -1,6 +1,7 @@
|
||||
package common
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
|
||||
"github.com/rancher/steve/pkg/attributes"
|
||||
@@ -34,7 +35,7 @@ func NewDynamicColumns(config *rest.Config) (*DynamicColumns, error) {
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (d *DynamicColumns) SetColumns(schema *types.APISchema) error {
|
||||
func (d *DynamicColumns) SetColumns(ctx context.Context, schema *types.APISchema) error {
|
||||
if attributes.Columns(schema) != nil {
|
||||
return nil
|
||||
}
|
||||
@@ -56,7 +57,7 @@ func (d *DynamicColumns) SetColumns(schema *types.APISchema) error {
|
||||
Limit: 1,
|
||||
}, metav1.ParameterCodec)
|
||||
|
||||
obj, err := r.Do().Get()
|
||||
obj, err := r.Do(ctx).Get()
|
||||
if err != nil {
|
||||
attributes.SetTable(schema, false)
|
||||
return nil
|
||||
|
@@ -43,7 +43,7 @@ func (e *configMapStore) ByID(apiOp *types.APIRequest, schema *types.APISchema,
|
||||
Object: pref,
|
||||
}
|
||||
|
||||
obj, err := client.Get(prefName(u), metav1.GetOptions{})
|
||||
obj, err := client.Get(apiOp.Context(), prefName(u), metav1.GetOptions{})
|
||||
if apierrors.IsNotFound(err) {
|
||||
return result, nil
|
||||
}
|
||||
@@ -71,9 +71,9 @@ func (e *configMapStore) Update(apiOp *types.APIRequest, schema *types.APISchema
|
||||
return types.APIObject{}, err
|
||||
}
|
||||
|
||||
obj, err := client.Get(prefName(u), metav1.GetOptions{})
|
||||
obj, err := client.Get(apiOp.Context(), prefName(u), metav1.GetOptions{})
|
||||
if apierrors.IsNotFound(err) {
|
||||
_, err = client.Create(&unstructured.Unstructured{
|
||||
_, err = client.Create(apiOp.Context(), &unstructured.Unstructured{
|
||||
Object: map[string]interface{}{
|
||||
"metadata": map[string]interface{}{
|
||||
"name": prefName(u),
|
||||
@@ -83,7 +83,7 @@ func (e *configMapStore) Update(apiOp *types.APIRequest, schema *types.APISchema
|
||||
}, metav1.CreateOptions{})
|
||||
} else if err == nil {
|
||||
obj.Object["data"] = data.Data().Map("data")
|
||||
_, err = client.Update(obj, metav1.UpdateOptions{})
|
||||
_, err = client.Update(apiOp.Context(), obj, metav1.UpdateOptions{})
|
||||
}
|
||||
if err != nil {
|
||||
return types.APIObject{}, err
|
||||
@@ -99,5 +99,5 @@ func (e *configMapStore) Delete(apiOp *types.APIRequest, schema *types.APISchema
|
||||
return types.APIObject{}, err
|
||||
}
|
||||
|
||||
return types.APIObject{}, client.Delete(prefName(u), nil)
|
||||
return types.APIObject{}, client.Delete(apiOp.Context(), prefName(u), metav1.DeleteOptions{})
|
||||
}
|
||||
|
@@ -48,7 +48,7 @@ func (e *rancherPrefStore) ByID(apiOp *types.APIRequest, schema *types.APISchema
|
||||
Object: pref,
|
||||
}
|
||||
|
||||
objs, err := client.List(metav1.ListOptions{})
|
||||
objs, err := client.List(apiOp.Context(), metav1.ListOptions{})
|
||||
if err != nil {
|
||||
return result, err
|
||||
}
|
||||
@@ -77,11 +77,11 @@ func (e *rancherPrefStore) createNamespace(apiOp *types.APIRequest, ns string) e
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
_, err = client.Get(ns, metav1.GetOptions{})
|
||||
_, err = client.Get(apiOp.Context(), ns, metav1.GetOptions{})
|
||||
if !apierrors.IsNotFound(err) {
|
||||
return err
|
||||
}
|
||||
_, err = client.Create(&unstructured.Unstructured{
|
||||
_, err = client.Create(apiOp.Context(), &unstructured.Unstructured{
|
||||
Object: map[string]interface{}{
|
||||
"metadata": map[string]interface{}{
|
||||
"name": ns,
|
||||
@@ -104,7 +104,7 @@ func (e *rancherPrefStore) Update(apiOp *types.APIRequest, schema *types.APISche
|
||||
newValues[k] = convert.ToString(v)
|
||||
}
|
||||
|
||||
prefs, err := client.List(metav1.ListOptions{})
|
||||
prefs, err := client.List(apiOp.Context(), metav1.ListOptions{})
|
||||
if err != nil {
|
||||
return types.APIObject{}, err
|
||||
}
|
||||
@@ -115,12 +115,12 @@ func (e *rancherPrefStore) Update(apiOp *types.APIRequest, schema *types.APISche
|
||||
delete(newValues, key)
|
||||
if ok && newValue != pref.Object["value"] {
|
||||
pref.Object["value"] = newValue
|
||||
_, err := client.Update(&pref, metav1.UpdateOptions{})
|
||||
_, err := client.Update(apiOp.Context(), &pref, metav1.UpdateOptions{})
|
||||
if err != nil {
|
||||
return types.APIObject{}, err
|
||||
}
|
||||
} else if !ok {
|
||||
err := client.Delete(key, nil)
|
||||
err := client.Delete(apiOp.Context(), key, metav1.DeleteOptions{})
|
||||
if err != nil {
|
||||
return types.APIObject{}, err
|
||||
}
|
||||
@@ -136,7 +136,7 @@ func (e *rancherPrefStore) Update(apiOp *types.APIRequest, schema *types.APISche
|
||||
nsExists = true
|
||||
}
|
||||
|
||||
_, err = client.Create(&unstructured.Unstructured{
|
||||
_, err = client.Create(apiOp.Context(), &unstructured.Unstructured{
|
||||
Object: map[string]interface{}{
|
||||
"apiVersion": gvk.GroupVersion().String(),
|
||||
"kind": gvk.Kind,
|
||||
@@ -160,5 +160,5 @@ func (e *rancherPrefStore) Delete(apiOp *types.APIRequest, schema *types.APISche
|
||||
return types.APIObject{}, err
|
||||
}
|
||||
|
||||
return types.APIObject{}, client.DeleteCollection(nil, metav1.ListOptions{})
|
||||
return types.APIObject{}, client.DeleteCollection(apiOp.Context(), metav1.DeleteOptions{}, metav1.ListOptions{})
|
||||
}
|
||||
|
@@ -105,7 +105,7 @@ func (s *Store) byID(apiOp *types.APIRequest, schema *types.APISchema, id string
|
||||
return nil, err
|
||||
}
|
||||
|
||||
obj, err := k8sClient.Get(id, opts)
|
||||
obj, err := k8sClient.Get(apiOp.Context(), id, opts)
|
||||
rowToObject(obj)
|
||||
return obj, err
|
||||
}
|
||||
@@ -225,7 +225,7 @@ func (s *Store) list(apiOp *types.APIRequest, schema *types.APISchema, client dy
|
||||
return types.APIObjectList{}, nil
|
||||
}
|
||||
|
||||
resultList, err := client.List(opts)
|
||||
resultList, err := client.List(apiOp.Context(), opts)
|
||||
if err != nil {
|
||||
return types.APIObjectList{}, err
|
||||
}
|
||||
@@ -254,7 +254,7 @@ func returnErr(err error, c chan types.APIEvent) {
|
||||
func (s *Store) listAndWatch(apiOp *types.APIRequest, k8sClient dynamic.ResourceInterface, schema *types.APISchema, w types.WatchRequest, result chan types.APIEvent) {
|
||||
rev := w.Revision
|
||||
if rev == "" {
|
||||
list, err := k8sClient.List(metav1.ListOptions{
|
||||
list, err := k8sClient.List(apiOp.Context(), metav1.ListOptions{
|
||||
Limit: 1,
|
||||
})
|
||||
if err != nil {
|
||||
@@ -267,7 +267,7 @@ func (s *Store) listAndWatch(apiOp *types.APIRequest, k8sClient dynamic.Resource
|
||||
}
|
||||
|
||||
timeout := int64(60 * 30)
|
||||
watcher, err := k8sClient.Watch(metav1.ListOptions{
|
||||
watcher, err := k8sClient.Watch(apiOp.Context(), metav1.ListOptions{
|
||||
Watch: true,
|
||||
TimeoutSeconds: &timeout,
|
||||
ResourceVersion: rev,
|
||||
@@ -394,7 +394,7 @@ func (s *Store) Create(apiOp *types.APIRequest, schema *types.APISchema, params
|
||||
return types.APIObject{}, err
|
||||
}
|
||||
|
||||
resp, err = k8sClient.Create(&unstructured.Unstructured{Object: input}, opts)
|
||||
resp, err = k8sClient.Create(apiOp.Context(), &unstructured.Unstructured{Object: input}, opts)
|
||||
rowToObject(resp)
|
||||
return toAPI(schema, resp), err
|
||||
}
|
||||
@@ -439,7 +439,7 @@ func (s *Store) Update(apiOp *types.APIRequest, schema *types.APISchema, params
|
||||
}
|
||||
}
|
||||
|
||||
resp, err := k8sClient.Patch(id, pType, bytes, opts)
|
||||
resp, err := k8sClient.Patch(apiOp.Context(), id, pType, bytes, opts)
|
||||
if err != nil {
|
||||
return types.APIObject{}, err
|
||||
}
|
||||
@@ -457,7 +457,7 @@ func (s *Store) Update(apiOp *types.APIRequest, schema *types.APISchema, params
|
||||
return types.APIObject{}, err
|
||||
}
|
||||
|
||||
resp, err := k8sClient.Update(&unstructured.Unstructured{Object: moveFromUnderscore(input)}, metav1.UpdateOptions{})
|
||||
resp, err := k8sClient.Update(apiOp.Context(), &unstructured.Unstructured{Object: moveFromUnderscore(input)}, metav1.UpdateOptions{})
|
||||
if err != nil {
|
||||
return types.APIObject{}, err
|
||||
}
|
||||
@@ -476,7 +476,7 @@ func (s *Store) Delete(apiOp *types.APIRequest, schema *types.APISchema, id stri
|
||||
return types.APIObject{}, err
|
||||
}
|
||||
|
||||
if err := k8sClient.Delete(id, &opts); err != nil {
|
||||
if err := k8sClient.Delete(apiOp.Context(), id, opts); err != nil {
|
||||
return types.APIObject{}, err
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user