Bootstrap curated Kubernetes stacks. Logging, metrics, ingress and more - delivered with gitops.

Gimlet Stack

Bootstrap curated Kubernetes stacks.

Logging, metrics, ingress and more - delivered with gitops.

  • You can install logging aggregators, metric collectors, ingress controllers and more on your cluster with a few commands, without much knowledge of Helm charts, and their configuration options

  • The components are delivered through a plain git repository with self-contained gitops automation

  • You will get constant upgrades for the installed components from the stack curators

Gimlet Stack is an open-source relaunch of the 1clickinfra.com service

Documentation

https://gimlet.io/gimlet-stack/getting-started/

Community

Gimlet Stack is developed in the open.

Please check the v0.2.0 project and see if you are interested to help.

You can talk to us at our Discord server: https://discord.gg/VdQrdqwReB

Hope to see you there!

Comments
  • Come up with a stack templating format

    Come up with a stack templating format

    Gimlet Stack packages Helm Charts and delivers it with gitops, using the Helm Controller from the Flux V2 project.

    A curated stack supports a basic set of flags, but significantly less than the underlying Helm charts.

    The task is to come up with a file format that is able to hold together ~25 Helm charts and its exposed flags. Kind of like umbrella Helm charts.

  • Require host when configuring nginx

    Require host when configuring nginx

    Should the host field be mendetory when configuring nginx?

    Reproduce:

    1. Add Prometheus und Loki with stack configure
    2. Also add Nginx without a host
    3. See broken host config in helm-releases/grafana.yaml
    grafik
  • Use JIT Mode in Tailwind and fix missing prose class

    Use JIT Mode in Tailwind and fix missing prose class

    Currently the formatting of readmes in thestack configureui is broken. I think it is because of theprose` class does not get generated or purged. Therefore I would use the JIT mode so it is visible in development what comes out at the end (in contrast to the purge mode)

    See: https://tailwindcss.com/docs/just-in-time-mode#enabling-jit-mode

    prose has no effect as of now: grafik

  • Gitops bootstrap

    Gitops bootstrap

    stack bootstrap command to bootstrap Flux V2 manifests in a local git repo.

    Follow the steps of https://github.com/gimlet-io/gimlet-cli/tree/main/commands/gitops, make modifications where needed.

    Make decisions on the scaling model: one repo per environment, or one git repo with environments as folders.

  • `stack bootstrap` apply steps print filenames without env name

    `stack bootstrap` apply steps print filenames without env name

    kubectl apply -f /home/laszlo/projects/laci/laci-gitops/test/flux/gitops-repo.yaml

    should be

    kubectl apply -f /home/laszlo/projects/laci/laci-gitops/test/flux/gitops-repo-<<env>>.yaml

  • Add Gimlet Stack summary to README.md

    Add Gimlet Stack summary to README.md

    ---
    layout: gimlet-stack
    title: Getting Started
    lastUpdated: 2021-05-17
    image: gimlet-stack.png
    tags: [gimlet-stack]
    ---
    
    # Getting Started
    
    Bootstrap curated Kubernetes stacks!
    
    Logging, metrics, ingress and more - all delivered with gitops.
    
    - You can install logging aggregators, metric collectors, ingress controllers and more on your cluster with a few commands, 
    without much knowledge of Helm charts, and their configuration options
    
    - The components are delivered through a plain git repository with self-contained gitops automation
    
    - You will get constant upgrades for the installed components from the stack curators
    
    Read the [concepts](/gimlet-stack/concepts) behind Gimlet Stack or [bootstrap your first stack](/gimlet-stack/bootstrap-your-first-stack).
    

    and technical concepts:

    ---
    layout: gimlet-stack
    title: Concepts
    lastUpdated: 2021-05-17
    image: gimlet-stack.png
    tags: [gimlet-stack]
    ---
    
    # Concepts
    
    Gimlet Stack is a command line tool that you can use to configure curated stacks for Kubernetes clusters.
    
    *Stack makers* (or curators) maintain the stacks, and *end-users* benefit from the curator's hard-earned best practices as they deploy the curated stacks on their clusters.
    
    A stack instance - with its complete configuration - is stored in a git repository and delivered onto a kubernetes cluster via a gitops automation.
    Gimlet Stack uses Flux V2 as the gitops controller to sync git changes to the cluster. 
    
    The full overview of the various artifacts and actors of Gimlet Stack:
    ![Gimlet Stack concepts](/stack-concepts.png)
    
    ## End-user workflow
    
    - end-users create a `stack.yaml` file with the full configuration of their stack: enabling the needed components, and configuring them through a series of options
      - end-users can create the `stack.yaml` manually
      - or through the `stack configure` CLI command which opens a browser based UI from the terminal
    - users store the `stack.yaml` in git [email protected]:mycompany/gitops-infra-staging.git
    - users generate HelmRelease resources and other Kubernetes manifests from the components defined in `stack.yaml` with the `stack generate` CLI command
    - users store the generated files in the same git repository as the `stack.yaml` file
    
    
    - users push the changes to git, and the bootstrapped gitops loop syncs it on the cluster.
    - users can bootstrap the gitops loop with the `stack bootstrap` CLI command
    
    ## Stacks
    
    Stacks are a set of Helm charts and Kubernetes manifests that are configured to work together seamlessly.
    
    - stacks use the well known community Helm charts 
    - stacks expose only a subset of helm chart values to users to limit the decision space
    - stacks make it possible to use all chart values if people want the full chart feature set / optionality
    - stacks create new chart values that group together multiple flags, and abstract them at a higher level. Eg.: stickySessions, realIP, HA
    - stacks don't change the community charts, as upstreaming opinions will be a blocker every time. Instead, stacks wrap/compose the community charts 
    - stacks are able to deliver raw yamls to the gitops repo, configmaps, etc
    
    
    ## Next steps
    
    To see Gimlet Stack in action, go and [bootstrap your first stack](/gimlet-stack/bootstrap-your-first-stack).
    
    
The metrics-agent collects allocation metrics from a Kubernetes cluster system and sends the metrics to cloudability

metrics-agent The metrics-agent collects allocation metrics from a Kubernetes cluster system and sends the metrics to cloudability to help you gain vi

Jan 14, 2022
cluster-api-state-metrics (CASM) is a service that listens to the Kubernetes API server and generates metrics about the state of custom resource objects related of Kubernetes Cluster API.

Overview cluster-api-state-metrics (CASM) is a service that listens to the Kubernetes API server and generates metrics about the state of custom resou

Oct 27, 2022
Sensu-go-postgres-metrics - The sensu-go-postgres-metrics is a sensu check that collects PostgreSQL metrics

sensu-go-postgres-metrics Table of Contents Overview Known issues Usage examples

Jan 12, 2022
A curated list of awesome Kubernetes tools and resources.

Awesome Kubernetes Resources A curated list of awesome Kubernetes tools and resources. Inspired by awesome list and donnemartin/awesome-aws. The Fiery

Jan 2, 2023
The Oracle Database Operator for Kubernetes (a.k.a. OraOperator) helps developers, DBAs, DevOps and GitOps teams reduce the time and complexity of deploying and managing Oracle Databases

The Oracle Database Operator for Kubernetes (a.k.a. OraOperator) helps developers, DBAs, DevOps and GitOps teams reduce the time and complexity of deploying and managing Oracle Databases. It eliminates the dependency on a human operator or administrator for the majority of database operations.

Dec 14, 2022
The Elastalert Operator is an implementation of a Kubernetes Operator, to easily integrate elastalert with gitops.

Elastalert Operator for Kubernetes The Elastalert Operator is an implementation of a Kubernetes Operator. Getting started Firstly, learn How to use el

Jun 28, 2022
gokp aims to install a GitOps Native Kubernetes Platform

gokp gokp aims to install a GitOps Native Kubernetes Platform. This project is a Proof of Concept centered around getting a GitOps aware Kubernetes Pl

Nov 4, 2022
Digitalocean-kubernetes-challenge - Deploy a GitOps CI/CD implementation
Digitalocean-kubernetes-challenge - Deploy a GitOps CI/CD implementation

DigitalOcean Kubernetes Challenge 2021 I chose to participate in the DigitalOcean Kubernetes Challenge in order to learn more about Kubernetes and to

Nov 9, 2022
An Ingress controller for Kubernetes using NGINX as a reverse proxy and load balancer

NGINX Ingress Controller Overview ingress-nginx is an Ingress controller for Kubernetes using NGINX as a reverse proxy and load balancer. Learn more a

Nov 15, 2021
Sesame: an Ingress controller for Kubernetes that works by deploying the Envoy proxy as a reverse proxy and load balancer

Sesame Overview Sesame is an Ingress controller for Kubernetes that works by dep

Dec 28, 2021
Search Kubernetes Ingress resources.
Search Kubernetes Ingress resources.

kubectl-ingress-search Search Ingress resources. Installation Download from Releases page. cp kubectl-ingress-search /usr/local/bin/ use kubectl-ingre

Nov 7, 2021
kubectl plugin for generating nginx-ingress compatible basic-auth secrets on kubernetes clusters

kubectl-htpasswd kubectl plugin for easily generating hashed basic auth secrets. Supported hash algorithms bcrypt Examples Create the secret on the cl

Jul 17, 2022
Kubernetes-native automatic dashboard for Ingress
Kubernetes-native automatic dashboard for Ingress

ingress-dashboard Automatic dashboard generation for Ingress objects. Features: No JS Supports OIDC (Keycloak, Google, Okta, ...) and Basic authorizat

Oct 20, 2022
Use this template to bootstrap the creation of a Golang action

Create an Action using Golang Use this template to bootstrap the creation of a G

Dec 30, 2021
This library provides a metrics package which can be used to instrument code, expose application metrics, and profile runtime performance in a flexible manner.

This library provides a metrics package which can be used to instrument code, expose application metrics, and profile runtime performance in a flexible manner.

Jan 18, 2022
ArgoCD is widely used for enabling CD GitOps. ArgoCD internally builds manifest from source data in Git repository, and auto-sync it with target clusters.
ArgoCD is widely used for enabling CD GitOps. ArgoCD internally builds manifest from source data in Git repository, and auto-sync it with target clusters.

ArgoCD Interlace ArgoCD is widely used for enabling CD GitOps. ArgoCD internally builds manifest from source data in Git repository, and auto-sync it

Dec 14, 2022
Kubei is a flexible Kubernetes runtime scanner, scanning images of worker and Kubernetes nodes providing accurate vulnerabilities assessment, for more information checkout:
Kubei is a flexible Kubernetes runtime scanner, scanning images of worker and Kubernetes nodes providing accurate vulnerabilities assessment, for more information checkout:

Kubei is a vulnerabilities scanning and CIS Docker benchmark tool that allows users to get an accurate and immediate risk assessment of their kubernet

Dec 30, 2022
Flash-metrics - Flash Metrics Storage With Golang

Flash Metrics Storage bootstrap: $ echo -e "max-index-length = 12288" > tidb.con

Jan 8, 2022
ORBOS - GitOps everything
ORBOS - GitOps everything

ORBOS - GitOps everything ORBOS explained ORBITER BOOM Getting Started on Google Compute Engine In the following example we will create a kubernetes c

Dec 31, 2022