Harvester integration#180
Merged
Merged
Conversation
git-ival
force-pushed
the
harvester-integration
branch
from
April 24, 2026 01:05
3bd1435 to
70b54dd
Compare
Member
|
I'm waiting to review this until the other two PRs are merged and this is rebased so that it's cleaner what I'm looking at |
- Add internal/dart/config.go with NodeConfig, ClusterConfig, and provider-specific types - Add ClusterTemplate type to Dart struct for batch cluster creation - Add yaml struct tags to existing tofu types for YAML serialization - Add CustomCluster, Node, MachinePoolConfig types to tofu package - Add UpdateDart() and ClusterTemplate helper methods to dart package - Ensure custom cluster nodes have public_ip if set in template - Fix linter issues
- Add internal/actions/handlestate.go with ClusterStatus struct and Stage enum - Add SaveClusterState/LoadClusterState for YAML persistence - Add FindClusterStatus helpers for querying cluster state - Add internal/actions/utils.go with natural string sorting - Add internal/actions/wait.go with polling utilities - Update go.mod with yaml.v2 and k8s.io/apimachinery dependencies
Core features: - Add internal/actions package with batch runner, cluster operations, state management - Add ClusterStatus tracking with stage enum (New/Infra/Created/Imported/Provisioned/Registered) - Add SequencedBatchRunner for concurrent batch processing with sequenced state updates - Add cluster import, provisioning, and custom cluster registration flows Type definitions: - Add internal/dart/config.go with NodeConfig, ClusterConfig, provider-specific types - Add ClusterTemplate, ClusterBatchSize fields to Dart struct - Add CustomCluster, Node, MachinePoolConfig types to tofu package - Add yaml struct tags for YAML serialization API changes: - Update tofu.New() to remove context.Context parameter - Update tofu.Apply/Destroy/PrintVersion to remove context parameter - Add tofu.ParseOutputs() replacing OutputClusters() - Add --skip-refresh and --skip-charts CLI flags Dependencies: - Add shepherd and rancher/tests dependencies with replace directives - Update qase client for API compatibility
- Add internal/harvester package for Harvester VM operations - Support VM creation, deletion, and management via Harvester API - Add cloud-init configuration support - Add image and network handling utilities - Update go.mod with harvester client dependencies
* handle setting correct SANs for rancher-ingress, ensure no overlap with rancher's downstream ingress * do not install rancher-ingress if there are no applicable SANs * account for cleaning up or not installing rancher-ingress if it is not actually needed * resolve copilot feedback
- Add custom_clusters output to AWS and Harvester main modules - Add ssh tunnel enable/disable flag to node modules - Update test_environment for node-only creation (custom clusters) - Update image datasource logic to skip if image_id is provided - Remove unused node_templates variable from harvester - Minor formatting and cleanup in rke2/k3s modules
git-ival
force-pushed
the
harvester-integration
branch
from
May 20, 2026 03:36
6433565 to
a19f9a6
Compare
Member
Author
|
@Oats87 I can't request a formal review, but I figured your input would be useful since you've been doing testing in the Harvester env 🫡 |
MSpencer87
approved these changes
May 22, 2026
MSpencer87
left a comment
Contributor
There was a problem hiding this comment.
LGTM! 🚀 Will perform further testing on harvester when resources become available, no issues launching on rke2 or k3s!
Oats87
approved these changes
May 26, 2026
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.
Relies on #178 and #179 in order to pass CI