eclipse-symphony / symphony

Symphony project
MIT License
24 stars 17 forks source link

[API] Merge ADO changes to OSS #220

Closed msftcoderdjw closed 4 weeks ago

msftcoderdjw commented 1 month ago

Major changes:

- api:

  1. Introduce api client (api client can support username/password and service account token based auth)
  2. Refactoring jobs-manager, a. Using api client for api calls (api client can support username/password and service account token based auth) b. Besides instance and target, support reconciling "deployment" which is generated by symphony-k8s in next PR. (The background of introducing this is, we want symphony-k8s to manage whether it needs queue a job or not. The end users can specify reconciliation policy in CR, symphony-k8s will respect the setting and decide whether it needs to queue a new job based on deployment spec hash.)
  3. Refine logging and report metrics in solution-manager, support reporting progress in solution-manager.
  4. Refactor helm target provider, fixed helm component namespace issue (issue #222 ) and added managed identity support.
  5. Refine the error handling and logging in configmap, docker, http, ingress, script, proxy, mqtt target provider.
  6. Refactor kubectl and k8s target provider for better modulization.
  7. Add metrics report in major target providers, e.g. kubectl.
  8. Use constant values in many vendors.

- k8s:

  1. Use ginkgo V2.
  2. Align go modules.
  3. Refine magefiles.
  4. Further k8s changes will be included in another PR.

- go.yml actions:

  1. Use mage function to trigger UT to keep consistent test experience in github actions and developer experience.
  2. Fix some test issues found.

- integration.yml actions:

  1. Export runtime symphony api and k8s logs to artifacts for offline debugging.
RemindD commented 1 month ago

Do you include deploymentHash comparison in this PR or split it to another one?

msftcoderdjw commented 1 month ago

Do you include deploymentHash comparison in this PR or split it to another one?

It is in another PR. deploymentHash comparison is used for controller to judge whether it needs to queue a new job or not.