Skip to content

shardbox/shardbox-core

Repository files navigation

shardbox-core

Shards database, collecting shard repositories, releases and dependencies.

Installation

Prerequisites

  • Crystal (1.0.0 or later)
  • PostgreSQL database (version 12)
  • dbmate for database migrations

Database

PostgreSQL databases needs to be created manually.

Connection configuration is read from environment variables.

  • development database: DATABASE_URL
  • testing database: TEST_DATABASE_URL (only for running tests)

Install database schema:

  • make db - development database
  • make test_db - test database

Shard Dependencies

Run shards install to install dependencies.

Usage

Run make bin/worker to build the worker executable.

  • bin/worker import_catalog https://github.com/shardbox/catalog: Reads catalog description from the catalog repository and imports shards to the database.
  • bin/worker sync_repos: Synchronizes data from git repositories to database for all repositories not synced in the last 24 hours or never synced at all. Recommended to be run every hour.
  • bin/worker updated_metrics: Updates shard metrics in the database. Should be run once per day.
  • bin/worker loop starts a worker loop which schedules regular sync_repos and update_metrics jobs. It also listens to notifications sent through PostgreSQL notify channels in order to trigger catalog import.

A web application for browsing the database is available at https://github.com/shardbox/shardbox-web

Development

Run make test to execute the spec suite.

Contributing

  1. Fork it (https://github.com/shardbox/shardbox-web/fork)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Contributors

Contributors 2

  •  
  •  
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy