Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rewrite HelmRepositoryReconciler to new standards #413

Merged
merged 1 commit into from
Aug 12, 2021

Conversation

hiddeco
Copy link
Member

@hiddeco hiddeco commented Jul 31, 2021

Supersedes #361

This PR rewrites the HelmRepositoryReconciler to new standards,
while implementing the newly introduced Condition types, and trying to
adhere better to Kubernetes API conventions.

More specifically it introduces:

  • Implementation of more explicit Condition types to highlight
    abnormalities.
  • Extensive usage of the conditions subpackage from runtime.
  • Better and more conflict-resilient (status)patching of reconciled
    objects using the patch subpackage from runtime.
  • Proper implementation of kstatus' Reconciling and Stalled
    conditions.
  • Refactoring of some Helm elements to make them easier to use within
    the new reconciler logic.
  • Integration tests that solely rely on testenv and do not
    use Ginkgo.

There are a couple of TODOs marked in-code, these are suggestions for
the future and should be non-blocking.
In addition to the TODOs, more complex and/or edge-case test scenarios
may be added as well.

⚠️ target branch of the PR is a newly-introduced (protected) development branch.

@hiddeco hiddeco force-pushed the helmrepository-reconciler branch 11 times, most recently from 89e0cf5 to 37ef4c7 Compare August 11, 2021 21:05
@hiddeco hiddeco force-pushed the helmrepository-reconciler branch 4 times, most recently from e93f58a to 9a8553a Compare August 12, 2021 09:05
This commit rewrites the `HelmRepositoryReconciler` to new standards,
while implementing the newly introduced Condition types, and trying to
adhere better to Kubernetes API conventions.

More specifically it introduces:

- Implementation of more explicit Condition types to highlight
  abnormalities.
- Extensive usage of the `conditions` subpackage from `runtime`.
- Better and more conflict-resilient (status)patching of reconciled
  objects using the `patch` subpackage from runtime.
- Proper implementation of kstatus' `Reconciling` and `Stalled`
  conditions.
- Refactoring of some Helm elements to make them easier to use within
  the new reconciler logic.
- Integration tests that solely rely on `testenv` and do not
  use Ginkgo.

There are a couple of TODOs marked in-code, these are suggestions for
the future and should be non-blocking.
In addition to the TODOs, more complex and/or edge-case test scenarios
may be added as well.

Signed-off-by: Hidde Beydals <hello@hidde.co>
@hiddeco hiddeco marked this pull request as ready for review August 12, 2021 09:49
Copy link
Member

@stefanprodan stefanprodan left a comment

Choose a reason for hiding this comment

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

LGTM

Thanks @hiddeco

@hiddeco hiddeco merged commit 7c95db8 into reconcilers-dev Aug 12, 2021
@hiddeco hiddeco deleted the helmrepository-reconciler branch August 12, 2021 12:12
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.

2 participants