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