source-controller/controllers
Hidde Beydals e26a0c3b6a 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-15 15:55:44 +05:30
..
testdata Rewrite `GitRepositoryReconciler` to new standards 2022-02-15 15:42:14 +05:30
artifact.go Introduce `artifactSet` to replace `hasArtifactUpdated` 2022-02-15 15:40:57 +05:30
artifact_matchers_test.go Add gomega matcher for artifact 2022-02-15 15:40:57 +05:30
artifact_test.go Introduce `artifactSet` to replace `hasArtifactUpdated` 2022-02-15 15:40:57 +05:30
bucket_controller.go Rewrite `BucketReconciler` to new standards 2022-02-15 15:55:44 +05:30
bucket_controller_test.go Rewrite `BucketReconciler` to new standards 2022-02-15 15:55:44 +05:30
gitrepository_controller.go gitrepo: Fix reconcileInclude() includes 2022-02-15 15:55:44 +05:30
gitrepository_controller_test.go gitrepo: Fix reconcileInclude() includes 2022-02-15 15:55:44 +05:30
helmchart_controller.go Implement new runtime interfaces, prepare testenv 2022-02-15 15:40:57 +05:30
helmchart_controller_test.go Implement new runtime interfaces, prepare testenv 2022-02-15 15:40:57 +05:30
helmrepository_controller.go Implement new runtime interfaces, prepare testenv 2022-02-15 15:40:57 +05:30
helmrepository_controller_test.go Implement new runtime interfaces, prepare testenv 2022-02-15 15:40:57 +05:30
legacy_suite_test.go Rewrite `GitRepositoryReconciler` to new standards 2022-02-15 15:42:14 +05:30
source_predicate.go Switch to v1beta2 API package 2022-02-15 15:40:57 +05:30
storage.go Implement new runtime interfaces, prepare testenv 2022-02-15 15:40:57 +05:30
storage_test.go Switch to v1beta2 API package 2022-02-15 15:40:57 +05:30
suite_test.go Rewrite `BucketReconciler` to new standards 2022-02-15 15:55:44 +05:30