Documents
_index
_index
Type
External
Status
Published
Created
Feb 19, 2026
Updated
Feb 19, 2026
Source
View

{{< listversions >}}

{{< listexamples >}}

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
_index | Dosu