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

MVP Roadmap #30

Open
38 of 49 tasks
UlisesGascon opened this issue Dec 5, 2024 · 0 comments
Open
38 of 49 tasks

MVP Roadmap #30

UlisesGascon opened this issue Dec 5, 2024 · 0 comments
Assignees

Comments

@UlisesGascon
Copy link
Contributor

UlisesGascon commented Dec 5, 2024

Goals

Before starting MVP development, we completed a Proof of Concept (POC) (official presentation, video, source code, slides).

The primary goal of the MVP is to deprecate the old POC and redesign its components based on the feedback collected during and after its presentation.

The MVP will also enable several critical capabilities as we transition toward the product development phase:

  • Enable external collaboration: Provide tools, guides, and a clear way to identify tasks for contributors. Avoid requiring high-level access to GitHub APIs or infrastructure access for contributions.
  • Support complex workflows: Allow repository content analysis, enabling operations beyond the HTTP API capabilities of the POC.
  • Smooth dashboard-website integration: Ensure seamless integration with the website.
  • Adopt a relational database: Move away from the local filesystem database in favor of a relational database with features like migrations and seeding for improved ergonomics.
  • Establish distinct environments: Create separate development and production environments to store and update calculated data from executors (e.g., long-running analyses like scorecards).
  • Generate and manage artifacts: Produce public/private artifacts from the analysis (e.g., results, alerts, tasks) and implement a notification system for relevant stakeholders.

Backlog

Milestone 1: Adopt a relational database and migrate away from the POC

Transition from a local filesystem database to a relational database with robust features like migrations and seeding.

Achieved

🔄 Milestone 2: Enable external collaboration

Provide tooling, guides, and accessible workflows to encourage contributor involvement without requiring high-level access.

Achieved

Pending

  • @UlisesGascon Setup regular working meetings (every 2w) with collaborators in the OpenJS foundation calendar
  • @UlisesGascon Onboard the first contributors to the project
  • @UlisesGascon Land at least one compliance check developed by the community (Carlos, Iñigo, Tobias, Alpi...)

Milestone 3: Improve website integration

Ensure seamless integration between the dashboard and the OpenJS Security Program Standards website.

Achieved

🔄 Milestone 4: Enable artifacts generation

Support the creation of artifacts such as reports, analysis results, and alerts, with mechanisms for notifying stakeholders.

Achieved

  • Include all the artifacts generation to an specific folder (/output/*) and avoid commit then by include a .gitignore rule

Pending

  • @UlisesGascon Add an script to send the generated artifacts to a private artifact directory (TBC)
  • @UlisesGascon Migrate the legacy POC scripts/templates to the MVP and ensure that we can at least generate the same markdown samples but using the database this time
  • @inigomarquinez brainstorm and generated web rich resources that can be embedded into the website (public dashboard information) as a POC

🔄 Milestone 5: Ensure compatibility with diverse checks

Support various types of checks, including manual tasks, automated workflows, and complex executors like long-running analyses.

Achieved

Pending

  • @UlisesGascon Create issues to split workload for adding compliance checks
  • @UlisesGascon build and land a complex compliance check that requires to run a child process against all the repositories like the OSSF scorecard or similar.

🔄 Milestone 6: Create development/production environments

Establish environments for storing and updating calculated data generated during execution.

Achieved
Not started yet

Pending

  • @UlisesGascon create a cloud resource that acts as artifact container
  • @UlisesGascon create an external database for production and staging environment
  • @UlisesGascon ensure that the database can be connected easily from the local environment so the complex checks can run in a distributed environment
  • @UlisesGascon to provide resources from his local selfhost environment for computational work
@UlisesGascon UlisesGascon added this to the MVP Version milestone Dec 5, 2024
@UlisesGascon UlisesGascon self-assigned this Dec 5, 2024
@UlisesGascon UlisesGascon pinned this issue Dec 5, 2024
@UlisesGascon UlisesGascon removed this from the Adopt a relational Database milestone Dec 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants