GithubHelp home page GithubHelp logo

ritz303 / trustification.dev Goto Github PK

View Code? Open in Web Editor NEW

This project forked from trustification/trustification.dev

0.0 0.0 0.0 193 KB

Manifests for deploying Trustification to trustification.dev and staging.trustification.dev

License: Apache License 2.0

Smarty 100.00%

trustification.dev's Introduction

trustification.dev

Manifests for running trustification.dev

Note

All deployment to trustification.dev should happen via the staging and prod workflows.

There are 3 environments isolated in 3 separate namespaces on the cluster:

  • trustification-dev (dev.trustification.dev)
  • trustification-staging (staging.trustification.dev)
  • trustification.prod (trustification.dev)

Each of the environments have resources pre-created in AWS that they have access to, such as S3 buckets and SQS queues. If you for some reason need to delete and prune data, use the AWS console.

Prerequisites

Deploying

Manual deploy to your own cluster:

helm upgrade --install -f chart/dev.yaml trustification ./chart --namespace trustification-dev

Continuous Deployment

The staging instance is automatically updated every night. Whenever a nightly or release build in the trustification repository runs, it will trigger the 'staging' workflow in this repository.

The staging workflow will update the release in the helm chart. On the cluster, ArgoCD will notice the new version and synchronize the charts.

Note

The vexination-walker and bombastic-walker will both be started automatically if synchronization is complete, to re-fed the system. If there are index changes in the version being deployed, stale data may occur.

Production

The production deployment requires running the prod workflow. Once run, go to ArgoCD to manually sync the environment.

Monitoring

All instances of trustification are monitored at https://monitoring.trustification.dev. There is a Grafana dashboard named 'Trustification', which can be used to find information about the systems. The source of that dashboard can be found in the dashboards/ folder in this repository.

Alerting

There is no alerting configured for trustification.dev yet, but a few things worth checking regularly:

  • Check if VEX and SBOM ingestion rates spike/increase after an ArgoCD sync is running. If they are completely flat, then have a look at the bombastic-walker or vexination-walker job logs for errors.

  • Check if VEX and SBOM indexing failure rates have increased. If they have increased, look at the bombastic-indexer or vexination-indexer pod logs for errors.

  • Check if the rate of HTTP errors from the APIs are spiking. If they have increased, look at the bombastic-api, vexination-api or spog-api pod logs for errors.

  • Check if Spog UI data is showing data and that data makes sense. In some cases if index schema changes, there might be a period during re-feeding of data that information could be stale. This should resolve itself automatically unless there are bugs in walker or indexing.

Troubleshooting

post-install-keycloak job is failing

During the first install/deployment, the post-install-keycloak job might fail. In the logs, you will see entries like this:

Resource not found for url: http://trustification-staging-keycloak.trustification-staging.svc.cluster.local:80/admin/realms/chicken/identity-provider/instances/github

The issue relates to creating Keycloak identity providers from the command line. The workaround is to create the initial GitHub Identity Provider in the Keycloak admin UI. You can find the credentials for Keycloak stored in a Kubernetes secret. Then, go to "Identity Providers" and create it.

License

Apache License, Version 2.0 (LICENSE)

trustification.dev's People

Contributors

agunn303 avatar ctron avatar dejanb avatar lulf 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.