CRUD Operations
Last updated
Was this helpful?
Last updated
Was this helpful?
Getting all resources can be done by calling ->all()
:
The result is an RenokiCo\PhpK8s\ResourcesList
instance. The class is extending \Illuminate\Support\Collection
, on which you can chain various methods as described here:
Retrieving all resources from all namespaces can also be done using the allNamespaces()
method:
For the specific method, the format should be getAll[Resource]FromAllNamespaces()
Getting only one resource is done by calling ->get()
:
Filters can vary, depending if the resources are namespaceable or not. By default, the namespace is default
and can be missed from the function call.
Calling the ->create()
method after building your Kind will create the resource in your cluster. In fact, it will actually sync it to the Cluster as Kubernetes uses the resource names as identifiers.
While Kubernetes has the ability to PATCH a resource or REPLACE it entirely, PHP K8s relies on REPLACE to update your resource since you have to retrieve it first (thus getting a synced class), edit it, then triggering the update.
You will have to simply call ->delete()
on the resource, after you retrieve it.
Additionally, you can pass query parameters, grace period, and the propagation policy if needed:
Sometimes, you want to create a resource if it's not existent or update it with the current resource class info. You can do this in one chain call:
Each time the above code is running, it will create the ConfigMap if it's not existent, or it will update the existent one with a random number between 0 and 999.