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

feat: introduces OSSM plugin for KfDef #515

Closed
wants to merge 41 commits into from

Commits on Sep 6, 2023

  1. Configuration menu
    Copy the full SHA
    a0c3710 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    09f889f View commit details
    Browse the repository at this point in the history
  3. chore: bundle update

    bartoszmajsak committed Sep 6, 2023
    Configuration menu
    Copy the full SHA
    9d44088 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    e1b784d View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    0781cbf View commit details
    Browse the repository at this point in the history
  6. chore: migrate pre-existing data science projects (#1)

    * add data science migration to init
    
    Co-authored-by: Bartosz Majsak <[email protected]>
    cam-garrison and bartoszmajsak committed Sep 6, 2023
    Configuration menu
    Copy the full SHA
    1b7c664 View commit details
    Browse the repository at this point in the history
  7. feat(test): sets up testing for ossm plugin (#3)

    * chore: removes unused test setup
    
    * feat(test): sets up testing for ossm plugin
    
    * feat(make): adds test-ossm target
    bartoszmajsak committed Sep 6, 2023
    Configuration menu
    Copy the full SHA
    f518efb View commit details
    Browse the repository at this point in the history
  8. feat: handles cleanup by using owner ref and cleanup hook (#4)

    * feat: introduces OssmResourceTracker resource
    
    It is a cluster-scoped resource for tracking objects created by Ossm plugin.
    Primarily used as owner reference for resources created across namespaces
    so that they can be garbage collected by Kubernetes when they are not needed anymore.
    
    * feat: uses OssmResourceTracker to cleanup owned resources
    
    - adds cleanup hook for Delete phase of KfDef operator
    - moves k8s_utils code to ossm package to keep it in one place for future extraction of the logic
    
    * chore: renames plugin to OssmInstaller
    
    * chore: moves cleanup logic to single file
    
    * feat: handles token volume removal in SMCP
    
    * chore: adds plugin name as extra key-value to logger
    
    * feat: removes extAuthzProvider on deletion
    
    * chore: minor naming fixes
    bartoszmajsak committed Sep 6, 2023
    Configuration menu
    Copy the full SHA
    d2ae6bf View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    2b24dbe View commit details
    Browse the repository at this point in the history
  10. feat: embed templates into operator plugin (#5)

    embed templates to OSSM plugin
    
    Co-authored-by: Bartosz Majsak <[email protected]>
    cam-garrison and bartoszmajsak committed Sep 6, 2023
    Configuration menu
    Copy the full SHA
    d86f75e View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    a95952e View commit details
    Browse the repository at this point in the history
  12. fix(test): adds missing commas when constructing assertions

    they might have been removed in some merge (?)
    bartoszmajsak committed Sep 6, 2023
    Configuration menu
    Copy the full SHA
    93ce890 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    caf1ace View commit details
    Browse the repository at this point in the history
  14. feat: check pre-requisites on OSSM plugin init (#7)

    * add prereq checks to init, add tests
    ---------
    
    Co-authored-by: Bartosz Majsak <[email protected]>
    cam-garrison and bartoszmajsak committed Sep 6, 2023
    Configuration menu
    Copy the full SHA
    79f5f54 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    dbecd77 View commit details
    Browse the repository at this point in the history
  16. feat: introduces Features DSL (#8)

    - easy builder to define what particular feature consists of
    - enables the use of existing YAML manifests
    - allows the definition of additional resources programmatically with a simple func registration
    - cleanup functions are now part of each feature and are called one after the other
    - each feature has its own resource tracker object
    - ability to test smaller parts of the whole thing by using `Feature`s in integration tests
    bartoszmajsak committed Sep 6, 2023
    Configuration menu
    Copy the full SHA
    3043502 View commit details
    Browse the repository at this point in the history
  17. feat: introduces conditional control plane installation (#10)

    * chore: extracts smcp GVR to a var
    
    and reuse it in smcp-related funcs
    
    * fix: returns err on oauth creation failure
    
    instead of nil by mistake
    
    * feat: adds ability to enable feature based on predicates
    
    in certain cases this information can only be determined at runtime, for example based on user-defined values of the plugin spec.
    
    * feat: introduces control plane installation
    
    coupled with wait condition
    
    * fix: makes feature enabled by default
    
    * chore: reworks smcp creation
    
    It relies on owner reference so can be cleaned up as other resources
    
    * fix: applies cleanups only if feature is enabled
    
    Additionally moves OssmResourceTracker creation to .Apply func
    
    * feat: reworks plugin integration to use Apply and Delete funcs of KfApp
    
    This way we can cleanup the resources in case deploying service mesh manifests because creating those in Generate phase leaves them hanging due to failing Delete hook
    
    * fix(reconcile): corrects KfDef status in case of any error
    
    Additionally propagates the error through reconcile to keep trying, as it was ignored.
    
    * fix: reworks SMCP component readiness check
    
    * chore: improves KfApp func docs
    
    * chore: reworks logging in verifiers
    
    * chore: simplifies CRD existence check
    
    * chore: adds tests for feature enablement
    
    * fix: sets interval for SMCP polling to 5s
    
    * fix: handles types which are derived for built-in ones
    
    for example `type InstallationMode string` was previously failing when
    converting the default value defined in a custom tag. Now there's a
    check performed and if value can be convereted to a given type it will.
    
    In all other cases it will return an error.
    
    * fix: sets default control plane installation mode rely on existing
    installation
    
    Proposed installation modes are:
    
    - minimal
    - pre-installed
    bartoszmajsak committed Sep 6, 2023
    Configuration menu
    Copy the full SHA
    e3cd297 View commit details
    Browse the repository at this point in the history
  18. feat: allows to define token audience

    Without this setting certain environments are not working,
    as service account issuer might be set to different endpoint than kubernetes.default.svc
    bartoszmajsak committed Sep 6, 2023
    Configuration menu
    Copy the full SHA
    1f84738 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    80b9da6 View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    d741133 View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    2b72020 View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    d763462 View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    468a52f View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    22e5653 View commit details
    Browse the repository at this point in the history
  25. feat: splits authz and mesh dashboard config into two features

    added logic to wait for the pods to be ready, otherwise patching IOR settings to disabled might not get updated when istio resources are created leading to duplicated route creation
    bartoszmajsak committed Sep 6, 2023
    Configuration menu
    Copy the full SHA
    1d45f75 View commit details
    Browse the repository at this point in the history
  26. chore: waits for control plane to be ready

    and unifies logging by adding feature.Name to most of the logs
    bartoszmajsak committed Sep 6, 2023
    Configuration menu
    Copy the full SHA
    788cc3f View commit details
    Browse the repository at this point in the history
  27. Configuration menu
    Copy the full SHA
    85ae14e View commit details
    Browse the repository at this point in the history
  28. chore: removes unnecessary changes

    - autoformatting
    - align with latest master changes
    bartoszmajsak committed Sep 6, 2023
    Configuration menu
    Copy the full SHA
    1da1b38 View commit details
    Browse the repository at this point in the history
  29. fix: disables autoinject (#9)

    Co-authored-by: Bartosz Majsak <[email protected]>
    cam-garrison and bartoszmajsak committed Sep 6, 2023
    Configuration menu
    Copy the full SHA
    0f4b6bd View commit details
    Browse the repository at this point in the history
  30. chore: temporarily removes @camgarrison from OWNERS

    reason: he is afk for next 2 weeks and will not be able to accept invite to the org, which potentially can make prow check unhappy
    bartoszmajsak committed Sep 6, 2023
    Configuration menu
    Copy the full SHA
    3489840 View commit details
    Browse the repository at this point in the history
  31. Configuration menu
    Copy the full SHA
    0c0f754 View commit details
    Browse the repository at this point in the history

Commits on Sep 7, 2023

  1. fix(dashboard): fetches config for modifaction from a ns instead of a…

    … cluster
    
    without this fix we could fetch OdhDashboardConfig from different ns and try to perform an update on selected app ns, which leads to error and blocks operator from performing entire OSSM setup.
    
    Oh well...
    bartoszmajsak committed Sep 7, 2023
    Configuration menu
    Copy the full SHA
    720e69b View commit details
    Browse the repository at this point in the history
  2. fix(routing): makes host prefixed with namespace name

    otherwise we create route for ns.domain but expects hosts to be opendatahub.domain which obviously does not work. Doh!
    bartoszmajsak committed Sep 7, 2023
    Configuration menu
    Copy the full SHA
    eecc744 View commit details
    Browse the repository at this point in the history
  3. feat: exposes kubeflow env vars in a custom file

    Creates ossm.env in each overlays/service-mesh of defined apps so that it can be used e.g. to overwrite configmap values
    bartoszmajsak committed Sep 7, 2023
    Configuration menu
    Copy the full SHA
    76455ce View commit details
    Browse the repository at this point in the history
  4. chore: updates bundle

    bartoszmajsak committed Sep 7, 2023
    Configuration menu
    Copy the full SHA
    56bd16a View commit details
    Browse the repository at this point in the history

Commits on Sep 8, 2023

  1. Configuration menu
    Copy the full SHA
    6cf1a73 View commit details
    Browse the repository at this point in the history

Commits on Sep 13, 2023

  1. Configuration menu
    Copy the full SHA
    3c1b35d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5e061a4 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    e409f17 View commit details
    Browse the repository at this point in the history

Commits on Sep 19, 2023

  1. chore: adds Cameron back to OWNERS

    Co-authored-by: Cameron Garrison <[email protected]>
    bartoszmajsak and cam-garrison authored Sep 19, 2023
    Configuration menu
    Copy the full SHA
    5fad574 View commit details
    Browse the repository at this point in the history
  2. chore: adds Cameron back to OWNERS

    Co-authored-by: Cameron Garrison <[email protected]>
    bartoszmajsak and cam-garrison authored Sep 19, 2023
    Configuration menu
    Copy the full SHA
    35460f5 View commit details
    Browse the repository at this point in the history