in authui-container/server/auth-server.ts [431:455]
private getBucketName(): Promise<string> {
const bucketPrefix = `gcip-iap-bucket-${process.env.K_CONFIGURATION}-`;
if (this.bucketName) {
return Promise.resolve(this.bucketName);
} else if (process.env.GCS_BUCKET_NAME) {
this.bucketName = process.env.GCS_BUCKET_NAME;
return Promise.resolve(this.bucketName);
}
return this.metadataServer.getProjectNumber()
.then((projectNumber) => {
// https://cloud.google.com/storage/docs/naming-buckets#requirements
// Bucket names cannot exceed a certain limit. Trim overflowing characters.
// Bucket names must also start and end with a number or letter.
let computedBucketName =
`${bucketPrefix}${projectNumber}`.substr(0, MAX_BUCKET_STRING_LENGTH);
// Last character should always be a number, unless the bucket name is trimmed.
if (!isLastCharLetterOrNumber(computedBucketName)) {
// Last char is not a letter or number. Replace with 0.
computedBucketName =
computedBucketName.substr(0, computedBucketName.length - 1) + ALLOWED_LAST_CHAR;
}
this.bucketName = computedBucketName;
return this.bucketName;
});
}