aboutsummaryrefslogblamecommitdiffstats
path: root/inventory.yml
blob: e715339bee2ff199cae05e50f76fd8351c6e9eb9 (plain) (tree)
1
2
3
4
5
6
7
8







               


                                
                                  



                 






                      
                 
 

                  
 
                      
                                                  
 



                            

        


                                  
                                                     
               


                                                                                  
 


                            
                                                   
               
                                                   
          

                                                                                 
                 
                       
                         
                         

                              
 


                                    
                                                   
               

                                                           
 
        

                         

                                                   

                                                                               
 

                         

                                                   

                                                                                          













                                                     




                         
           

                  

            


                    

            
 







                           

            

            
 
                   

            
                                     


                                                            
                                

            

                    
 
                  

           

                            
                                    

            



                  



                                    
            

            

# inventory.yml

--- 

all:

  vars:

    _i:
      dcontroller: "dcontroller"
      domain_name: "rgoncalves.se"
      dns:
        - 8.8.8.8
        - 8.8.4.4

    packages:
      zsh: "zsh"
      curl: "curl"
      tmux: "tmux"
      wget: "wget"
      figlet: "figlet"
      neovim: "neovim"
      pip: "pip3"

    group:
      root: "root"

    ansible_port: "22"
    ansible_python_interpreter: "/usr/bin/python3"


  # ---
  # Declaration of all hosts
  # ---
  hosts:

    # SERVER for domain controller
    dcontroller:
      ansible_host: "dcontroller"
      ip: { in: "10.10.0.1", out: "185.203.114.234" }
      services:
        - { name: "ssh", proto: "tcp", port: "22", public: true }
        - { name: "httpd", proto: "tcp", port: "80", public: true, domain: "www" }
        - { name: "wireguard", proto: "udp", port: "53", public: true }

    # SERVER for vm
    stack0:
      ansible_host: "stack0"
      ip: { in: "10.10.0.40", out: "192.168.5.40" }
      services:
        - { name: "ssh", proto: "tcp", port: "22" }
      vms:
        - { name: "vm0", iso: "alpine", memory: "6G", size: "4G", enabled: true }
        - { name: "vm1", iso: "alpine", memory: "2G", size: "4G", enabled: true }
      hypervisor:
        enabled: "true"
        interface: "bnx0"
        switch: "bridge0"
        gateway: "192.168.5.1"
        mask: "255.255.255.0"

    # SERVER for personnal file sync
    emb0:
      ansible_host: "emb0"
      ip: { in: "10.10.0.41", out: "192.168.5.41" }
      services:
        - { name: "ssh", proto: "tcp", port: "22" }
        - { name: "syncthing", proto: "tcp", port: "8384" }

    # VM
    vm0:
      ansible_host: "vm0"
      ip: { in: "10.10.0.60", out: "192.168.5.60" }
      services:
        - { name: "ssh", proto: "tcp", port: "22" }
        - { name: "minecraft", proto: "tcp, udp", port: "25565", public: true }

    vm1:
      ansible_host: "vm1"
      ip: { in: "10.10.0.61", out: "192.168.5.61" }
      services:
        - { name: "ssh", proto: "tcp", port: "22"}
        - { name: "nextcloud", proto: "tcp", port: "8080", public: true, domain: "cloud" }

    # CLIENTS
    graphite:
      ansible_host: "graphite"
      ip: { in: "10.10.0.80", out: "192.168.5.80" }
    bentonite:
      ansible_host: "bentonite"
      ip: { in: "10.10.0.81", out: "192.168.5.81" }
    guest0:
      ansible_host: "guest0"
      ip: { in: "10.10.0.100", out: "192.168.5.100" }
    guest1:
      ansible_host: "guest1"
      ip: { in: "10.10.0.101", out: "192.168.5.101" }


  # ---
  # Declaration of groups
  # ---
  children:

    # GROUP server
    servers:
      hosts:
        dcontroller:
        stack0:
        emb0:
        vm0:
        vm1:

    # GROUP physical
    ph:
      hosts:
        dcontroller:
        stack0:
        emb0:
     
    # GROUP virtual machine
    vm:
      hosts:
        vm0:
        vm1:

    # GROUP openbsd
    openbsd:
      vars:
        ansible_become_method: "doas"
        ansible_python_interpreter: "/usr/local/bin/python3"
        group_root: "wheel"
        path_zsh: "/usr/local/bin/zsh"
        path_zshrc: "/etc/zshrc"

      hosts:
        dcontroller:
        stack0:

    # GROUP debian
    debian:
      vars:
        group_root: "root"
        path_zsh: "/bin/zsh"
        path_zshrc: "/etc/zsh/zshrc"

      hosts:
        emb0:

    # GROUP alpine
    alpine:
      vars:
        group_root: "root"
        path_zsh: "/bin/zsh"
        path_zshrc: "/etc/zsh/zshrc"
      hosts:
        vm0:
        vm1:
remember that computers suck.