Skip to content

Feature/pihole #36

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 12 commits into from
Jul 22, 2025
Merged

Feature/pihole #36

merged 12 commits into from
Jul 22, 2025

Conversation

aessing
Copy link
Owner

@aessing aessing commented Jul 22, 2025

Pull Request

Description

Adding Pi-hole, Nebula-Sync and Unbound as applications and have some small changes to Nameserver (Bind).

The idea is to have a whole Home-Nameserver-System

User -> Pi-Hole -> Unbound -> Forwarder (e.g. Quad9 - for Internet DNS resolution)
|-----> Nameserver (Bind - for Local DNS entries)
|-----> Nebula-Sync (for sync to a second Pi-Hole instance for high availability)

Types of changes

What types of changes does your change introduce?

Please put an x in the boxes that apply

  • New feature (adds functionality)
  • Bugfix (fixes an issue)
  • Security (fixes a security issue) | Please have a look at our Security Policy first.
  • Code style cleaning or Refactoring (formatting, renaming, restructuring, etc.)
  • Documentation Update
  • Other (please describe):

Breaking changes

Does this Pull Request cause existing functionality to not work as expected or even break.

Put an x in the boxes that apply

  • Yes
  • No

How has the changes been tested?

  • Deployed and running on my system

Checklist

Thank you for your contribution. Please review the following checklist before submitting your Pull Request.

Please put an x in the boxes that apply

  • I reviewed the guidelines for contributing to this repository
  • I created an issue, or used an existing issue which is related to this Pull Request
  • I have performed a self-review of my own code
  • My code builds clean without any errors or warnings
  • My code follows the style guidelines of this project
  • I have commented my code, particularly in hard-to-understand areas
  • I have added necessary documentation (if appropriate)
  • I have added unit tests that prove my fix is effective or that my feature works

@aessing aessing requested a review from Copilot July 22, 2025 08:47
@aessing aessing self-assigned this Jul 22, 2025
@aessing aessing added priority - medium Medium priority type - enhancement Improvements to existing features status - ready for review Ready for code review labels Jul 22, 2025
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds three new applications to support a comprehensive Home-Nameserver-System: Pi-hole (DNS sinkhole), Nebula-Sync (Pi-hole synchronization), and Unbound (recursive DNS resolver). The implementation creates a DNS resolution chain where users query Pi-hole, which forwards to Unbound for recursive resolution or to a local Nameserver (Bind) for local DNS entries, with Nebula-Sync providing high availability through Pi-hole instance synchronization.

  • Complete Kubernetes deployment manifests for Pi-hole, Unbound, and Nebula-Sync applications
  • Configuration templates and sample overlays for customization
  • Integration with existing infrastructure (Traefik, cert-manager, Multus networking)

Reviewed Changes

Copilot reviewed 52 out of 52 changed files in this pull request and generated 2 comments.

File Description
Applications/Pi-hole/* StatefulSet-based Pi-hole deployment with web interface, DNS filtering, and persistent storage
Applications/Unbound/* Deployment-based recursive DNS resolver with comprehensive security and performance configurations
Applications/Nebula-Sync/* Deployment for synchronizing Pi-hole configurations between multiple instances
Comments suppressed due to low confidence (4)

Applications/Unbound/overlay/_SAMPLE/transformers/replicas.yaml:5

  • [nitpick] Inconsistent naming pattern. Should be 'unbound-replica-transformer' to match the pattern used in other transformers (e.g., 'unbound-label-transformer').
  name: unbound-replicatransformer

Applications/Pi-hole/overlay/_SAMPLE/transformers/replicas.yaml:5

  • [nitpick] Inconsistent naming pattern. Should be 'pihole-replica-transformer' to match the pattern used in other transformers (e.g., 'pihole-label-transformer').
  name: pihole-replicatransformer

Applications/Nebula-Sync/overlay/_SAMPLE/transformers/replicas.yaml:5

  • [nitpick] Inconsistent naming pattern. Should be 'nebula-sync-replica-transformer' to match the pattern used in other transformers (e.g., 'nebula-sync-label-transformer').
  name: nebula-sync-replicatransformer

Comment on lines +37 to +40
# At least one of a DNS Name, URI, or IP address is required.
dnsNames:
- CHANGE_ME
- CHANGE_ME
Copy link
Preview

Copilot AI Jul 22, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Duplicate 'CHANGE_ME' placeholder in dnsNames array. Consider removing one or providing a more descriptive placeholder comment.

Suggested change
# At least one of a DNS Name, URI, or IP address is required.
dnsNames:
- CHANGE_ME
- CHANGE_ME
# At least one DNS Name is required. Add additional DNS names as needed.
dnsNames:
- CHANGE_ME # Replace with your primary DNS name
# - ADDITIONAL_DNS_NAME # Uncomment and replace to add more DNS names

Copilot uses AI. Check for mistakes.

@aessing aessing merged commit b4d91d5 into main Jul 22, 2025
2 checks passed
@aessing aessing deleted the feature/pihole branch July 22, 2025 08:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
priority - medium Medium priority status - ready for review Ready for code review type - enhancement Improvements to existing features
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant