Trial Managed Instances (aka PoC) are private, dedicated Sourcegraph instances provisioned and managed by Sourcegraph - more. The purpose is to provide free of charge Managed Instances for future customers for a trial period (default is 30 days).
All processes are the same as for paid Managed Instances (for paying customers):
The difference from paid Managed Instances:
- During the trial period, Sourcegraph is covering all the infrastructure and licence costs.
- Trial Managed Instances have the GCP label
instance-type=trial, which allows to filter them.
- Trial Managed Instances are monitored for trial expiration period (default 30 days). When a Trial Managed Instance expires, the instance requestor has to decide to:
Only for trials requested from signup:
Trial managed instances default to small and reasonable defaults (see issue template):
|Size||Virtual Machine||CloudSQL instance|
Trial Managed Instance are automatically checked daily for expired trials. If Trial Managed Instance period exceeded 30 days, it will notify Cloud Team on Slack channel
#cloud-notifications. Cloud Team will notify instance requestor and ask for choosing one of the options:
- extend trial managed instance
- convert trial to paid customer
- teardown the managed instance
Picking one of those three next steps is due with 5 days after the end of the 30 day trial period. In the future, this process will be automated.
When trial expires and should be extended (by default 30 days), the instance requestor will create Managed Instance Trial Extend Github issue. Cloud Team will add
trialAdditionalDays to customer
config.yaml to ensure extended trial period is monitored.
When a customer has decided to sign the deal, the instance requestor will create a Managed Instance Convert Trial to Paid Github issue. This is important so that the doesn’t get terminated after a time period as a trial instance would, and for cost attribution to trial vs production instances. Once the issue is raised, the Cloud Team will:
- modify GCP label ’
instanceType: production’ in
- follow modify GCP customer label
Self-serve trial instances that come inbound through www.signup.sourcegraph.com and are prequalified have a random subdomain (eg.
Upon conversion (or potentially earlier), you can request to change the domain name to a vanity subdomain (eg.
acme-corp.sourcegraph.com). To do so, raise a Change cloud instance subdomain request.
Note that changing the subdomain will require the admin to:
- reconfigure the auth provider (if using SSO). Auth will be broken until they do that.
- reconfigure the auth provider (if using permission syncing). Repository syncing will be broken until they do that.
- reconfigure webhooks if they’ve set those up.
- it will also break all hardcoded links to their sourcegraph instance
- cause some brief downtime
Be sure to set expectations with the site admin ahead of raising the issue and indicate the configuration steps required.
When trial expires and customer do not wish to sign the deal, instance requestor will open Teardown Managed Instance request
Cloud Team will receive new Trial Managed Instance request via email and on-call person should proceed to p.3 within 1 working day
Create Trial Managed Instance
Trial Managed Instance should be created according to the Managed Instance create process.
- Instance type should be trial
- Instance size should be small
- Customer name has to be max 10 characters (GCP project name limit -
sourcegraph-managed-SLUGcannot execeed 30 characters). If customer SLUG has more characters:
customerwith SLUG trimmed to 10 characters
- Other parameters should be used from New Trial Managed Instance request.
Finalisation (Cloud Team member)
- need to set the license on the instance (the license key should be added to the issue, unless it is default PLG licence)
mi set-license -license-key "$LICENSE_KEY"(for PLG trials flag
-license-keyshould be used - will use shared PLG licence key)
- obtain customer reset link via
mi reset-customer-password --email <customer admin email>and paste it into the GitHub issue
- when giving customer access is done via comment in New Trial Managed Instance request issue, alert in
#cloud-notificationsshould be closed.
- (PLG triel only) add the
cloud-trial/instance-readylabel on the instance request issue. This will trigger an alert in #cloud-trial-alerts.
- Customer is requesting a trial via Signup
- Signup Application invokes actions on Instance from the pre-provisioned Managed Instance pool:
- creates admin user with customer email
- sends reset password to customer for given instance
- notifies PLG GitHub Action that instance was given to the customer
- When notified via webhook, PLG GitHub Action invokes given steps:
- triggers new PLG trial Managed instance creation via Managed Instance create GitHub Action
- resets initial admin token in an instance given to the customer
- adds customer email domain to GCP project labels
- opens PR in
When issue with automated flow occurs, fallback to manual flow
As the flow is automated and webhook based, Slack notifications in
#cloud-notifications are informing about:
- new PLG trial instances was created and sent to Signup Application (stored in Signup database)
- PLG trial instance was given to the customer and was finalised (token was re-created and GCP label was added)
- PLG trial pool is below expected number (2 in the begining)
When any of Slack notifications fails:
check the link in notitifcation to understand the issue
- for create new PLG trial, it is safe to re-run action
- for finalise customer instance, given steps should be invoked
- checkout main branch from
mi --customer $CUSTOMER reset-init-token(if not working,
gcloud config unset accountis needed)
- invoke steps to update GCP label - steps
- open Pull Request
- checkout main branch from
- when pool is too small, pls verify why new instances are not created here
All new PLG trials created by this flow can be listed via:
gcloud projects list --filter='name~sourcegraph-managed-src' --format="json(projectId,labels)"
emain-domain=unknown means instance is not given to the customer yet.
- How to check trial Managed Instances owned by Customer Engineer
- open Github Action
CE email responsible for Managed Instances-> CE email (optional, without it will list all trials)
For other questions please use Managed Instance FAQ