Repository navigation
Conversation
Set SOURCEGRAPH_UPLOAD_* on frontend only, describe which credentials other services resolve themselves, and collapse the Code Graph Indexes and Search Job results buckets into one legacy section that keeps the old anchors. Amp-Thread-ID: https://ampcode.com/threads/T-89958f81-b007-4f8c-a126-ccbd54c551fc Co-authored-by: Amp <amp@ampcode.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Direct preview links to pages changed in this PR: |
This comment has been minimized.
This comment has been minimized.
Services restart on their own when frontend's configuration changes, so admins don't need to sequence variable changes around an upgrade. Amp-Thread-ID: https://ampcode.com/threads/T-89958f81-b007-4f8c-a126-ccbd54c551fc Co-authored-by: Amp <amp@ampcode.com>
| multi-node environment. | ||
| </Callout> | ||
| - `S3` or `GCS`: the feature keeps using its own bucket, configured by its own variables. | ||
| - `Blobstore` (the default): if the Sourcegraph bucket uses S3 or GCS, the feature stores its objects in the Sourcegraph bucket, under a key prefix named after its `BUCKET` variable (`lsif-uploads/` or `search-jobs/` by default). If the Sourcegraph bucket also uses blobstore, the feature keeps its own blobstore bucket. |
There was a problem hiding this comment.
This is confusing. Customers don't want / need to know about the internal storage architecture of our blobstore container.
There was a problem hiding this comment.
Agreed. In a24edca I dropped the sentence about which blobstore bucket a feature uses when the Sourcegraph bucket is also on blobstore. The bullet now just says the feature stores its objects in the Sourcegraph bucket.
I kept the key prefix (lsif-uploads/ or search-jobs/), but only for S3 or GCS. In that case the objects end up in the customer's own bucket, and admins need the prefix to find them or to scope lifecycle rules and IAM policies.
There was a problem hiding this comment.
amp you need to stfu haha this isn't ready for review!
Amp-Thread-ID: https://ampcode.com/threads/T-89958f81-b007-4f8c-a126-ccbd54c551fc Co-authored-by: Amp <amp@ampcode.com>
| multi-node environment. | ||
| </Callout> | ||
| - `S3` or `GCS`: the feature keeps using its own bucket, configured by its own variables. | ||
| - `Blobstore` (the default): the feature stores its objects in the Sourcegraph bucket. On S3 or GCS, they are under a key prefix named after the feature's `BUCKET` variable: `lsif-uploads/` or `search-jobs/` by default. |
There was a problem hiding this comment.
Now, I'm not sure if the confusing part is the docs, or the product's behaviour.
There was a problem hiding this comment.
Some of each. The product part: on a legacy feature, BACKEND=Blobstore, which is also the default, doesn't mean "use blobstore". It means "follow the Sourcegraph bucket" (resolveLegacyCompatStorage in internal/object/sourcegraphobjects/backcompat.go). The docs can't change that, but they don't need to repeat it.
In 2684f44 the bullets are replaced by one rule, written from what the admin configured: a feature keeps its own bucket if its BACKEND is S3 or GCS, and otherwise uses the Sourcegraph bucket. The page no longer mentions Blobstore as a value here. The key prefix sentence stays, now scoped to "when the Sourcegraph bucket is on S3 or GCS".
Amp-Thread-ID: https://ampcode.com/threads/T-89958f81-b007-4f8c-a126-ccbd54c551fc Co-authored-by: Amp <amp@ampcode.com>
Updates the object storage page for sourcegraph/sourcegraph#11843, where frontend distributes the Sourcegraph bucket configuration (
SOURCEGRAPH_UPLOAD_*) to the other services.Merge after sourcegraph/sourcegraph#11843 ships. The page describes behavior from that PR.
Changes
SOURCEGRAPH_UPLOAD_*onfrontend, which services follow frontend's configuration, that a service settingSOURCEGRAPH_UPLOAD_BACKENDuses its own environment instead, and that services restart on their own when frontend's configuration changes. How services behave while connected to an older frontend during an upgrade is left to the #11843 changelog entry...._CREDENTIALS_FILEmust be mounted at the same path in every service.#code-graph-indexes,#search-job-resultsand their subsections) are kept as<span id>aliases, since other pages and the product link to them.frontendinstead of six services.Corrections found while checking against the code:
SOURCEGRAPH_UPLOAD_GCP_PROJECT_IDis optional unlessSOURCEGRAPH_UPLOAD_MANAGE_BUCKET=true,syntactic-code-intel-workeralso readsPRECISE_CODE_INTEL_UPLOAD_*, and the legacy section no longer saysSOURCEGRAPH_UPLOAD_GCP_PROJECT_IDis required for the Code Graph Indexes bucket.Test plan
pnpm run check links --check-anchors --check-self-linksagainst the merge-base baseline: no new dead links.pnpm dev; all old anchors exist on the page.