Skip to content
Snippets Groups Projects
README.md 1015 B
Newer Older
  • Learn to ignore specific revisions
  • # DNS Deployment Pipeline
    
    Krsna Rodriguez's avatar
    Krsna Rodriguez committed
    
    
    This pipeline automates the validation and deployment of a DNS zone file to primary and secondary DNS servers. 
    
    Krsna Rodriguez's avatar
    Krsna Rodriguez committed
    
    
    To use this, you need to do the following:
    
    Krsna Rodriguez's avatar
    Krsna Rodriguez committed
    
    
    - Rename the pipeline-file.gitlab.ci.yml to .gitlab-ci.yml
    - Adapt the variables and the runner to your environment.
    - adapt the destination servers in the deploy stage in the pipeline file.
    
    Krsna Rodriguez's avatar
    Krsna Rodriguez committed
    
    
    ## Stages
    
    Krsna Rodriguez's avatar
    Krsna Rodriguez committed
    
    
    1. **Validate**  
       - Runs `named-checkzone` to ensure the DNS zone file is valid.
    
    Krsna Rodriguez's avatar
    Krsna Rodriguez committed
    
    
    2. **Deploy to Master DNS**  
       - Transfers the validated zone file to the master DNS server.  
       - Reloads BIND to apply changes.
    
    Krsna Rodriguez's avatar
    Krsna Rodriguez committed
    
    
    3. **Deploy to Secondary DNS**  
       - Transfers the zone file to the secondary DNS server.  
       - Reloads BIND to apply changes.
    
    Krsna Rodriguez's avatar
    Krsna Rodriguez committed
    
    
    ## Requirements
    
    Krsna Rodriguez's avatar
    Krsna Rodriguez committed
    
    
    - GitLab CI/CD runner with `kr1ps-home-runner` tag.
    - SSH private key stored in `krips_ssh_key` variable.
    - Bind9 installed on target servers.
    
    Krsna Rodriguez's avatar
    Krsna Rodriguez committed
    
    ## Usage
    
    
    Push updates to the repository, and the pipeline automatically validates and deploys the new DNS zone file.