Skip to main content

Introduction

The Kimbernetes cluster manages several applications using Flux’s GitOps workflow. All applications are organized under overlays/kimawesome/applications/ and are automatically deployed and kept in sync with the Git repository.

Application Deployment Strategy

Applications in this cluster follow a layered deployment approach:
  1. Base Configuration - Generic application manifests in overlays/base/
  2. Overlay Customization - Environment-specific patches in overlays/kimawesome/applications/
  3. Flux Reconciliation - Continuous sync and automatic deployment
All applications use Kustomize for configuration management, allowing for base definitions with environment-specific overlays.

Managed Applications

The cluster currently manages the following applications:

DNS Server

BIND9 DNS server for internal network resolution

Tooling

Developer tools including n8n workflow automation and Yopass secret sharing

Version Management

Version tracking system with MySQL database backend

Knowledge Hub

Documentation and knowledge base application

Directory Structure

overlays/kimawesome/applications/
├── kustomization.yaml           # Main applications manifest
├── dns-server/                  # DNS server configuration
│   ├── config/                  # Zone files and BIND config
│   ├── namespace.yaml
│   └── kustomization.yaml
├── tooling/                     # Developer tools
│   ├── n8n/                     # Workflow automation
│   ├── yopass/                  # Secret sharing
│   └── no/                      # Additional tooling
├── version-management/          # Version tracking system
│   ├── mysql/                   # Database deployment
│   ├── shared-resources/        # Shared configs and secrets
│   └── httproute.yaml          # Ingress routing
└── steering-k8s/               # Cluster management tools

Application Categories

Infrastructure Services

  • DNS Server: Provides internal DNS resolution for the cluster and local network
  • Knowledge Hub: Internal documentation and knowledge management

Developer Tooling

  • n8n: Workflow automation platform for building integrations
  • Yopass: Secure secret sharing with time-limited access

Custom Applications

  • Version Management: Custom application for tracking software versions with MySQL backend

Common Configuration Patterns

Each application group runs in its own namespace:
namespace: dns-server
namespace: tooling
namespace: version-management

Accessing Applications

Applications are accessible through different methods depending on their configuration:
  • Internal DNS: app.internal.kim.tec.br for cluster-internal services
  • Public DNS: app.kim.tec.br for externally exposed services
  • LoadBalancer: Direct IP access for infrastructure services like DNS

Next Steps

Deploy an Application

Learn how to add a new application to the cluster

Configure DNS

Set up DNS records for your applications

Build docs developers (and LLMs) love