All Projects → appvia → kev

appvia / kev

Licence: Apache-2.0 license
Develop Kubernetes apps iteratively with Docker-Compose

Programming Languages

go
31211 projects - #10 most used programming language
shell
77523 projects
javascript
184084 projects - #8 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to kev

kahoy
Simple Kubernetes raw manifests deployment tool
Stars: ✭ 33 (-45.9%)
Mutual labels:  deployment, manifests
Rsuite
The most complete R development and data science platform.
Stars: ✭ 133 (+118.03%)
Mutual labels:  development, deployment
Cqtdeployer
This project is used to deploy applications written using QML, qt or other С / С++ frameworks.
Stars: ✭ 225 (+268.85%)
Mutual labels:  development, deployment
Cruiser
A Pharo Tool to package applications
Stars: ✭ 41 (-32.79%)
Mutual labels:  deployment
Temps
λ A selfhostable serverless function runtime. Inspired by zeit now.
Stars: ✭ 15 (-75.41%)
Mutual labels:  deployment
Savior
(WIP)The deployment framework aims to provide a simple, lightweight, fast integrated, pipelined deployment framework for algorithm service that ensures reliability, high concurrency and scalability of services.
Stars: ✭ 124 (+103.28%)
Mutual labels:  deployment
create-truffle-dapp
Create and deploy Truffle projects with no configuration.
Stars: ✭ 17 (-72.13%)
Mutual labels:  deployment
react-production-deployment
Deploy your React app to production on Netlify, Vercel and Heroku
Stars: ✭ 51 (-16.39%)
Mutual labels:  deployment
howto
Dumping ground for various HowTo documents that I produce
Stars: ✭ 58 (-4.92%)
Mutual labels:  deployment
primrose
Primrose modeling framework for simple production models
Stars: ✭ 33 (-45.9%)
Mutual labels:  deployment
Root-Checker
Displays all root related info(Device Rooted, Root Available, Root Path, Root given, Busy Box installation) of an Android Device. Fully implemented in Jetpack compose using Material 3 dynamic theming and also has a separate implementation in xml with MDC 3.
Stars: ✭ 21 (-65.57%)
Mutual labels:  compose
Docker-Stack
This repo contains a simple Docker setup with minimal configuration and only few files you can drop into many PHP-based projects.
Stars: ✭ 31 (-49.18%)
Mutual labels:  development
pmml4s-spark
PMML scoring library for Spark as SparkML Transformer
Stars: ✭ 16 (-73.77%)
Mutual labels:  deployment
capistrano-chewy
Chewy tasks and Elasticsearch indexes management with Capistrano
Stars: ✭ 14 (-77.05%)
Mutual labels:  deployment
End-to-End-Machine-Learning-Projects
This repository contains Machine Learning projects that involve the steps starting from data collection to deployment
Stars: ✭ 74 (+21.31%)
Mutual labels:  deployment
httplab
The interactive web server
Stars: ✭ 3,856 (+6221.31%)
Mutual labels:  development
python-blogs
A curated list of python programming language blogs
Stars: ✭ 48 (-21.31%)
Mutual labels:  development
yoda
Simple tool to dockerize and manage deployment of your project
Stars: ✭ 69 (+13.11%)
Mutual labels:  deployment
unity-now
▲ Vercel Now plugin for Unity. Deploy WebGL builds with ease
Stars: ✭ 21 (-65.57%)
Mutual labels:  deployment
Data-pipeline-project
Data pipeline project
Stars: ✭ 18 (-70.49%)
Mutual labels:  deployment

Kev

Develop Kubernetes apps iteratively with Docker-Compose

Stability:Beta CircleCI GitHub tag (latest SemVer) License: Apache-2.0

Kev helps developers port and iterate Docker Compose apps onto Kubernetes. It understands the Docker Compose application topology and prepares it for deployment in (multiple) target environments, with minimal user input.

We leverage the Docker Compose specification and allow for target-specific configurations to be applied to each component of the application stack, simply.

Kev is opinionated in its choice of Kubernetes elements you should be able to control. It automatically infers key config parameters by analysing and reconciling changes in the project source compose file(s). The configuration parameters can be manually overridden to allow for better control of a cloud application deployment on Kubernetes.

Kev reduces the need for Kubernetes expertise in the team. The generated Kubernetes deployment configuration follows best industry practices, with a thin layer of config options to enable further control. See kev reference documentation for a list of available options.

Features

  • Simplicity - Based on the familiar Docker Compose specification. There is no new framework to learn, no new specification to embrace, and vastness of Kubernetes reduced to a limited set of easy to follow configuration parameters. You focus on the app development. Kev will prepare it for deployment in Kubernetes.

  • Multi-environment support - Parameterisation enabled with the same configuration primitives you're already familiar with. Each defined environment gets its own docker-compose override file, which is there to control the behaviour of your application in Kubernetes in a simple and consistent way.

  • Best practice out of the box - Best practice is codified and embedded in the translation layer, so you don't have to think about what's required to run your project application on Kubernetes.

  • Secure - Kev is opinionated about the secret management. At this stage of its relatively short life it delegates that responsibility to the user, to remove the risk of potential uncontrolled secrets leak. No secrets == No leaks!

  • No vendor lock-in - Because you already use docker-compose, you can keep using it, even if Kev turns out to be not your cup of tea.

  • Easy integrations - You may use generated Kubernetes manifests with any tool / framework of your choice. Check out our Skaffold Integration.

Contents

Installation

All you need to get started quickly is the kev binary added to your PATH, and one or more docker compose files.

Tutorials and guides

Configuration

As mentioned in the Quickstart, the environment specific configuration lives in a set of docker-compose override files. Each environment override file holds simplified Kubernetes configuration parameters for each of the application components.

Project components (aka services) are configured via a set of labels attached to them, and optionally environment variables section which allows for localised adjustments - the same exact way you'd control those in a regular docker-compose file.

Volumes come with their own set of labels to control Kubernetes storage specific parameters.

See the configuration reference for details.

Similar tools

Kev is inspired by the simple, easy to use and well adopted Docker Compose specification, as well as several other tools in the Kubernetes manifests generation and templating space such as Kompose, Ksonnet and Kustomize, to name a few.

See how Kev differs from Kompose.

Each of the solutions above, however, come with their own set of challenges and are lacking in various areas. Some have been discontinued, some see very few contributions or updates, others require a great deal of prior Kubernetes expertise to find them useful.

Kev bridges the gaps in the existing tooling, helping developers familiar with Docker & Compose to easily get up and running with Kubernetes.

Contributing to Kev

We welcome any contributions from the community! Have a look at our contribution guide for more information on how to get started. If you use Kev, find it useful, or are generally interested in improving Developer Experience on Kubernetes then please let us know by Starring and Watching this repo. Thanks!

Get Involved

Join discussion on our Community channel.

Kev is a community project and we welcome your contributions. To report a bug, suggest an improvement, or request a new feature please open a Github issue. Refer to our contributing guide for more information on how you can help.

Roadmap

See our Roadmap for details about our plans for the project.

License

Copyright (c) 2020-2021 Appvia Ltd

This project is distributed under the Apache License, Version 2.0.

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].