Skip to content

Repository files navigation

Kosli demo — Java backend + mobile app

A demo of Kosli governing a two-component system — a Spring Boot backend (orders-api) on Azure App Service and a mobile app (Mobile Orders, Android + iOS) — where every control (peer review, tests, SonarQube, mutation testing, mobile security scan, integration tests, release approval) is attested to Kosli, and Kosli's policies, not a green pipeline, decide whether a build may be published and released.

Build & deploy

One pipeline (ci-build.yml) runs on every push to main, attesting to one Kosli flow, order-system-ci, whose trail is the commit SHA:

flowchart LR
    trail["trail: begin + attest PR"] --> peer["peer review<br/>evaluate PR facts"]
    trail --> backend["backend<br/>build, unit tests,<br/>mutation tests, sonar"]
    trail --> android["mobile: android<br/>package + Oversecured"]
    trail --> ios["mobile: ios<br/>package + Oversecured"]

    peer --> publish{{"Publish gate"}}
    backend --> publish
    android --> publish
    ios --> publish

    publish -->|compliant| staging["Deploy to staging"]
    staging --> integration["Integration tests"]
    integration --> approval{{"Manual approval"}}
    approval --> release{{"Release gate"}}
    release -->|compliant| prod["Deploy to production"]
Loading
  • Publish gatekosli assert artifact --environment azure-appservice-staging against the staging environment policy: did the build produce everything it owed (peer review, unit tests, Sonar quality gate, mutation score, both mobile scans)? Passing deploys to staging, not production.
  • Release gate — after a human approves the protected production-release environment, kosli assert artifact --environment azure-appservice-prod judges the build against every policy attached to production: everything the publish gate checked, plus a passing integration test run and a named approver. Only then does the same build reach production.

Full design rationale, setup steps and gotchas: CLAUDE.md.

Links

Demo scenarios

About

Demo Java service deployed on Azure AppService

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages