-
Notifications
You must be signed in to change notification settings - Fork 106
/
Copy pathmetadata.yaml
182 lines (181 loc) · 5.74 KB
/
metadata.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
# Copyright 2022 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
apiVersion: blueprints.cloud.google.com/v1alpha1
kind: BlueprintMetadata
metadata:
name: terraform-google-github-actions-runners
annotations:
config.kubernetes.io/local-config: "true"
spec:
title: ""
source:
repo: https://github.com/terraform-google-modules/terraform-google-github-actions-runners
sourceType: git
version: 5.0.0
actuationTool:
type: Terraform
version: '>= 0.13'
examples:
- name: gh-org-runner-mig-native-simple
location: examples/gh-org-runner-mig-native-simple
- name: gh-runner-gke-dind
location: examples/gh-runner-gke-dind
- name: gh-runner-gke-simple
location: examples/gh-runner-gke-simple
- name: gh-runner-mig-container-vm-dind
location: examples/gh-runner-mig-container-vm-dind
- name: gh-runner-mig-container-vm-simple
location: examples/gh-runner-mig-container-vm-simple
- name: gh-runner-mig-native-packer
location: examples/gh-runner-mig-native-packer
- name: gh-runner-mig-native-simple
location: examples/gh-runner-mig-native-simple
- name: oidc-simple
location: examples/oidc-simple
variables:
- name: cooldown_period
description: The number of seconds that the autoscaler should wait before it starts collecting information from a new instance.
type: number
default: 60
required: false
- name: create_network
description: When set to true, VPC,router and NAT will be auto created
type: bool
default: true
required: false
- name: create_subnetwork
description: Whether to create subnetwork or use the one provided via subnet_name
type: bool
default: true
required: false
- name: custom_metadata
description: User provided custom metadata
type: map(any)
default: {}
required: false
- name: gh_runner_labels
description: 'GitHub runner labels to attach to the runners. Docs: https://docs.github.com/en/actions/hosting-your-own-runners/using-labels-with-self-hosted-runners'
type: set(string)
default: []
required: false
- name: gh_token
description: Github token that is used for generating Self Hosted Runner Token
type: string
required: true
- name: machine_type
description: The GCP machine type to deploy
type: string
default: n1-standard-1
required: false
- name: max_replicas
description: Maximum number of runner instances
type: number
default: 10
required: false
- name: min_replicas
description: Minimum number of runner instances
type: number
default: 2
required: false
- name: network_name
description: Name for the VPC network
type: string
default: gh-runner-network
required: false
- name: project_id
description: The project id to deploy Github Runner
type: string
required: true
- name: region
description: The GCP region to deploy instances into
type: string
default: us-east4
required: false
- name: repo_name
description: Name of the repo for the Github Action
type: string
default: ""
required: false
- name: repo_owner
description: Owner of the repo for the Github Action
type: string
required: true
- name: service_account
description: Service account email address
type: string
default: ""
required: false
- name: shutdown_script
description: User shutdown script to run when instances shutdown
type: string
default: ""
required: false
- name: source_image
description: Source disk image. If neither source_image nor source_image_family is specified, defaults to the latest public CentOS image.
type: string
default: ""
required: false
- name: source_image_family
description: Source image family. If neither source_image nor source_image_family is specified, defaults to the latest public Ubuntu image.
type: string
default: ubuntu-1804-lts
required: false
- name: source_image_project
description: Project where the source image comes from
type: string
default: ubuntu-os-cloud
required: false
- name: startup_script
description: User startup script to run when instances spin up
type: string
default: ""
required: false
- name: subnet_ip
description: IP range for the subnet
type: string
default: 10.10.10.0/24
required: false
- name: subnet_name
description: Name for the subnet
type: string
default: gh-runner-subnet
required: false
- name: subnetwork_project
description: The ID of the project in which the subnetwork belongs. If it is not provided, the project_id is used.
type: string
default: ""
required: false
outputs:
- name: mig_instance_group
description: The instance group url of the created MIG
- name: mig_instance_template
description: The name of the MIG Instance Template
- name: mig_name
description: The name of the MIG
- name: network_name
description: Name of VPC
- name: service_account
description: Service account email for GCE
- name: subnet_name
description: Name of VPC
roles:
- level: Project
roles:
- roles/owner
services:
- cloudresourcemanager.googleapis.com
- storage-api.googleapis.com
- iam.googleapis.com
- container.googleapis.com
- serviceusage.googleapis.com