refactor: rename gateway profiles, add auto-discovery and profile dir#77
Merged
Conversation
…file dir Rename gateway profiles to describe deployment method and service type: local.yaml -> local-container.yaml kind.yaml -> helm-nodeport.yaml ocp.yaml -> helm-openshift-route.yaml Add listGatewayProfiles() that scans profiles/gateways/*.yaml and merges with embedded profiles. Init prompt and doctor checks now use discovered profiles instead of hardcoded name lists. Adding a new gateway target is just dropping a YAML file. Add HARNESS_PROFILE_DIR env var and ~/.config/harness-openshell default so the binary has a home on first run without requiring a checkout. Doctor target checks now use gateway config type (local vs remote) instead of matching on profile names, so new gateway profiles work without code changes.
Update test-flow.sh, kind-lifecycle.sh, and Makefile to use new gateway names (local-container, helm-nodeport, helm-openshift-route). The test case dispatcher accepts both old and new names for backwards compat during the transition.
Rename helm-openshift-route -> openshift and helm-nodeport -> helm. Shorter, clearer names that match how teams refer to targets.
Clone a git repository outside the sandbox (shallow, --depth 1) and upload it via --upload. Git credentials never enter the sandbox. The agent gets a working copy at /sandbox/<repo-name> to read and modify. Results can be extracted via sandbox exec, stdout in --task mode, or the agent can push via the github provider's scoped token.
4 tasks
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
Gateway rename, auto-discovery, and three new agent config features.
Gateway profiles
local→local-container,kind→helm,ocp→openshiftprofiles/gateways/*.yaml— drop a YAML file to add a targetHARNESS_PROFILE_DIRenv var +~/.config/harness-openshelldefault profile directorylocalvsremote) instead of name matchingAgent config features
repo— clone a git repo outside the sandbox and upload it. Git credentials never enter the sandbox. Shallow clone (--depth 1), uploaded to/sandbox/<repo-name>.base_agent— inherit providers, env, payloads from a base config.base_agent: defaultresolvesagent-default.yaml. Overlay fields win for scalars; providers and env merge additively.claude/opencodeentrypoints.Testing & build
make test-localbuilds the sandbox image automatically (no manualdev-push)make test-remotedepends ondev-push(OCP clusters pull from registry)Test plan
make test— 5/5 packages passmake lint— 0 issuesmake test-suite— 23/23 passmake test-local— 22/22 pass (full e2e, local Podman)test-flow.sh openshift— 15/15 pass (full e2e, OCP cluster)TestMergeOver— base_agent merge semantics verified