redhat-developer / odo

odo - Developer-focused CLI for fast & iterative container-based application development on Podman and Kubernetes. Implementation of the open Devfile standard.
https://odo.dev
Apache License 2.0
777 stars 242 forks source link

Create Backstage Plugin for Odo CLI to Bootstrap Application Development with Devfiles #7091

Open mohitsuman opened 10 months ago

mohitsuman commented 10 months ago

/kind feature

As part of improving the developer experience and enabling efficient application development, we propose creating a Backstage plugin that integrates with the Odo CLI to facilitate the quick and easy bootstrapping of applications using devfiles. Devfiles provide a standardized way to describe development environments, making it easier for developers to get started with projects.

Acceptance Criteria: To consider this issue complete, the following criteria should be met:

  1. Backstage Plugin Creation:

  2. Integration with Odo CLI:

  3. Application Bootstrap using Devfiles:

    • [x] Enable the plugin to support the bootstrapping of applications using devfiles. (UPDATE: we have implemented an example of Golden Path Template in https://github.com/redhat-developer/odo/issues/7117 to bootstrap new starter project application from Backstage. Next thing that could be done would be to suggest/create a Devfile for an existing application).
    • [ ] #7105
  4. Testing and Quality Assurance:

    • [ ] Include comprehensive unit and integration tests to verify the functionality of the plugin.
    • [ ] Ensure that the plugin functions correctly with a variety of devfile configurations.
  5. Documentation:

    • [ ] Document the usage of the Backstage plugin in the official Backstage documentation.
    • [x] Include detailed instructions on how to configure and use the plugin for application development with devfiles. (UPDATE: Work done so far is documented: Template, Custom Extensions, Devfile Builder in React).
  6. Community Engagement:

    • [ ] Promote the availability of this new Backstage plugin within relevant communities and forums.
  7. Compatibility:

    • [ ] Ensure that the plugin is compatible with the latest versions of Backstage and Odo CLI.

Sub-stories/tasks:

rm3l commented 10 months ago

Community Call (2023-09-25)

rm3l commented 9 months ago

Status Update (as of Oct 19, 2023):

Based on the various discussions that we had, the work has been tackled from two perspectives:

Acceptance Criteria: To consider this issue complete, the following criteria should be met:

  1. Backstage Plugin Creation:

    • [ ] Develop a new Backstage plugin dedicated to integrating with the Odo CLI.

A custom action plugin has been implemented in https://github.com/redhat-developer/odo/issues/7116, with the goal of using that to execute odo from a Backstage Template (so it would be a means to integrate the Odo CLI). It currently assumes the odo binary is installed in the environment the Backstage instance is running in. As commented out in https://github.com/redhat-developer/odo/issues/7116#issuecomment-1771110834, we still need to think of a way to distribute odo alongside the plugin module. Anyway, to integrate the Devfile Builder Editor (Frontend Plugin) into Backstage, we would need to implement a specific Backend Plugin (https://github.com/redhat-developer/odo/issues/7107). We can think about the odo distribution while working on this specific Backend Plugin..

  • [x] Ensure that the plugin is well-documented and follows best practices for Backstage plugin development.

Done in https://github.com/rm3l/odo-backstage-golden-path-template and https://github.com/rm3l/backstage-odo-devfile-plugin

  • [ ] Add plugin to Janus community

    1. Integration with Odo CLI:
  • [ ] Implement integration with the Odo CLI, allowing developers to interact with the CLI from within Backstage.

    1. Application Bootstrap using Devfiles:
  • [ ] Enable the plugin to support the bootstrapping of applications using devfiles.

Bootstrapping possible via https://github.com/redhat-developer/odo/issues/7114. See https://github.com/redhat-developer/odo/issues/7114#issuecomment-1771129019 for the remaining items. Not covered yet: creating Devfile for existing applications with already existing source code.

  1. Testing and Quality Assurance:

    • [ ] Include comprehensive unit and integration tests to verify the functionality of the plugin.
    • [ ] Ensure that the plugin functions correctly with a variety of devfile configurations.
  2. Documentation:

    • [ ] Document the usage of the Backstage plugin in the official Backstage documentation.
    • [x] Include detailed instructions on how to configure and use the plugin for application development with devfiles.
  3. Community Engagement:

    • [ ] Promote the availability of this new Backstage plugin within relevant communities and forums.
  4. Compatibility:

    • [x] Ensure that the plugin is compatible with the latest versions of Backstage and Odo CLI.
github-actions[bot] commented 4 months ago

A friendly reminder that this issue had no activity for 90 days. Stale issues will be closed after an additional 30 days of inactivity.

rm3l commented 4 months ago

/remove-lifecycle stale /lifecycle frozen