Overview of Upgrade API

The Upgrade API uses Kubernetes custom resources and relies on the Kubernetes Resource Model (KRM). It manages the schedule for tenant organization upgrades.

To use the Upgrade API, we recommend that you use the GDCH console or kubectl CLI. If your application needs to use your own libraries to call this API, use the following example and the full API definition to build your requests.

Service endpoint and discovery document

The API endpoint for the Upgrade API is https://GDCH_API_SERVER_ENDPOINT/apis/upgrade.gdc.goog/v1, where GDCH_API_SERVER_ENDPOINT is the endpoint of the GDCH API server.

Using the kubectl proxy command, you can access that URL in your browser or with a tool such as curl to get the discovery document for the Upgrade API. The kubectl proxy command opens up a proxy to the Kubernetes API server on your local machine. After that command is running, you can access the document at the following URL: http://127.0.0.1:8001/apis/upgrade.gdc.goog/v1.

Example upgrade MaintenanceWindow resource

You can interact with maintenance windows using the GDCH console and kubectl CLI in GDCH. There are two maintenance windows for every tenant organization, one for patch upgrades and the other for minor upgrades.

The following is an example of a MaintenanceWindow object configured to define a maintenance window for GDCH minor upgrades:

apiVersion: upgrade.gdc.goog/v1
kind: MaintenanceWindow
metadata:
  name: minor-upgrade
  namespace: gpc-system
spec:
  recurrence: FREQ=MONTHLY;BYSETPOS=1;BYDAY=SU
  timeWindow:
    end: "2022-04-03T06:00:00Z"
    start: "2022-04-03T00:00:00Z"
  upgradeType: MinorUpgrade