Page MenuHomeDevCentral

No OneTemporary

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

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)

Event Timeline