Page Menu
Home
DevCentral
Search
Configure Global Search
Log In
Files
F12239720
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
15 KB
Referenced Files
None
Subscribers
None
View Options
diff --git a/map.jinja b/map.jinja
index a8152a0..19e5628 100644
--- a/map.jinja
+++ b/map.jinja
@@ -1,102 +1,129 @@
{% set dirs = salt['grains.filter_by']({
'Debian': {
'etc': '/etc',
'bin': '/usr/bin',
'include': '/usr/include',
'lib': '/usr/lib',
'man': '/usr/share/man',
'sbin': '/usr/sbin',
},
'FreeBSD' : {
'etc': '/usr/local/etc',
'bin': '/usr/local/bin',
'include': '/usr/local/include',
'lib': '/usr/local/lib',
'man': '/usr/local/man',
'sbin': '/usr/local/sbin',
},
}, default='Debian') %}
{% set services = salt['grains.filter_by']({
'Debian': {
'manager': 'systemd',
},
'FreeBSD' : {
'manager': 'rc',
},
}, default='Debian') %}
{% set shells = salt['grains.filter_by']({
'Debian': {
'bash': '/bin/bash',
'fish': '/usr/bin/fish',
'tcsh': '/usr/bin/tcsh',
},
'FreeBSD' : {
'bash': '/usr/local/bin/bash',
'fish': '/usr/local/bin/fish',
'tcsh': '/bin/tcsh',
},
}, default='Debian') %}
{% set paths = salt['grains.filter_by']({
'FreeBSD': {
'sftp': '/usr/libexec/sftp-server',
},
'Debian': {
'sftp': '/usr/lib/openssh/sftp-server',
},
'RedHat': {
'sftp': '/usr/libexec/openssh/sftp-server',
},
'Arch': {
'sftp': '/usr/lib/ssh/sftp-server',
},
}, default='FreeBSD') %}
+{% set packages_prefixes = salt['grains.filter_by']({
+ 'Debian': {
+ 'python2': '',
+ 'python3': 'python3-',
+ },
+ 'RedHat': {
+ 'python2': 'python2-',
+ 'python3': 'python3-',
+ },
+ 'FreeBSD' : {
+ 'python2': 'py27-',
+ 'python3': 'py36-',
+ 'rubygem': 'rubygem-',
+ },
+}, default='Debian') %}
+
{% set packages = salt['grains.filter_by']({
'Debian' : {
'ag': 'silversearcher-ag',
'aspell-fr': 'aspell-fr',
+ 'aspell-en': 'aspell-en',
'certbot': 'certbot',
'cppunit': 'libcppunit-dev',
'emacs': 'emacs-nox',
'mariadb': 'mariadb-server',
+ 'node': 'nodejs',
'sphinx': 'python3-sphinx',
'tcltls': 'tcl-tls',
+ 'tdom': 'tdom',
'varnish': 'varnish',
+ 'verbiste': 'verbiste',
},
'RedHat': {
'ag': 'the_silver_searcher',
'aspell-fr': 'aspell-fr',
'certbot': 'python2-certbot',
'cppunit': 'cppunit-devel',
'emacs': 'emacs-nox',
+ 'exiftool': 'perl-Image-ExifTool',
'mariadb': 'mariadb-server',
+ 'node': 'nodejs',
'sphinx': 'python3-sphinx',
'tcltls': 'tcltls',
'varnish': 'varnish',
},
'Arch': {
'ag': 'the_silver_searcher',
'aspell-fr': 'aspell-fr',
'certbot': 'certbot',
'cppunit': 'cppunit',
'emacs': 'emacs-nox',
'mariadb': 'mariadb',
'sphinx': 'python-sphinx',
'tcltls': 'tcltls',
'varnish': 'varnish',
},
'FreeBSD' : {
'ag': 'the_silver_searcher',
'aspell-fr': 'fr-aspell',
+ 'aspell-en': 'en-aspell',
'certbot': 'py27-certbot',
'cppunit': 'cppunit',
'emacs': 'emacs-nox11',
+ 'exiftool': 'p5-Image-ExifTool-devel',
'mariadb': 'mariadb101-server',
+ 'node': 'node',
'sphinx': 'py27-sphinx',
'tcltls': 'tcltls',
+ 'tdom': 'tDOM',
'varnish': 'varnish5',
+ 'verbiste': 'fr-verbiste',
},
}, default='Debian') %}
diff --git a/roles/devserver/init.sls b/roles/devserver/init.sls
new file mode 100644
index 0000000..a7ef190
--- /dev/null
+++ b/roles/devserver/init.sls
@@ -0,0 +1,10 @@
+# -------------------------------------------------------------
+# Salt — Provision a development server
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+# Project: Nasqueron
+# Created: 2017-10-20
+# License: Trivial work, not eligible to copyright
+# -------------------------------------------------------------
+
+include:
+ - .userland-software
diff --git a/roles/devserver/userland-software/dev.sls b/roles/devserver/userland-software/dev.sls
new file mode 100644
index 0000000..29b442d
--- /dev/null
+++ b/roles/devserver/userland-software/dev.sls
@@ -0,0 +1,119 @@
+# -------------------------------------------------------------
+# Salt — Provision dev software
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+# Project: Nasqueron
+# Created: 2017-10-20
+# License: Trivial work, not eligible to copyright
+# -------------------------------------------------------------
+
+{% from "map.jinja" import packages, packages_prefixes with context %}
+
+# -------------------------------------------------------------
+# Java
+# -------------------------------------------------------------
+
+devserver_software_dev_java:
+ pkg:
+ - installed
+ - pkgs:
+ - openjdk8
+ - apache-ant
+ - maven
+
+# -------------------------------------------------------------
+# .Net languages
+# -------------------------------------------------------------
+
+devserver_software_dev_dotnet:
+ pkg:
+ - installed
+ - pkgs:
+ - mono
+
+# -------------------------------------------------------------
+# Node
+# -------------------------------------------------------------
+
+devserver_software_dev_node:
+ pkg:
+ - installed
+ - pkgs:
+ - {{ packages.node }}
+ - npm
+
+devserver_node_packages:
+ npm.installed:
+ - pkgs:
+ - bower
+ - browserify
+ - gulp
+ - grunt
+ - react-tools
+ - require:
+ - pkg: devserver_software_dev_node
+
+# -------------------------------------------------------------
+# PHP
+# -------------------------------------------------------------
+
+devserver_software_dev_php:
+ pkg:
+ - installed
+ - pkgs:
+ - phpunit
+
+# -------------------------------------------------------------
+# Python
+# -------------------------------------------------------------
+
+devserver_software_dev_python:
+ pkg:
+ - installed
+ - pkgs:
+ - {{ packages_prefixes.python2 }}nltk
+ - {{ packages_prefixes.python2 }}numpy
+ - {{ packages_prefixes.python2 }}virtualenv
+
+# -------------------------------------------------------------
+# Ruby
+# -------------------------------------------------------------
+
+devserver_software_dev_ruby:
+ pkg:
+ - installed
+ - pkgs:
+ - {{ packages_prefixes.rubygem }}rubocop
+
+# -------------------------------------------------------------
+# Rust
+# -------------------------------------------------------------
+
+devserver_software_dev_rust:
+ pkg:
+ - installed
+ - pkgs:
+ - rust
+
+# -------------------------------------------------------------
+# TCL
+# -------------------------------------------------------------
+
+devserver_software_dev_tcl:
+ pkg:
+ - installed
+ - pkgs:
+ - rlwrap
+ - tcllib
+ - tclsoap
+ - {{ packages.tcltls }}
+ - {{ packages.tdom }}
+
+# -------------------------------------------------------------
+# Web development
+# -------------------------------------------------------------
+
+devserver_software_dev_web:
+ pkg:
+ - installed
+ - pkgs:
+ - memcached
diff --git a/roles/devserver/userland-software/init.sls b/roles/devserver/userland-software/init.sls
new file mode 100644
index 0000000..f8a4796
--- /dev/null
+++ b/roles/devserver/userland-software/init.sls
@@ -0,0 +1,16 @@
+# -------------------------------------------------------------
+# Salt — Provision software
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+# Project: Nasqueron
+# Created: 2017-10-20
+# License: Trivial work, not eligible to copyright
+# -------------------------------------------------------------
+
+include:
+ # Shell server content
+ - roles/shellserver/userland-software/base
+ - roles/shellserver/userland-software/irc
+ - roles/shellserver/userland-software/web
+ # Software specific for development servers
+ - .dev
+ - .misc
diff --git a/roles/devserver/userland-software/misc.sls b/roles/devserver/userland-software/misc.sls
new file mode 100644
index 0000000..f8c1046
--- /dev/null
+++ b/roles/devserver/userland-software/misc.sls
@@ -0,0 +1,94 @@
+# -------------------------------------------------------------
+# Salt — Provision dev software
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+# Project: Nasqueron
+# Created: 2017-10-20
+# License: Trivial work, not eligible to copyright
+# -------------------------------------------------------------
+
+{% from "map.jinja" import packages, packages_prefixes with context %}
+
+devserver_software_misc_vcs:
+ pkg:
+ - installed
+ - pkgs:
+ # VCS
+ - cvs
+ - fossil
+ - subversion
+ # Bridges
+ - cvs2svn
+ - {{ packages_prefixes.python2 }}hg-git
+
+devserver_software_misc_media:
+ pkg:
+ - installed
+ - pkgs:
+ - {{ packages.exiftool }}
+ - ffmpeg2theora
+ - opencore-amr
+ - opus
+ - speex
+ - speexdsp
+ - x265
+
+devserver_software_misc_text_processing:
+ pkg:
+ - installed
+ - pkgs:
+ - antiword
+ - odt2txt
+ - texlive-full
+
+devserver_software_misc_security:
+ pkg:
+ - installed
+ - pkgs:
+ - aescrypt
+ - pwgen
+ - vault
+
+devserver_software_misc_tools:
+ pkg:
+ - installed
+ - pkgs:
+ - boxes
+ - cursive
+ - fusefs-s3fs
+ - gist
+ - p7zip
+ - primegen
+ - rsync
+ - unix2dos
+ {% if grains['os'] == 'FreeBSD' %}
+ - gawk
+ {% endif %}
+
+{% if grains['os'] == 'FreeBSD' %}
+devserver_software_misc_ports:
+ pkg:
+ - installed
+ - pkgs:
+ - ccache
+ - portmaster
+ - portshaker
+ - porttools
+ - poudriere
+{% endif %}
+
+devserver_software_misc_gadgets:
+ pkg:
+ - installed
+ - pkgs:
+ - asciiquarium
+ - binclock
+ - ditaa
+ - epte
+ - weatherspect
+
+devserver_software_misc_games:
+ pkg:
+ - installed
+ - pkgs:
+ - bsdgames
+ - textmaze
diff --git a/roles/shellserver/userland-software/base.sls b/roles/shellserver/userland-software/base.sls
index 83261bd..1775549 100644
--- a/roles/shellserver/userland-software/base.sls
+++ b/roles/shellserver/userland-software/base.sls
@@ -1,149 +1,157 @@
# -------------------------------------------------------------
# Salt — Provision base software
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Project: Nasqueron
# Created: 2016-04-09
# License: Trivial work, not eligible to copyright
# -------------------------------------------------------------
{% from "map.jinja" import packages with context %}
# -------------------------------------------------------------
# Shells
# -------------------------------------------------------------
shells:
pkg:
- installed
- pkgs:
- bash
- fish
- - tcsh
- zsh
+ {% if grains['os'] != 'FreeBSD' %}
+ - tcsh
+ {% endif %}
# -------------------------------------------------------------
# Editors
#
# Disclaimer: We don't caution the views of Richard Stallman
# or the Church of Emacs positions.
# See http://geekfeminism.wikia.com/wiki/EMACS_virgins_joke
# -------------------------------------------------------------
editors:
pkg:
- installed
- pkgs:
- vim
- nano
- joe
- {{ packages.emacs }}
# -------------------------------------------------------------
# General UNIX utilities
# -------------------------------------------------------------
utilities:
pkg:
- installed
- pkgs:
+ - mosh
- cmatrix
- figlet
- nmap
- toilet
+ - tmux
- tree
- whois
- woof
{% if grains['os_family'] == 'Debian' %}
- bsdmainutils
- sockstat
- dnsutils
- sysvbanner
- toilet-fonts
{% endif %}
{% if grains['os'] == 'FreeBSD' %}
- figlet-fonts
- bind-tools
+ - sudo
+ - coreutils
+ - wget
{% endif %}
# -------------------------------------------------------------
# Development
# -------------------------------------------------------------
dev:
pkg:
- installed
- pkgs:
- autoconf
- automake
- git
- - arcanist
- colordiff
- - strace
- cmake
- valgrind
- {{ packages.cppunit }}
- {{ packages.ag }}
{% if grains['os_family'] == 'Debian' %}
- php7.1-curl
{% endif %}
{% if grains['os'] != 'FreeBSD' %}
+ - arcanist
- clang
- llvm
+ - strace
{% endif %}
+{% if grains['os_family'] == 'Debian' %}
dev_popular_libs:
pkg:
- installed
- pkgs:
- {% if grains['os_family'] == 'Debian' %}
- libssl-dev
- {% endif %}
+{% endif %}
# -------------------------------------------------------------
# Languages
# -------------------------------------------------------------
languages_removed:
pkg:
- removed
- pkgs:
{% if grains['os_family'] == 'Debian' %}
- php7.0
{% elif grains['os'] == 'FreeBSD' %}
- php70
{% endif %}
languages:
pkg:
- installed
- pkgs:
- python3
{% if grains['os_family'] == 'Debian' %}
- tcl8.6-dev
- php7.1
{% elif grains['os'] == 'FreeBSD' %}
- tcl86
- php71
{% endif %}
# -------------------------------------------------------------
# De facto standard libraries for languages
# -------------------------------------------------------------
languages_libs:
pkg:
- installed
- pkgs:
- tcllib
- {{ packages.tcltls }}
# -------------------------------------------------------------
# Spelling and language utilities
# -------------------------------------------------------------
spelling:
pkg:
- installed
- pkgs:
- - verbiste
+ - {{ packages.verbiste }}
- {{ packages['aspell-fr'] }}
+ - {{ packages['aspell-en'] }}
diff --git a/roles/shellserver/userland-software/web.sls b/roles/shellserver/userland-software/web.sls
index 23c15c3..e52059a 100644
--- a/roles/shellserver/userland-software/web.sls
+++ b/roles/shellserver/userland-software/web.sls
@@ -1,25 +1,27 @@
# -------------------------------------------------------------
# Salt — Provision web software
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Project: Eglide
# Created: 2016-06-12
# License: Trivial work, not eligible to copyright
# -------------------------------------------------------------
+{% from "map.jinja" import packages with context %}
+
# -------------------------------------------------------------
# nginx
# -------------------------------------------------------------
nginx:
pkg.installed: []
service.running:
- require:
- pkg: nginx
# -------------------------------------------------------------
# SSL certificates
# -------------------------------------------------------------
letsencrypt:
pkg.installed:
- - name: letsencrypt
+ - name: {{ packages.certbot }}
File Metadata
Details
Attached
Mime Type
text/x-diff
Expires
Sun, Oct 12, 00:05 (1 d, 3 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3059282
Default Alt Text
(15 KB)
Attached To
Mode
rOPS Nasqueron Operations
Attached
Detach File
Event Timeline
Log In to Comment