GithubHelp home page GithubHelp logo

flanksource / karina Goto Github PK

View Code? Open in Web Editor NEW
69.0 9.0 29.0 7.32 MB

karina is an open-source toolkit for building batteries included kubernetes based platforms.

Home Page: https://karina.docs.flanksource.com/

License: Apache License 2.0

Go 88.98% Shell 1.45% Dockerfile 0.15% Makefile 1.16% Open Policy Agent 0.62% Lua 7.64%
kubernetes k8s operator monitoring kubeadm nsx-t vmware-vsphere aws gke

karina's Introduction

Kubernetes Platform Toolkit


karina is an open-source toolkit for building platforms, which includes:

karina leverages a number of other standalone operators built by flanksource:

  • kommons as high-level library wrapping client-go
  • canary-checker for multi-cluster synthetic monitoring of pod scheduling, docker pulls, DNS, ICMP, LDAP, Postgres, HTTP, etc..
  • template-operator for building re-usable CRD's similar to crossplane's XRD
  • platform-operator for multi-tenancy support
  • git-operator for deploying GitOps tools like Flux and exposing REST interfaces onto of Git.

Design Principles

  • Batteries Included - Most components require just a version to enable and are pre-configured with ingress, LDAP and TLS (managed by cert-manager) due to a shared infrastructure model that includes information such as top-level wild card domain, LDAP/S3 connection details, etc.
  • Escape Hatches for when the defaults don't work for you, easily use kustomize patches to configure resource limits, labels, annotations and anything else on any object managed by karina.
  • Integrated, but independent - karina works best when used to provision a Kubernetes cluster and then deploy and test a production runtime, but each function can also be used independently, i.e you can run karina e2e tests in an environment that wasn't provisioned or deployed by karina.

Comparisons

To see how karina compares to other tools in the ecosystem see comparisons

Community & FAQs

Please join the flanksource Slack workspace.

Contributing

Please follow the guideline below when contributing to this project

karina's People

Contributors

apaarshrm39 avatar brendangalloway avatar cuonglm avatar dabasvibhor avatar git-hyagi avatar kaitou786 avatar lloydchang avatar mazzy89 avatar moshloop avatar paddatrapper avatar philipstaffordwood avatar rubenharutyunov avatar sixhobbits avatar superohai avatar superolo92 avatar teodor-pripoae avatar tobernguyen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

karina's Issues

Rename platform-cli to karina

platform-cli is a bit too generic we need something a little more memorable and shorter to say

Please create new suggestions and/or vote for current suggestions

Prometheus Alerts: Externalise Alerts

Currently, the alerts are created as part of the jsonnet build process which makes them hard to customize and extend.

Extract the alerts out into a standalone file, that can be overridden using an overlay.

migrate command

Given to clusters, migrate the workload from 1 to another.

Options:

  • Backup & Restore excluding POD's (allowing them to schedule on new nodes immediately)
  • GitOps redeploy + selective backup + restore e.g. dex.coreos.com CRD's to allow uninterrupted authorization using existing tokens

snapshot should include system objects

platform-cli snapshot --include-specs kube-system,nsx-system,quack,opa

Should include the YAML specs alongside the logs for:
Services, Deployments, Daemonsets, Statefulsets, secrets and config maps (with values masked),

platform-cli test node

  • All Pods need to be passing liveness and readiness checks
    • Max 1 restart per day, bursting to 3 restarts on the first day (to allow for normal restart behaviour as dependencies are created)
  • Node Readiness conditions should not have flapped within the last day

When specifying --active-tests

  • A new pod should schedule, start (with a new IP) and connect to the k8s API server and then terminate successfully with 120 seconds

Generic patching of bundled manifests

e.g. Provide runtime option to specify a patch or a directory of patches that are applied inline when using platform.ApplySpecs

Can piggyback off kustomize or use strategic merge patch libraries from api-machinery directly

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.