source-controller/controllers
Hidde Beydals 89ba8374b6 Rewrite `BucketReconciler` to new standards
This commit rewrites the `BucketReconciler` 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.
- Refactor of reconciler logic, including more efficient detection of
  changes to bucket objects by making use of the etag data available,
  and downloading of object files in parallel with a limited number of
  workers (4).
- 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>
2022-02-23 12:35:30 +01:00
..
testdata Rewrite `GitRepositoryReconciler` to new standards 2022-02-23 12:35:30 +01:00
artifact.go Introduce `artifactSet` to replace `hasArtifactUpdated` 2022-02-23 12:35:30 +01:00
artifact_matchers_test.go Add gomega matcher for artifact 2022-02-23 12:35:30 +01:00
artifact_test.go Introduce `artifactSet` to replace `hasArtifactUpdated` 2022-02-23 12:35:30 +01:00
bucket_controller.go Rewrite `BucketReconciler` to new standards 2022-02-23 12:35:30 +01:00
bucket_controller_test.go Rewrite `BucketReconciler` to new standards 2022-02-23 12:35:30 +01:00
gitrepository_controller.go gitrepo: Fix reconcileInclude() includes 2022-02-23 12:35:30 +01:00
gitrepository_controller_test.go gitrepo: Fix reconcileInclude() includes 2022-02-23 12:35:30 +01:00
helmchart_controller.go Implement new runtime interfaces, prepare testenv 2022-02-23 12:35:30 +01:00
helmchart_controller_test.go Implement new runtime interfaces, prepare testenv 2022-02-23 12:35:30 +01:00
helmrepository_controller.go Implement new runtime interfaces, prepare testenv 2022-02-23 12:35:30 +01:00
helmrepository_controller_test.go Implement new runtime interfaces, prepare testenv 2022-02-23 12:35:30 +01:00
legacy_suite_test.go Rewrite `GitRepositoryReconciler` to new standards 2022-02-23 12:35:30 +01:00
source_predicate.go Switch to v1beta2 API package 2022-02-23 12:35:25 +01:00
storage.go Implement new runtime interfaces, prepare testenv 2022-02-23 12:35:30 +01:00
storage_test.go Switch to v1beta2 API package 2022-02-23 12:35:25 +01:00
suite_test.go Rewrite `BucketReconciler` to new standards 2022-02-23 12:35:30 +01:00