Skip to content

Conversation

@bmangoen
Copy link
Contributor

What type of PR is this?

  • Enhancement / New Feature
  • Bug Fix
  • Refactor
  • Optimization
  • Test
  • Documentation Update

What this PR does / why we need it:

  • Add documentation section for resource customization including the sailoperator.io/ignore annotation usage and how it works
  • Remove a debug print statement in integration test

Which issue(s) this PR fixes:

Fixes #1278

* Add documentation section for resource customization including the sailoperator.io/ignore annotation usage and how it works
* Remove a debug print statement in integration test

Signed-off-by: bmangoen <[email protected]>
@bmangoen bmangoen requested a review from a team as a code owner October 21, 2025 11:44
@codecov
Copy link

codecov bot commented Oct 21, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 78.60%. Comparing base (5bf66f4) to head (3e42417).
⚠️ Report is 14 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1292      +/-   ##
==========================================
+ Coverage   77.59%   78.60%   +1.01%     
==========================================
  Files          44       44              
  Lines        2834     2253     -581     
==========================================
- Hits         2199     1771     -428     
+ Misses        526      372     -154     
- Partials      109      110       +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.


* The operator **will skip reconciling UPDATE events** for that resource
* The resource **must still be owned** by the `Istio` (the ownerReference remains the associated `IstioRevision`)
* The operator **will not revert manual changes** made to resources with this annotation
Copy link
Collaborator

Choose a reason for hiding this comment

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

that's not entirely correct, is it? it will still overwrite them when something else changes and triggeres a reconciliation

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Actually while the sailoperator.io/ignore is set, no change would be overwritten

Copy link
Collaborator

Choose a reason for hiding this comment

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

that's not true, I just verified this. I think we need some better docs on how this works in general:

  • Sail Operator will re-apply all helm charts when it detects a change in any of the resources it deployed
  • sailoperator.io/ignore: true makes sure that it ignores changes from that resource
  • changes in other resources will still lead to re-applying of all charts (ie also those resources annotated with sailoperator.io/ignore: true)
  • however, only those fields which are included in the templates will be reverted back to their original values. That means that new annotations and labels can be added, but changes such as editing an existing label or a pod command line argument will be reverted

Copy link
Collaborator

Choose a reason for hiding this comment

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

you can try it - annotate your istiod deployment and then change a command line argument of the istiod container. it will be reverted once you make a change to another resource. the annotation stays though

Copy link
Contributor Author

Choose a reason for hiding this comment

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

You're right ! Going to modify the doc to be more accurate how it works

Copy link
Contributor Author

@bmangoen bmangoen Oct 28, 2025

Choose a reason for hiding this comment

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

I modified this part. @dgn Let me know if it's more clear and correct now

Added some more details about how the operator behaves when the sailoperator.io/ignore annotation is set to "true".

Signed-off-by: bmangoen <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[DOC] Add doc instructions to use sailoperator.io/ignore annotation

3 participants