All Projects → elek → flekszible

elek / flekszible

Licence: Apache-2.0 License
Kubernetes resource/manifest file preprocessor, generator and manager.

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to flekszible

towards5gs-helm
Open-source project providing Helm charts for deploying Free5GC and UERANSIM on a Kubernetes cluster
Stars: ✭ 53 (+55.88%)
Mutual labels:  manifest, helm, k8s
tondra
Continuous Development on Kubernetes environments with Skaffold
Stars: ✭ 105 (+208.82%)
Mutual labels:  helm, k8s
gitops-playground
Reproducible infrastructure to showcase GitOps workflows and evaluate different GitOps Operators on Kubernetes
Stars: ✭ 77 (+126.47%)
Mutual labels:  helm, k8s
gitops-build-lib
Jenkins pipeline shared library for automating deployments via GitOps
Stars: ✭ 23 (-32.35%)
Mutual labels:  helm, k8s
ververica-platform-k8s-operator
Kubernetes Operator for the Ververica Platform
Stars: ✭ 28 (-17.65%)
Mutual labels:  helm, k8s
falcon-helm
Helm Charts for running CrowdStrike Falcon with Kubernetes
Stars: ✭ 34 (+0%)
Mutual labels:  helm, k8s
vcluster
vcluster - Create fully functional virtual Kubernetes clusters - Each vcluster runs inside a namespace of the underlying k8s cluster. It's cheaper than creating separate full-blown clusters and it offers better multi-tenancy and isolation than regular namespaces.
Stars: ✭ 1,360 (+3900%)
Mutual labels:  helm, k8s
Helm-Cheat-Sheet
A cheat sheet for Helm commands.
Stars: ✭ 72 (+111.76%)
Mutual labels:  helm, k8s
k8s-istio-demo
Demo showing the capabilities of Istio
Stars: ✭ 22 (-35.29%)
Mutual labels:  helm, k8s
charts
Public helm charts
Stars: ✭ 15 (-55.88%)
Mutual labels:  helm, k8s
aws-eks-orb
An orb to simplify deployments to Amazon Elastic Container Service for Kubernetes (Amazon EKS)
Stars: ✭ 16 (-52.94%)
Mutual labels:  helm, k8s
configurator
Synchronize and Version Control ConfigMaps & Secrets across Deployment Rollouts.
Stars: ✭ 68 (+100%)
Mutual labels:  helm, k8s
kube-lineage
A CLI tool to display all dependencies or dependents of an object in a Kubernetes cluster.
Stars: ✭ 238 (+600%)
Mutual labels:  helm, k8s
Book k8sInfra
< 컨테이너 인프라 환경 구축을 위한 쿠버네티스/도커 >
Stars: ✭ 176 (+417.65%)
Mutual labels:  helm, k8s
charts
Helm charts for creating reproducible and maintainable deployments of Polyaxon with Kubernetes.
Stars: ✭ 32 (-5.88%)
Mutual labels:  helm, k8s
charts
☸️ Helm Charts for YOURLS
Stars: ✭ 12 (-64.71%)
Mutual labels:  helm, k8s
Helmfiles
Comprehensive Distribution of Helmfiles for Kubernetes
Stars: ✭ 205 (+502.94%)
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 (+205.88%)
Mutual labels:  helm, k8s
helm-charts
Official Helm Chart Repository for InfluxData Applications
Stars: ✭ 133 (+291.18%)
Mutual labels:  helm, k8s
stackstorm-ha
K8s Helm Chart (βeta!) that codifies StackStorm (aka "IFTTT for Ops" https://stackstorm.com/) Highly Availability fleet as a simple to use reproducible infrastructure-as-code app
Stars: ✭ 74 (+117.65%)
Mutual labels:  helm, k8s

fle[ksz]ible

Flekszible is a Kubernetes configuration/manifest manager. It helps to manage your kubernetes yaml files before the deployment.

  • Flekszible generates the final k8s yaml files based on source yaml file + easy to use transformation rules
  • Everything can be versioned as the final files are generated and saved (GitOps)
  • Transformation rules can be reused and shared (It has a powerful but extremely simple package management)
  • It combines the best part of the composition based and template based approach (it's composition based but in reusable transformation rule definition you can use templates)

Features:

  1. Zero-config: it can work without any external files
  2. Mixins: you can define additional transformations to change k8s resources
  3. Imports: You can compose resources from multiple sources (github repositories)
  4. Multi-tenancy: With imports you can manage multiple environments (dev,prod,...)
  5. Multi-instance: You can import the same template (eg. zookeeper resources) with different flavour. With this approach you can create two different zookeeper ring from a template to your cluster.
  6. Reusable transformations: you can define transformations and reuse them later (or provide them to the user as optional flags.)
  7. Package management: Simple github based package management. No separated repository format just github repositories and tags.
  8. Side-car pattern friendly design: additional side-car containers can be injected
  9. _build time transformation: compared to the oprerator pattern, here everything is visible as the transformations are applied on build time before using kubectl apply -f. It's more safe to switch between environments.
  10. GitOps friendy: generates all the final resources to static files
  11. Supports external processors like service-mesh injectors

Comparison

  • Flekszible vs Helm:
    • Flekszible is based on composition instead of templates (it's more like Kustomize)
    • No server side component the final deployment will be handled by kubectl
    • But it's more flexible: you can modify any part of the source kubernetes resources
    • You don't need to add a lot of golang template conditions to customize all the parts of k8s resources
    • The package management is simpified (No other repository formats just plain git repositories. Registry is based on github tags and stars)
  • Flekszible vs Kustomize:
    • It has less limitations. Flekszible is designed to be as flexible as possible with keeping the complexity on minimal.
    • It's more generic design (generic Yaml tree + transformations instead of k8s resource merging)
    • It has one generic patching style, which can be used to define high level transformations.
    • It tries to be more user friendly (easier syntax, flexible composition, it can work without registering any resource file)
    • It has a simple but powerful package management (base on git repos)
    • The transformations are reusable
    • Service-mesh friendly, any external command can be invoked.

For more information and for comparison with Helm and Kustomize: Check the docs

Install

On macOS, you can install flekszible with Homebrew package manager:

brew install elek/brew/flekszible

For linux: download the binary from the Release page

Documentation

Latest docs are available from HERE

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