Giter Site home page Giter Site logo

grjan7 / clomonitor Goto Github PK

View Code? Open in Web Editor NEW

This project forked from cncf/clomonitor

0.0 0.0 0.0 21.46 MB

CLOMonitor is a tool that periodically checks open source projects repositories to verify they meet certain project health best practices

Home Page: https://clomonitor.io

License: Apache License 2.0

Shell 0.17% JavaScript 0.16% Rust 36.59% TypeScript 40.17% CSS 2.35% HTML 8.47% PLpgSQL 11.08% Dockerfile 0.68% Mustache 0.33%

clomonitor's Introduction

CLOMonitor

Gitpod Ready-to-Code

CLOMonitor is a tool that periodically checks open source projects repositories to verify they meet certain project health best practices.


Projects

clomonitor.io lists most of the projects in the CNCF, LF AI & DATA and CDF foundations. If you notice that a project that belongs to any of those foundations is missing or has some incorrect or missing information, please feel free to submit a pull request with your suggested changes. The YAML data files for the registered foundations can be found in this repository, at the /data path. CLOMonitor checks periodically those data files and applies the corresponding changes as needed.

Every project featured on clomonitor.io will be provided with a badge and report summary that is ready for use in your project repos. Simply click the menu dropdown on your project page and copy+paste the code snippet into your markdown as desired. An example can be seen in the image shown above.

Checks

CLOMonitor runs sets of checks periodically on all the repositories registered in the database. These checks are run every hour, provided the repository has changed since the last time it was checked. In the case of repositories that don't change often, we make sure that they are checked at least once a day anyway. This way we keep reports up to date with the latest checks additions and improvements.

Checks are organized in check sets. Each check set defines a number of checks that will be run on the repository and one or more check sets can be applied to a single repository. At the moment the following sets are supported: code, code-lite, community and docs. Please see the checks documentation for more details.

Linter CLI

The CLOMonitor's linter can also be run locally or from CI workflows. This can be done by using the container image provided or by building the CLI tool from the source.

CLOMonitor delegates some of the security checks to OpenSSF Scorecard. When building from the source, you'll need to install it before running clomonitor-linter locally. The container image already includes the scorecard binary, so if you opt for using it you are ready to go.

Both CLOMonitor and Scorecard use the GitHub GraphQL API for some checks, which requires authentication. A GitHub token (with public_repo scope) must be provided via the GITHUB_TOKEN environment variable to authenticate those requests.

Using Docker

You can run the linter CLI tool from Docker by running the following command:

$ export GITHUB_TOKEN=<your token>

$ docker run -it \
  --volume $PWD:/repo \
  --env GITHUB_TOKEN=$GITHUB_TOKEN \
  public.ecr.aws/clomonitor/linter clomonitor-linter \
    --path /repo \
    --url https://github.com/<org>/<repo>

Note: the command assumes the current working directory is the repo you would like to lint. Please adjust the repo url as needed.

CI workflow integration

An example of how to integrate CLOMonitor's linter with GitHub Actions can be found in the Artifact Hub repository.

Building from source

You can also build the CLOMonitor's linter CLI tool from the source by using Cargo, the Rust package manager:

$ cargo install --git https://github.com/cncf/clomonitor clomonitor-linter

$ clomonitor-linter --help

Contributing

Please see CONTRIBUTING.md for more details.

You can find some general information about how to work on this repo in the architecture and the development environment setup documents.

Code of Conduct

This project follows the CNCF Code of Conduct.

License

CLOMonitor is an Open Source project licensed under the Apache License 2.0.

clomonitor's People

Contributors

tegioz avatar cynthia-sg avatar dependabot[bot] avatar aliok avatar jmertic avatar aaguiarz avatar eddie-knight avatar jeefy avatar raulcabello avatar thisisobate avatar matthyx avatar mrueg avatar grjan7 avatar mattray avatar matthewpereira avatar crenshaw-dev avatar mowies avatar nate-double-u avatar chalin avatar sandipanpanda avatar inteon avatar tuminoid avatar justinabrahms avatar jdubrick avatar jkjell avatar jeffhollan avatar xmulligan avatar bgrasnick avatar andife avatar afrittoli avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.