Repository navigation
feat(gcp): add base GCP provider with RHEL target - #925
Open
deekay2310 wants to merge 4 commits into
Open
deekay2310 wants to merge 4 commits into
deekay2310 wants to merge 4 commits into
Conversation
Implements Phase 1 of the GCP provider (AIPCC-32403): - Provider struct with credentials, Init, DefaultHostingPlace - CLI commands: mapt gcp rhel create/destroy - Networking module: VPC, subnet, firewall, static IP - Compute module: Instance creation with spot scheduling support - Data layer: machine type filtering, RHEL image lookup, zone listing - Allocation module: on-demand zone selection (spot stubbed for Phase 2) - Action layer: end-to-end Create/Destroy orchestration Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Important Review skippedToo many files! This PR contains 459 files, which is 359 over the limit of 100. To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch. Upgrade to a paid plan to raise the limit. Usage-priced reviews support at most 300 files. ⚙️ Run configuration
⛔ Files ignored due to path filters (12)
📒 Files selected for processing (459)
You can disable this status message by setting the Comment |
Merge origin/main into gcp-provider-phase1, resolving dependency version conflicts in go.mod, go.sum, and vendor/modules.txt from the go.opentelemetry.io/otel v1.46→v1.47 bump. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
GOOGLE_CREDENTIALS (Terraform/Pulumi convention) is not recognized by Google's Go SDK which expects GOOGLE_APPLICATION_CREDENTIALS. Bridge the two in Init() so users only need to set one. GCP RHEL images use Google guest agent instead of cloud-init, so the cloud-init readiness check fails. Use a simple ping check instead. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Contributor
Author
E2E Test Results (2026-10-07)Environment: GCP, Create ✅
Destroy ✅
Fixes applied during testing
|
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
ppitonak
reviewed
Oct 9, 2026
ppitonak
left a comment
Collaborator
There was a problem hiding this comment.
- please add at least basic documentation which creds to use
- when I set only
--cpus 8, it failed with[customConstraints/custom.denyCostlyMachineTypes] : This organization policy prevents creating instances with exotic machine types. See https://url.corp.redhat.com/bab8f07 for the list of types that are allowed. Contact the IT Public Cloud team at help.redhat.com for an exception - when I set
--cpus 2 --memory 4, it failed withInvalid resource usage: 'Requested boot disk architecture (X86_64) is not compatible with machine type architecture (ARM64).... I didn't check deeply why it happend but IMHO this kind of misconfiguration should not happen
ppitonak
approved these changes
Oct 9, 2026
ppitonak
left a comment
Collaborator
There was a problem hiding this comment.
I was able to create a RHEL VM, IMHO acceptable for the initial implementation.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
mapt gcp rhel create/destroy)GOOGLE_PROJECT,GOOGLE_REGION, Application Default Credentials)rhel-cloud, zone listingaws,azure,ibmcloudTest plan
go build ./...passesmapt gcp --helpshows RHEL subcommandmapt gcp rhel create --helpshows all flags (version, arch, spot, compute request)mapt gcp rhel destroy --helpshows force-destroy and keep-state flagsmapt gcp rhel create --project-name test-gcp --version 9provisions a RHEL 9 VM on GCP, SSH is reachablemapt gcp rhel destroy --project-name test-gcptears down all resources cleanly🤖 Generated with Claude Code