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

✨ Multi-stage cluster addons and hook server #183

Merged
merged 31 commits into from
Jun 28, 2024
Merged

✨ Multi-stage cluster addons and hook server #183

merged 31 commits into from
Jun 28, 2024

Commits on Jun 24, 2024

  1. enable CI on addons branch (#52)

    this commit enables CI on addons branch.
    
    Signed-off-by: Anurag <[email protected]>
    kranurag7 authored and janiskemper committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    863d3b3 View commit details
    Browse the repository at this point in the history
  2. Add runtime hook server

    Signed-off-by: Aniruddha Basak <[email protected]>
    aniruddha2000 authored and janiskemper committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    4189514 View commit details
    Browse the repository at this point in the history
  3. ✨ Adapt new cluster stack convention

    Adapt controller with runtime sdk
    
    - API change for hook
    - Control loop for new way of cluster addon
    - fix hook server
    - update packages
    
    Signed-off-by: Aniruddha Basak <[email protected]>
    aniruddha2000 authored and janiskemper committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    6f43c23 View commit details
    Browse the repository at this point in the history
  4. 🐛 Fix hook server service account and scheme

    Update the hook sever service role
    
    Signed-off-by: Aniruddha Basak <[email protected]>
    aniruddha2000 authored and janiskemper committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    b50680f View commit details
    Browse the repository at this point in the history
  5. ✨ Add manual upgrade if no k8s version is changed (#33)

    Add manual upgrade if no k8s version is changed
    
    Signed-off-by: Aniruddha Basak <[email protected]>
    aniruddha2000 authored and janiskemper committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    c038dec View commit details
    Browse the repository at this point in the history
  6. Update spec.cluster stack only after after controlplane is initialize…

    …d and after cluster upgrade
    
    Signed-off-by: Aniruddha Basak <[email protected]>
    aniruddha2000 authored and janiskemper committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    c96d079 View commit details
    Browse the repository at this point in the history
  7. Delete old object when cluster upgrade

    - Download old cluster stack release if not present in the pod
    
    Signed-off-by: Aniruddha Basak <[email protected]>
    aniruddha2000 authored and janiskemper committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    69ce1dc View commit details
    Browse the repository at this point in the history
  8. use scs capd image while using docker provider

    users on fedora using btrfs filesystem were having issues with capd and
    that was fixed on main and it requires building your own image and using
    the same here for now.
    
    I tested it by building the image locally and now I don't see any error.
    This will be fixed when we upgrade to 1.6.3 or later version.
    As of now, we will rely on image built from CAPI main branch and pushed
    to ghcr.io/sovereigncloudstack/capd with 1.0.5 tag.
    
    Signed-off-by: kranurag7 <[email protected]>
    kranurag7 authored and janiskemper committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    f15f28a View commit details
    Browse the repository at this point in the history
  9. ✨ Add hook server into same container as operator

    Add hook server into same container as operator
    
    Adding the hook server into the same container as CSO
    Signed-off-by: janiskemper <[email protected]>
    janiskemper committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    46f1ac5 View commit details
    Browse the repository at this point in the history
  10. Update kustomization var names

    Signed-off-by: Aniruddha Basak <[email protected]>
    aniruddha2000 authored and janiskemper committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    da3ca9d View commit details
    Browse the repository at this point in the history
  11. Remove helmchartstatus after hook is finished

    Signed-off-by: Aniruddha Basak <[email protected]>
    aniruddha2000 authored and janiskemper committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    108de82 View commit details
    Browse the repository at this point in the history
  12. Add debug logs for the multi stage addon

    Add debug log information in the addon controller
    
    Signed-off-by: Aniruddha Basak <[email protected]>
    aniruddha2000 authored and janiskemper committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    f5a34f9 View commit details
    Browse the repository at this point in the history
  13. ✨ Add status resources for the helm charts

    Adding status.resources
    Signed-off-by: janiskemper <[email protected]>
    janiskemper committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    2b9f050 View commit details
    Browse the repository at this point in the history
  14. 🐛 Fix overwrite yaml support

    Fix overwrite yaml support
    
    Signed-off-by: janiskemper <[email protected]>
    janiskemper committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    3b7c444 View commit details
    Browse the repository at this point in the history
  15. 🌱 Remove kubernetes version from cluster addon api

    use old release kubernetes version from the metadata.yaml
    
    Signed-off-by: janiskemper <[email protected]>
    janiskemper committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    6d68147 View commit details
    Browse the repository at this point in the history
  16. 🌱 Remove status.currentHook from the cluster addon

    Remove status.currentHook from the cluster addon
    
    Signed-off-by: janiskemper <[email protected]>
    janiskemper committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    201e62d View commit details
    Browse the repository at this point in the history
  17. 🐛 Fix reset of HelmChartStatus of ClusterAddon

    In the previous PR we introduced a bug that resets the status in every
    reconcile loop as long as a hook is specified.
    
    However, we only want to reset it once when the hook is new. This commit
    introduces the same.
    
    Signed-off-by: janiskemper <[email protected]>
    janiskemper committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    d74e76a View commit details
    Browse the repository at this point in the history
  18. 🌱 Refactor HelmChartStatus

    Refactor HelmChartStatus so that it is more user-friendly and always
    shows the appropriate phase we are in.
    
    Signed-off-by: janiskemper <[email protected]>
    janiskemper committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    3b5eef5 View commit details
    Browse the repository at this point in the history
  19. Fix untar of old cluster stacks

    Signed-off-by: Aniruddha Basak <[email protected]>
    aniruddha2000 authored and janiskemper committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    31b3490 View commit details
    Browse the repository at this point in the history
  20. 🌱 Clean up resources on upgrade without k8s change

    Clean up resources for upgrades that do not trigger the hook server
    because they don't upgrade the Kubernetes version
    Signed-off-by: janiskemper <[email protected]>
    janiskemper committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    fe86746 View commit details
    Browse the repository at this point in the history
  21. 🐛 Fix lint and bugs

    Fixing bug that diff of old clusteraddons and new clusteraddons was
    calculated wrongly due to issues with pointers and for loops.
    
    Fixing the linting for the multi-stage cluster addons feature.
    
    Fix the extension hooks that didn't work properly until now. They should
    only update the clusteraddon once.
    
    Add hook server to localmode config.
    
    Update to yaml3 package.
    
    Allow missing values prefix in overwrite.yaml.
    
    Signed-off-by: janiskemper <[email protected]>
    janiskemper committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    8651216 View commit details
    Browse the repository at this point in the history
  22. 🌱 Set clusterAddon on ready only if required

    Currently, we set the clusterAddon on ready always. we want to do that
    only at the end of a flow.
    
    Signed-off-by: janiskemper <[email protected]>
    janiskemper committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    8305e73 View commit details
    Browse the repository at this point in the history
  23. 🌱 Add condition if waiting for hook server

    Adding a condition that indicates that we wait for the hook server
    or that the hook server is responsive.
    
    Signed-off-by: janiskemper <[email protected]>
    janiskemper committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    b8df49e View commit details
    Browse the repository at this point in the history
  24. Add reset of hook server in case where an upgrade happens that does not

    update the Kubernetes version
    
    Signed-off-by: Aniruddha Basak <[email protected]>
    aniruddha2000 authored and janiskemper committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    eeccb83 View commit details
    Browse the repository at this point in the history
  25. Rename helmChartName to Name

    Signed-off-by: Aniruddha Basak <[email protected]>
    aniruddha2000 authored and janiskemper committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    a508af5 View commit details
    Browse the repository at this point in the history
  26. Delete failed to evaluate CEL condition on success

    Signed-off-by: Aniruddha Basak <[email protected]>
    aniruddha2000 authored and janiskemper committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    1ea89c4 View commit details
    Browse the repository at this point in the history
  27. 🌱 Add Finalizer for ClusterAddon object

    Finalizer for ClusterAddon object to block deletion if Cluster exists
    
    Signed-off-by: janiskemper <[email protected]>
    janiskemper committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    61bb596 View commit details
    Browse the repository at this point in the history
  28. ✨ Add condition for Helm operations

    Adding a new condition that gives precise information about the status
    of the operations regarding helm templating
    
    Signed-off-by: janiskemper <[email protected]>
    janiskemper committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    c6cfdfd View commit details
    Browse the repository at this point in the history

Commits on Jun 26, 2024

  1. 🌱 Fix linting, tests and prepare for merge

    Fix linting in new clusteraddon-related files that we changed in the
    feature branch.
    
    Fixing unit tests.
    
    Prepare feature branch to merge by going through changes of PR and
    validating them. Fixing some small stuff, as well as changing
    unnecessary or temporary changes back to the state of the main branch.
    
    Signed-off-by: janiskemper <[email protected]>
    janiskemper committed Jun 26, 2024
    Configuration menu
    Copy the full SHA
    3ac74a0 View commit details
    Browse the repository at this point in the history

Commits on Jun 28, 2024

  1. Removing the temporary shouldDelete option

    Removing the shouldDelete option in kubeClient.Apply that was not used
    anyway and always set on true.
    
    Co-authored-by: janiskemper <[email protected]>
    Signed-off-by: Aniruddha Basak <[email protected]>
    aniruddha2000 and janiskemper committed Jun 28, 2024
    Configuration menu
    Copy the full SHA
    594c5e8 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #233 from SovereignCloudStack/ani/issues/232

    🌱 Removing the temporary shouldDelete option to kubeClient.Apply that was not used anyway and always set on true
    janiskemper authored Jun 28, 2024
    Configuration menu
    Copy the full SHA
    346b8cf View commit details
    Browse the repository at this point in the history