GitOpsHQ Docs
Team Playbooks

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 flag

Use 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

PageWhat It DoesWhen to Use It
DashboardFleet health overviewStart of day, after deployments
Project OverviewEnvironment status for your projectChecking current state
Values EditorEdit Helm values for workloadsMaking configuration changes
HQ VariablesDefine environment-specific variablesSetting values that differ per environment
Environment CompareSide-by-side environment diffVerifying changes before release
ReleasesCreate and track releasesPackaging changes for deployment
Git BrowserBrowse repository files and historyReviewing commit history
DiagnosticsPod logs and cluster stateTroubleshooting deployment issues

Common Tasks

Update an Image Tag

Navigate to your workload's values file in the editor.
Find the image.tag field and update it to the new version (e.g., v2.5.0).
Commit the change with a message like Bump payment-api to v2.5.0.
Create a release including this change.

Change Replica Count

Open the values editor for the target environment.
Update replicaCount to the desired value.
Use Environment Compare to verify you are changing the right environment.
Create a release and note the scaling reason in the release description.

Add an Environment Variable

If the variable value is the same across all environments, add it directly to the values file under env.
If the variable differs per environment, create an HQ Variable first, then reference it in the values file using {{hq.var.VARIABLE_NAME}} (or a pinned scope like {{hq.var.env.VARIABLE_NAME}}).
Preview the rendered output to confirm the variable resolves correctly in each environment.
Create a release with the change.

View Deployment Status

Open your project and navigate to the target environment.
The environment view shows the current sync status, last deployed release, and pod health.
Click on a specific workload to see detailed pod status, resource usage, and recent events.
If drift is detected, the UI highlights what has diverged between desired and actual state.

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 ResponsibilityWho Handles It
Cluster registration and agent installationPlatform Engineer
Approval policy configurationPlatform Engineer
OPA policy authoringPlatform Engineer
Registry chart managementPlatform Engineer / DevOps
Promotion pipeline designDevOps Engineer
Incident rollback executionSRE
Break-glass proceduresSRE
Drift investigation and remediationSRE

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 titlesEnable new checkout flow v2.5.0 is far more useful in the audit log than Update 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.

On this page