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

Provide conversion webhook for CRDs #283

Merged
merged 6 commits into from
Mar 4, 2024
Merged

Provide conversion webhook for CRDs #283

merged 6 commits into from
Mar 4, 2024

Commits on Feb 23, 2024

  1. Provide conversion webhook for CRDs

    Webhook is called, whenever a CR is requested in a specific version.
    This allows for a better updating path, as old CRs are still useable.
    
    [conversion] Provide conversion java project:
    - A webhook that offers endpoints for the three CRD types
    - Is buildable as a runnable jar
    - Contains Mappers from all supported versions to a hub
    
    [common] Add Hub and previous version for all CRDs
    - The hub is a superset of all values of a CRD across all versions
    - Keep a copy of the old supported versions to transform back
    - This is useful, as this way the the old operator still works
    - Supported from these versions:
        - `AppDefintion.v1beta8`
        - `Session.v1beta6`
        - `Workspace.v1beta3`
    - To showcase the functionality update CRDs to new version:
        - Move status like fields to status:
            - `Session.v1beta7`: Move `url`, `lastActivity` and `error` fields
            from the spec to the status.
            - `Workspace.v1beta4`: Move the `error` field from the spec to the status.
            Also add the `error` field to `Workspace.v1beta3` as it was missing
    
        - Remove `timeout.strategy` from AppDefinition
            - `AppDefinition.v1beta9`: Removed `timeout.strategy` and `timeout.limit`
            is now just `timeout`. This was done, as there is only one Strategy left.
    
    [operator] Adjust operator so it works with the above changes.
    
    [service] Adjust service so it works with the above changes.
    
    [documentation] Add build command for `conversion-webhook`
    
    [.github] Add ci for `conversion-webhook`
    - Also fix publishing of new `next-version` (reusable typo)
    
    Contributed on behalf of STMicroelectronics
    Co-authored-by: Johannes Faltermeier <jfaltermeier@eclipsesource.com>
    sgraband committed Feb 23, 2024
    Configuration menu
    Copy the full SHA
    d575751 View commit details
    Browse the repository at this point in the history

Commits on Feb 28, 2024

  1. Provide conversion webhook for CRDs

    * add eclipse metadata to be consistent with other java components
    * open all projects in Theia IDE with Java once to update settings
    jfaltermeier committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    844e377 View commit details
    Browse the repository at this point in the history
  2. Provide conversion webhook for CRDs

    * add eclipse metadata to be consistent with other java components
    * open all projects in Theia IDE with Java once to update settings
    jfaltermeier committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    11f82bc View commit details
    Browse the repository at this point in the history
  3. Address review feedback

    Update `v1beta8` references to `v1beta9`.
    Fix `sessionSecret` in `SessionHub`.
    Fix tests.
    Use `org.jboss.logging.Logger` in conversion project.
    Also log the endpoints that were triggered.
    sgraband committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    9b3fdea View commit details
    Browse the repository at this point in the history

Commits on Mar 1, 2024

  1. Configuration menu
    Copy the full SHA
    e8b9afd View commit details
    Browse the repository at this point in the history
  2. Add default values for deprecated fields

    Fix minor issues in constructors.
    sgraband committed Mar 1, 2024
    Configuration menu
    Copy the full SHA
    3dd8f49 View commit details
    Browse the repository at this point in the history