Daedro / Handbook
Chapters

Run the first VM on Google Cloud Free Trial

Use one owner-selected, dedicated project on an active, unupgraded Google Cloud Free Trial. This pilot creates one private Linux VM for one hour. A startup script runs a synthetic HTTP request against the guest's own loopback interface. You read the result through the Compute Engine control plane. This establishes one VM in Iowa, not a public Daedro deployment or an external measurement location.

Confirm the account

The account owner completes Start free in the Google Cloud console and personally handles identity, phone and payment verification. New eligible accounts receive $300 in trial credit for 90 days. Google describes a temporary payment verification hold that may be visible to the bank. The standard Free Trial closes when credits or time run out unless the owner upgrades. The button to upgrade or activate a Paid account ends this protection. Free Trial terms and billing behavior

In Cloud Billing, confirm the selected project's linked billing account is explicitly Free Trial, with at least two hours and $1 of trial credit remaining. These margins cover startup and verification grace. Record the expiry and check there are no other workloads drawing down the balance. A credit display or billingEnabled=true alone cannot establish trial status, because upgraded accounts can retain credits. If you cannot verify the account type, use only plan and check.

Review the exact operations

  • Project and zone. Supply the project ID, with Compute Engine API already enabled. Use a project with an existing default subnet in us-central1, an empty instance and disk inventory and no Cloud Router or NAT. The script never creates projects, changes billing, enables APIs or requests quota increases.
  • VM and storage. One standard e2-micro named daedro-free-pilot in us-central1-a, an official Debian 12 boot image, one auto-delete 10 GB pd-standard boot disk and a one-hour absolute UTC provider deletion deadline. Google includes one aggregated month of eligible e2-micro use in selected US regions, 30 GB-months of standard persistent disk and a limited egress allowance. Any eligible excess would consume trial credit. Free Tier limits
  • Access. The VM gets an internal IPv4 only, with no attached service account or OAuth scopes. The probe needs no SSH key, public address, Cloud NAT, Docker, DNS update, apt install or source-code credential. It listens temporarily on guest loopback. The operator needs the IAM permissions to view the project, billing link and services, inspect regional resources, create this VM and read serial output. No new firewall, IAP or ingress rule is created. This pilot cannot answer a public HTTP request.
  • Deletion. The same create request sets --termination-time, --instance-termination-action=DELETE and --boot-disk-auto-delete. Scheduling and cleanup are independent of your Cloud Shell session. The provider can take additional time to begin and complete deletion. Termination scheduling · Create flags

At Iowa on-demand list prices checked November 4, 2026, a full hour would be about $0.00892 before Free Tier or trial credit: $0.008376428 for compute plus approximately $0.000548 for 10 GiB-hours of standard disk. The pilot requests no external IPv4, NAT gateway, paid image or snapshot. Your confirmed unupgraded trial account is the $0 cash boundary. Iowa compute pricing · Disk pricing

Start from Cloud Shell

Use the operator's existing authorized checkout of this repository in Cloud Shell, or upload the reviewed script using Cloud Shell's file-upload control. A local Linux or macOS terminal with Python 3 and a signed-in Google Cloud CLI also works. Keep the same user's persistent home for receipt-based recovery. Set PILOT_PROJECT to the exact dedicated project ID.

PILOT_PROJECT='your-dedicated-project-id'
bash deploy/gcp-pilot.sh plan --project "$PILOT_PROJECT"
bash deploy/gcp-pilot.sh check --project "$PILOT_PROJECT"

Plan works offline without gcloud. Check uses read-only provider commands to verify the project, linked billing, enabled Compute API, machine type, subnet, regional CPU and disk quotas. The printed inventory must show zero existing instances and zero disks. The CLI cannot reserve zonal capacity or prove the remaining promotional credit. Read project billing information

After confirming the trial and approving the single VM, use this command exactly once. A retry with the same receipt can adopt an interrupted create. It never starts a second VM or extends the deadline.

bash deploy/gcp-pilot.sh apply --project "$PILOT_PROJECT" --confirmed-unupgraded-free-trial
bash deploy/gcp-pilot.sh status --project "$PILOT_PROJECT"

Successful boot prints the specific project, numeric instance ID and verified provider DELETE deadline. Successful health verification requires the expected per-run marker in serial output from that exact owned VM. A missing marker means boot or the probe has not been confirmed. Wait a minute and rerun status. If IAM prevents serial reads, retain that limitation in the result. Read-only serial output

Verify cleanup

After the printed deadline, query the same project and zone.

bash deploy/gcp-pilot.sh cleanup --project "$PILOT_PROJECT"

The command succeeds only after the named VM and its boot disk are absent. While the VM is present, it validates the original project number, zone, name, instance ID, owner label, network, disk attachment and provider deadline. An ownership mismatch or a lingering disk is reported for operator review. The provider performs deletion. The CLI's manual delete targets a name and offers no instance-ID precondition, so this verifier never deletes a VM that may have reused the name. Compute Engine deletion semantics

The receipt stays in $XDG_STATE_HOME/daedro-gcp-pilot/PROJECT_ID/, defaulting to ~/.local/state/daedro-gcp-pilot/PROJECT_ID/. Keep it outside Git. If the machine or receipt is lost, the original provider deadline still applies. Inspect the project inventory through the console after expiry. Count the site as confirmed only after the HTTP marker, and as cleaned only after both resources disappear. Regional network plan