Skip to content

Improve the osv.dev repo's folder structure #1714

@michaelkedar

Description

@michaelkedar

The repo is quite messy and it's hard to know where things are.
The current state of things (from my understanding):

folder what
deployment/ Terraform, Cloud Deploy & App Engine config files, a few Cloud Build yamls, old (no longer used?) api-staging and api-test Cloud Run configs
docker/ CI docker files (ci, deployment, terraform), indexer, and worker/importer/exporter code & docker files, worker-base docker files
docs/ Jekyll files, build_swagger.py, tools.go
gcp/api OSV API server files (including files for the local ESP), protobuf files in /v1
gcp/appengine Mostly the backend of the osv.dev website, with the frontend in frontend3. Blog entires. App Engine Cron Handlers (to be removed). Also has the datastore index.yaml
gcp/functions The Cloud Function for publishing PyPI vulnerabilities, unmaintained
osv/ Main Python library, used in basically all Python services. Include ecosystem helpers and Datastore model definitions
tools/ Misc scripts/tools, mostly intended for development (datastore stuff, linting), but also the indexer-api-caller for indexer calling
vulnfeeds/ Go module for (mostly) the NVD CVE conversion, also the Alpine feed converter, and the Debian feed converter in tools/debian (which is written in Python)

It'd be nice to untangle this to have a clearer structure for each component of OSV (especially the docker/ stuff).

Metadata

Metadata

Assignees

No one assigned

    Labels

    backlogImportant but currently unprioritizedcleanupCode hygiene and cleanuptechdebtTechnical debt to be paid down

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions