<commit_before># Configuration File Schema
The configuration file is written in YAML format. In contrast to the command line
parameters, a configuration file is easier to maintain and in some cases provides
more detailed configuration possibilities.

**Shared schema**

```
# Cloud Usage
mode: enum [openstack, aws, googlecloud, azure]     # Provider mode

# Access
user: string                                        # User name (just for VM tagging)
sshUser: string                                     # SSH user name, default is "ubuntu"
keypair: string                                     # Keypair name for authentication (aws and openstack only)
sshPublicKeyFile: string                            # SSH public key file (e.g.: .ssh/id_rsa.pub)
sshPrivateKeyFile: string                           # SSH private key file (e.g.: .ssh/id_rsa)
credentialsFile: string                             # credentials file (e.g.: */.bibigrid.credentials.yml)

region: string                                      # Specific region
availabilityZone: string                            # e.g.: default, maintenance, ...

# Network
network: string                                     # name / id of network (e.g.: 0a217b61-4c67-...)
subnet: string                                      # name / id of subnet
ports:
  - type: enum [TCP, UDP, ICMP]                     # Transmission Protocol, Default is TCP (recommended)
    number: integer [1 - 65535]                     # Port number, (e.g. TCP-Port 80 - HTTP)
    ipRange: string                                 # "current" or CIDR mask to restrict access, (e.g.: 172.16.31.10/24)
  - ...

# Master 
masterInstance:
  type: string                                      # Instance Flavor, self-assigned (e.g.: m1.small)
  image: string                                     # Image ID (e.g.: 802e0abe-ac6c-...) or Image name

# Workers
workerInstances:
  - type: string                                    # Instance Flavor, self-assigned (e.g.: m1.small)
    image: string                                   # Image ID (e.g.: 802e0abe-ac6c-...) or Image name
    count: integer                                  # Number of Worker Instances
  - ...
  
# Services
useMasterAsCompute: boolean [yes, no]               # Use master as compute instance, Default is no<commit_msg>documentation #170 : local DNS lookup<commit_after># Configuration File Schema
The configuration file is written in YAML format. In contrast to the command line
parameters, a configuration file is easier to maintain and in some cases provides
more detailed configuration possibilities.

**Shared schema**

```
# Cloud Usage
mode: enum [openstack, aws, googlecloud, azure]     # Provider mode

# Access
user: string                                        # User name (just for VM tagging)
sshUser: string                                     # SSH user name, default is "ubuntu"
keypair: string                                     # Keypair name for authentication (aws and openstack only)
sshPublicKeyFile: string                            # SSH public key file (e.g.: .ssh/id_rsa.pub)
sshPrivateKeyFile: string                           # SSH private key file (e.g.: .ssh/id_rsa)
credentialsFile: string                             # credentials file (e.g.: */.bibigrid.credentials.yml)

region: string                                      # Specific region
availabilityZone: string                            # e.g.: default, maintenance, ...

# Network
network: string                                     # name / id of network (e.g.: 0a217b61-4c67-...)
subnet: string                                      # name / id of subnet
ports:
  - type: enum [TCP, UDP, ICMP]                     # Transmission Protocol, Default is TCP (recommended)
    number: integer [1 - 65535]                     # Port number, (e.g. TCP-Port 80 - HTTP)
    ipRange: string                                 # "current" or CIDR mask to restrict access, (e.g.: 172.16.31.10/24)
  - ...
localDNSLookup: boolean [yes,no]                    # Enable local DNS lookup. Creates an entry for and on each host in
                                                    # /etc/hosts. Should only be enabled if no or a malfunction DNS is available.

# Master 
masterInstance:
  type: string                                      # Instance Flavor, self-assigned (e.g.: m1.small)
  image: string                                     # Image ID (e.g.: 802e0abe-ac6c-...) or Image name

# Workers
workerInstances:
  - type: string                                    # Instance Flavor, self-assigned (e.g.: m1.small)
    image: string                                   # Image ID (e.g.: 802e0abe-ac6c-...) or Image name
    count: integer                                  # Number of Worker Instances
  - ...
  
# Services
useMasterAsCompute: boolean [yes, no]               # Use master as compute instance, Default is no
{'fraction_non_alphanumeric': 0.08401471790678659, 'fraction_numerical': 0.0169664758789861, 'mean_word_length': 1.4258800198314328, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 2, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 36, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2239829', 'n_tokens_mistral': 1311, 'n_tokens_neox': 1188, 'n_words': 448}