eclipse-symphony / symphony

Symphony project
MIT License
24 stars 17 forks source link

[K8S] Merge ADO changes to OSS #233

Closed msftcoderdjw closed 3 weeks ago

msftcoderdjw commented 3 weeks ago

k8s

  1. Implement a uniform deployment reconciler for instance and target controller since the logic are almost the same. Deployment reconciler has better modulization which is better for test mocking.
  2. Report metrics in deployment reconciler.
  3. Support reconciliation policy in target/instance resource. Deployment reconciler will calculate deployment hash in controller and decide whether to queue a job to symphony-api.
  4. Add test mocks. Add and enable Ginkgo tests in symphony-k8s. K8S package UT coverage is improved from 4.4% to 37.1%.
  5. Start to use apiclient in deployment reconciler.
  6. Watch target changes in instance_controller.go (Current instance_contoller only watches solution changes).
  7. Refactor webhooks for better modularization and add metrics in webhooks.
  8. Remove version in target/instance spec since we will have new versioning implementation soon. (current version property is read-only and not used.)

api

  1. Remove one redundant line in solution-manager.go
  2. Remove version in target/instance since we will have new versioning implementation soon. (current version property is read-only and not used.)
  3. Add debug logs in k8s target provider.

packages

  1. Re-generate crd yaml to include reconciliation policy in target/instance resource.