Stay organized with collections
Save and categorize content based on your preferences.
Object storage
The Object Storage API includes Kubernetes Resource Model (KRM) and S3 REST API sections. Block storage is managed with standard Kubernetes storage API (https://kubernetes.io/docs/concepts/storage/).
The Object Storage API uses Kubernetes custom resources and relies on the Kubernetes Resource Model. The APIs are used for provisioning and administration of object storage resources. They are used to manage the lifecycle of object storage resources in the organization, including creating, reading, updating, and deleting buckets. The APIs are also used for listing, setting retention policies, and setting the storage class of buckets and bucket-level access control.
Service endpoint and discovery document
The following URL is the API endpoint for the Object Storage APIs:
https://MANAGEMENT_API_SERVER_ENDPOINT/apis/object.gdc.goog/v1 where MANAGEMENT_API_SERVER_ENDPOINT is the API endpoint of your Management 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 Object Storage
API. The kubectl proxy command opens up a proxy to the Kubernetes API server
on your local machine. After that command is running, access the document at the
following URL: http://127.0.0.1:8001/apis/object.gdc.goog/v1.
S3 REST API overview
Software-defined storage
provides the Object Storage API compatible with the Amazon S3 API. The Google Distributed Cloud (GDC) air-gapped appliance Object Storage XML API is a RESTful interface that lets you to manage object storage data in a programmatic way. As a RESTful API, it relies on method information and scoping information to define the operations to perform:
Method information. You specify the method information with standard HTTP methods, such as DELETE, GET, HEAD, and PUT.
Scoping information. You specify the scoping information with an accessible endpoint (URI) and various scoping parameters. For the XML API, the primary scoping parameters are the bucket and object names. Further scope your operations by using HTTP headers and query string parameters.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[[["\u003cp\u003eThe Object Storage API, which includes KRM and S3 REST API sections, manages the lifecycle of object storage resources, using Kubernetes custom resources for provisioning and administration.\u003c/p\u003e\n"],["\u003cp\u003eThe API endpoint for Object Storage is located at \u003ccode\u003ehttps://ADMIN_CLUSTER_KUBERNETES_API_ENDPOINT/apis/object.gdc.goog/v1alpha1\u003c/code\u003e, which can be accessed through \u003ccode\u003ekubectl proxy\u003c/code\u003e to view the discovery document.\u003c/p\u003e\n"],["\u003cp\u003eThe S3 REST API enables programmatic management of object storage data, utilizing HTTP methods (DELETE, GET, HEAD, PUT) and scoping parameters like bucket and object names.\u003c/p\u003e\n"],["\u003cp\u003eBlock storage in GDC is managed through standard Kubernetes storage APIs and supports a single storage class, \u003cem\u003estandard-rwo\u003c/em\u003e, as demonstrated by the example persistent volume claim provided.\u003c/p\u003e\n"]]],[],null,["# Storage API overview\n\n| **Important:** To access the URLs on this page, you must connect to the internet. The URLs are provided for use when you have such access.\n\nObject storage\n--------------\n\nThe Object Storage API includes Kubernetes Resource Model (KRM) and S3 REST API sections. Block storage is managed with standard Kubernetes storage API (\u003chttps://kubernetes.io/docs/concepts/storage/\u003e).\n\nThe Object Storage API uses Kubernetes custom resources and relies on the Kubernetes Resource Model. The APIs are used for provisioning and administration of object storage resources. They are used to manage the lifecycle of object storage resources in the organization, including creating, reading, updating, and deleting buckets. The APIs are also used for listing, setting retention policies, and setting the storage class of buckets and bucket-level access control.\n\n### Service endpoint and discovery document\n\nThe following URL is the API endpoint for the Object Storage APIs:\n`https://`\u003cvar translate=\"no\"\u003eMANAGEMENT_API_SERVER_ENDPOINT\u003c/var\u003e`/apis/object.gdc.goog/v1` where \u003cvar translate=\"no\"\u003eMANAGEMENT_API_SERVER_ENDPOINT\u003c/var\u003e is the API endpoint of your Management API server.\n\nUsing the `kubectl proxy` command, you can access that URL in your browser or\nwith a tool such as `curl` to get the discovery document for the Object Storage\nAPI. The `kubectl proxy` command opens up a proxy to the Kubernetes API server\non your local machine. After that command is running, access the document at the\nfollowing URL: `http://127.0.0.1:8001/apis/object.gdc.goog/v1`.\n\n### S3 REST API overview\n\nSoftware-defined storage provides the Object Storage API compatible with the Amazon S3 API. The Google Distributed Cloud (GDC) air-gapped appliance Object Storage XML API is a RESTful interface that lets you to manage object storage data in a programmatic way. As a RESTful API, it relies on method information and scoping information to define the operations to perform:\n\n\u003cbr /\u003e\n\n- **Method information**. You specify the method information with standard HTTP methods, such as DELETE, GET, HEAD, and PUT.\n- **Scoping information**. You specify the scoping information with an accessible endpoint (URI) and various scoping parameters. For the XML API, the primary scoping parameters are the bucket and object names. Further scope your operations by using HTTP headers and query string parameters.\n\nBlock storage\n-------------\n\n### Volume storage API overview\n\nInteraction with storage within GDC occurs entirely using the Kubernetes storage primitives. To create persistent volumes, follow the documentation (\u003chttps://kubernetes.io/docs/concepts/storage/persistent-volumes/\u003e) by Kubernetes.\n\nHere is an example of a persistent volume claim: \n\n apiVersion: v1\n kind: PersistentVolumeClaim\n metadata:\n name: my_volume\n spec:\n accessModes:\n - ReadWriteOnce\n volumeMode: Filesystem\n resources:\n requests:\n storage: 1Gi\n storageClassName: standard-rwo"]]