fix(console): sync function package resourceversion after code update

This commit is contained in:
Naeel
2026-04-15 11:14:42 +03:00
parent d9a6d2f29e
commit ba50d18f8f
3 changed files with 42 additions and 2 deletions
+1 -1
View File
@@ -46,7 +46,7 @@ spec:
serviceAccountName: fission-console
containers:
- name: console
image: naeel/fission-console:v0.2.4
image: naeel/fission-console:v0.2.5
ports:
- containerPort: 8090
env:
+17 -1
View File
@@ -430,7 +430,23 @@ func (s *server) handleUpdateFunctionCode(w http.ResponseWriter, r *http.Request
return
}
writeAnyJSON(w, http.StatusOK, map[string]any{"updated": true, "package": pkgName})
updatedPkg, err := s.dyn.Resource(packageGVR).Namespace(s.ns).Get(ctx, pkgName, metav1.GetOptions{})
if err != nil {
writeJSONError(w, http.StatusBadGateway, fmt.Sprintf("get updated package %q: %v", pkgName, err))
return
}
if err := unstructured.SetNestedField(fn.Object, updatedPkg.GetResourceVersion(), "spec", "package", "packageref", "resourceversion"); err != nil {
writeJSONError(w, http.StatusInternalServerError, fmt.Sprintf("set function package resourceversion: %v", err))
return
}
if _, err := s.dyn.Resource(functionGVR).Namespace(s.ns).Update(ctx, fn, metav1.UpdateOptions{}); err != nil {
writeJSONError(w, http.StatusBadGateway, fmt.Sprintf("update function %q package ref: %v", name, err))
return
}
writeAnyJSON(w, http.StatusOK, map[string]any{"updated": true, "package": pkgName, "package_resourceversion": updatedPkg.GetResourceVersion()})
}
func (s *server) handleInvokeFunction(w http.ResponseWriter, r *http.Request, name string) {