You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(ibmcloud): add GitLab runner support for IBM Power and IBM Z
- Register GitLab project or group runners via Pulumi NewUserRunner API
during stack provisioning; auth token flows through ApplyT to avoid
global state mutation
- Add --glrunner-unsecure flag (default false): by default a locked-down
gitlab-runner system user is created with rootless-Podman support
(subuid/subgid + loginctl enable-linger); when true the runner runs
as the default OS user
- Create gitlab-runner system user with /bin/bash shell so PAM does not
reject su calls from the shell executor (nologin caused immediate
'prepare environment: exit status 1')
- Install and configure otelcol-contrib filelog collector for syslog,
secure/auth, audit, and gitlab-runner log shipping via OTLP HTTP;
use apt-get/dnf for installation to resolve package dependencies
automatically
- Exclude otel-endpoint from partial-config validation since it carries
a default value; only validate app-code, auth-token, and index
- Upgrade pulumi-gitlab SDK from v8 to v9 to match Containerfile
pre-installed plugin (v9.11.0); bump pulumi-tls to v5.5.0
- Add systemd drop-in + logrotate for /var/log/gitlab-runner/runner.log
- IBM Power: use dnf for otelcol-contrib install; set route via VPC
gateway; deploy optional VPC bastion with floating IP for SSH access
- IBM Z: wrap cloud-config in MIME multipart with base64 encoding so
cloud-init decodes the payload before processing
- Update all module dependencies
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
cirrusPWLabelsDescstring="additional labels to use on the persistent worker (--it-cirrus-pw-labels key1=value1,key2=value2)"
83
84
84
85
glRunnerTokenstring="glrunner-token"
85
-
glRunnerTokenDescstring="GitLab Personal Access Token with api scope"
86
+
glRunnerTokenDescstring="GitLab token with create_runner scope (personal access token, group/project access token, or service account token)"
86
87
glRunnerProjectIDstring="glrunner-project-id"
87
88
glRunnerProjectIDDescstring="GitLab project ID for project runner registration"
88
89
glRunnerGroupIDstring="glrunner-group-id"
@@ -92,6 +93,13 @@ const (
92
93
glRunnerURLDefaultstring="https://gitlab.com"
93
94
glRunnerTagsstring="glrunner-tags"
94
95
glRunnerTagsDescstring="List of tags separated by comma to be added to the self-hosted runner"
96
+
glRunnerUnsecurestring="glrunner-unsecure"
97
+
glRunnerUnsecureDescstring="when set, the runner service runs as the default OS user instead of a dedicated system account; by default a locked-down gitlab-runner system user is created"
98
+
99
+
GlRunnerConcurrentstring="glrunner-concurrent"
100
+
GlRunnerConcurrentDescstring="maximum number of jobs the runner executes concurrently"
101
+
GlRunnerConcurrentPowerDefaultint=2
102
+
GlRunnerConcurrentS390xDefaultint=3
95
103
96
104
//RHEL
97
105
SubsUsernamestring="rh-subscription-username"
@@ -134,6 +142,34 @@ const (
134
142
VPCPublicSubnetIDstring="vpc-public-subnet-id"
135
143
VPCPublicSubnetIDDescstring="ID of an existing VPC subnet (with public gateway, connected to Transit Gateway) for the SSH bastion"
136
144
145
+
// IBM Power instance sizing
146
+
PIMemorystring="pi-memory"
147
+
PIMemoryDescstring="PowerVS instance memory in GB"
PIProcTypeDescstring="PowerVS processor type (shared, dedicated, capped)"
154
+
PIProcTypeDefaultstring="shared"
155
+
PISysTypestring="pi-sys-type"
156
+
PISysTypeDescstring="PowerVS system type (s922, s1022, e880, e980)"
157
+
PISysTypeDefaultstring="s1022"
158
+
PIStorageTypestring="pi-storage-type"
159
+
PIStorageTypeDescstring="PowerVS storage tier for instance and data volume (tier1, tier3)"
160
+
PIStorageTypeDefaultstring="tier1"
161
+
PIDiskSizestring="pi-disk-size"
162
+
PIDiskSizeDescstring="data volume size in GB attached to the PowerVS instance"
163
+
PIDiskSizeDefaultint=300
164
+
165
+
// IBM Z instance sizing
166
+
IZProfilestring="iz-profile"
167
+
IZProfileDescstring="IBM Z VPC instance profile name"
168
+
IZProfileDefaultstring="mz2-16x128"
169
+
IZDiskSizestring="iz-disk-size"
170
+
IZDiskSizeDescstring="boot volume size in GB for the IBM Z instance"
171
+
IZDiskSizeDefaultint=300
172
+
137
173
OtelAppCodestring="otel-app-code"
138
174
OtelAppCodeDescstring="OpenTelemetry appcode identifier (e.g. MAPT-001); when set together with --otel-auth-token, installs the otelcol-contrib filelog collector on the instance"
0 commit comments