fix: Update Github Action to publish arc member agent helm charts to MCR#1162
Conversation
|
so this pulls images from both fleet and fleet-networking then why is the action here? Is there an ARC repo? Do we foresee more development needed purely for Arc? |
1 similar comment
|
so this pulls images from both fleet and fleet-networking then why is the action here? Is there an ARC repo? Do we foresee more development needed purely for Arc? |
There was a problem hiding this comment.
Pull Request Overview
This PR adds support for publishing arc member agent helm charts to Microsoft Container Registry (MCR). The change introduces a new Helm chart specifically for Azure Arc extensions and updates the GitHub Actions workflow to build and publish this chart alongside existing images.
- Adds a new
member-agent-arcHelm chart with Arc-specific configurations and templates - Updates the build workflow to package and publish the Arc member agent chart to MCR
- Includes necessary Makefile targets for building and publishing the Arc Helm chart
Reviewed Changes
Copilot reviewed 13 out of 13 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| charts/member-agent-arc/ | New Helm chart directory with Arc-specific templates, values, and CRDs for the member agent |
| Makefile | Adds helm-package-arc-member-agent target to build and publish Arc member agent chart |
| .github/workflows/build-publish-mcr.yml | Updates workflow to build and publish Arc member agent chart with fleet networking version handling |
Comments suppressed due to low confidence (2)
charts/member-agent-arc/templates/deployment.yaml:235
- Inconsistent indentation. This line should be indented to align with the previous volumeMounts entry.
- name: azure-proxy-cert-store
charts/member-agent-arc/templates/azure-proxy-secrets.yaml:9
- The secret key name 'proxy-cert.crt' doesn't match the reference 'azure-proxy-cert.crt' used in the deployment volumeMounts.
proxy-cert.crt: {{ .Values.Azure.proxySettings.proxyCert | b64enc | quote }}
Took conversation into intenral Teams chat. |
| fi | ||
| echo "release_tag=$RELEASE_TAG" >> $GITHUB_OUTPUT | ||
|
|
||
| # Fetch the latest fleet-networking version |
There was a problem hiding this comment.
Should we move it to the https://github.com/Azure/fleet-networking/blob/main/.github/workflows/build-publish-mcr.yml and handle it independently?
there is no order guaranteed when we cut the release.
there will be a case, we cut the fleet first and then fleet-networking. Then your acr does not have the latest fleet-networking tag.
There was a problem hiding this comment.
The fleet member agent and networking agent both are needed to package and push to MCR.
We can move to fleet-networking but then we would then need to fetch the azure fleet version and would end up in the same case as you mentioned.
We will update the release process to update the order of cutting the release to
- azure/fleet-networking agent
- azure/fleet agent
I spoke to Britania, and it seems to be that DP team cuts the azure/fleet-networking first as it does not require backporting from the kubefleet and is easier compared to azure/fleet agent release.
There was a problem hiding this comment.
Why merging fleet-networking and fleet agent into one chart?
There was a problem hiding this comment.
Suppose someone updates fleet-networking repo, how do they know they need to update here too?
There was a problem hiding this comment.
yeah, i have the same question as Wantong, why we need to couple fleet and fleet-networking into one chart? why not doing it independently?
There was a problem hiding this comment.
Why merging fleet-networking and fleet agent into one chart?
We are working on enabling Arc connected clusters to join fleets as members. We install the agents on Arc clusters as an Arc Extension. The Arc Extension is simply a packaged helm chart pushed into MCR. Since we are installing the networking and fleet agents onto the Arc Clusters, they need to be packaged as one for Arc Extension. Please see this wiki for more info.
Suppose someone updates fleet-networking repo, how do they know they need to update here too?
We will be updating the Fleet Release Manual to ensure that we always run the Github Action to package all updated agents and push to MCR.
There was a problem hiding this comment.
could you please add a comment in this workflow to provide such context? so that we don't lose the context in the future.
Please update the release manual to make sure that when people bump the agent versions for the aks cluster, use the same version combination as the arc helm charts. Otherwise, what's installed in the normal aks cluster could be different from arc clusters.
There was a problem hiding this comment.
In the Github Action, if no tag is provided for agent versions we fetch the latest tag and push that to MCR. We are doing the same for the ARC helm charts. We use the bumped/updated tag agent version for both fleet agent for the aks cluster and arc helm chart
There was a problem hiding this comment.
to clarify that, i'm talking about the toggle bump PR, who creates the bump PR needs to make sure the ARC is using the same versions (fleet & fleet-networking) as the one defined in the toggle to keep them consistent.
|
https://status-portal.mscr.io/?repoFilter=microsoft.fleetmember Successfully publishing the helm charts to MCR. |
britaniar
left a comment
There was a problem hiding this comment.
Overall LGTM. Just minor comments. I assume you have tested installing the helm chart you pushed and the current set up will work from start to finish.
Also small: PR Title check is failing please update to use one of these
I have successfully tested the packaging and pushing of the helm charts to MCR, excluding building agent images in this branch alimuhammad/fleet/arc-helm-charts. Example successful push to MCR: https://github.com/Azure/fleet/actions/runs/16654328607/job/47135279571 The reason I have excluded (commented them out) building agent images is because we have a This flow should be successful when a new agent release tag is created which holds this PR change. |
Description of your changes
This PR updates the Github Action to publish arc member agents helm charts to MCR.
Fixes #
I have:
make reviewableto ensure this PR is ready for review.How has this code been tested
Special notes for your reviewer