Faidon Liambotis has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/231144

Change subject: (WIP) Kill misc::limn & limn
......................................................................

(WIP) Kill misc::limn & limn

Unreferenced by the rest of the production puppet tree.

NOTE: If this is being used in Labs, this commit should be replaced by
one that deprecates the non-modularized misc::limn.

TODO: figure out if the rest of the limn references (e.g.
modules/statistics/manifests/limn/) are also unneeded.

Change-Id: I7018e0458eeb278c8c36bbed062521333c997685
---
D manifests/misc/limn.pp
D modules/limn/README.md
D modules/limn/manifests/init.pp
D modules/limn/manifests/instance.pp
D modules/limn/manifests/instance/proxy.pp
D modules/limn/templates/init-limn.conf.erb
D modules/limn/templates/static.vhost.erb
D modules/limn/templates/vhost-limn-proxy-wp-zero-gone.conf.erb
D modules/limn/templates/vhost-limn-proxy.conf.erb
9 files changed, 0 insertions(+), 448 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/44/231144/1

diff --git a/manifests/misc/limn.pp b/manifests/misc/limn.pp
deleted file mode 100644
index b0f9e84..0000000
--- a/manifests/misc/limn.pp
+++ /dev/null
@@ -1,66 +0,0 @@
-# == Define misc::limn::instance
-# Sets up a limn instance as well as a
-# limn instance proxy.  This define
-# uses $::realm to infer an appropriate
-# default $server_name and $server_aliases.
-#
-# == Parameters:
-# $port                - limn port
-# $server_name         - ServerName for limn instance proxy.     Default it to 
infer from $name and $::realm.
-# $server_aliases      - ServerAliases for limn instance proxy.  Default is to 
infer from $name and $::realm.
-# $environment         - Node environment.  Default: production
-# $base_directory      - Limn install base directory.  Default: 
/usr/local/share/limn
-# $var_directory       - Limn instance var directory.  Limn datafiles live 
here.  Default: /var/lib/limn/$name
-# $proxy_site_template - Template for proxy Apache conf Default: 
limn/vhost-limn-proxy.conf.erb.
-#
-# == Example
-# misc::limn::instance { 'reportcard': }
-#
-define misc::limn::instance(
-    $port                = 8081,
-    $environment         = 'production',
-    $base_directory      = '/usr/local/share/limn',
-    $var_directory       = "/var/lib/limn/${name}",
-    $server_name         = undef,
-    $server_aliases      = undef,
-    $proxy_site_template = 'limn/vhost-limn-proxy.conf.erb')
-{
-    ::limn::instance { $name:
-        port           => $port,
-        environment    => $environment,
-        base_directory => $base_directory,
-        var_directory  => $var_directory,
-    }
-
-    # If $server_name was not specified,
-    # Pick $name.wikimedia.org for production,
-    # $name.wmflabs.org for labs,
-    # and just $name for anything else.
-    $servername = $server_name ? {
-        undef   => $::realm ? {
-            'production' => "${name}.wikimedia.org",
-            'labs'       => "${name}.wmflabs.org",
-            default      => $name,
-        },
-        default => $server_name,
-    }
-
-    # If $server_aliases was not specified,
-    # Pick ${name}.instance-proxy.wmflabs.org for labs,
-    # and none for anything else.
-    $serveraliases = $server_aliases ? {
-        undef   => $::realm ? {
-            'labs'       => "${name}.instance-proxy.wmflabs.org",
-            default      => '',
-        },
-        default => $server_aliases,
-    }
-
-    limn::instance::proxy { $name:
-        limn_port      => $port,
-        server_name    => $servername,
-        server_aliases => $serveraliases,
-        require        => ::Limn::Instance[$name],
-        site_template  => $proxy_site_template,
-    }
-}
diff --git a/modules/limn/README.md b/modules/limn/README.md
deleted file mode 100644
index 7fe0178..0000000
--- a/modules/limn/README.md
+++ /dev/null
@@ -1,54 +0,0 @@
-[Limn][https://github.com/wikimedia/limn] puppet module.
-
-# Usage
-
-```puppet
-
-# Spawn up a limn instance called 'my-instance'.
-# Data files are expected to be at
-# /var/lib/limn/my-instance/data.
-limn::instance { "my-instance": }
-
-```
-
-Note that the limn class by default does not attempt to install a limn
-package.  There is not currently a supported limn .deb package, so we
-recommend cloning the [limn repository][https://github.com/wikimedia/limn]
-directly into /usr/local/share/limn (or elsewhere if you set base_directory to 
something non default on limn::instance).  Or deploy limn to wherever you
-see fit.
-
-
-```limn::instance::proxy``` sets up an Apache VirtualHost reverse proxying on 
port 80. 
-
-## Example:
-
-```bash
-# Install Limn at /usr/local/share/limn
-sudo git clone https://github.com/wikimedia/limn.git /usr/local/share/limn
-```
-
-```puppet
-
-class role::analytics::reportcard {
-  # spawn up a limn instance called 'reportcard'
-  # using the defaults.
-  limn::instance { 'reportcard': }
-
-  # We want an Apache VirtualHost to proxy
-  # 'reportcard.wmflabs.org' to the reportcard
-  # limn instance.
-  limn::instance::proxy { 'reportcard':
-    server_name => 'reportcard.wmflabs.org',
-    require     => Limn::Instance['reportcard'],
-  }
-}
-```
-
-# Requirements
-* Apache2 is installed and running.  The service 'apache2' must be managed by 
puppet somehow.  You choose.
-* mod_rewrite, mod_proxy, and mod_proxy_http must be enabled:
-** ```a2enmod rewrite && a2enmod proxy && a2enmod proxy_http```
-** Or manage these via Puppet however you see fit.
-
-
-
diff --git a/modules/limn/manifests/init.pp b/modules/limn/manifests/init.pp
deleted file mode 100644
index d6abb7e..0000000
--- a/modules/limn/manifests/init.pp
+++ /dev/null
@@ -1,58 +0,0 @@
-# == Class limn
-# Sets up limn.
-# To spawn up a limn server instance, use the limn::instance define.
-#
-# NOTE: This does not install limn.  You must do that youself.
-# When you use limn::instance, set $base_directory to the location
-# in which you installed limn.
-#
-# == Parameters
-# $var_directory  - Default path to Limn var directory.  This will also be 
limn user's home directory.  Default: /var/lib/limn
-# $log_directory  - Default path to Limn server logs.  Default: /var/log/limn
-#
-class limn(
-    $var_directory  = '/var/lib/limn',
-    $log_directory  = '/var/log/limn'
-){
-    $user  = 'limn'
-    $group = 'limn'
-
-    # Make sure nodejs is installed.
-    require_package('nodejs')
-
-    group { $group:
-        ensure => present,
-        system => true,
-    }
-
-    user { $user:
-        ensure     => present,
-        gid        => $group,
-        home       => $var_directory,
-        managehome => false,
-        system     => true,
-        require    => Group[$group],
-    }
-
-    # Default limn containing data directory.
-    # Instances default to storing data in
-    # $var_directory/$name
-    file { $var_directory:
-        ensure  => directory,
-        owner   => $user,
-        group   => $group,
-        mode    => '0755',
-        require => [User[$user], Group[$group]],
-    }
-
-    # Default limn log directory.
-    # Instances will log to
-    # $log_directory/limn-$name.log
-    file { $log_directory:
-        ensure  => directory,
-        owner   => $user,
-        group   => $group,
-        mode    => '0755',
-        require => [User[$user], Group[$group]],
-    }
-}
diff --git a/modules/limn/manifests/instance.pp 
b/modules/limn/manifests/instance.pp
deleted file mode 100644
index 100a2cb..0000000
--- a/modules/limn/manifests/instance.pp
+++ /dev/null
@@ -1,92 +0,0 @@
-# == Define limn::instance
-# Starts up a Limn Server instance.
-#
-# == Parameters:
-# $port           - Listen port for Limn instance.  Default: 8081
-# $environment    - Node environment.  Default: production
-# $base_directory - Limn install base directory.  Default: 
/usr/local/share/limn
-# $var_directory  - Limn instance var directory.  Limn datafiles live here.  
Default: /var/lib/limn/$name
-# $log_file       - Limn instance log file.  Default: 
/var/log/limn/limn-$name.log
-# $ensure         - present|absent.  Default: present
-#
-define limn::instance (
-    $port           = '8081',
-    $environment    = 'production',
-    $base_directory = '/usr/local/share/limn',
-    $var_directory  = "/var/lib/limn/${name}",
-    $log_file       = "/var/log/limn/limn-${name}.log",
-    $ensure         = 'present'
-){
-    require limn
-
-    validate_ensure($ensure)
-
-    if !defined(File[$base_directory]) {
-        file { $base_directory:
-            ensure => directory,
-            owner  => $limn::user,
-            group  => $limn::group,
-            mode   => '0775',
-        }
-    }
-
-    file { $var_directory:
-        ensure => directory,
-        owner  => $limn::user,
-        group  => $limn::group,
-        mode   => '0775',
-    }
-
-    # The upstart init conf will start server.co
-    # logging to this file.
-    file { $log_file:
-        ensure => file,
-        owner  => $limn::user,
-        group  => $limn::group,
-        mode   => '0775',
-    }
-
-    # symlink $base_directory/var/{css,js,vendor}
-    # in $var_directory
-    file { "${var_directory}/css":
-        ensure => ensure_link($ensure),
-        target => "${base_directory}/var/css",
-    }
-    file { "${var_directory}/js":
-    ensure => ensure_link($ensure),
-    target => "${base_directory}/var/js",
-    }
-    file { "${var_directory}/vendor":
-        ensure => ensure_link($ensure),
-        target => "${base_directory}/var/vendor",
-    }
-
-    # Install an upstart init file for this limn server instance.
-    file { "/etc/init/limn-${name}.conf":
-        ensure    => $ensure,
-        content   => template('limn/init-limn.conf.erb'),
-        owner     => 'root',
-        group     => 'root',
-        mode      => '0444',
-        require   => [File[$var_directory], File[$log_file]],
-    }
-
-    # Symlink an /etc/init.d script to upstart-job
-    # for SysV compatibility.
-    $sysv_ensure = $ensure ? {
-        present   => link,
-        default   => absent,
-    }
-    file { "/etc/init.d/limn-${name}":
-        ensure  => $sysv_ensure,
-        target  => '/lib/init/upstart-job',
-        require => File["/etc/init/limn-${name}.conf"],
-    }
-
-    # Start the service.
-    service { "limn-${name}":
-        ensure     => ensure_service($ensure),
-        provider   => 'upstart',
-        subscribe  => File["/etc/init/limn-${name}.conf"],
-    }
-}
diff --git a/modules/limn/manifests/instance/proxy.pp 
b/modules/limn/manifests/instance/proxy.pp
deleted file mode 100644
index acdaf32..0000000
--- a/modules/limn/manifests/instance/proxy.pp
+++ /dev/null
@@ -1,39 +0,0 @@
-# == Define limn::instance::proxy
-# Sets up an apache mod_rewrite proxy for proxying to a Limn instance.
-# Static files in $document_root will be served by apache.
-#
-# NOTE: You must install apache yourself.
-# A Service and Package named 'apache2' must be defined.
-# You must also make sure mod_rewrite, mod_proxy, and mod_proxy_http
-# are enabled.
-#
-# == Parameters:
-# $port           - Apache port to Listen on.  Default: 80.
-# $limn_host      - Hostname or IP of Limn instnace.  Default: 127.0.0.1
-# $limn_port      - Port of Limn instance. Default: 8081
-# $document_root  - Path to Apache document root.   This should be the 
limn::instance $var_directory.  Default: /usr/local/share/limn/var.
-# $server_name    - Named VirtualHost.    Default: "$name.$domain"
-# $server_aliases - Server name aliases.  Default: none.
-# $site_template  - Template for Apache conf.  Default: 
limn/vhost-limn-proxy.conf.erb.
-#
-define limn::instance::proxy (
-    $port            = '80',
-    $limn_host       = '127.0.0.1',
-    $limn_port       = '8081',
-    $document_root   = '/usr/local/share/limn/var',
-    $server_name     = "${name}.${::domain}",
-    $server_aliases  = '',
-    $site_template   = 'limn/vhost-limn-proxy.conf.erb',
-){
-    # Configure the Apache Limn instance proxy VirtualHost.
-    $priority = 10
-    file { "${priority}-limn-${name}.conf":
-        path    => "/etc/apache2/sites-enabled/${priority}-limn-${name}.conf",
-        content => template($site_template),
-        owner   => 'root',
-        group   => 'root',
-        mode    => '0444',
-        require => Package['apache2'],
-        notify  => Service['apache2'],
-    }
-}
diff --git a/modules/limn/templates/init-limn.conf.erb 
b/modules/limn/templates/init-limn.conf.erb
deleted file mode 100644
index 861bb04..0000000
--- a/modules/limn/templates/init-limn.conf.erb
+++ /dev/null
@@ -1,26 +0,0 @@
-# Note: This file is managed by Puppet.
-
-# Limn <%= @name %> Server Instance
-
-description "Limn <%= @name %> Server Instance"
-
-start on runlevel [2345]
-stop on starting rc RUNLEVEL=[016]
-
-respawn
-respawn limit 2 5
-
-umask 007
-
-kill timeout 300
-
-env NODE_ENV=<%= @environment %>
-env LIMN_PORT=<%= @port %>
-env LIMN_VARDIR=<%= @var_directory %>
-
-setuid <%= scope.lookupvar('limn::user')  %>
-setgid <%= scope.lookupvar('limn::group') %>
-
-console output
-chdir <%= @base_directory %>
-exec ./node_modules/.bin/coco ./server/server.co >> <%= @log_file %> 2>&1
diff --git a/modules/limn/templates/static.vhost.erb 
b/modules/limn/templates/static.vhost.erb
deleted file mode 100644
index 26b01f3..0000000
--- a/modules/limn/templates/static.vhost.erb
+++ /dev/null
@@ -1,20 +0,0 @@
-<VirtualHost *:80>
-  ServerName   edit-analysis.wmflabs.org
-
-  DocumentRoot /var/lib/limn/static/limn-edit-data
-  ServerAdmin  [email protected]
-
-  ErrorLog /var/log/apache2/error.edit-analysis.log
-  # Possible values include: debug, info, notice, warn, error, crit,
-  # alert, emerg.
-  LogLevel warn
-
-  CustomLog /var/log/apache2/access.edit-analysis.log combined
-
-  RewriteEngine on
-  # Redirect any non HTTPS request to HTTPS
-  # This HTTP Header is set by Yuvi's proxy-dammit instance
-  RewriteCond %{HTTP:X-Forwarded-Proto} !https
-  RewriteCond %{REMOTE_ADDR}%{REQUEST_URI} !127\.0\.0\.1/server-status
-  RewriteRule ^(.*)$ https://edit-analysis.wmflabs.org$1 [L,R]
-</VirtualHost>
diff --git a/modules/limn/templates/vhost-limn-proxy-wp-zero-gone.conf.erb 
b/modules/limn/templates/vhost-limn-proxy-wp-zero-gone.conf.erb
deleted file mode 100644
index 9945ec2..0000000
--- a/modules/limn/templates/vhost-limn-proxy-wp-zero-gone.conf.erb
+++ /dev/null
@@ -1,66 +0,0 @@
-# This file is managed by Puppet
-<VirtualHost *:80>
-  ServerName <%= @server_name %>
-<% if @server_aliases.is_a? Array -%>
-<% server_aliases.each do |name| %><%= "  ServerAlias #{name}\n" %><% end %>
-<% elsif @server_aliases != '' -%>
-<%= "  ServerAlias #{server_aliases}" %>
-<% end -%>
-
-  DocumentRoot <%= @document_root %>
-
-  LogLevel warn
-  ErrorLog /var/log/apache2/<%= @name %>_error.log
-  CustomLog /var/log/apache2/<%= @name %>_access.log combined
-
-  ProxyRequests Off
-  <Proxy *>
-    Order allow,deny
-    Allow from all
-  </Proxy>
-
-  # 410 - Gone for Wikipedia Zero
-  ErrorDocument 410 "<html><head><title>410 
Gone</title></head><body><h1>Gone</h1><p>This Wikipedia Zero dashboard is no 
longer available. It has been replaced by a new system which requires a 
username and password. Please contact your partner manager, or write to <a 
href=\"mailto:[email protected]\";>[email protected]</a> to 
learn more.</p></body></html>"
-
-  # Wikipedia Zero carrier redirects
-  RewriteRule "[/_-]aircel[_-]" - [G]
-  RewriteRule "[/_-]airtel[_-]" - [G]
-  RewriteRule "[/_-]babilon[_-]" - [G]
-  RewriteRule "[/_-]banglalink[_-]" - [G]
-  RewriteRule "[/_-]beeline[_-]" - [G]
-  RewriteRule "[/_-]celcom[_-]" - [G]
-  RewriteRule "[/_-]dialog[_-]sri" - [G]
-  RewriteRule "[/_-]digi[_-]malaysia" - [G]
-  RewriteRule "[/_-]dtac[_-]thailand" - [G]
-  RewriteRule "[/_-]g[_-]mobile[_-]mongolia" - [G]
-  RewriteRule "[/_-]grameenphone[_-]" - [G]
-  RewriteRule "[/_-]ipko[_-]kosovo" - [G]
-  RewriteRule "[/_-]mobilink[_-]" - [G]
-  RewriteRule "[/_-]mtn[_-]" - [G]
-  RewriteRule "[/_-]ncell[_-]" - [G]
-  RewriteRule "[/_-]orange[_-]" - [G]
-  RewriteRule "[/_-]safaricom[_-]" - [G]
-  RewriteRule "[/_-]saudi[_-]telecom" - [G]
-  RewriteRule "[/_-]smart[_-]philippines" - [G]
-  RewriteRule "[/_-]smart[_-]cambodia" - [G]
-  RewriteRule "[/_-]sun[_-]philippines" - [G]
-  RewriteRule "[/_-]tcell[_-]tajikistan" - [G]
-  RewriteRule "[/_-]telenor[_-]" - [G]
-  RewriteRule "[/_-]tigo[_-]ghana" - [G]
-  RewriteRule "[/_-]timor[_-]telecom" - [G]
-  RewriteRule "[/_-]t[_-]mobile[_-]" - [G]
-  RewriteRule "[/_-]umniah[_-]" - [G]
-  RewriteRule "[/_-]viva[_-]bahrain" - [G]
-  RewriteRule "[/_-]xl[_-]axiata" - [G]
-
-  # Wikipedia Zero generic redirects
-  RewriteRule "[/_-]free[_-]mobile[_-]traffic" - [G]
-  RewriteRule 
"[/_-]mobile[_-]page[_-]requests[_-]as[_-]percent[_-]of[_-]country" - [G]
-  RewriteRule "[_-]mobile[_-]wp[_-]views[_-]by[_-]country" - [G]
-
-  # If the file does not exist, assume this is a dynamic
-  # request and send it to the Limn instance.
-  RewriteEngine On
-  RewriteCond <%= @document_root %>/%{REQUEST_FILENAME} !-s
-  RewriteRule "^(.*)" "http://<%= @limn_host %>:<%= @limn_port %>$1" [P]
-</VirtualHost>
diff --git a/modules/limn/templates/vhost-limn-proxy.conf.erb 
b/modules/limn/templates/vhost-limn-proxy.conf.erb
deleted file mode 100644
index 7bf4d74..0000000
--- a/modules/limn/templates/vhost-limn-proxy.conf.erb
+++ /dev/null
@@ -1,27 +0,0 @@
-# This file is managed by Puppet
-<VirtualHost *:80>
-  ServerName <%= @server_name %>
-<% if @server_aliases.is_a? Array -%>
-<% server_aliases.each do |name| %><%= "  ServerAlias #{name}\n" %><% end %>
-<% elsif @server_aliases != '' -%>
-<%= "  ServerAlias #{server_aliases}" %>
-<% end -%>
-
-  DocumentRoot <%= @document_root %>
-
-  LogLevel warn
-  ErrorLog /var/log/apache2/<%= @name %>_error.log
-  CustomLog /var/log/apache2/<%= @name %>_access.log combined
-
-  ProxyRequests Off
-  <Proxy *>
-    Order allow,deny
-    Allow from all
-  </Proxy>
-
-  # If the file does not exist, assume this is a dynamic
-  # request and send it to the Limn instance.
-  RewriteEngine On
-  RewriteCond <%= @document_root %>/%{REQUEST_FILENAME} !-s
-  RewriteRule "^(.*)" "http://<%= @limn_host %>:<%= @limn_port %>$1" [P]
-</VirtualHost>

-- 
To view, visit https://gerrit.wikimedia.org/r/231144
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I7018e0458eeb278c8c36bbed062521333c997685
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Faidon Liambotis <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to