Stay organized with collections
Save and categorize content based on your preferences.
This page guides you through how to create a storage bucket for your Google Distributed Cloud (GDC) air-gapped appliance projects. It covers prerequisites, creation and verification steps, and naming guidelines. This helps you establish compliant and well-configured object storage that meets the needs of your isolated deployments.
This page is for audiences such as IT admins within the infrastructure operator group or developers within the application operator group who are looking to provision and manage object storage buckets for projects within GDC air-gapped environments.
Before you begin
A project namespace manages bucket resources in the Management API server. You
must have a project to work
with buckets and objects.
You must also have the appropriate bucket permissions to perform the following
operation. See Grant bucket access.
Storage bucket naming guidelines
Bucket names must adhere to the following naming conventions:
Be unique within the project. A project appends a unique prefix to the bucket
name, ensuring there aren't clashes within the organization. In the unlikely
event of a prefix and bucket name clash across organizations, the bucket
creation fails with a bucket name in use error.
Have at least one and no more than 57 characters.
Refrain from including any personally identifiable information (PII).
Be DNS-compliant.
Start with a letter and contain only letters, numbers, and hyphens.
Create a bucket
To create a bucket, apply a bucket specification to your project namespace:
kubectlapply-fbucket.yaml
The following is an example of a bucket specification:
[[["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-03 UTC."],[[["\u003cp\u003eThis guide details the process of creating storage buckets within the Google Distributed Cloud (GDC) air-gapped appliance environment.\u003c/p\u003e\n"],["\u003cp\u003eBucket creation requires an existing project namespace, which serves as a management container for the bucket resources.\u003c/p\u003e\n"],["\u003cp\u003eUsers must have the appropriate permissions to create buckets, as outlined in the "Grant bucket access" documentation.\u003c/p\u003e\n"],["\u003cp\u003eBucket names must be unique within a project, adhere to specific naming conventions (e.g., length, character restrictions, DNS compliance), and should not contain PII.\u003c/p\u003e\n"],["\u003cp\u003eBuckets are created by applying a YAML specification to the project namespace using the \u003ccode\u003ekubectl apply\u003c/code\u003e command, with customizable parameters like description and retention policies.\u003c/p\u003e\n"]]],[],null,["# Create storage buckets\n\nThis page guides you through how to create a storage bucket for your Google Distributed Cloud (GDC) air-gapped appliance projects. It covers prerequisites, creation and verification steps, and naming guidelines. This helps you establish compliant and well-configured object storage that meets the needs of your isolated deployments.\n\nThis page is for audiences such as IT admins within the infrastructure operator group or developers within the application operator group who are looking to provision and manage object storage buckets for projects within GDC air-gapped environments.\n\nBefore you begin\n----------------\n\nA project namespace manages bucket resources in the Management API server. You\nmust have a [project](/distributed-cloud/hosted/docs/latest/appliance/platform/pa-user/create-a-project) to work\nwith buckets and objects.\n\nYou must also have the appropriate bucket permissions to perform the following\noperation. See [Grant bucket access](/distributed-cloud/hosted/docs/latest/appliance/platform/pa-user/grant-obtain-storage-access#grant_bucket_access).\n\nStorage bucket naming guidelines\n--------------------------------\n\nBucket names must adhere to the following naming conventions:\n\n- Be unique within the project. A project appends a unique prefix to the bucket name, ensuring there aren't clashes within the organization. In the unlikely event of a prefix and bucket name clash across organizations, the bucket creation fails with a `bucket name in use` error.\n- Have at least one and no more than 57 characters.\n- Refrain from including any personally identifiable information (PII).\n- Be DNS-compliant.\n- Start with a letter and contain only letters, numbers, and hyphens.\n\nCreate a bucket\n---------------\n\nTo create a bucket, apply a bucket specification to your project namespace: \n\n kubectl apply -f bucket.yaml\n\nThe following is an example of a bucket specification: \n\n apiVersion: object.gdc.goog/v1\n kind: Bucket\n metadata:\n name: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eBUCKET_NAME\u003c/span\u003e\u003c/var\u003e\n namespace: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eNAMESPACE_NAME\u003c/span\u003e\u003c/var\u003e\n spec:\n description: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eDESCRIPTION\u003c/span\u003e\u003c/var\u003e\n storageClass: Standard\n bucketPolicy :\n lockingPolicy :\n defaultObjectRetentionDays: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eRETENTION_DAY_COUNT\u003c/span\u003e\u003c/var\u003e\n\nFor more details, see the [Bucket API reference](/distributed-cloud/hosted/docs/latest/appliance/apis/storage-krm-api)."]]