All Projects → ssbostan → tondra

ssbostan / tondra

Licence: Apache-2.0 license
Continuous Development on Kubernetes environments with Skaffold

Programming Languages

python
139335 projects - #7 most used programming language
Dockerfile
14818 projects
shell
77523 projects

Projects that are alternatives of or similar to tondra

Book k8sInfra
< 컨테이너 인프라 환경 구축을 위한 쿠버네티스/도커 >
Stars: ✭ 176 (+67.62%)
Mutual labels:  helm, k8s
netmaker
Netmaker makes networks with WireGuard. Netmaker automates fast, secure, and distributed virtual networks.
Stars: ✭ 4,147 (+3849.52%)
Mutual labels:  k8s, zero-trust
action-setup-kube-tools
Github Action that setup Kubernetes tools (kubectl, kustomize, helm, kubeconform, conftest, yq, rancher, tilt, skaffold) very fast and cache them on the runner. Please [✩Star] if you're using it!
Stars: ✭ 45 (-57.14%)
Mutual labels:  helm, skaffold
Helmfiles
Comprehensive Distribution of Helmfiles for Kubernetes
Stars: ✭ 205 (+95.24%)
Mutual labels:  helm, k8s
dcos-k8s-rust-skaffold-demo
A demo of pipelining Rust application development to Kubernetes on DC/OS with Skaffold.
Stars: ✭ 40 (-61.9%)
Mutual labels:  k8s, skaffold
Choerodon
Open Source Multi-Cloud Integrated Platform
Stars: ✭ 2,149 (+1946.67%)
Mutual labels:  agile, k8s
Helm-Cheat-Sheet
A cheat sheet for Helm commands.
Stars: ✭ 72 (-31.43%)
Mutual labels:  helm, k8s
K8s
Kubernetes Helm Charts for the ORY ecosystem.
Stars: ✭ 127 (+20.95%)
Mutual labels:  helm, k8s
configurator
Synchronize and Version Control ConfigMaps & Secrets across Deployment Rollouts.
Stars: ✭ 68 (-35.24%)
Mutual labels:  helm, k8s
kube-lineage
A CLI tool to display all dependencies or dependents of an object in a Kubernetes cluster.
Stars: ✭ 238 (+126.67%)
Mutual labels:  helm, k8s
K8s Gitops
GitOps principles to define kubernetes cluster state via code. Community around [email protected] is on discord: https://discord.gg/7PbmHRK
Stars: ✭ 192 (+82.86%)
Mutual labels:  helm, k8s
ververica-platform-k8s-operator
Kubernetes Operator for the Ververica Platform
Stars: ✭ 28 (-73.33%)
Mutual labels:  helm, k8s
Helm Secrets
Successor of zendesk/helm-secrets - A helm plugin that help manage secrets with Git workflow and store them anywhere
Stars: ✭ 165 (+57.14%)
Mutual labels:  helm, k8s
gitops-playground
Reproducible infrastructure to showcase GitOps workflows and evaluate different GitOps Operators on Kubernetes
Stars: ✭ 77 (-26.67%)
Mutual labels:  helm, k8s
Arkade
Open Source Kubernetes Marketplace
Stars: ✭ 2,343 (+2131.43%)
Mutual labels:  helm, k8s
helm-schema-gen
So that you don't have to write values.schema.json by hand from scratch for your Helm 3 charts. [CURRENTLY NOT MAINTAINED]
Stars: ✭ 104 (-0.95%)
Mutual labels:  helm, k8s
Workflow
The open source PaaS for Kubernetes.
Stars: ✭ 1,291 (+1129.52%)
Mutual labels:  helm, k8s
Quiz
Example real time quiz application with .NET Core, React, DDD, Event Sourcing, Docker and built-in infrastructure for CI/CD with k8s, jenkins and helm
Stars: ✭ 100 (-4.76%)
Mutual labels:  helm, k8s
charts
Helm charts for creating reproducible and maintainable deployments of Polyaxon with Kubernetes.
Stars: ✭ 32 (-69.52%)
Mutual labels:  helm, k8s
scrumlr.io
Webapp for collaborative online retrospectives
Stars: ✭ 116 (+10.48%)
Mutual labels:  agile, k8s

tondra

Visits Badge GitHub license GitHub stars Twitter Follow LinkedIn Follow

A brief example of Kubernetes based Agile-development process with Skaffold.

With a Zero-downtime and rolling update approach that achieved from Kubernetes features.

What is Agile software development?

In software development, agile (sometimes written Agile)[1] practices involve discovering requirements and developing solutions through the collaborative effort of self-organizing and cross-functional teams and their customer(s)/end user(s).[2] It advocates adaptive planning, evolutionary development, early delivery, and continual improvement, and it encourages flexible responses to change. Wikipedia

What is tondra?

tondra is an example application that used Skaffold to demonstrate agile-development process on Kubernetes based environments. In the environments that using Kubernetes for software deployments and providing services, not only we need a Dev/Prod parity approach for a software development but in most cases of Microservices architecture, developers need to connect to other microservices to develop and test their works. In this situation needs of a development environment with a minimum-trusted access is felt. Skaffold is a right technology to achieve these needs. With the Skaffold, developers do not need to worried about deployments and they should focus just on writing codes. skaffold dev command will build the application and deploy it on Kubernetes, code changes are detected automatically and the process of build and deployment is triggered afterward. In addition to this, tondra implements all needed health-check endpoints that can makes application highly available.

Why we should use Skaffold?

Skaffold handles the workflow for building, pushing and deploying your application, allowing you to focus on what matters most: writing code. With Skaffold you can write your codes on your local system and deploy them to Kubernetes clusters as easy as drinking a cup of tea.

How to create a minimum-trusted development environment:

For creating this environment each developer/team that working on a specific microservice needs a Kubernetes Namespace. Each of one can connects to other microservices in other namespaces via Service. With this approach connectivity is achieved without any unnecessary code disclosure.

Installation and usage:

To deploy tondra you need:

  • Kubernetes v1.20 or later versions.
  • Local Docker v2.10+ installation for building Docker images.
  • Skaffold v1.27+ with v2beta18 api version.
  • Helm v3.4 or newer versions.

Get started:

kubectl create ns devel
./start
curl localhost:8080/appinfo

demo

Available endpoints:

The application goes to unhealthy status after processing a number of requests. After that Kubernetes detects this behavior and restarts the unhealthy pod. The number of requests that application can process before going to unhealthly status is considered randomly at application startup. But with this event - restarting pods - the application works prefectly and responsed to all requests.

Endpoint Description
/appinfo Shows application info (app_version, git_commit, target_point, num_requests, health_status).
/livez Use this endpoint in Kubernetes livenessProbe property.
/readyz Use this endpoint in Kubernetes readinessProbe property.
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].