这是indexloc提供的服务,不要输入任何密码
Skip to content

GTrunSec/cicero

 
 

Repository files navigation

Cicero

Cicero is a workflow execution engine. A workflow is a description of (dependent) actions using the Nix configuration language. The idea behind workflows in Cicero is to build reproducible artefacts based on commit hashes or pull requests. Workflows consist of one more more Action. Actions can for example be source checkouts, build instructions, or quality gates that measure and ensure certain Key Performance Indicators (KPI) and Key Risk Indicators (KRI).

Cicero’s workflows are flexible enough to build Continuous Integration (CI) and Continuous Deliver (CD) pipelines. It offers a rich Web UI as well as a CLI tool for developers to query and inspect workflows and their associated actions, as well as the action outcomes. Integration with third party applications (e.g. JIRA) is possible, for automatic status updates. By using a declarative approach to actions, dependencies and intermediate results can be easily cached, and execution parallelised, thus reducing build times.

How To Run

First enter the development shell using either direnv or by running nix develop.

Start a development instance of Nomad:

nomad-dev

Run the required services in Nomad:

cue export -e jobs.dev | nomad run -

Migrate the database:

dbmate up

Run the application:

go run . all

Access WebUI:

open localhost:8080 in browser

How To …

See the commands listed by:

nix develop

Which ports are in use?

8080 - Cicero, WebUI
4646 - Nomad, HTTP
4647 - Nomad, RPC
4648 - Nomad, Serf WAN
5432 - PostgreSQL
4222 - Liftbridge, NATS client connections
9292 - Liftbridge, standard client connections
3100 - Loki, HTTP
9095 - Loki, GRPC

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 61.0%
  • Nix 25.2%
  • HTML 11.3%
  • CUE 2.4%
  • CSS 0.1%