/catalog

Catalog of cluster services as Kustomize bases.

Primary LanguageHCL

Kubestack, The Open Source Gitops Framework

Kubestack Catalog

Manifest Catalog for the Kubestack Gitops Framework

Status GitHub Issues GitHub Pull Requests

GitHub Repo stars Twitter Follow

Introduction

This repository holds the kustomize source manifests and build toolchain for the Kubestack catalog of Kustomize bases.

This is maintained as part of the Terraform GitOps framework Kubestack.

Getting Started with Kubestack

For the easiest way to get started, visit the official Kubestack quickstart. This tutorial will help you get started with the Kubestack GitOps framework. It is divided into three steps.

  1. Develop Locally
    • Scaffold your repository and tweak your config in a local development environment that simulates your actual cloud configuration using Kubernetes in Docker (KinD).
  2. Provision Infrastructure
    • Set-up cloud prerequisites and bootstrap Kubestack's environment and clusters on your cloud provider for the first time.
  3. Set-up Automation
    • Integrate CI/CD to automate changes following Kubestack's GitOps workflow.

Getting Help

Official Documentation
Refer to the official documentation for a deeper dive into how to use and configure Kubetack.

Community Help
If you have any questions while following the tutorial, join the #kubestack channel on the Kubernetes community. To create an account request an invitation.

Professional Services
For organizations interested in accelerating their GitOps journey, professional services are available.

Contributing

Contributions to the Kubestack framework are welcome and encouraged. Before contributing, please read the Contributing and Code of Conduct Guidelines.

One super simple way to contribute to the success of this project is to give it a star.

GitHub Repo stars

Development Workflow

  1. Fork this repository
  2. Work in a feature branch
  3. Validate your changes locally
    # Build the helper image
    # optional `--build-arg KUSTOMIZE_VERSION=3.2.3`
    docker build -t python3-kustomize .
    
    # Run dist.py to generate the archives
    docker run \
        --rm \
        -u `id -u`:`id -g` \
        -v `pwd`:/workspace \
        -w /workspace \
        -e GIT_SHA=`git rev-parse --verify HEAD^{commit}` \
        -e GIT_REF=refs/heads/`git rev-parse --abbrev-ref HEAD` \
        python3-kustomize \
        ./dist.py
    
    # Run test.py to test your changes
    docker run \
        --rm \
        -u `id -u`:`id -g` \
        -v `pwd`:/workspace \
        -w /workspace \
        python3-kustomize \
        ./test.py
    
    
  4. Send a pull-request

Making a Release

  1. Create a Git tag in the format name-version
    • name must be the name of the catalog entry to release, e.g. memcached
    • version must be in format major.minor.patch prefixed with a v, e.g. v0.0.1
  2. Push the tag to trigger CI/CD

Kubestack Repositories

  • kbst/terraform-kubestack
    • Terraform GitOps Framework - Everything you need to build reliable automation for AKS, EKS and GKE Kubernetes clusters in one free and open-source framework.
  • kbst/kbst
    • Kubestack Framework CLI - All-in-one CLI to scaffold your Infrastructure as Code repository and deploy your entire platform stack locally for faster iteration.
  • kbst/terraform-provider-kustomization
    • Kustomize Terraform Provider - A Kubestack maintained Terraform provider for Kustomize, available in the Terraform registry.
  • kbst/catalog (this repository)
    • Catalog of cluster services as Kustomize bases - Continuously tested and updated Kubernetes services, installed and customizable using native Terraform syntax.