Open your runner’s details and select View live logs when available. The viewer shows timestamps in UTC, log levels, and messages. Select Fields to inspect an entry’s structured data, or use the copy button to copy the original log entry.Search messages and fields, then select a minimum log level: Debug, Info, Warn, or Error. Each level includes entries at that level and above. The default is Info. For example, Warn shows warnings and errors. Entries without a known level are excluded from the filtered view. Search covers the buffered logs, with the latest 1,000 entries retained. Scrolling up, searching, or inspecting an entry pauses the view so incoming logs do not move what you are reading. A Tailing paused notice explains when the view is frozen and indicates when new logs are available. Select Resume tailing to jump to the latest matching logs and follow new entries. Changing the log level keeps the current tailing or paused state.Use Runner Logs to open CloudWatch for older logs.
Symptoms:ROLLBACK_COMPLETE or ROLLBACK_IN_PROGRESS with errors like Parameter validation failed: parameter value for EC2RunnerInstancesSubnet does not exist.Fix: Ensure you select a VPC, at least one availability zone, and subnets across multiple AZs.
Environments fail with AWS account policy blocks ssm:SendCommand
Runner marked as degraded
Slow startup (cache credentials can’t refresh)
Cause: Service Control Policies (SCPs) or an outdated runner IAM policy blocking SSM access. The runner needs ssm:SendCommand and ssm:GetCommandInvocation permissions.Fix: Update the runner’s CloudFormation stack to apply its current IAM policy. Ask your AWS administrator to check SCP restrictions as well; an IAM allow cannot override an explicit SCP deny.ssm:GetCommandInvocation requires "Resource": "*" because it does not support resource-level permissions. Scoping it to an SSM command ARN denies access. ssm:SendCommand can remain scoped to the environment instances and the AWS-RunShellScript document:
See AWS Systems Manager permissions for the supported resource types. Retain the runner policy’s account and tag conditions when adjusting permissions.
The ca-trust-init container in the Runner’s ECS task logs can help diagnose CA issues. Check its Status (it should show STOPPED with exit code 0) and its Logs for errors and warnings.
Symptoms: Environment starts but stops within seconds. No error is visible in the Ona dashboard.Cause: The environment instance failed to download or parse the CA bundle. The instance shuts down when this fails.Fix:
Verify the CA bundle source (S3 bucket or HTTPS URL) is accessible from the runner’s VPC
For S3 URLs, ensure the bucket name starts with gitpod- — the runner’s IAM role only has access to buckets matching gitpod-*
Confirm the S3 object exists and the path in the CustomCATrustBundle parameter is correct
Verify the CA bundle is valid PEM — the -----BEGIN CERTIFICATE----- and -----END CERTIFICATE----- delimiters must each be on their own line
Verify the CA bundle does not contain invalid content, such as displaying metadata before -----BEGIN CERTIFICATE-----
Symptoms: Environment creation fails with "User data is limited to 16384 bytes"Cause: The CustomCATrustBundle CloudFormation parameter uses an SSM dynamic reference ({{resolve:ssm:...}}), which embeds the full PEM certificate content into EC2 user data. CA bundles with multiple certificates exceed the 16 KB AWS limit.Fix: Switch to an S3 URL for the trust bundle:
Create an S3 bucket with a name starting with gitpod- (e.g. gitpod-myorg)
Upload your CA bundle to s3://gitpod-myorg/shared/ca-bundle.pem
Update the CustomCATrustBundle CloudFormation parameter to s3://gitpod-myorg/shared/ca-bundle.pem
Symptoms: Devcontainer image builds or feature installs fail with TLS certificate errors, even though the custom CA works for other operations.Cause: Custom CA certificates are applied to the runner and environment host but not injected into devcontainer build phases. Docker builds run in an isolated context that does not inherit the host’s CA trust store.Fix: Add your CA certificates directly to your devcontainer image:
After changing security groups, route tables, or VPC endpoints, restart the runner:Console: ECS console → Clusters → your cluster → Services → Update → check Force new deploymentCLI: