]> git.immae.eu Git - perso/Immae/Projets/Puppet.git/blobdiff - modules/base_configuration/manifests/init.pp
Add base configuration
[perso/Immae/Projets/Puppet.git] / modules / base_configuration / manifests / init.pp
diff --git a/modules/base_configuration/manifests/init.pp b/modules/base_configuration/manifests/init.pp
new file mode 100644 (file)
index 0000000..4c6ca1e
--- /dev/null
@@ -0,0 +1,52 @@
+class base_configuration (
+  $hostname = undef,
+  $username = "immae",
+  $userid   = 1000
+) {
+  unless empty($hostname) {
+    class { 'systemd::hostname':
+      hostname => $hostname
+    }
+  }
+
+  user { "${username}:${userid}":
+    name       => $username,
+    uid        => $userid,
+    ensure     => "present",
+    groups     => "wheel",
+    managehome => true,
+    notify     => Exec["remove_password"]
+  }
+
+  exec { "remove_password":
+    command     => "/usr/bin/chage -d 0 $username && /usr/bin/passwd -d $username",
+    refreshonly => true
+  }
+
+  ssh_authorized_key { $username:
+    name => "immae@immae.eu",
+    user => $username,
+    type => "ssh-rsa",
+    key  => "AAAAB3NzaC1yc2EAAAADAQABAAABAQDi5PgLBwMRyRwzJPnSgUyRAuB9AAxMijsw1pR/t/wmxQne1O5fIPOleHx+D8dyZbwm+XkzlcJpgT0Qy3qC9J8BPhshJvO/tA/8CI/oS/FE0uWsyACH1DMO2dk4gRRZGSE9IuzDMRPlnfZ3n0tdsPzzv3GH4It/oPIgsvkTowKztGLQ7Xmjr5BxzAhXcIQymqA0U3XWHSdWvnSRDaOFG0PDoVMS85IdwlviVKLnV5Sstb4NC/P28LFfgvW8DO/XrOqujgDomqTmR41dK/AyrGGOb2cQUMO4l8Oa+74aOyKaB61rr/rJkr+wCbEttkTvgFa6zZygSk3edfiWE2rgn4+v"
+  }
+
+  class { 'sudo':
+    config_file_replace => false
+  }
+
+  sudo::conf { 'wheel':
+    priority => 10,
+    content  => "%wheel ALL=(ALL) ALL"
+  }
+
+  class { 'ssh::server':
+     storeconfigs_enabled => false,
+     options => {
+        'AcceptEnv'                       => undef,
+        'X11Forwarding'                   => 'yes',
+        'PrintMotd'                       => 'no',
+        'ChallengeResponseAuthentication' => 'no',
+        'Subsystem'                       => 'sftp /usr/lib/openssh/sftp-server',
+     }
+  }
+}