Resource Manager API overview

The Resource Manager API uses Kubernetes custom resources and relies on the Kubernetes Resource Model (KRM) for provisioning and administration of organization and project resources. It is used to manage the lifecycle of Google Distributed Cloud (GDC) air-gapped organizations and projects, such as installing, upgrading, and uninstalling.

To use the Resource Manager API, we recommend that you use the GDC console and gdcloud 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 Resource Manager API is https://GDC_API_SERVER_ENDPOINT/apis/resourcemanager.gdc.goog/v1 where GDC_API_SERVER_ENDPOINT is the endpoint of the GDC API server.

The Resource Manager View API follows a similar convention for its API endpoint: https://GDC_API_SERVER_ENDPOINT/apis/resourcemanagerview.gdc.goog/v1.

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

Example Project resource

The following is an example of a Project object configured as a GDC project resource. As a user of the Resource Manager API, creating a project through the GDC console generates the Project object by default. You must only modify it to reflect the project state you want.

apiVersion: resourcemanager.gdc.goog/v1
kind: Project
  labels:
    atat.config.google.com/clin-number: "GDC_INTERNAL"
    atat.config.google.com/task-order-number: "0001"
  name: test-project
  namespace: platform