aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSilvio Rhatto <rhatto@riseup.net>2020-10-01 17:30:24 -0300
committerSilvio Rhatto <rhatto@riseup.net>2020-10-01 17:30:24 -0300
commit9a5f69a671a0ad841d9914293efbdcef0e1b75bf (patch)
tree26aa43db387ef16af047ed7e6e0ad0927a8f246a
parent765ca2bd25384c3d33d243a5b2f0aa419edcd8fa (diff)
downloadsemanticscuttle-9a5f69a671a0ad841d9914293efbdcef0e1b75bf.tar.gz
semanticscuttle-9a5f69a671a0ad841d9914293efbdcef0e1b75bf.tar.bz2
Feat: dev environment using kvmx and puppet
-rw-r--r--kvmxfile7
-rw-r--r--puppet/Puppetfile53
-rw-r--r--puppet/config/node/box.example.org.yaml2
-rw-r--r--puppet/config/node/links.example.org.yaml67
-rw-r--r--puppet/config/secrets/node/links.example.org.yaml10
5 files changed, 135 insertions, 4 deletions
diff --git a/kvmxfile b/kvmxfile
index 2a0cdcb..ea600c3 100644
--- a/kvmxfile
+++ b/kvmxfile
@@ -61,7 +61,7 @@ shared_folder_mountpoint="/srv/shared"
# Folder to sync during provisioning in the format "/host/folder1 /guest/folder1,/host/folder2 /guest/folder2[,...]".
# Needs ssh_support set to "y" and a workable SSH connection to the guest.
#provision_rsync="$KVMX_BASE/share/provision/ /usr/local/share/kvmx/provision/"
-#provision_rsync="puppet/ /etc/puppet/"
+provision_rsync="puppet/ /etc/puppet/"
# Options for provision_rsync
#provision_rsync_opts="--exclude=somefolder"
@@ -69,10 +69,10 @@ shared_folder_mountpoint="/srv/shared"
# Absolute path for a provision script located inside the guest.
# Needs ssh_support set to "y" and a workable SSH connection to the guest.
#provision_command="sudo apt-get update && sudo apt-get dist-upgrade -y && sudo apt-get autoremove -y && sudo apt-get clean"
-#provision_command="/usr/local/share/kvmx/provision/development && /etc/puppet/bin/provision && /etc/puppet/bin/deploy"
+provision_command="/usr/local/share/kvmx/provision/development && /etc/puppet/bin/provision && /etc/puppet/bin/deploy"
#provision_command="/usr/local/share/kvmx/provision/development && /etc/puppet/bin/deploy"
#provision_command="/usr/local/share/kvmx/provision/development && /home/$user/code/$VM/bin/custom-provisioner"
-provision_command="/usr/local/share/kvmx/provision/development"
+#provision_command="/usr/local/share/kvmx/provision/development"
#provision_command="/usr/local/share/kvmx/provision/trashman"
#provision_command="/usr/local/share/kvmx/provision/desktop-basic"
@@ -133,6 +133,7 @@ xrandr="0"
# Set additional hostfwd mappings
#port_mapping="hostfwd=tcp:127.0.0.1:8080-:80,hostfwd=tcp:127.0.0.1:8443-:443"
+port_mapping="hostfwd=tcp:127.0.0.1:8900-:80"
# Where the guest image is stored
#image="$HOME/.local/share/kvmx/$VM/box.img"
diff --git a/puppet/Puppetfile b/puppet/Puppetfile
new file mode 100644
index 0000000..2c556c8
--- /dev/null
+++ b/puppet/Puppetfile
@@ -0,0 +1,53 @@
+# Local modules
+mod 'site_nodo', :local => true
+
+# Basic modules
+mod "augeas",
+ :git => "https://git.fluxo.info/puppet-augeas"
+mod "backup",
+ :git => "https://git.fluxo.info/puppet-backup"
+mod "backupninja",
+ :git => "https://git.fluxo.info/puppet-backupninja",
+ :ref => "develop"
+mod "concat",
+ :git => "https://git.fluxo.info/puppet-concat"
+mod "cron",
+ :git => "https://git.fluxo.info/puppet-cron"
+mod "domain_check",
+ :git => "https://git.fluxo.info/puppet-domain_check"
+mod "exim",
+ :git => "https://git.fluxo.info/puppet-exim"
+mod "lsb",
+ :git => "https://git.fluxo.info/puppet-lsb"
+mod "nodo",
+ :git => "https://git.fluxo.info/puppet-nodo"
+mod "rsyslog",
+ :git => "https://git.fluxo.info/puppet-rsyslog"
+mod "shellprompt",
+ :git => "https://git.fluxo.info/shellprompt"
+mod "sshd",
+ :git => "https://git.fluxo.info/puppet-sshd",
+ :ref => "develop"
+mod "ssl",
+ :git => "https://git.fluxo.info/puppet-ssl"
+mod "stdlib",
+ :git => "https://git.fluxo.info/puppet-stdlib"
+mod "user",
+ :git => "https://git.fluxo.info/puppet-user"
+
+# Additional modules
+mod "mysql",
+ :git => "https://git.fluxo.info/puppet-mysql"
+mod "database",
+ :git => "https://git.fluxo.info/puppet-database"
+mod "apache",
+ :git => "https://git.fluxo.info/puppet-apache"
+mod "php",
+ :git => "https://git.fluxo.info/puppet-php"
+mod "ntp",
+ :git => "https://git.fluxo.info/puppet-ntp"
+mod "websites",
+ :git => "https://git.fluxo.info/puppet-websites"
+mod "monkeysphere",
+ :git => "https://git.fluxo.info/puppet-monkeysphere",
+ :ref => "develop"
diff --git a/puppet/config/node/box.example.org.yaml b/puppet/config/node/box.example.org.yaml
index 657bce1..201de61 100644
--- a/puppet/config/node/box.example.org.yaml
+++ b/puppet/config/node/box.example.org.yaml
@@ -2,7 +2,7 @@
#
# Nodo
#
-nodo::role: 'dev::virtual'
+nodo::role: 'web'
#
# Classes
diff --git a/puppet/config/node/links.example.org.yaml b/puppet/config/node/links.example.org.yaml
new file mode 100644
index 0000000..449feff
--- /dev/null
+++ b/puppet/config/node/links.example.org.yaml
@@ -0,0 +1,67 @@
+---
+#
+# Nodo
+#
+nodo::role: 'web'
+
+#
+# Classes
+#
+classes:
+ - 'php'
+
+#
+# MySQL
+#
+mysql::server::implementation: 'mariadb-server'
+mysql::implementation: 'mariadb-client'
+
+#
+# Backup
+#
+nodo::subsystem::backup::localhost : false
+nodo::subsystem::backup::encryptkey : 'none'
+nodo::subsystem::backup::password : 'hackme'
+
+#
+# Websites
+#
+#websites::default_db : 'dbname'
+#websites::default_db::password : 'hackme'
+
+#
+# Apache
+#
+#apache::default_folder : '/srv/kvmx'
+#apache::default_user : 'user'
+#apache::default_group : 'user'
+
+# Manage your app
+#apache::sites:
+# myapp:
+# docroot : "/vagrant/"
+# server_alias : 'myapp vagrant localhost'
+# use : [ "Site myapp" ]
+# tag : 'all'
+# owner : vagrant
+# group : vagrant
+# mpm_user : vagrant
+# mpm_group : vagrant
+# password : '$5$NZfZqcdyZ3Xt$.kfZejriEJP3fc6RU0gBGEzMPQ/c3XiowVImB6VDrtD'
+# shell : '/bin/bash'
+apache::sites:
+ semanticscuttle:
+ docroot : '/srv/shared/www'
+ server_alias : '10.0.2.2'
+ allow_override : 'All'
+ owner : 'user'
+ group : 'user'
+ error_log : true
+ custom_log : true
+ custom_log_format : 'custom'
+ custom_directives : >
+ <Directory /srv/shared>
+ Options Indexes Includes FollowSymLinks MultiViews
+ AllowOverride All
+ Require all granted
+ </Directory>
diff --git a/puppet/config/secrets/node/links.example.org.yaml b/puppet/config/secrets/node/links.example.org.yaml
new file mode 100644
index 0000000..182dd01
--- /dev/null
+++ b/puppet/config/secrets/node/links.example.org.yaml
@@ -0,0 +1,10 @@
+#
+# MySQL
+#
+# The following password is public information and therefore
+# shall not be user on production.
+mysql::server::rootpw: 'k8tKW9Y14Tr6xoqRDJbMzt1hackme'
+
+database::instances:
+ semanticscuttle:
+ password: 'LLIX7nN9t7ymhackme'