Skip to content

Implement a Deployer using kro #172

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

Open
12 of 18 tasks
frewilhelm opened this issue Apr 1, 2025 · 4 comments · May be fixed by #174
Open
12 of 18 tasks

Implement a Deployer using kro #172

frewilhelm opened this issue Apr 1, 2025 · 4 comments · May be fixed by #174
Assignees
Labels
kind/task small task, normally part of feature or epic

Comments

@frewilhelm
Copy link
Contributor

frewilhelm commented Apr 1, 2025

Description

Implement a Deployer using kro. This will eventually supersede #146, if the implementation works as expected.

The implementation is based on the findings from #164.

TODOs:

  • Remove Storage implementation

  • Remove localisation controller

  • Remove configuration controller

  • Create new OCM Deployer API

    • Takes a reference to a resource that points to a ResourceGraphDefinition and deploys it
  • Adjust current component API and controller

    • How do we publish the component-descriptors?
      • Do we even want to do this anymore?
        • Pro:
        • We could store the info in the status (could get big)
        • Con:
          • If we do that in the resource controller, then we have to redownload (and verify) every descriptor on a resource reconciliation (could be exhaustive)
  • Adjust current resource API and controller

    • Remove OCI Artifact and replace it with a location (e.g. reference [to an OCI repository/artifact, Helm Repository, GitHub Repository, ...])
  • Adjust e2e test with kro

    • Test with FluxCD
      • Simple: Deploy PodInfo with Helm and Kustomize
      • Localisation: Deploy PodInfo but replace image location in the deployment with a reference from a resource (from the OCM component that is available in the cluster as resource).
      • Configuration: Configure values using references from other k8s resources and a kro instance
  • Propagate status from RGD to Deployer (superseded to Propagate RGD status to OCMDeployer status #192)

  • Adjust deployment kustomization

Done Criteria

  • Code has been reviewed by other team members
  • Analysis of existing tests (Unit and Integration)
  • Unit Tests created for new code or existing Unit Tests updated
  • Integration Test Suite updated (includes deletion of existing unnecessary Integration Test and/or creation of new ones if required)
  • Successful demonstration in Review
@frewilhelm frewilhelm added kind/task small task, normally part of feature or epic needs/validation Validate the issue and assign a priority needs/refinement Discuss with the team and gain a shared understanding labels Apr 1, 2025
@frewilhelm frewilhelm self-assigned this Apr 1, 2025
@frewilhelm frewilhelm moved this from 🆕 ToDo to 🏗 In Progress in OCM Backlog Board Apr 1, 2025
@frewilhelm
Copy link
Contributor Author

Note:

Image

@frewilhelm frewilhelm linked a pull request Apr 2, 2025 that will close this issue
@ikhandamirov ikhandamirov changed the title (PoC) Implement a Deployer using kro Implement a Deployer using kro Apr 3, 2025
@ikhandamirov ikhandamirov removed needs/validation Validate the issue and assign a priority needs/refinement Discuss with the team and gain a shared understanding labels Apr 3, 2025
@frewilhelm
Copy link
Contributor Author

frewilhelm commented Apr 15, 2025

Needs another refinement to talk about the scope as there are things we could further implement. However, the question is if we should commit to this.

Open issues

  • Should OCMDeployer deploy more than only the rgd, e.g. raw manifests or what like.
  • How and what to propagate as status for the OCMDeployer resource

@frewilhelm frewilhelm added the needs/refinement Discuss with the team and gain a shared understanding label Apr 15, 2025
@frewilhelm
Copy link
Contributor Author

I created a gist and demo repository if somebody wants to check this out

@frewilhelm frewilhelm removed the needs/refinement Discuss with the team and gain a shared understanding label Apr 24, 2025
@frewilhelm
Copy link
Contributor Author

We opened #174 for review as the PRs is already pretty big. There are still some leftovers and follow-ups that we will address is other issues that will be linked in the Epic.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/task small task, normally part of feature or epic
Projects
Status: 🏗 In Progress
Development

Successfully merging a pull request may close this issue.

4 participants