# Typy konfiguračních souborů
# Popis
- Konfigurují nastavení a prostředí programu
# Formát: XML
- Zkratka eXtensible Markup Language
- Podobá se HTML (mnohem flexibilnější)
- Definice pomocí vlastních tagů
- Komentáře se uzavírají pomocí
<!-- Some comment -->
- Další využití: RSS, XHR, WAP
Ukázka
<modelVersion>4.0.0</modelVersion>
<groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-client</artifactId>
<packaging>pom</packaging>
<version>1.0.0</version>
<name>guacamole-client</name>
<url>http://guacamole.apache.org/</url>
<!-- Some comment -->
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
# Formát: YAML
- Rekursivní zkratka YAML Ain't Markup Language
- Pro strukturování se používá odsazení 2 nebo 4 mezerami (tabulátory nejsou povoleny)
- Komentáře začínají znakem #
- Začátek dokumentu se značí --
- Využití: Kubernetes, Ansible, Gitlab CI, Docker Compose
---
- name: kotlilplaybook
hosts: optiplex
tasks:
# Create folder
- name: create folder
file:
state: directory
path: '/tmp/optiplex'
# Formát: JSON
- Zkratka JavaScript Object Notation
- Formát pro výměnu dat
- Založený na JavaScriptu
- Kolekce párů klíč-hodnota
- Komentáře nejsou povoleny
{
"name": "gatsby-starter-default",
"description": "Gatsby default starter",
"version": "1.0.0",
"author": "Kyle Mathews <mathews.kyle@gmail.com>",
"dependencies": {
"a": "^2.1.2",
"babel-plugin-styled-components": "^1.5.1",
"browser-lang": "^0.0.1",
"gatsby": "next",
"gatsby-plugin-react-helmet": "next",
"gatsby-plugin-styled-components": "^3.0.0-beta.3",
"gatsby-plugin-typography": "^1.7.18",
"intl": "^1.2.5",
"react": "^16.4.1",
"react-dom": "^16.4.1",
"react-helmet": "^5.2.0",
"react-intl": "^2.4.0",
"react-particles-js": "^2.3.0",
"react-scrollable-anchor": "^0.6.1",
"styled-components": "^3.3.3",
"typed.js": "^2.0.9",
"typography-theme-moraga": "^0.15.10"
}
}
# Formát: CONF
- Systémové konfigurační souboru v unixových systémech (Linux, BSD, macOS)
- Data ukládany ve stylu klíč-hodnota
- Formát se může lišit (záleží na implementaci)
- Hodnota může obsahovat mezery
- Komentáře začínají znakem # nebo //
# This file is automatically generated.
nameserver 8.8.8.8
nameserver 8.8.4.4
# Formát: INI
- Znamená INItialization
- Převážně u Windowsu
- Data ukládany ve stylu klíč-hodnota
- Komentáře začínají středníkem
- Mimo jiné využívá PHP (php.ini)
[database]
; use IP address in case network name resolution is not working
server=192.0.2.62
port=143
file="payroll.dat"
# Formát: Unit file
- Unit konfigurce pro Systemd
- Formát podobný ini souborům
- Popisuje chování dané jednotky (třeba služby)
- Komentáře nejsou povoleny
- Více info: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system_administrators_guide/sect-managing_services_with_systemd-unit_files
[Unit]
Description=Some testing service
[Service]
ExecStart=/usr/local/bin/muj-script.sh
[Install]
WantedBy=multi-user.target
# Formát: Hosts File
- Lokální DNS záznamy
- Mapuje název hostitele na IP adresu
- Komentáře začínají znakem #
# Host Database
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost
172.20.24.103 neco.local
# Formát: Properties
- Používájí především Java aplikace k nastavení konfigurovatelných parametrů
- Můžou být mezery
- Data ukládany ve stylu klíč-hodnota
- Komentáře začínají znakem # nebo !
website = https://en.wikipedia.org/
language = English
# The backslash below tells the application to continue reading
# the value onto the next line.
message = Welcome to \
Wikipedia!
# Add spaces to the key
key\ with\ spaces = This is the value that could be looked up with the key "key with spaces".
# Unicode
tab : \u0009