33[ ![ Build with Ona] ( https://gitpod.io/button/open-in-gitpod.svg )] ( https://gitpod.io/#https://github.com/gitpod-io/terraform-google-ona-runner )
44
55This Terraform module deploys an Ona runner on Google Cloud Platform (GCP).
6+ Refer to [ the Ona.com documentation] ( https://ona.com/docs/ona/runners/gcp/overview )
7+ in order to get started using this module.
68
79## Prerequisites
810
@@ -12,60 +14,6 @@ This Terraform module deploys an Ona runner on Google Cloud Platform (GCP).
12144 . ** Terraform** : Version >= 1.3
13155 . ** GCP CLI** : For authentication and project setup
1416
15- ## Quick Start
16-
17- 1 . ** Clone and configure** :
18- ``` bash
19- git clone < repository-url>
20- cd < repository-directory>
21- cp terraform.tfvars.example terraform.tfvars
22- ```
23-
24- 2 . ** Edit ` terraform.tfvars ` ** with your values:
25- ``` hcl
26- project_id = "your-gcp-project-id"
27- region = "us-central1"
28- zones = ["us-central1-a", "us-central1-b", "us-central1-c"]
29- runner_name = "my-ona-runner"
30- runner_id = "your-runner-id" # From Ona dashboard
31- runner_token = "your-runner-token" # From Ona dashboard
32- runner_domain = "ona.example.com"
33- vpc_name = "your-existing-vpc" # Existing VPC name
34- runner_subnet_name = "your-existing-subnet" # Existing subnet name
35- certificate_id = "projects/your-project/locations/global/certificates/your-cert" # Certificate Manager resource ID
36-
37- # Optional: Proxy configuration
38- proxy_config = {
39- http_proxy = "http://proxy.example.com:8080"
40- https_proxy = "http://proxy.example.com:8080"
41- all_proxy = "http://proxy.example.com:8080"
42- no_proxy = "localhost,127.0.0.1,metadata.google.internal"
43- }
44-
45- # Optional: Custom CA certificate (choose one method)
46- ca_certificate = {
47- file_path = "/path/to/ca-certificate.pem" # OR
48- content = "-----BEGIN CERTIFICATE-----\n..."
49- }
50-
51- # Optional: Use pre-created service accounts
52- pre_created_service_accounts = {
53- runner = "my-runner@my-project.iam.gserviceaccount.com"
54- environment_vm = "my-env-vm@my-project.iam.gserviceaccount.com"
55- build_cache = "my-build-cache@my-project.iam.gserviceaccount.com"
56- secret_manager = "my-secrets@my-project.iam.gserviceaccount.com"
57- pubsub_processor = "my-pubsub@my-project.iam.gserviceaccount.com"
58- proxy_vm = "my-proxy-vm@my-project.iam.gserviceaccount.com"
59- }
60- ```
61-
62- 3 . ** Deploy** :
63- ``` bash
64- terraform init
65- terraform plan
66- terraform apply
67- ```
68-
6917## Pre-Created Service Accounts
7018
7119By default, the module creates 6 service accounts with minimal permissions. If your organization requires pre-created service accounts, you can provide them:
@@ -243,11 +191,3 @@ gcloud logging read "resource.type=gce_instance" --limit=50
243191# Check load balancer health
244192gcloud compute backend-services get-health < backend-service-name>
245193```
246-
247- ## Contributing
248-
249- 1 . Fork the repository
250- 2 . Create a feature branch
251- 3 . Make your changes
252- 4 . Test thoroughly
253- 5 . Submit a pull request
0 commit comments