Migrate to fs.FS as the sole resource loading interface#1561
Migrate to fs.FS as the sole resource loading interface#1561istio-testing merged 3 commits intoistio-ecosystem:mainfrom
Conversation
|
Hi @aslakknutsen. Thanks for your PR. I'm waiting for a istio-ecosystem or istio member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
|
/ok-to-test |
|
/test e2e-kind |
resources/resources.go
Outdated
| // The Sail Operator itself does NOT import this package - it uses filesystem | ||
| // paths via os.DirFS instead, keeping the operator binary small. |
There was a problem hiding this comment.
This might keep the binary smaller but the container image must still have the charts so there may not be a size difference unless there's additional overhead in embedding the charts into the binary?
There was a problem hiding this comment.
Do we need to read from the os? Can we embed the charts into the Sail Operator as well? Or do the charts need to be dynamic?
There was a problem hiding this comment.
I think it's doesn't matter in the "1 build 1 container" pipeline. They will be in there either way, and if it's +-10mb doesn't really matter either.
There is a certain scenario perhaps, dev or some custom install where you might want to point to a directory to install from. I don't know if anyone is using it like that now, but it currently generally supports both modes.
If we want to go embedded with Sail Operator as well, we could use the embedded.fs if resourceDirectory is not set. It would increase the size of the binary, but allow for anyone to run external charts if needed for what ever reason.
There was a problem hiding this comment.
To run locally we pass --resource-dir=./resources so embedding would actually make this simpler by removing the need to pass the flag:
sail-operator/Makefile.core.mk
Lines 252 to 254 in 857518b
If it simplifies things to always load from embedded assets, I'm all for it. I'm not sure either if the resource dir flag is being used today in a way that wouldn't be addressed by embedding. If we want to keep it in case someone is using it this way then we could default to reading from embedded assets and only read from the filesystem if it's specified? Or we could remove the flag altogether and only add back if someone requests it.
There was a problem hiding this comment.
I've changed the logic to swap to embedded.FS if resourceDirectory argument is missing.
Also removed the resourceDirectory reference from the Makefile and Dockerfile. Not sure if there are any other locations that would need updating as well, e.g. downstream images?
| // LoadChart loads a Helm chart from an fs.FS at the specified path. | ||
| // This allows loading charts from embed.FS, os.DirFS, or any other fs.FS implementation. | ||
| // | ||
| // The chartPath should be the path to the chart directory within the filesystem, | ||
| // e.g., "v1.28.2/charts/istiod". | ||
| func LoadChart(resourceFS fs.FS, chartPath string) (*chart.Chart, error) { |
There was a problem hiding this comment.
There's a helm issue to support this. Maybe long term we can get this added into helm itself.
There was a problem hiding this comment.
Replace string-based ResourceDirectory with fs.FS throughout the codebase to provide a unified abstraction for loading Helm charts and profiles. Changes: - ReconcilerConfig.ResourceDirectory string → ResourceFS fs.FS - cmd/main.go wraps flag value with os.DirFS() at startup - All controllers use ResourceFS directly (no path construction with ResourceDirectory) - UpgradeOrInstallChart now takes (fs.FS, chartPath) instead of chartDir - Renamed getChartDir() → getChartPath() (returns relative path) - Added pkg/helm/fsloader.go with LoadChart() for loading charts from fs.FS This enables consumers to use embed.FS for bundled resources or os.DirFS for filesystem-based resources through a single consistent interface. BREAKING CHANGE: ReconcilerConfig.ResourceDirectory replaced with ResourceFS fs.FS. ChartManager.UpgradeOrInstallChart signature changed to accept fs.FS. Signed-off-by: Aslak Knutsen <aslak@4fs.no>
Provide an embed.FS in the resources package so downstream consumers
can bundle Helm charts and profiles directly in their binary instead
of relying on filesystem paths.
The Sail Operator itself does not import this package, keeping its
binary size unchanged. This is intended for library consumers who
want self-contained binaries with embedded resources.
Usage:
import "github.com/istio-ecosystem/sail-operator/resources"
cfg := config.ReconcilerConfig{ResourceFS: resources.FS}
Signed-off-by: Aslak Knutsen <aslak@4fs.no>
d79b1c4 to
1630582
Compare
Add embedded fs.FS from the resources package and use it as the default resource source. The operator now embeds all Helm charts and profiles directly in the binary, eliminating the need for external resource files. Changes: - Change --resource-directory default from /var/lib/sail-operator/resources to "" - When --resource-directory is empty (default), use embedded resources.FS - When --resource-directory is specified, use os.DirFS for filesystem access - Removed --resource-directory from Makefile - Removed --resource-directory from Dockerfile This increases binary size by ~10MB but simplifies deployment by removing the dependency on external resource files mounted into the container. Signed-off-by: Aslak Knutsen <aslak@4fs.no>
|
/test docs-test |
istio-ecosystem#1561 added new file to resources directory so we can't remove everything. We want to remove just charts.
istio-ecosystem#1561 added new file to resources directory so we can't remove everything. We want to remove just charts.
* upstream/main: (27 commits) Add automation for updating EOL Istio versions (istio-ecosystem#1562) Fix e2e midstream CI mode (istio-ecosystem#1564) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1565) Migrate to fs.FS as the sole resource loading interface (istio-ecosystem#1561) Adding documentation for zero downtime ztunnel upgrade (istio-ecosystem#1552) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1563) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1560) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1559) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1558) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1557) Fix profile column status (istio-ecosystem#1553) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1551) docs: Add comprehensive Istio Ambient Mode update and waypoint proxy procedures (istio-ecosystem#1279) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1549) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1546) fixing the step numbers in our docs (istio-ecosystem#1545) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1543) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1534) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1530) update eol istio versions (istio-ecosystem#1529) ...
* upstream/main: (27 commits) Add automation for updating EOL Istio versions (istio-ecosystem#1562) Fix e2e midstream CI mode (istio-ecosystem#1564) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1565) Migrate to fs.FS as the sole resource loading interface (istio-ecosystem#1561) Adding documentation for zero downtime ztunnel upgrade (istio-ecosystem#1552) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1563) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1560) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1559) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1558) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1557) Fix profile column status (istio-ecosystem#1553) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1551) docs: Add comprehensive Istio Ambient Mode update and waypoint proxy procedures (istio-ecosystem#1279) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1549) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1546) fixing the step numbers in our docs (istio-ecosystem#1545) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1543) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1534) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1530) update eol istio versions (istio-ecosystem#1529) ...
* upstream/main: (27 commits) Add automation for updating EOL Istio versions (istio-ecosystem#1562) Fix e2e midstream CI mode (istio-ecosystem#1564) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1565) Migrate to fs.FS as the sole resource loading interface (istio-ecosystem#1561) Adding documentation for zero downtime ztunnel upgrade (istio-ecosystem#1552) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1563) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1560) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1559) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1558) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1557) Fix profile column status (istio-ecosystem#1553) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1551) docs: Add comprehensive Istio Ambient Mode update and waypoint proxy procedures (istio-ecosystem#1279) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1549) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1546) fixing the step numbers in our docs (istio-ecosystem#1545) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1543) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1534) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1530) update eol istio versions (istio-ecosystem#1529) ...
* upstream/main: (27 commits) Add automation for updating EOL Istio versions (istio-ecosystem#1562) Fix e2e midstream CI mode (istio-ecosystem#1564) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1565) Migrate to fs.FS as the sole resource loading interface (istio-ecosystem#1561) Adding documentation for zero downtime ztunnel upgrade (istio-ecosystem#1552) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1563) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1560) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1559) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1558) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1557) Fix profile column status (istio-ecosystem#1553) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1551) docs: Add comprehensive Istio Ambient Mode update and waypoint proxy procedures (istio-ecosystem#1279) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1549) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1546) fixing the step numbers in our docs (istio-ecosystem#1545) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1543) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1534) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1530) update eol istio versions (istio-ecosystem#1529) ...
* upstream/main: (33 commits) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1577) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1576) feat(helm): add RenderChart functions for template rendering (istio-ecosystem#1575) refactor: extract shared reconciliation logic into pkg/reconcile (istio-ecosystem#1572) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1573) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1571) Add automation for updating EOL Istio versions (istio-ecosystem#1562) Fix e2e midstream CI mode (istio-ecosystem#1564) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1565) Migrate to fs.FS as the sole resource loading interface (istio-ecosystem#1561) Adding documentation for zero downtime ztunnel upgrade (istio-ecosystem#1552) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1563) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1560) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1559) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1558) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1557) Fix profile column status (istio-ecosystem#1553) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1551) docs: Add comprehensive Istio Ambient Mode update and waypoint proxy procedures (istio-ecosystem#1279) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1549) ...
* upstream/main: (33 commits) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1577) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1576) feat(helm): add RenderChart functions for template rendering (istio-ecosystem#1575) refactor: extract shared reconciliation logic into pkg/reconcile (istio-ecosystem#1572) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1573) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1571) Add automation for updating EOL Istio versions (istio-ecosystem#1562) Fix e2e midstream CI mode (istio-ecosystem#1564) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1565) Migrate to fs.FS as the sole resource loading interface (istio-ecosystem#1561) Adding documentation for zero downtime ztunnel upgrade (istio-ecosystem#1552) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1563) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1560) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1559) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1558) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1557) Fix profile column status (istio-ecosystem#1553) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1551) docs: Add comprehensive Istio Ambient Mode update and waypoint proxy procedures (istio-ecosystem#1279) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1549) ...
* upstream/main: (33 commits) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1577) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1576) feat(helm): add RenderChart functions for template rendering (istio-ecosystem#1575) refactor: extract shared reconciliation logic into pkg/reconcile (istio-ecosystem#1572) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1573) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1571) Add automation for updating EOL Istio versions (istio-ecosystem#1562) Fix e2e midstream CI mode (istio-ecosystem#1564) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1565) Migrate to fs.FS as the sole resource loading interface (istio-ecosystem#1561) Adding documentation for zero downtime ztunnel upgrade (istio-ecosystem#1552) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1563) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1560) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1559) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1558) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1557) Fix profile column status (istio-ecosystem#1553) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1551) docs: Add comprehensive Istio Ambient Mode update and waypoint proxy procedures (istio-ecosystem#1279) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1549) ...
* upstream/main: (34 commits) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1579) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1577) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1576) feat(helm): add RenderChart functions for template rendering (istio-ecosystem#1575) refactor: extract shared reconciliation logic into pkg/reconcile (istio-ecosystem#1572) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1573) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1571) Add automation for updating EOL Istio versions (istio-ecosystem#1562) Fix e2e midstream CI mode (istio-ecosystem#1564) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1565) Migrate to fs.FS as the sole resource loading interface (istio-ecosystem#1561) Adding documentation for zero downtime ztunnel upgrade (istio-ecosystem#1552) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1563) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1560) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1559) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1558) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1557) Fix profile column status (istio-ecosystem#1553) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1551) docs: Add comprehensive Istio Ambient Mode update and waypoint proxy procedures (istio-ecosystem#1279) ...
* upstream/main: (35 commits) Expose "peerCaCrl" Ztunnel param added in Helm (istio-ecosystem#1578) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1579) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1577) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1576) feat(helm): add RenderChart functions for template rendering (istio-ecosystem#1575) refactor: extract shared reconciliation logic into pkg/reconcile (istio-ecosystem#1572) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1573) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1571) Add automation for updating EOL Istio versions (istio-ecosystem#1562) Fix e2e midstream CI mode (istio-ecosystem#1564) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1565) Migrate to fs.FS as the sole resource loading interface (istio-ecosystem#1561) Adding documentation for zero downtime ztunnel upgrade (istio-ecosystem#1552) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1563) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1560) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1559) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1558) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1557) Fix profile column status (istio-ecosystem#1553) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1551) ...
* upstream/main: (35 commits) Expose "peerCaCrl" Ztunnel param added in Helm (istio-ecosystem#1578) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1579) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1577) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1576) feat(helm): add RenderChart functions for template rendering (istio-ecosystem#1575) refactor: extract shared reconciliation logic into pkg/reconcile (istio-ecosystem#1572) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1573) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1571) Add automation for updating EOL Istio versions (istio-ecosystem#1562) Fix e2e midstream CI mode (istio-ecosystem#1564) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1565) Migrate to fs.FS as the sole resource loading interface (istio-ecosystem#1561) Adding documentation for zero downtime ztunnel upgrade (istio-ecosystem#1552) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1563) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1560) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1559) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1558) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1557) Fix profile column status (istio-ecosystem#1553) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1551) ...
* upstream/main: (36 commits) Adding TARGET_ARCH to tag definition when run on CI true (istio-ecosystem#1583) Expose "peerCaCrl" Ztunnel param added in Helm (istio-ecosystem#1578) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1579) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1577) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1576) feat(helm): add RenderChart functions for template rendering (istio-ecosystem#1575) refactor: extract shared reconciliation logic into pkg/reconcile (istio-ecosystem#1572) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1573) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1571) Add automation for updating EOL Istio versions (istio-ecosystem#1562) Fix e2e midstream CI mode (istio-ecosystem#1564) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1565) Migrate to fs.FS as the sole resource loading interface (istio-ecosystem#1561) Adding documentation for zero downtime ztunnel upgrade (istio-ecosystem#1552) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1563) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1560) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1559) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1558) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1557) Fix profile column status (istio-ecosystem#1553) ...
* upstream/main: (36 commits) Adding TARGET_ARCH to tag definition when run on CI true (istio-ecosystem#1583) Expose "peerCaCrl" Ztunnel param added in Helm (istio-ecosystem#1578) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1579) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1577) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1576) feat(helm): add RenderChart functions for template rendering (istio-ecosystem#1575) refactor: extract shared reconciliation logic into pkg/reconcile (istio-ecosystem#1572) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1573) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1571) Add automation for updating EOL Istio versions (istio-ecosystem#1562) Fix e2e midstream CI mode (istio-ecosystem#1564) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1565) Migrate to fs.FS as the sole resource loading interface (istio-ecosystem#1561) Adding documentation for zero downtime ztunnel upgrade (istio-ecosystem#1552) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1563) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1560) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1559) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1558) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1557) Fix profile column status (istio-ecosystem#1553) ...
* upstream/main: (36 commits) Adding TARGET_ARCH to tag definition when run on CI true (istio-ecosystem#1583) Expose "peerCaCrl" Ztunnel param added in Helm (istio-ecosystem#1578) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1579) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1577) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1576) feat(helm): add RenderChart functions for template rendering (istio-ecosystem#1575) refactor: extract shared reconciliation logic into pkg/reconcile (istio-ecosystem#1572) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1573) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1571) Add automation for updating EOL Istio versions (istio-ecosystem#1562) Fix e2e midstream CI mode (istio-ecosystem#1564) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1565) Migrate to fs.FS as the sole resource loading interface (istio-ecosystem#1561) Adding documentation for zero downtime ztunnel upgrade (istio-ecosystem#1552) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1563) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1560) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1559) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1558) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1557) Fix profile column status (istio-ecosystem#1553) ...
* upstream/main: (36 commits) Adding TARGET_ARCH to tag definition when run on CI true (istio-ecosystem#1583) Expose "peerCaCrl" Ztunnel param added in Helm (istio-ecosystem#1578) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1579) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1577) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1576) feat(helm): add RenderChart functions for template rendering (istio-ecosystem#1575) refactor: extract shared reconciliation logic into pkg/reconcile (istio-ecosystem#1572) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1573) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1571) Add automation for updating EOL Istio versions (istio-ecosystem#1562) Fix e2e midstream CI mode (istio-ecosystem#1564) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1565) Migrate to fs.FS as the sole resource loading interface (istio-ecosystem#1561) Adding documentation for zero downtime ztunnel upgrade (istio-ecosystem#1552) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1563) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1560) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1559) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1558) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1557) Fix profile column status (istio-ecosystem#1553) ...
* upstream/main: (37 commits) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1587) Adding TARGET_ARCH to tag definition when run on CI true (istio-ecosystem#1583) Expose "peerCaCrl" Ztunnel param added in Helm (istio-ecosystem#1578) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1579) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1577) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1576) feat(helm): add RenderChart functions for template rendering (istio-ecosystem#1575) refactor: extract shared reconciliation logic into pkg/reconcile (istio-ecosystem#1572) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1573) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1571) Add automation for updating EOL Istio versions (istio-ecosystem#1562) Fix e2e midstream CI mode (istio-ecosystem#1564) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1565) Migrate to fs.FS as the sole resource loading interface (istio-ecosystem#1561) Adding documentation for zero downtime ztunnel upgrade (istio-ecosystem#1552) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1563) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1560) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1559) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1558) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1557) ...
* upstream/main: (37 commits) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1587) Adding TARGET_ARCH to tag definition when run on CI true (istio-ecosystem#1583) Expose "peerCaCrl" Ztunnel param added in Helm (istio-ecosystem#1578) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1579) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1577) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1576) feat(helm): add RenderChart functions for template rendering (istio-ecosystem#1575) refactor: extract shared reconciliation logic into pkg/reconcile (istio-ecosystem#1572) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1573) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1571) Add automation for updating EOL Istio versions (istio-ecosystem#1562) Fix e2e midstream CI mode (istio-ecosystem#1564) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1565) Migrate to fs.FS as the sole resource loading interface (istio-ecosystem#1561) Adding documentation for zero downtime ztunnel upgrade (istio-ecosystem#1552) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1563) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1560) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1559) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1558) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1557) ...
* upstream/main: (38 commits) Improve scorecard test to avoid running on kind cluster inside OCP cl… (istio-ecosystem#1589) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1587) Adding TARGET_ARCH to tag definition when run on CI true (istio-ecosystem#1583) Expose "peerCaCrl" Ztunnel param added in Helm (istio-ecosystem#1578) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1579) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1577) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1576) feat(helm): add RenderChart functions for template rendering (istio-ecosystem#1575) refactor: extract shared reconciliation logic into pkg/reconcile (istio-ecosystem#1572) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1573) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1571) Add automation for updating EOL Istio versions (istio-ecosystem#1562) Fix e2e midstream CI mode (istio-ecosystem#1564) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1565) Migrate to fs.FS as the sole resource loading interface (istio-ecosystem#1561) Adding documentation for zero downtime ztunnel upgrade (istio-ecosystem#1552) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1563) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1560) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1559) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1558) ...
* upstream/main: (38 commits) Improve scorecard test to avoid running on kind cluster inside OCP cl… (istio-ecosystem#1589) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1587) Adding TARGET_ARCH to tag definition when run on CI true (istio-ecosystem#1583) Expose "peerCaCrl" Ztunnel param added in Helm (istio-ecosystem#1578) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1579) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1577) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1576) feat(helm): add RenderChart functions for template rendering (istio-ecosystem#1575) refactor: extract shared reconciliation logic into pkg/reconcile (istio-ecosystem#1572) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1573) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1571) Add automation for updating EOL Istio versions (istio-ecosystem#1562) Fix e2e midstream CI mode (istio-ecosystem#1564) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1565) Migrate to fs.FS as the sole resource loading interface (istio-ecosystem#1561) Adding documentation for zero downtime ztunnel upgrade (istio-ecosystem#1552) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1563) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1560) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1559) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1558) ...
* upstream/main: (39 commits) Add Claude /refactor command for code improvements (istio-ecosystem#1489) Improve scorecard test to avoid running on kind cluster inside OCP cl… (istio-ecosystem#1589) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1587) Adding TARGET_ARCH to tag definition when run on CI true (istio-ecosystem#1583) Expose "peerCaCrl" Ztunnel param added in Helm (istio-ecosystem#1578) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1579) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1577) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1576) feat(helm): add RenderChart functions for template rendering (istio-ecosystem#1575) refactor: extract shared reconciliation logic into pkg/reconcile (istio-ecosystem#1572) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1573) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1571) Add automation for updating EOL Istio versions (istio-ecosystem#1562) Fix e2e midstream CI mode (istio-ecosystem#1564) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1565) Migrate to fs.FS as the sole resource loading interface (istio-ecosystem#1561) Adding documentation for zero downtime ztunnel upgrade (istio-ecosystem#1552) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1563) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1560) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1559) ...
* upstream/main: (39 commits) Add Claude /refactor command for code improvements (istio-ecosystem#1489) Improve scorecard test to avoid running on kind cluster inside OCP cl… (istio-ecosystem#1589) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1587) Adding TARGET_ARCH to tag definition when run on CI true (istio-ecosystem#1583) Expose "peerCaCrl" Ztunnel param added in Helm (istio-ecosystem#1578) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1579) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1577) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1576) feat(helm): add RenderChart functions for template rendering (istio-ecosystem#1575) refactor: extract shared reconciliation logic into pkg/reconcile (istio-ecosystem#1572) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1573) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1571) Add automation for updating EOL Istio versions (istio-ecosystem#1562) Fix e2e midstream CI mode (istio-ecosystem#1564) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1565) Migrate to fs.FS as the sole resource loading interface (istio-ecosystem#1561) Adding documentation for zero downtime ztunnel upgrade (istio-ecosystem#1552) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1563) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1560) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1559) ...
* upstream/main: (39 commits) Add Claude /refactor command for code improvements (istio-ecosystem#1489) Improve scorecard test to avoid running on kind cluster inside OCP cl… (istio-ecosystem#1589) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1587) Adding TARGET_ARCH to tag definition when run on CI true (istio-ecosystem#1583) Expose "peerCaCrl" Ztunnel param added in Helm (istio-ecosystem#1578) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1579) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1577) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1576) feat(helm): add RenderChart functions for template rendering (istio-ecosystem#1575) refactor: extract shared reconciliation logic into pkg/reconcile (istio-ecosystem#1572) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1573) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1571) Add automation for updating EOL Istio versions (istio-ecosystem#1562) Fix e2e midstream CI mode (istio-ecosystem#1564) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1565) Migrate to fs.FS as the sole resource loading interface (istio-ecosystem#1561) Adding documentation for zero downtime ztunnel upgrade (istio-ecosystem#1552) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1563) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1560) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1559) ...
* upstream/main: (39 commits) Add Claude /refactor command for code improvements (istio-ecosystem#1489) Improve scorecard test to avoid running on kind cluster inside OCP cl… (istio-ecosystem#1589) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1587) Adding TARGET_ARCH to tag definition when run on CI true (istio-ecosystem#1583) Expose "peerCaCrl" Ztunnel param added in Helm (istio-ecosystem#1578) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1579) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1577) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1576) feat(helm): add RenderChart functions for template rendering (istio-ecosystem#1575) refactor: extract shared reconciliation logic into pkg/reconcile (istio-ecosystem#1572) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1573) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1571) Add automation for updating EOL Istio versions (istio-ecosystem#1562) Fix e2e midstream CI mode (istio-ecosystem#1564) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1565) Migrate to fs.FS as the sole resource loading interface (istio-ecosystem#1561) Adding documentation for zero downtime ztunnel upgrade (istio-ecosystem#1552) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1563) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1560) Automator: Update dependencies in istio-ecosystem/sail-operator@main (istio-ecosystem#1559) ...
|
/cherry-pick release-1.28 |
|
@dgn: new pull request created: #1594 DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
|
@dgn: new pull request could not be created: failed to create pull request against istio-ecosystem/sail-operator#release-1.28 from head istio-testing:cherry-pick-1561-to-release-1.28: status code 422 not one of [201], body: {"message":"Validation Failed","errors":[{"resource":"PullRequest","code":"custom","message":"A pull request already exists for istio-testing:cherry-pick-1561-to-release-1.28."}],"documentation_url":"https://docs.github.com/rest/pulls/pulls#create-a-pull-request","status":"422"} DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
…tem#1561) * refactor(helm)!: migrate to fs.FS as the sole resource loading interface Replace string-based ResourceDirectory with fs.FS throughout the codebase to provide a unified abstraction for loading Helm charts and profiles. Changes: - ReconcilerConfig.ResourceDirectory string → ResourceFS fs.FS - cmd/main.go wraps flag value with os.DirFS() at startup - All controllers use ResourceFS directly (no path construction with ResourceDirectory) - UpgradeOrInstallChart now takes (fs.FS, chartPath) instead of chartDir - Renamed getChartDir() → getChartPath() (returns relative path) - Added pkg/helm/fsloader.go with LoadChart() for loading charts from fs.FS This enables consumers to use embed.FS for bundled resources or os.DirFS for filesystem-based resources through a single consistent interface. BREAKING CHANGE: ReconcilerConfig.ResourceDirectory replaced with ResourceFS fs.FS. ChartManager.UpgradeOrInstallChart signature changed to accept fs.FS. Signed-off-by: Aslak Knutsen <aslak@4fs.no> * feat(resources): add embedded fs.FS for library consumers Provide an embed.FS in the resources package so downstream consumers can bundle Helm charts and profiles directly in their binary instead of relying on filesystem paths. The Sail Operator itself does not import this package, keeping its binary size unchanged. This is intended for library consumers who want self-contained binaries with embedded resources. Usage: import "github.com/istio-ecosystem/sail-operator/resources" cfg := config.ReconcilerConfig{ResourceFS: resources.FS} Signed-off-by: Aslak Knutsen <aslak@4fs.no> * feat(resources): use embedded resources by default Add embedded fs.FS from the resources package and use it as the default resource source. The operator now embeds all Helm charts and profiles directly in the binary, eliminating the need for external resource files. Changes: - Change --resource-directory default from /var/lib/sail-operator/resources to "" - When --resource-directory is empty (default), use embedded resources.FS - When --resource-directory is specified, use os.DirFS for filesystem access - Removed --resource-directory from Makefile - Removed --resource-directory from Dockerfile This increases binary size by ~10MB but simplifies deployment by removing the dependency on external resource files mounted into the container. Signed-off-by: Aslak Knutsen <aslak@4fs.no> --------- Signed-off-by: Aslak Knutsen <aslak@4fs.no> Signed-off-by: Daniel Grimm <dgrimm@redhat.com>
istio-ecosystem#1561 added new file to resources directory so we can't remove everything. We want to remove just charts.
istio-ecosystem#1561 added new file to resources directory so we can't remove everything. We want to remove just charts.
istio-ecosystem#1561 added new file to resources directory so we can't remove everything. We want to remove just charts.
istio-ecosystem#1561 added new file to resources directory so we can't remove everything. We want to remove just charts.
What type of PR is this?
What this PR does / why we need it:
Migrate to fs.FS as the sole resource loading interface
Replace string-based ResourceDirectory with fs.FS throughout the codebase
to provide a unified abstraction for loading Helm charts and profiles.
This enables consumers to use embed.FS for bundled resources or os.DirFS
for filesystem-based resources through a single consistent interface.