From jira-orchestrator
Harness CD (Continuous Delivery) for Kubernetes, Helm, Terraform, ECS, and serverless deployments with GitOps, approval gates, rollback strategies, and multi-environment promotion
npx claudepluginhub markus41/claude --plugin jira-orchestratorThis skill is limited to using the following tools:
Deployment orchestration for Kubernetes, Helm, Terraform, ECS, serverless with GitOps.
Provides Ktor server patterns for routing DSL, plugins (auth, CORS, serialization), Koin DI, WebSockets, services, and testApplication testing.
Conducts multi-source web research with firecrawl and exa MCPs: searches, scrapes pages, synthesizes cited reports. For deep dives, competitive analysis, tech evaluations, or due diligence.
Provides demand forecasting, safety stock optimization, replenishment planning, and promotional lift estimation for multi-location retailers managing 300-800 SKUs.
Deployment orchestration for Kubernetes, Helm, Terraform, ECS, serverless with GitOps.
pipeline:
name: Deploy Pipeline
stages:
- stage:
name: Deploy Dev
type: Deployment
spec:
service:
serviceRef: my_service
environment:
environmentRef: development
execution:
steps:
- step:
name: Rolling Deploy
type: K8sRollingDeploy
timeout: 10m
rollbackSteps:
- step:
name: Rollback
type: K8sRollingRollback
- step:
type: K8sRollingDeploy
spec:
skipDryRun: false
- step:
type: K8sCanaryDeploy
spec:
instanceSelection:
type: Count
spec:
count: 1
- step:
type: K8sBGStageDeployment
- step:
type: K8sBGSwapServices
serviceDefinition:
type: Kubernetes
spec:
manifests:
- manifest:
type: K8sManifest
spec:
store:
type: Git
spec:
connectorRef: github_connector
branch: main
artifacts:
primary:
sources:
- type: DockerRegistry
spec:
imagePath: myorg/myapp
serviceDefinition:
type: NativeHelm
spec:
chartName: my-app
helmVersion: V3
serviceDefinition:
type: CustomDeployment
spec:
customDeploymentRef:
templateRef: terraform_template
environment:
name: Production
type: Production
infrastructureDefinition:
type: KubernetesDirect
spec:
connectorRef: k8s_connector
namespace: my-namespace
- step:
type: HarnessApproval
spec:
approvers:
userGroups:
- account.ProductionApprovers
# Jira: type: JiraApproval, issueKey: <+pipeline.variables.jiraIssueKey>
# ServiceNow: type: ServiceNowApproval, ticketNumber: <+pipeline.variables.changeRequest>
- step:
type: GitOpsUpdateReleaseRepo
spec:
variables:
- name: image_tag
value: <+artifact.tag>
- step:
type: GitOpsSync
spec:
prune: true
- step:
type: CreatePR
spec:
updates:
- path: environments/<+env.name>/values.yaml
key: image.tag
value: <+artifact.tag>
- step:
type: Verify
spec:
type: Canary
sensitivity: MEDIUM
- step:
type: Http
spec:
url: <+infra.variables.serviceUrl>/health
failureStrategies:
- onFailure:
errors:
- AllErrors
action:
type: StageRollback
pipeline:
stages:
- stage:
name: Deploy Dev
spec:
environment:
environmentRef: development
- stage:
name: Deploy Staging
spec:
environment:
environmentRef: staging
when:
condition: <+pipeline.stages.deploy_dev.status> == "SUCCEEDED"
- stage:
name: Deploy Production
spec:
environment:
environmentRef: production
# Artifact
trigger:
source:
type: Artifact
spec:
type: DockerRegistry
imagePath: myorg/myapp
# Webhook
trigger:
source:
type: Webhook
spec:
type: Github
# Scheduled
trigger:
source:
type: Scheduled
spec:
expression: "0 2 * * *"
| Expression | Purpose |
|---|---|
| <+service.name> | Service |
| <+env.name> | Environment |
| <+infra.namespace> | Namespace |
| <+artifact.image>:<+artifact.tag> | Image |
| <+pipeline.stages.X.output.VAR> | Output |
curl -X POST "https://app.harness.io/pipeline/api/pipeline/execute/${PIPELINE_ID}" -H "x-api-key: ${API_KEY}"
curl -X GET "https://app.harness.io/pipeline/api/pipelines/execution/v2/${EXECUTION_ID}" -H "x-api-key: ${API_KEY}"
curl -X PUT "https://app.harness.io/pipeline/api/pipelines/execution/interrupt/${EXECUTION_ID}" -H "x-api-key: ${API_KEY}"
| Issue | Solution |
|---|---|
| Deployment timeout | Increase step timeout |
| Image pull failed | Verify connector credentials |
| Namespace not found | Check infrastructure definition |
| Manifest error | Validate YAML locally |
| Approval timeout | Review approval workflow |
| Rollback failed | Configure rollback steps |