feat: [CI-21185]: Add Dockerfile and versioning support for plugin binary#47
Merged
spahuja-harness merged 1 commit intomainfrom Mar 2, 2026
Merged
Conversation
…nary Add support for building plugin Docker images via Harness CI pipeline, following the same pattern as lite-engine (CI-21182). Changes: - Added version/version.go with GetVersion() pattern * Returns "dev" for local builds * Can be set via ldflags during Docker build - Updated main.go to support -v and --version flags - Created docker/Dockerfile-plugin for building binary images * Multi-stage build using GAR golang:1.25-alpine3.21 * Scratch-based final image with binary at /binaries/plugin * Supports cross-platform builds (linux/darwin/windows, amd64/arm64) * Version injected via BUILD_VERSION arg - Added config/manifest.yaml for Harness CI pipeline integration This enables building harness/harness-vm-runner-plugin images that will be bundled into harness-vm-runner-binaries for VM injection. Tested: - plugin -v returns "dev" without ldflags - plugin -v returns "3.9.5-beta" with ldflags
raghavharness
approved these changes
Mar 2, 2026
spahuja-harness
added a commit
that referenced
this pull request
Mar 4, 2026
This is a placeholder commit to enable Harness CI build pipeline. Harness CI requires branch format 'release/*' for PATCH releases. Command format: SERVICE_NAME@release/branch-name All actual implementation for CI-21185 has been completed in previous PRs: - #47: Dockerfile and versioning support - #49: Helm chart for build pipeline compliance This PR establishes the release branch for CI/CD integration.
spahuja-harness
added a commit
that referenced
this pull request
Mar 4, 2026
This is a placeholder commit to enable Harness CI build pipeline. Harness CI requires branch format 'release/*' for PATCH releases. Command format: SERVICE_NAME@release/branch-name All actual implementation for CI-21185 has been completed in previous PRs: - #47: Dockerfile and versioning support - #49: Helm chart for build pipeline compliance This PR establishes the release branch for CI/CD integration.
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
Add Dockerfile and versioning support for the plugin binary to enable Harness CI builds and Docker-based distribution.
Changes
Version Support
version/version.gowithGetVersion()patternmain.goto support-vand--versionflagsDocker Build
docker/Dockerfile-pluginfor building binary imagesgolang:1.25-alpine3.21/binaries/pluginBUILD_VERSIONargHarness CI Integration
config/manifest.yamlfor Harness CI pipelineTesting
Impact
This enables building
harness/harness-vm-runner-pluginimages that will be bundled intoharness-vm-runner-binariesfor VM injection.Dependencies
JIRA
https://harness.atlassian.net/browse/CI-21185