Skip to content

feat(pipelines): add IstioUpgrade step schema definition#265

Draft
trevorwilliams2025 wants to merge 2 commits into
Azure:mainfrom
trevorwilliams2025:istio-schema-registration
Draft

feat(pipelines): add IstioUpgrade step schema definition#265
trevorwilliams2025 wants to merge 2 commits into
Azure:mainfrom
trevorwilliams2025:istio-schema-registration

Conversation

@trevorwilliams2025

@trevorwilliams2025 trevorwilliams2025 commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

What

  • Adds istioUpgradeStep schema definition and if/then routing to pipeline.schema.v1.json so the pipeline framework can validate action: IstioUpgrade steps
  • Changes aksCluster from type: string to $ref: "#/definitions/Value" to support configRef style
  • Updates IstioUpgradeStep Go type to match: AKSCluster Value instead of AKSCluster string
  • Removes dryRun field from both schema and Go type (no use case in pipeline context)

Why

Prerequisite for wiring the IstioUpgrade action into svc-pipeline.yaml, which will replace the legacy istio.sh shell script. The Go implementation is already merged in
ARO-HCP#5661.

Copilot AI review requested due to automatic review settings July 8, 2026 08:25

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds JSON Schema support for validating pipeline steps with action: IstioUpgrade by introducing a dedicated step definition and wiring it into the existing if/then action-dispatch logic. This extends the pipeline framework’s schema so future pipeline YAML updates can be validated without relying on legacy scripting.

Changes:

  • Introduces a new istioUpgradeStep definition (with aksCluster required and optional dryRun).
  • Adds if/then routing so steps with action: IstioUpgrade are validated against the new definition.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread pipelines/types/pipeline.schema.v1.json Outdated
Comment on lines +834 to +836
"aksCluster": {
"type": "string"
},

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

make this of type definition/Value so we can use `configRef``

i know that a lot of step allow for string params and then use gotmpl like
aksCluster: "{{ .mgmt.aks.name }}"

but instead we are heading towards

aksCluster:
   configRef: mgmt.aks.name

translates way better to EV2 and is a good preparation for future work that will adapt pipeline work.

Copilot AI review requested due to automatic review settings July 8, 2026 09:15

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

Comments suppressed due to low confidence (1)

pipelines/types/istio.go:32

  • IstioUpgradeStep.AKSCluster is now a Value that can reference an input from another step, but RequiredInputs() always returns an empty list. This prevents the pipeline dependency graph from capturing input-chaining dependencies when aksCluster is populated via "input".
func (s *IstioUpgradeStep) RequiredInputs() []StepDependency {
	return []StepDependency{}
}

Comment on lines +833 to +836
},
"aksCluster": {
"$ref": "#/definitions/Value"
}

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed.

@trevorwilliams2025 trevorwilliams2025 marked this pull request as draft July 8, 2026 09:18
@trevorwilliams2025 trevorwilliams2025 force-pushed the istio-schema-registration branch from f188e8a to 8dab237 Compare July 8, 2026 10:27
@trevorwilliams2025 trevorwilliams2025 force-pushed the istio-schema-registration branch from 8dab237 to 8cf8b42 Compare July 8, 2026 10:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants