All Projects → babylonhealth → Shipcat

babylonhealth / Shipcat

Licence: apache-2.0
Deploy right meow! 🚢😾

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to Shipcat

Riptide
Client-side response routing for Spring
Stars: ✭ 169 (-11.98%)
Mutual labels:  microservices
Kreta
Modern project management solution
Stars: ✭ 177 (-7.81%)
Mutual labels:  microservices
Xconf
分布式配置中心
Stars: ✭ 185 (-3.65%)
Mutual labels:  microservices
Cote
A Node.js library for building zero-configuration microservices.
Stars: ✭ 2,180 (+1035.42%)
Mutual labels:  microservices
Awesome Micronaut
A curated list of resources for the Micronaut JVM framework
Stars: ✭ 176 (-8.33%)
Mutual labels:  microservices
Cqrs
cqrs framework in go
Stars: ✭ 179 (-6.77%)
Mutual labels:  microservices
1backend
Run your web apps easily with a complete platform that you can install on any server. Build composable microservices and lambdas.
Stars: ✭ 2,024 (+954.17%)
Mutual labels:  microservices
Scs
Self-Contained Systems
Stars: ✭ 189 (-1.56%)
Mutual labels:  microservices
Otoroshi
Lightweight api management on top of a modern http reverse proxy
Stars: ✭ 177 (-7.81%)
Mutual labels:  microservices
Eventstormingworkshop
EventStorming workshop, this is a hands-on workshop. Contains such topics: DDD, Event storming, Specification by example. Including the AWS product : Serverless Lambda , DynamoDB, Fargate, CloudWatch.
Stars: ✭ 184 (-4.17%)
Mutual labels:  microservices
Space Cloud
Open source Firebase + Heroku to develop, scale and secure serverless apps on Kubernetes
Stars: ✭ 3,323 (+1630.73%)
Mutual labels:  microservices
Fero
light, fast, scalable, streaming microservices made easy
Stars: ✭ 175 (-8.85%)
Mutual labels:  microservices
Microconfig
Modern tool for microservice configuration management
Stars: ✭ 180 (-6.25%)
Mutual labels:  microservices
Awesome Design Patterns
A curated list of software and architecture related design patterns.
Stars: ✭ 15,579 (+8014.06%)
Mutual labels:  microservices
Myperf4j
High performance Java APM. Powered by ASM. Try it. Test it. If you feel its better, use it.
Stars: ✭ 2,281 (+1088.02%)
Mutual labels:  microservices
Viennanet
Framework for quickly creating enterprise microservices on .NET Core https://habr.com/ru/company/raiffeisenbank/blog/516540/
Stars: ✭ 170 (-11.46%)
Mutual labels:  microservices
Finatra
Fast, testable, Scala services built on TwitterServer and Finagle
Stars: ✭ 2,126 (+1007.29%)
Mutual labels:  microservices
Apworks Core
Apworks framework supporting .NET Core
Stars: ✭ 190 (-1.04%)
Mutual labels:  microservices
Janus
An API Gateway written in Go
Stars: ✭ 2,249 (+1071.35%)
Mutual labels:  microservices
Kuma
🐻 The Universal Service Mesh. CNCF Sandbox Project.
Stars: ✭ 2,516 (+1210.42%)
Mutual labels:  microservices

shipcat

Shipcat logo

CircleCI Docker Repository on Quay

A standardisation tool and security layer on top of kubernetes to config manage microservices. Developers write manifests:

name: webapp
image: clux/webapp-rs
version: 0.2.0
env:
  DATABASE_URL: IN_VAULT
resources:
  requests:
    cpu: 100m
    memory: 100Mi
  limits:
    cpu: 300m
    memory: 300Mi
replicaCount: 2
health:
  uri: /health
httpPort: 8000
regions:
- minikube
metadata:
  team: Doves
  repo: https://github.com/clux/webapp-rs

and shipcat creates a 2 replica kubernetes deployment for this sample webapp, with a health check to ensure smooth upgrades. Contacts will be slack notified on upgrades.

Secrets are managed by Vault and resolved by shipcat pre-merge, and pre-upgrade.

Documentation

Browse the API documentation, or the setup guides available at:

Components

Shipcat is made up of three main components:

  • shipcat_definitions - allowed syntax in our kube clusters - manifest.yml + shipcat.conf
  • shipcat - the pipeline cli and validator useable by developers and CI
  • raftcat - an kubernetes api/watcher that reads the shipcatmanifests custom resource

Integrations

While shipcat mainly deals with kubernetes, there are extensive and optional integrations with:

and some minor convenience integrations from common technologies like: Grafana, CircleCI, Quay.io, logz.io, Sentry, New Relic

CLI installation

  • Mac/Linux users can install from the releases page
  • Users with rust installed can use git pull && cargo build
  • Babylon employees can brew install shipcat or brew update && brew upgrade shipcat via the internal brew tap

See the building guide, for setting up auto-complete, and being able to use from outside a manifests repo.

CLI Usage

Define your manifest.yml file in a manifests repo, make sure shipcat validate passes.

You either need to have a ~/.kube/config whose current-context is set to the shipcat region you wish to validate, or pass the shipcat region in explicitly with -r region.

If you have vault read credentials (a VAULT_TOKEN evar, or a ~/.vault-token file) you can validate secret existence and generate the completed manifest (values):

shipcat validate webapp --secrets

# Generate completed manifest (what's passed to your chart)
shipcat values webapp -s

If you have helm installed you can generate the helm template via the associated helm chart:

# Pass completed manifest to helm template
shipcat template webapp

License

Apache 2.0 licensed. See LICENSE for details.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].