upsert-resource
Upsert an existing KRM resource
Overview #
Insert a resource, or if the resource already exists, update the existing resource.
FunctionConfig #
Upsert is an operation that adds a resource(uniquely identified by Group, Kind, Name and Namespace)
if it does not already exist, or replaces it if it already exists in the input list of resources.
upsert-resource function offers a safe way to upsert a resource to the list of input resources.
Examples #
Replace an existing resource #
Let’s start with the list of resources in a package:
apiVersion: v1
kind: Service
metadata:
name: myService
namespace: mySpace
spec:
selector:
app: foo
apiVersion: apps/v1
kind: Deployment
metadata:
name: myDeployment
namespace: mySpace
spec:
replicas: 3
Add a new resource #
For the same input resource list above, pass the following resource to upsert.
Note that the name of the resource is myService2.
apiVersion: v1
kind: Service
metadata:
name: myService2
namespace: mySpace
spec:
selector:
app: bar
Invoking upsert-resource function adds the input resource to the package.
apiVersion: v1
kind: Service
metadata:
name: myService
namespace: mySpace
spec:
selector:
app: foo
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: myDeployment
namespace: mySpace
spec:
replicas: 3
---
apiVersion: v1
kind: Service
metadata:
name: myService2
namespace: mySpace
spec:
selector:
app: bar
Last modified November 19, 2025: Remove main page (#1204) (ec77b65)