Skip to content

Latest commit

 

History

History
66 lines (46 loc) · 1.89 KB

DEVELOPING.md

File metadata and controls

66 lines (46 loc) · 1.89 KB

Development Guide

This monorepo contains several independent processes.

  • deps is a command line tool for interacting with the deps.cloud API.
  • extractor accepts manifest files and extracts relationships from them.
  • gateway provides both RESTful and gRPC interfaces.
  • indexer crawls repositories, calling the extractor and tracker appropriately.
  • tracker manages the dependency graph built on top of common databases.

Cloning projects

For most development on this project, you will need one repositories.

# setup a workspace for all depscloud
mkdir depscloud && cd $_

# clone necessary repositories
git clone [email protected]:depscloud/depscloud.git

Building changes

Every component can be built using docker. When building a container locally it's tagged using the latest tag. This allows it to be deployed using our docker configuration. A common workflow is to build the changes to your container and redeploy the docker stack.

# make [name]/docker
make tracker/docker

# make run/docker[/platform]
make run/docker

By default, we run with a SQLite configuration. You can run other platforms like CockroachDB, MariaDB, PostgreSQL, and MySQL as well.

Rebuilding the base images

These images provide the foundation for building the rest of the application. The default is to build the base images without a registry prefix.

make dockerfiles

To build the base images locally tagged as required for the downstream builds set USE_REGISTRY=1.

make USE_REGISTRY=1 dockerfiles

Remember that an explicit pull or removal of the locally built images maybe neccessary to use the public versions.

docker pull ocr.sh/depscloud/base
docker pull ocr.sh/depscloud/devbase