add
This commit is contained in:
11
Puppetfile
Normal file
11
Puppetfile
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
# Puppetfile
|
||||||
|
forge 'https://forge.puppet.com'
|
||||||
|
|
||||||
|
# Модули из Forge
|
||||||
|
mod 'puppetlabs/stdlib', '9.0.0'
|
||||||
|
mod 'puppetlabs/ntp', '9.2.0'
|
||||||
|
|
||||||
|
# Собственный модуль profile_base лежит прямо в репозитории (site/profile_base)
|
||||||
|
# Так как он уже будет склонирован вместе с контролем, его можно не указывать в Puppetfile.
|
||||||
|
# Но если хотите явно, можно использовать :path, но тогда r10k его скопирует из исходного репозитория.
|
||||||
|
# Мы просто положим его в site/ и он будет доступен по modulepath.
|
||||||
3
environment.conf
Normal file
3
environment.conf
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
# environment.conf
|
||||||
|
modulepath = modules:site
|
||||||
|
environment_timeout = 0
|
||||||
12
hiera.yaml
Normal file
12
hiera.yaml
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
# hiera.yaml
|
||||||
|
---
|
||||||
|
version: 5
|
||||||
|
defaults:
|
||||||
|
datadir: hieradata
|
||||||
|
data_hash: yaml_data
|
||||||
|
|
||||||
|
hierarchy:
|
||||||
|
- name: "Per-node data"
|
||||||
|
path: "nodes/%{trusted.certname}.yaml"
|
||||||
|
- name: "Common data"
|
||||||
|
path: "common.yaml"
|
||||||
7
hieradata/nodes/example.node.yaml
Normal file
7
hieradata/nodes/example.node.yaml
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
# hieradata/nodes/example.node.yaml
|
||||||
|
profile_base::base_packages:
|
||||||
|
- vim
|
||||||
|
- htop
|
||||||
|
- curl
|
||||||
|
- git
|
||||||
|
- mtr # дополнительный пакет
|
||||||
4
manifests/site.pp
Normal file
4
manifests/site.pp
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
# manifests/site.pp
|
||||||
|
node default {
|
||||||
|
include profile_base
|
||||||
|
}
|
||||||
24
site/profile_base/manifests/init.pp
Normal file
24
site/profile_base/manifests/init.pp
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
# site/profile_base/manifests/init.pp
|
||||||
|
class profile_base (
|
||||||
|
Array[String] $base_packages = [],
|
||||||
|
Array[String] $ntp_servers = [],
|
||||||
|
String $motd_content = "Managed by Puppet (masterless)\n",
|
||||||
|
) {
|
||||||
|
# Установка базовых пакетов
|
||||||
|
package { $base_packages:
|
||||||
|
ensure => installed,
|
||||||
|
}
|
||||||
|
|
||||||
|
# Настройка NTP
|
||||||
|
class { 'ntp':
|
||||||
|
servers => $ntp_servers,
|
||||||
|
}
|
||||||
|
|
||||||
|
# Настройка MOTD
|
||||||
|
file { '/etc/motd':
|
||||||
|
content => $motd_content,
|
||||||
|
owner => 'root',
|
||||||
|
group => 'root',
|
||||||
|
mode => '0644',
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user