Description

I'm implementing a split-horizon DNS for my home Kubernetes cluster to be able to access my internal (and external) services over the local network through public domains. I managed to make a PoC with the k8s_gateway plugin for CoreDNS. However, I soon found out it responds with IPs for all Gateways assigned to HTTPRoutes, publishing public IPs as well as the internal Loadbalancer ones.

To remedy this issue, a simple filtering mechanism has to be implemented.

Goals

  • Learn an acceptable amount of Golang
  • Implement GatewayClass (and IngressClass) filtering for k8s_gateway
  • Deploy on homelab cluster
  • Profit?

Resources

EDIT: Feature mostly complete. An unfinished PR lies here. Successfully tested working on homelab cluster.

Looking for hackers with the skills:

kubernetes golang dns

This project is part of:

Hack Week 24

Activity

  • 1 day ago: jmeza liked this project.
  • 1 day ago: paulgonin liked this project.
  • 1 day ago: pdostal liked this project.
  • 1 day ago: fgiudici liked this project.
  • 1 day ago: parag.jain joined this project.
  • 2 days ago: jkuzilek added keyword "dns" to this project.
  • 2 days ago: jkuzilek added keyword "golang" to this project.
  • 2 days ago: jkuzilek added keyword "kubernetes" to this project.
  • 2 days ago: jkuzilek started this project.
  • 2 days ago: jkuzilek originated this project.

  • Comments

    • parag.jain
      1 day ago by parag.jain | Reply

      I am interested!! Can I join ?

      • jkuzilek
        about 22 hours ago by jkuzilek | Reply

        Sorry, unfortunately, I already managed to finish most of the task and created a PR. Didn't take that much work as I thought.

    Similar Projects

    Setup Kanidm as OIDC provider on Kubernetes by jkuzilek

    Description

    I am planning to upgrade my hom...


    A CLI for Harvester by mohamed.belgaied

    [comment]: # Harvester does not officially come...


    SUSE AI Meets the Game Board by moio

    Use [tabletopgames.ai](https://tabletopgames.ai...


    Technical talks at universities by agamez

    Description

    This project aims to empower ...


    ClusterOps - Easily install and manage your personal kubernetes cluster by andreabenini

    Description

    ClusterOps is a Kubernetes ...


    Jenny Static Site Generator by adam.pickering

    Description

    For my [personal site](www.ad...


    A CLI for Harvester by mohamed.belgaied

    [comment]: # Harvester does not officially come...


    iSCSI integration in Warewulf by ncuralli

    Description

    This Hackweek project aims to...


    suse-rancher-supportconfig by eminguez

    Description

    SUSE's supportconfig [suppo...


    Install Uyuni on Kubernetes in cloud-native way by cbosdonnat

    Description

    For now installing Uyuni on K...


    ddflare: (Dyn)DNS management via Cloudflare API in Kubernetes by fgiudici

    Description

    [ddflare](https://github.com/f...