Developer Playbook
Day-to-day guide for developers using GitOpsHQ to manage service configurations and deployments.
Your Role in GitOpsHQ
As a developer, you are responsible for managing the configuration and deployment lifecycle of the services you own. You update image tags, edit Helm values, set environment-specific variables, and create releases that package your changes for review and deployment.
You work within the guardrails set by your Platform and DevOps teams — you do not need to manage clusters, configure policies, or maintain the registry. Your focus is on what gets deployed (service configuration) rather than how it gets deployed (infrastructure).
Your Access Scope
Your permissions are scoped to the projects your team has been granted access to. You can create releases for development and staging environments directly. Production releases typically require approval from DevOps or SRE.
Daily Workflow
Follow this sequence each day to stay on top of your service deployments.
Check the Dashboard — Start your day by opening the GitOpsHQ dashboard. Look for any issues with services you own: failed deployments, drift alerts, or pending approvals. The dashboard shows fleet health at a glance — green means healthy, yellow means warning, red means action needed.
Navigate to Your Project — Open the project that contains your services (e.g., payment-service). The project overview shows the current state of each environment: what version is deployed, when it was last updated, and whether there are any pending changes.
Open the In-App Editor — When you need to make a configuration change, use the built-in Git editor. Navigate to the values file for your workload and environment. The editor provides syntax highlighting, YAML validation, and auto-completion for known value paths.
Update Helm Values — Make your changes in the values editor. Common changes include updating the image tag, adjusting replica counts, adding environment variables, or modifying resource limits. The editor shows real-time validation — errors appear inline as you type.
# Example: updating image tag and adding an env var
image:
repository: registry.example.com/payment-api
tag: v2.5.0 # updated from v2.4.0
env:
FEATURE_NEW_CHECKOUT: "true" # new feature flagUse HQ Variables for Environment-Specific Values — Instead of hardcoding values that differ between environments, use HQ Variable syntax. This ensures the same template works across dev, staging, and production with appropriate values for each.
database:
host: "{{hq.var.DATABASE_HOST}}"
maxConnections: "{{hq.var.DATABASE_MAX_CONNECTIONS}}"The HQ Variables panel shows you what each variable resolves to in each environment.
Preview Changes with Environment Compare — Before creating a release, use the Environment Compare view to see how your changes will look across environments. This catches mistakes like accidentally setting a production database URL in staging, or forgetting to set a variable for an environment.
Create a Release — Once you are satisfied with the changes, go to Releases → New Release. Select the changes to include, write a descriptive title (e.g., Enable new checkout flow for payment-api v2.5.0), and add release notes explaining what changed and why. Submit the release.
Request Approval — If the release targets an environment with an approval policy (typically staging or production), it enters the approval queue. The assigned reviewers (DevOps, SRE, or team leads) receive a notification. You can see the approval progress in the release detail page.
Monitor Deployment Status — Once approved and deployed, the release timeline shows real-time progress. Watch for the deployment to transition through: Pending → In Progress → Deployed → Healthy. If it stays in "In Progress" for too long or moves to "Failed", investigate immediately.
Use Log Streaming if Issues Arise — If the deployment shows issues, use the diagnostics panel to stream logs from the affected pods. You can filter logs by container, search for error patterns, and correlate log timestamps with the deployment timeline.
Key Pages You Will Use
| Page | What It Does | When to Use It |
|---|---|---|
| Dashboard | Fleet health overview | Start of day, after deployments |
| Project Overview | Environment status for your project | Checking current state |
| Values Editor | Edit Helm values for workloads | Making configuration changes |
| HQ Variables | Define environment-specific variables | Setting values that differ per environment |
| Environment Compare | Side-by-side environment diff | Verifying changes before release |
| Releases | Create and track releases | Packaging changes for deployment |
| Git Browser | Browse repository files and history | Reviewing commit history |
| Diagnostics | Pod logs and cluster state | Troubleshooting deployment issues |
Common Tasks
Update an Image Tag
image.tag field and update it to the new version (e.g., v2.5.0).Bump payment-api to v2.5.0.Change Replica Count
replicaCount to the desired value.Add an Environment Variable
env.{{hq.var.VARIABLE_NAME}} (or a pinned scope like {{hq.var.env.VARIABLE_NAME}}).View Deployment Status
What You Do NOT Need to Worry About
These responsibilities belong to other roles. Knowing the boundaries helps you focus on what matters.
| Not Your Responsibility | Who Handles It |
|---|---|
| Cluster registration and agent installation | Platform Engineer |
| Approval policy configuration | Platform Engineer |
| OPA policy authoring | Platform Engineer |
| Registry chart management | Platform Engineer / DevOps |
| Promotion pipeline design | DevOps Engineer |
| Incident rollback execution | SRE |
| Break-glass procedures | SRE |
| Drift investigation and remediation | SRE |
Tips and Tricks
- Use Cmd+K (or Ctrl+K) for quick navigation — The command palette lets you jump to any project, workload, or release by typing its name.
- Batch related changes into a single commit — If you are updating multiple values for the same feature, commit them together so the release diff tells a coherent story.
- Always preview before releasing — The Environment Compare view catches mistakes that the editor's syntax validation cannot (e.g., wrong values for wrong environments).
- Write meaningful release titles —
Enable new checkout flow v2.5.0is far more useful in the audit log thanUpdate values. - Use HQ Variables liberally — Any value that differs between environments should be an HQ Variable. This prevents copy-paste errors and makes environment promotion predictable.
- Check the audit log when something looks wrong — If a value changed unexpectedly, the audit log shows who changed it, when, and in which release.
- Bookmark your project — If you work on the same project daily, bookmark it for one-click access.
- Learn the release states — Understanding the lifecycle (Draft → Pending Approval → Approved → Deploying → Deployed → Healthy) helps you know exactly where your change is in the pipeline.
Collaboration Expectations
When creating releases that will be reviewed by DevOps or SRE:
- Include context in release notes — Explain why the change is being made, not just what changed. Reviewers can see the diff; they need to understand the intent.
- Provide rollback guidance — If your change introduces a new feature flag, note in the release description how to disable it if something goes wrong.
- Scope changes narrowly — A release that changes one thing is easier to review, approve, and roll back than a release that changes ten things.
- Respond to approval feedback promptly — If an approver requests changes or asks questions, address them quickly to avoid blocking the deployment pipeline.