Skip to content

Instantly share code, notes, and snippets.

@afiune
Created December 3, 2015 00:17
Show Gist options
  • Select an option

  • Save afiune/dd71e289bf6648217539 to your computer and use it in GitHub Desktop.

Select an option

Save afiune/dd71e289bf6648217539 to your computer and use it in GitHub Desktop.
delivery-ctl reconfigure fix for ubuntu
root@ip-10-194-15-215:/opt/delivery/embedded/cookbooks/enterprise# delivery-ctl reconfigure
Starting Chef Client, version 12.5.1
resolving cookbooks for run list: ["delivery"]
Synchronizing Cookbooks:
- delivery (0.2.11)
- enterprise (0.9.1)
- runit (1.7.4)
- packagecloud (0.1.0)
Compiling Cookbooks...
Recipe: delivery::omnibus
* directory[/etc/delivery] action create
- change mode from '0755' to '0775'
Converging 88 resources
* directory[/etc/delivery] action nothing (skipped due to action :nothing)
Recipe: delivery::logrotate
* directory[/etc/delivery/logrotate.d] action create
- create new directory /etc/delivery/logrotate.d
- change mode from '' to '0755'
- change owner from '' to 'root'
- change group from '' to 'root'
* template[/etc/delivery/logrotate.conf] action create
- create new file /etc/delivery/logrotate.conf
- update content in file /etc/delivery/logrotate.conf from none to d6d4d1
--- /etc/delivery/logrotate.conf 2015-12-03 00:14:40.697979000 +0000
+++ /etc/delivery/.logrotate.conf20151203-5313-1oxi9yi 2015-12-03 00:14:40.697979000 +0000
@@ -1 +1,5 @@
+missingok
+compress
+notifempty
+include /etc/delivery/logrotate.d
- change mode from '' to '0644'
- change owner from '' to 'root'
- change group from '' to 'root'
* template[/etc/cron.hourly/delivery_logrotate] action create
- create new file /etc/cron.hourly/delivery_logrotate
- update content in file /etc/cron.hourly/delivery_logrotate from none to 1a2fc3
--- /etc/cron.hourly/delivery_logrotate 2015-12-03 00:14:40.705979000 +0000
+++ /etc/cron.hourly/.delivery_logrotate20151203-5313-xf8n0l 2015-12-03 00:14:40.705979000 +0000
@@ -1 +1,7 @@
+#!/bin/sh
+
+PATH=/opt/delivery/embedded/sbin:$PATH
+
+command -v logrotate >/dev/null 2>&1 || exit 0
+nice -n 19 ionice -c3 logrotate /etc/delivery/logrotate.conf
- change mode from '' to '0755'
- change owner from '' to 'root'
- change group from '' to 'root'
Recipe: delivery::users
* log[Creating user: delivery] action write
* log[home: /opt/delivery/embedded] action write
* log[path: /opt/delivery/bin:/opt/delivery/embedded/bin:/opt/delivery/bin:/opt/delivery/embedded/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin] action write
* user[delivery] action create
- create user delivery
* group[delivery] action create
- alter group delivery
- replace group members with new list of members
* directory[/opt/delivery/embedded] action create
- change owner from 'root' to 'delivery'
* log[creating git user] action write
* user[git] action create
- create user git
* directory[/var/opt/delivery/home/git] action create
- create new directory /var/opt/delivery/home/git
- change owner from '' to 'git'
- change group from '' to 'delivery'
* directory[/var/opt/delivery/home/git/.ssh] action create
- create new directory /var/opt/delivery/home/git/.ssh
- change mode from '' to '0770'
- change owner from '' to 'git'
- change group from '' to 'delivery'
* file[/var/opt/delivery/home/git/.ssh/authorized_keys] action create
- create new file /var/opt/delivery/home/git/.ssh/authorized_keys
- update content in file /var/opt/delivery/home/git/.ssh/authorized_keys from none to e3b0c4
(no diff)
- change mode from '' to '0660'
- change owner from '' to 'git'
- change group from '' to 'delivery'
Recipe: delivery::omnibus
* directory[/opt/delivery] action create
- change mode from '0775' to '0755'
* directory[/var/log/delivery] action create
- create new directory /var/log/delivery
- change mode from '' to '0755'
- change owner from '' to 'root'
- change group from '' to 'root'
Recipe: enterprise::runit
* component_runit_supervisor[delivery] action create
* execute[initctl stop opscode-runsvdir] action run (skipped due to only_if)
* file[/etc/init/opscode-runsvdir.conf] action delete (up to date)
* template[/etc/init/delivery-runsvdir.conf] action create
- create new file /etc/init/delivery-runsvdir.conf
- update content in file /etc/init/delivery-runsvdir.conf from none to e31089
--- /etc/init/delivery-runsvdir.conf 2015-12-03 00:14:40.893979000 +0000
+++ /etc/init/.delivery-runsvdir.conf20151203-5313-py2fu3 2015-12-03 00:14:40.893979000 +0000
@@ -1 +1,17 @@
+start on runlevel [2345]
+stop on shutdown
+respawn
+pre-stop script
+ # To avoid Enterprise Chef service processes from being orphaned,
+ # we need to ensure everything is stopped before we kill our
+ # runsvdir process.
+ if [ -x /usr/bin/delivery-ctl ]; then /usr/bin/delivery-ctl stop; fi
+end script
+post-stop script
+ # To avoid stomping on runsv's owned by a different runsvdir
+ # process, kill any runsv process that has been orphaned, and is
+ # now owned by init (process 1).
+ pkill -HUP -P 1 runsv$ || true
+end script
+exec /opt/delivery/embedded/bin/runsvdir-start
- change mode from '' to '0644'
- change owner from '' to 'root'
- change group from '' to 'root'
* execute[initctl status delivery-runsvdir] action run
- execute initctl status delivery-runsvdir
* execute[initctl start delivery-runsvdir] action run
- execute initctl start delivery-runsvdir
Recipe: delivery::postgresql
* user[chef-pgsql] action create
- create user chef-pgsql
* directory[/var/opt/delivery/postgresql] action create
- create new directory /var/opt/delivery/postgresql
- change mode from '' to '0700'
- change owner from '' to 'chef-pgsql'
* file[/var/opt/delivery/postgresql/.profile] action create
- create new file /var/opt/delivery/postgresql/.profile
- update content in file /var/opt/delivery/postgresql/.profile from none to 3de710
--- /var/opt/delivery/postgresql/.profile 2015-12-03 00:14:40.997979000 +0000
+++ /var/opt/delivery/postgresql/..profile20151203-5313-1z0emg5 2015-12-03 00:14:40.997979000 +0000
@@ -1 +1,2 @@
+ PATH=/opt/delivery/embedded/bin:/opt/delivery/bin:$PATH
- change mode from '' to '0644'
- change owner from '' to 'chef-pgsql'
* directory[/var/log/delivery/postgresql/9.2] action create
- create new directory /var/log/delivery/postgresql/9.2
- change owner from '' to 'delivery'
* directory[/var/opt/delivery/postgresql/9.2] action create
- create new directory /var/opt/delivery/postgresql/9.2
- change mode from '' to '0700'
- change owner from '' to 'chef-pgsql'
* service[procps] action nothing (skipped due to action :nothing)
* template[/etc/sysctl.d/90-postgresql.conf] action create
- create new file /etc/sysctl.d/90-postgresql.conf
- update content in file /etc/sysctl.d/90-postgresql.conf from none to 10fbbf
--- /etc/sysctl.d/90-postgresql.conf 2015-12-03 00:14:41.005979000 +0000
+++ /etc/sysctl.d/.90-postgresql.conf20151203-5313-1htsx2f 2015-12-03 00:14:41.005979000 +0000
@@ -1 +1,6 @@
+#
+# opscode private chef postgresql kernel shm tweaks
+#
+kernel.shmmax = 17179869184
+kernel.shmall = 4194304
- change mode from '' to '0644'
- change owner from '' to 'root'
* service[procps] action start
- start service service[procps]
* enterprise_pg_cluster[/var/opt/delivery/postgresql/9.2/data] action init
* directory[/var/opt/delivery/postgresql/9.2/data] action create
- create new directory /var/opt/delivery/postgresql/9.2/data
- change mode from '' to '0700'
- change owner from '' to 'chef-pgsql'
* execute[initialize_cluster_/var/opt/delivery/postgresql/9.2/data] action run
- execute initdb --pgdata /var/opt/delivery/postgresql/9.2/data --locale C --encoding UTF8
* template[/var/opt/delivery/postgresql/9.2/data/postgresql.conf] action create
- update content in file /var/opt/delivery/postgresql/9.2/data/postgresql.conf from cfe93d to 1b1168
--- /var/opt/delivery/postgresql/9.2/data/postgresql.conf 2015-12-03 00:14:41.133979000 +0000
+++ /var/opt/delivery/postgresql/9.2/data/.postgresql.conf20151203-5313-b0toxe 2015-12-03 00:14:42.809979000 +0000
@@ -46,7 +46,7 @@
# (change requires restart)
# If external_pid_file is not explicitly set, no extra PID file is written.
-#external_pid_file = '' # write an extra PID file
+#external_pid_file = '(none)' # write an extra PID file
# (change requires restart)
@@ -56,17 +56,16 @@
# - Connection Settings -
-#listen_addresses = 'localhost' # what IP address(es) to listen on;
+listen_addresses = 'localhost' # what IP address(es) to listen on;
# comma-separated list of addresses;
- # defaults to 'localhost'; use '*' for all
+ # defaults to 'localhost', '*' = all
# (change requires restart)
-#port = 5432 # (change requires restart)
-max_connections = 100 # (change requires restart)
+port = 5432 # (change requires restart)
+max_connections = 350 # (change requires restart)
# Note: Increasing max_connections costs ~400 bytes of shared memory per
# connection slot, plus lock space (see max_locks_per_transaction).
#superuser_reserved_connections = 3 # (change requires restart)
-#unix_socket_directories = '/tmp' # comma-separated list of directories
- # (change requires restart)
+#unix_socket_directory = '' # (change requires restart)
#unix_socket_group = '' # (change requires restart)
#unix_socket_permissions = 0777 # begin with 0 to use octal notation
# (change requires restart)
@@ -79,13 +78,9 @@
#authentication_timeout = 1min # 1s-600s
#ssl = off # (change requires restart)
-#ssl_ciphers = 'DEFAULT:!LOW:!EXP:!MD5:@STRENGTH' # allowed SSL ciphers
+#ssl_ciphers = 'ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH' # allowed SSL ciphers
# (change requires restart)
#ssl_renegotiation_limit = 512MB # amount of data between renegotiations
-#ssl_cert_file = 'server.crt' # (change requires restart)
-#ssl_key_file = 'server.key' # (change requires restart)
-#ssl_ca_file = '' # (change requires restart)
-#ssl_crl_file = '' # (change requires restart)
#password_encryption = on
#db_user_namespace = off
@@ -111,7 +106,7 @@
# - Memory -
-shared_buffers = 128MB # min 128kB
+shared_buffers = 1869MB # min 128kB
# (change requires restart)
#temp_buffers = 8MB # min 800kB
#max_prepared_transactions = 0 # zero disables the feature
@@ -120,15 +115,10 @@
# per transaction slot, plus lock space (see max_locks_per_transaction).
# It is not advisable to set max_prepared_transactions nonzero unless you
# actively intend to use prepared transactions.
-#work_mem = 1MB # min 64kB
+work_mem = 8MB # min 64kB
#maintenance_work_mem = 16MB # min 1MB
#max_stack_depth = 2MB # min 100kB
-# - Disk -
-
-#temp_file_limit = -1 # limits per-session temp file space
- # in kB, or -1 for no limit
-
# - Kernel Resource Usage -
#max_files_per_process = 1000 # min 25
@@ -137,7 +127,7 @@
# - Cost-Based Vacuum Delay -
-#vacuum_cost_delay = 0 # 0-100 milliseconds
+#vacuum_cost_delay = 0ms # 0-100 milliseconds
#vacuum_cost_page_hit = 1 # 0-10000 credits
#vacuum_cost_page_miss = 10 # 0-10000 credits
#vacuum_cost_page_dirty = 20 # 0-10000 credits
@@ -151,7 +141,7 @@
# - Asynchronous Behavior -
-#effective_io_concurrency = 1 # 1-1000; 0 disables prefetching
+#effective_io_concurrency = 1 # 1-1000. 0 disables prefetching
#------------------------------------------------------------------------------
@@ -163,8 +153,7 @@
#wal_level = minimal # minimal, archive, or hot_standby
# (change requires restart)
#fsync = on # turns forced synchronization on or off
-#synchronous_commit = on # synchronization level;
- # off, local, remote_write, or on
+#synchronous_commit = on # synchronization level; on, off, or local
#wal_sync_method = fsync # the default is the first option
# supported by the operating system:
# open_datasync
@@ -182,19 +171,16 @@
# - Checkpoints -
-#checkpoint_segments = 3 # in logfile segments, min 1, 16MB each
-#checkpoint_timeout = 5min # range 30s-1h
-#checkpoint_completion_target = 0.5 # checkpoint target duration, 0.0 - 1.0
-#checkpoint_warning = 30s # 0 disables
+checkpoint_segments = 3 # in logfile segments, min 1, 16MB each, default 3
+checkpoint_timeout = 5min # range 30s-1h, default 5min
+checkpoint_completion_target = 0.5 # checkpoint target duration, 0.0 - 1.0, default 0.5
+checkpoint_warning = 30s # 0 disables, default 30s
# - Archiving -
#archive_mode = off # allows archiving to be done
# (change requires restart)
#archive_command = '' # command to use to archive a logfile segment
- # placeholders: %p = path of file to archive
- # %f = file name only
- # e.g. 'test ! -f /mnt/server/archivedir/%f && cp %p /mnt/server/archivedir/%f'
#archive_timeout = 0 # force a logfile segment switch after this
# number of seconds; 0 disables
@@ -203,27 +189,23 @@
# REPLICATION
#------------------------------------------------------------------------------
-# - Sending Server(s) -
+# - Master Server -
-# Set these on the master and on any standby that will send replication data.
+# These settings are ignored on a standby server
#max_wal_senders = 0 # max number of walsender processes
# (change requires restart)
+#wal_sender_delay = 1s # walsender cycle time, 1-10000 milliseconds
#wal_keep_segments = 0 # in logfile segments, 16MB each; 0 disables
-#wal_sender_timeout = 60s # in milliseconds; 0 disables
-
-# - Master Server -
-
-# These settings are ignored on a standby server.
-
+#vacuum_defer_cleanup_age = 0 # number of xacts by which cleanup is delayed
+#replication_timeout = 60s # in milliseconds; 0 disables
#synchronous_standby_names = '' # standby servers that provide sync rep
# comma-separated list of application_name
# from standby(s); '*' = all
-#vacuum_defer_cleanup_age = 0 # number of xacts by which cleanup is delayed
# - Standby Servers -
-# These settings are ignored on a master server.
+# These settings are ignored on a master server
#hot_standby = off # "on" allows queries during recovery
# (change requires restart)
@@ -237,9 +219,6 @@
# 0 disables
#hot_standby_feedback = off # send info from standby to prevent
# query conflicts
-#wal_receiver_timeout = 60s # time that receiver waits for
- # communication from master
- # in milliseconds; 0 disables
#------------------------------------------------------------------------------
@@ -252,7 +231,6 @@
#enable_hashagg = on
#enable_hashjoin = on
#enable_indexscan = on
-#enable_indexonlyscan = on
#enable_material = on
#enable_mergejoin = on
#enable_nestloop = on
@@ -267,7 +245,7 @@
#cpu_tuple_cost = 0.01 # same scale as above
#cpu_index_tuple_cost = 0.005 # same scale as above
#cpu_operator_cost = 0.0025 # same scale as above
-#effective_cache_size = 128MB
+effective_cache_size = 128MB # Default 128MB
# - Genetic Query Optimizer -
@@ -295,23 +273,23 @@
# - Where to Log -
-#log_destination = 'stderr' # Valid values are combinations of
+log_destination = 'stderr' # Valid values are combinations of
# stderr, csvlog, syslog, and eventlog,
# depending on platform. csvlog
# requires logging_collector to be on.
# This is used when logging to stderr:
-#logging_collector = off # Enable capturing of stderr and csvlog
+logging_collector = off # Enable capturing of stderr and csvlog
# into log files. Required to be on for
# csvlogs.
# (change requires restart)
# These are only used if logging_collector is on:
-#log_directory = 'pg_log' # directory where log files are written,
+log_directory = 'pg_log' # directory where log files are written,
# can be absolute or relative to PGDATA
-#log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log' # log file name pattern,
+log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log' # log file name pattern,
# can include strftime() escapes
-#log_file_mode = 0600 # creation mode for log files,
+log_file_mode = 0600 # creation mode for log files,
# begin with 0 to use octal notation
#log_truncate_on_rotation = off # If on, an existing log file with the
# same name as the new log file will be
@@ -331,9 +309,12 @@
#syslog_facility = 'LOCAL0'
#syslog_ident = 'postgres'
-# This is only relevant when logging to eventlog (win32):
-#event_source = 'PostgreSQL'
+#silent_mode = off # Run server silently.
+ # DO NOT USE without syslog or
+ # logging_collector
+ # (change requires restart)
+
# - When to Log -
#client_min_messages = notice # values in order of decreasing detail:
@@ -362,12 +343,12 @@
# panic
#log_min_error_statement = error # values in order of decreasing detail:
- # debug5
+ # debug5
# debug4
# debug3
# debug2
# debug1
- # info
+ # info
# notice
# warning
# error
@@ -383,6 +364,9 @@
# - What to Log -
+log_statement = none
+log_min_error_statement = error
+
#debug_print_parse = off
#debug_print_rewritten = off
#debug_print_plan = off
@@ -418,7 +402,7 @@
#log_temp_files = -1 # log temporary files equal or larger
# than the specified size in kilobytes;
# -1 disables, 0 logs all temp files
-log_timezone = 'UTC'
+#log_timezone = '(defaults to server environment setting)'
#------------------------------------------------------------------------------
@@ -429,9 +413,8 @@
#track_activities = on
#track_counts = on
-#track_io_timing = off
#track_functions = none # none, pl, all
-#track_activity_query_size = 1024 # (change requires restart)
+#track_activity_query_size = 1024 # (change requires restart)
#update_process_title = on
#stats_temp_directory = 'pg_stat_tmp'
@@ -465,9 +448,6 @@
#autovacuum_analyze_scale_factor = 0.1 # fraction of table size before analyze
#autovacuum_freeze_max_age = 200000000 # maximum XID age before forced vacuum
# (change requires restart)
-#autovacuum_multixact_freeze_max_age = 400000000 # maximum Multixact age
- # before forced vacuum
- # (change requires restart)
#autovacuum_vacuum_cost_delay = 20ms # default vacuum cost delay for
# autovacuum, in milliseconds;
# -1 means use vacuum_cost_delay
@@ -492,11 +472,8 @@
#default_transaction_deferrable = off
#session_replication_role = 'origin'
#statement_timeout = 0 # in milliseconds, 0 is disabled
-#lock_timeout = 0 # in milliseconds, 0 is disabled
#vacuum_freeze_min_age = 50000000
#vacuum_freeze_table_age = 150000000
-#vacuum_multixact_freeze_min_age = 5000000
-#vacuum_multixact_freeze_table_age = 150000000
#bytea_output = 'hex' # hex, escape
#xmlbinary = 'base64'
#xmloption = 'content'
@@ -505,7 +482,7 @@
datestyle = 'iso, mdy'
#intervalstyle = 'postgres'
-timezone = 'UTC'
+#timezone = '(defaults to server environment setting)'
#timezone_abbreviations = 'Default' # Select the set of available time zone
# abbreviations. Currently, there are
# Default
@@ -546,7 +523,6 @@
#max_pred_locks_per_transaction = 64 # min 10
# (change requires restart)
-
#------------------------------------------------------------------------------
# VERSION/PLATFORM COMPATIBILITY
#------------------------------------------------------------------------------
@@ -572,26 +548,13 @@
# ERROR HANDLING
#------------------------------------------------------------------------------
-#exit_on_error = off # terminate session on any error?
-#restart_after_crash = on # reinitialize after backend crash?
+#exit_on_error = off # terminate session on any error?
+#restart_after_crash = on # reinitialize after backend crash?
#------------------------------------------------------------------------------
-# CONFIG FILE INCLUDES
-#------------------------------------------------------------------------------
-
-# These options allow settings to be loaded from files other than the
-# default postgresql.conf.
-
-#include_dir = 'conf.d' # include files ending in '.conf' from
- # directory 'conf.d'
-#include_if_exists = 'exists.conf' # include file only if it exists
-#include = 'special.conf' # include file
-
-
-#------------------------------------------------------------------------------
# CUSTOMIZED OPTIONS
#------------------------------------------------------------------------------
-# Add settings for extensions here
+#custom_variable_classes = '' # list of custom variable class names
- change mode from '0600' to '0644'
* template[/var/opt/delivery/postgresql/9.2/data/pg_hba.conf] action create
- update content in file /var/opt/delivery/postgresql/9.2/data/pg_hba.conf from b69f9f to d0b8f4
--- /var/opt/delivery/postgresql/9.2/data/pg_hba.conf 2015-12-03 00:14:41.133979000 +0000
+++ /var/opt/delivery/postgresql/9.2/data/.pg_hba.conf20151203-5313-x2xg49 2015-12-03 00:14:42.841979000 +0000
@@ -1,94 +1,72 @@
# PostgreSQL Client Authentication Configuration File
# ===================================================
#
-# Refer to the "Client Authentication" section in the PostgreSQL
-# documentation for a complete description of this file. A short
-# synopsis follows.
+# Refer to the "Client Authentication" section in the
+# PostgreSQL documentation for a complete description
+# of this file. A short synopsis follows.
#
# This file controls: which hosts are allowed to connect, how clients
# are authenticated, which PostgreSQL user names they can use, which
# databases they can access. Records take one of these forms:
#
-# local DATABASE USER METHOD [OPTIONS]
-# host DATABASE USER ADDRESS METHOD [OPTIONS]
-# hostssl DATABASE USER ADDRESS METHOD [OPTIONS]
-# hostnossl DATABASE USER ADDRESS METHOD [OPTIONS]
+# local DATABASE USER METHOD [OPTION]
+# host DATABASE USER CIDR-ADDRESS METHOD [OPTION]
+# hostssl DATABASE USER CIDR-ADDRESS METHOD [OPTION]
+# hostnossl DATABASE USER CIDR-ADDRESS METHOD [OPTION]
#
# (The uppercase items must be replaced by actual values.)
#
-# The first field is the connection type: "local" is a Unix-domain
-# socket, "host" is either a plain or SSL-encrypted TCP/IP socket,
-# "hostssl" is an SSL-encrypted TCP/IP socket, and "hostnossl" is a
-# plain TCP/IP socket.
+# The first field is the connection type: "local" is a Unix-domain socket,
+# "host" is either a plain or SSL-encrypted TCP/IP socket, "hostssl" is an
+# SSL-encrypted TCP/IP socket, and "hostnossl" is a plain TCP/IP socket.
#
-# DATABASE can be "all", "sameuser", "samerole", "replication", a
-# database name, or a comma-separated list thereof. The "all"
-# keyword does not match "replication". Access to replication
-# must be enabled in a separate record (see example below).
+# DATABASE can be "all", "sameuser", "samerole", a database name, or
+# a comma-separated list thereof.
#
-# USER can be "all", a user name, a group name prefixed with "+", or a
-# comma-separated list thereof. In both the DATABASE and USER fields
-# you can also write a file name prefixed with "@" to include names
-# from a separate file.
+# USER can be "all", a user name, a group name prefixed with "+", or
+# a comma-separated list thereof. In both the DATABASE and USER fields
+# you can also write a file name prefixed with "@" to include names from
+# a separate file.
#
-# ADDRESS specifies the set of hosts the record matches. It can be a
-# host name, or it is made up of an IP address and a CIDR mask that is
-# an integer (between 0 and 32 (IPv4) or 128 (IPv6) inclusive) that
-# specifies the number of significant bits in the mask. A host name
-# that starts with a dot (.) matches a suffix of the actual host name.
-# Alternatively, you can write an IP address and netmask in separate
-# columns to specify the set of hosts. Instead of a CIDR-address, you
-# can write "samehost" to match any of the server's own IP addresses,
-# or "samenet" to match any address in any subnet that the server is
-# directly connected to.
+# CIDR-ADDRESS specifies the set of hosts the record matches.
+# It is made up of an IP address and a CIDR mask that is an integer
+# (between 0 and 32 (IPv4) or 128 (IPv6) inclusive) that specifies
+# the number of significant bits in the mask. Alternatively, you can write
+# an IP address and netmask in separate columns to specify the set of hosts.
#
-# METHOD can be "trust", "reject", "md5", "password", "gss", "sspi",
-# "krb5", "ident", "peer", "pam", "ldap", "radius" or "cert". Note that
-# "password" sends passwords in clear text; "md5" is preferred since
-# it sends encrypted passwords.
+# METHOD can be "trust", "reject", "md5", "crypt", "password", "gss", "sspi",
+# "krb5", "ident", "pam" or "ldap". Note that "password" sends passwords
+# in clear text; "md5" is preferred since it sends encrypted passwords.
#
-# OPTIONS are a set of options for the authentication in the format
-# NAME=VALUE. The available options depend on the different
-# authentication methods -- refer to the "Client Authentication"
-# section in the documentation for a list of which options are
-# available for which authentication methods.
+# OPTION is the ident map or the name of the PAM service, depending on METHOD.
#
-# Database and user names containing spaces, commas, quotes and other
-# special characters must be quoted. Quoting one of the keywords
-# "all", "sameuser", "samerole" or "replication" makes the name lose
-# its special character, and just match a database or username with
-# that name.
+# Database and user names containing spaces, commas, quotes and other special
+# characters must be quoted. Quoting one of the keywords "all", "sameuser" or
+# "samerole" makes the name lose its special character, and just match a
+# database or username with that name.
#
# This file is read on server startup and when the postmaster receives
# a SIGHUP signal. If you edit the file on a running system, you have
-# to SIGHUP the postmaster for the changes to take effect. You can
-# use "pg_ctl reload" to do that.
+# to SIGHUP the postmaster for the changes to take effect. You can use
+# "pg_ctl reload" to do that.
# Put your actual configuration here
# ----------------------------------
#
# If you want to allow non-local connections, you need to add more
-# "host" records. In that case you will also need to make PostgreSQL
-# listen on a non-local interface via the listen_addresses
-# configuration parameter, or via the -i or -h command line switches.
+# "host" records. In that case you will also need to make PostgreSQL listen
+# on a non-local interface via the listen_addresses configuration parameter,
+# or via the -i or -h command line switches.
+#
-# CAUTION: Configuring the system for local "trust" authentication
-# allows any local user to connect as any PostgreSQL user, including
-# the database superuser. If you do not trust all your local users,
-# use another authentication method.
+# TYPE DATABASE USER CIDR-ADDRESS METHOD
-# TYPE DATABASE USER ADDRESS METHOD
-
# "local" is for Unix domain socket connections only
-local all all trust
-# IPv4 local connections:
-host all all 127.0.0.1/32 trust
-# IPv6 local connections:
-host all all ::1/128 trust
-# Allow replication connections from localhost, by a user with the
-# replication privilege.
-#local replication chef-pgsql trust
-#host replication chef-pgsql 127.0.0.1/32 trust
-#host replication chef-pgsql ::1/128 trust
+local all all trust
+
+host all all 127.0.0.1/32 trust
+host all all ::1/128 trust
+
+
- change mode from '0600' to '0644'
* link[/var/opt/delivery/postgresql/9.2/data] action create (skipped due to not_if)
* execute[restart_postgresql_log_service] action nothing (skipped due to action :nothing)
* template[/var/log/delivery/postgresql/9.2/config] action create
- create new file /var/log/delivery/postgresql/9.2/config
- update content in file /var/log/delivery/postgresql/9.2/config from none to 5e16ac
--- /var/log/delivery/postgresql/9.2/config 2015-12-03 00:14:42.857979000 +0000
+++ /var/log/delivery/postgresql/9.2/.config20151203-5313-1shrs6y 2015-12-03 00:14:42.857979000 +0000
@@ -1 +1,4 @@
+# svlogd configuration
+s104857600
+n10
- change mode from '' to '0644'
- change owner from '' to 'root'
- change group from '' to 'root'
Recipe: <Dynamically Defined Resource>
* service[postgresql] action nothing (skipped due to action :nothing)
Recipe: delivery::postgresql
* runit_service[postgresql] action enable
* directory[/opt/delivery/sv/postgresql] action create
- create new directory /opt/delivery/sv/postgresql
- change mode from '' to '0755'
* template[/opt/delivery/sv/postgresql/run] action create
- create new file /opt/delivery/sv/postgresql/run
- update content in file /opt/delivery/sv/postgresql/run from none to 3b408f
--- /opt/delivery/sv/postgresql/run 2015-12-03 00:14:42.869979000 +0000
+++ /opt/delivery/sv/postgresql/.run20151203-5313-ecw234 2015-12-03 00:14:42.869979000 +0000
@@ -1 +1,5 @@
+#!/bin/sh
+exec 2>&1
+exec chpst -P -U chef-pgsql -u chef-pgsql /opt/delivery/embedded/bin/postgres -D /var/opt/delivery/postgresql/9.2/data
+
- change mode from '' to '0755'
* directory[/opt/delivery/sv/postgresql/log] action create
- create new directory /opt/delivery/sv/postgresql/log
* directory[/opt/delivery/sv/postgresql/log/main] action create
- create new directory /opt/delivery/sv/postgresql/log/main
- change mode from '' to '0755'
* directory[/var/log/postgresql] action create
- create new directory /var/log/postgresql
- change mode from '' to '0755'
* template[/opt/delivery/sv/postgresql/log/config] action create
- create new file /opt/delivery/sv/postgresql/log/config
- update content in file /opt/delivery/sv/postgresql/log/config from none to e3b0c4
(no diff)
- change mode from '' to '0644'
* link[/var/log/postgresql/config] action create
- create symlink at /var/log/postgresql/config to /opt/delivery/sv/postgresql/log/config
* template[/opt/delivery/sv/postgresql/log/run] action create
- create new file /opt/delivery/sv/postgresql/log/run
- update content in file /opt/delivery/sv/postgresql/log/run from none to 38f7f5
--- /opt/delivery/sv/postgresql/log/run 2015-12-03 00:14:42.881979000 +0000
+++ /opt/delivery/sv/postgresql/log/.run20151203-5313-tg10bq 2015-12-03 00:14:42.881979000 +0000
@@ -1 +1,4 @@
+#!/bin/sh
+exec chpst -U delivery -u delivery \
+ svlogd -tt /var/log/delivery/postgresql/9.2
- change mode from '' to '0755'
* directory[/opt/delivery/sv/postgresql/env] action create
- create new directory /opt/delivery/sv/postgresql/env
- change mode from '' to '0755'
* ruby_block[zap extra env files for postgresql service] action run (skipped due to only_if)
* directory[/opt/delivery/sv/postgresql/control] action create
- create new directory /opt/delivery/sv/postgresql/control
- change mode from '' to '0755'
* template[/opt/delivery/sv/postgresql/control/t] action create
- create new file /opt/delivery/sv/postgresql/control/t
- update content in file /opt/delivery/sv/postgresql/control/t from none to 6e01a2
--- /opt/delivery/sv/postgresql/control/t 2015-12-03 00:14:42.885979000 +0000
+++ /opt/delivery/sv/postgresql/control/.t20151203-5313-10q45w3 2015-12-03 00:14:42.885979000 +0000
@@ -1 +1,4 @@
+#!/bin/sh
+echo "received TERM from runit, sending INT instead to force quit connections"
+/opt/delivery/embedded/bin/sv interrupt postgresql
- change mode from '' to '0755'
* link[/opt/delivery/init/postgresql] action create
- create symlink at /opt/delivery/init/postgresql to /opt/delivery/embedded/bin/sv
* file[/opt/delivery/sv/postgresql/down] action nothing (skipped due to action :nothing)
* directory[/opt/delivery/sv/postgresql] action create (up to date)
* template[/opt/delivery/sv/postgresql/run] action create (up to date)
* directory[/opt/delivery/sv/postgresql/log] action create (up to date)
* directory[/opt/delivery/sv/postgresql/log/main] action create (up to date)
* directory[/var/log/postgresql] action create (up to date)
* template[/opt/delivery/sv/postgresql/log/config] action create (up to date)
* link[/var/log/postgresql/config] action create (up to date)
* template[/opt/delivery/sv/postgresql/log/run] action create (up to date)
* directory[/opt/delivery/sv/postgresql/env] action create (up to date)
* ruby_block[zap extra env files for postgresql service] action run (skipped due to only_if)
* directory[/opt/delivery/sv/postgresql/control] action create (up to date)
* template[/opt/delivery/sv/postgresql/control/t] action create (up to date)
* link[/opt/delivery/init/postgresql] action create (up to date)
* file[/opt/delivery/sv/postgresql/down] action nothing (skipped due to action :nothing)
* directory[/opt/delivery/service] action create (up to date)
* link[/opt/delivery/service/postgresql] action create
- create symlink at /opt/delivery/service/postgresql to /opt/delivery/sv/postgresql
* ruby_block[wait for postgresql service socket] action run
- execute the ruby block wait for postgresql service socket
Recipe: delivery::delivery_database
* enterprise_pg_user[delivery] action create
* execute[create_postgres_user_delivery] action run
- execute psql --dbname template1 --command "CREATE USER delivery WITH ENCRYPTED PASSWORD 'dda89911941721b42c6383bab3c45772fed1520079b2d21a5af57b6f0267efadf4ddf7df0420205fd55730a5e3ac3a09ab80';"
* enterprise_pg_user[delivery_ro] action create
* execute[create_postgres_user_delivery_ro] action run
- execute psql --dbname template1 --command "CREATE USER delivery_ro WITH ENCRYPTED PASSWORD '420158048f41064a9aa4217c9d366ec79e45afc1b78a2c75c52bbb5201380ca2ec9efbb6be8c392bf81a6ed3eedbecf7bf10';"
* enterprise_pg_database[delivery] action create
* execute[create_database_delivery] action run
- execute createdb --template template0 --encoding UTF-8 --owner delivery delivery
* execute[delivery schema] action run
- execute sqitch --engine pg --db-name delivery --top-dir /opt/delivery/embedded/service/delivery_schema deploy --verify
Recipe: delivery::postgresql
* execute[add_uuid-ossp_delivery] action run
- execute psql --dbname delivery --single-transaction --set ON_ERROR_STOP=1 --command 'CREATE EXTENSION IF NOT EXISTS "uuid-ossp"'
Recipe: delivery::nginx
* directory[/var/opt/delivery/nginx/ca] action create
- create new directory /var/opt/delivery/nginx/ca
- change owner from '' to 'delivery'
* directory[/var/opt/delivery/nginx/etc] action create
- create new directory /var/opt/delivery/nginx/etc
- change owner from '' to 'delivery'
* directory[/var/log/delivery/nginx] action create
- create new directory /var/log/delivery/nginx
- change owner from '' to 'delivery'
* directory[/opt/delivery/embedded/nginx/html] action create
- create new directory /opt/delivery/embedded/nginx/html
- change owner from '' to 'delivery'
* directory[/var/opt/delivery/nginx/etc/addon.d] action create
- create new directory /var/opt/delivery/nginx/etc/addon.d
* directory[/opt/delivery/embedded/nginx/logs] action create
- create new directory /opt/delivery/embedded/nginx/logs
* directory[/var/opt/delivery/nginx/etc/server.d] action create
- create new directory /var/opt/delivery/nginx/etc/server.d
* delivery_nginx_server[10.194.15.215] action createGenerating RSA private key, 2048 bit long modulus
..........................................................................................................................+++
.............................................................................................................................+++
e is 65537 (0x10001)
* file[/var/opt/delivery/nginx/ca/10.194.15.215.key] action create
- create new file /var/opt/delivery/nginx/ca/10.194.15.215.key
- update content in file /var/opt/delivery/nginx/ca/10.194.15.215.key from none to eddec1
--- /var/opt/delivery/nginx/ca/10.194.15.215.key 2015-12-03 00:14:51.809979000 +0000
+++ /var/opt/delivery/nginx/ca/.10.194.15.215.key20151203-5313-1fpeol7 2015-12-03 00:14:51.809979000 +0000
@@ -1 +1,28 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpQIBAAKCAQEA5ezg5zPEEPly4eNOGsZYyYLwyp0IOACdKZDoJZSlHT1Ni09g
+CNfygFZe60i6yRKeM/V9wpA8ieTvEZ9GHknZNJ0AgK//5/wLZSVjCYDuJCAmd24G
+OzyKaBghVZfEqKmZSHCWpAdsIw8aFwBo0uGgBXBX/pOwK1Zcd0AWFtGvIxZCDycY
+kwAGBsxnURdJKuuX+BdQZmbC/PE5KlpxZx/kxxROi7vZ4s16dNP6cjG8bwOr6oFC
+7iSMvH7oy9IcvdA85/BjiFSL9mJxWmfP6HZT1ISgGJoMJwAOK2E+IIIZlsOgeAuO
+yk2bPuYzj3YcwNEUFtTzCKG6vLsDqKY1DhR7RQIDAQABAoIBAQCI4J73JMsZK9dn
+gHFT4TakKC5/AEMPS9ZEE38QOFCfeoo6X/OU8DHukvyI51BDObEyz3ehp0pS8RYd
+kIsmpuIGv1y4P46CJXsHKN2vn7ClkvozaS2OgDkJRSw7D1HE8spM5LHZTo3ixS/L
+97Nvr2AbPMk1xeg/tHbxixZbWVMA+DNF21f1q91wj4KHzbm3Gz6fR4DPa+VSolVM
+0sYWsECAOIoWlYrB5WShico6VKJyPgfC9U5EJ/VGkaay3DQ/uxfsT4by7SvAl0Ly
+y+vSbdv0CRhCcEHZvdM3v42IMH3HA0j5JH+/VSh2GDcyP8lRMi3sRy85hpgH9FQz
+QmO9iLj1AoGBAPgIopar2czr0mW81Ax0YBDf4TnrP5DpyJTZENz/hpFkBFJc2WbO
+M43Kf8tHnOGeVV8Qay6XYS/XTuytd+u5eZ/irH0CaEPPrgOma4GRvrheLtZlT4M5
+wYPvW6Q47gpEvndjsa073uZORrv2hjJG/0LAmh67tjsFk3hJtUn+B+/HAoGBAO1P
+WojCelDG2dWK1qp2kDbm7tkhfAgs+Wl8Qjs3d67q+o2N2kw9V1PaangJ1xACvGuy
+rU18u8gK2fRH2t0CbToRvg5B0CDSmTAYlP1pmNMLy2BCQ7qGlX6JuBMFGUeg6NxH
+rDQQEfd/ufy3NmCDIJGqtZziHkgnq4k/Y58FY9STAoGBAIrZyqsuaS8elRn/K3YN
+b/oCWsNhvqQRPAiXu6j8IwkhRIoXEF1M8e9efUv/OwPS71fYiSf79pwhnD1Cnu+H
+VV78NjOFNXlAudmxQF24iVwM3YuIC4saugpx5It6k0eMVFPhq4WfDpk/GLoAt/9N
+X3iu+Zha3RkNdhDQsnxJiYfhAoGBAJygblmrOj3MMQQfIbXakS6bVvOahRmETY2Q
+xMn+vxCE6J+7C2Sca+HdW74kiHx5wdC3Wmi1Nd8/QkFXl52dN2hHQ5B3YZ34QcEb
+yGJFaueIdk/vDHK010BwNzzedaPwESEqcP7fyGv5MlEYv1wNz9Y0vK9yEph/DlmE
+rATN8ujfAoGAY/7bAeYRPvvWmyU9l00c8O64RRimvuI83q4tLck2Ve6ExC90weZB
+sPE21wWnTn5P6CnqTHW6JXz9xxuqU/1sVnOavIPWmdPaM9ihBNMmP3xMzuU127nn
+OQl0LmKpb9Lj2Oy/pRvyZKohSFO79Q65JkTPRXx+CUT8TrpLWpRCDnA=
+-----END RSA PRIVATE KEY-----
- change mode from '' to '0644'
- change owner from '' to 'root'
- change group from '' to 'root'
* file[/var/opt/delivery/nginx/ca/10.194.15.215.crt] action create
- create new file /var/opt/delivery/nginx/ca/10.194.15.215.crt
- update content in file /var/opt/delivery/nginx/ca/10.194.15.215.crt from none to 981e06
--- /var/opt/delivery/nginx/ca/10.194.15.215.crt 2015-12-03 00:14:51.829979000 +0000
+++ /var/opt/delivery/nginx/ca/.10.194.15.215.crt20151203-5313-h0c8mi 2015-12-03 00:14:51.829979000 +0000
@@ -1 +1,22 @@
+-----BEGIN CERTIFICATE-----
+MIIDfTCCAmWgAwIBAgIJANQwk+X21PH5MA0GCSqGSIb3DQEBBQUAMFUxCzAJBgNV
+BAYTAlVTMRYwFAYDVQQKDA1DaGVmIFNvZnR3YXJlMRYwFAYDVQQLDA1DaGVmIERl
+bGl2ZXJ5MRYwFAYDVQQDDA0xMC4xOTQuMTUuMjE1MB4XDTE1MTIwMzAwMTQ1MVoX
+DTI1MTEzMDAwMTQ1MVowVTELMAkGA1UEBhMCVVMxFjAUBgNVBAoMDUNoZWYgU29m
+dHdhcmUxFjAUBgNVBAsMDUNoZWYgRGVsaXZlcnkxFjAUBgNVBAMMDTEwLjE5NC4x
+NS4yMTUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDl7ODnM8QQ+XLh
+404axljJgvDKnQg4AJ0pkOgllKUdPU2LT2AI1/KAVl7rSLrJEp4z9X3CkDyJ5O8R
+n0YeSdk0nQCAr//n/AtlJWMJgO4kICZ3bgY7PIpoGCFVl8SoqZlIcJakB2wjDxoX
+AGjS4aAFcFf+k7ArVlx3QBYW0a8jFkIPJxiTAAYGzGdRF0kq65f4F1BmZsL88Tkq
+WnFnH+THFE6Lu9nizXp00/pyMbxvA6vqgULuJIy8fujL0hy90Dzn8GOIVIv2YnFa
+Z8/odlPUhKAYmgwnAA4rYT4gghmWw6B4C47KTZs+5jOPdhzA0RQW1PMIobq8uwOo
+pjUOFHtFAgMBAAGjUDBOMB0GA1UdDgQWBBSvFKHq+O/zuu4fq/I29ddDIf1lsDAf
+BgNVHSMEGDAWgBSvFKHq+O/zuu4fq/I29ddDIf1lsDAMBgNVHRMEBTADAQH/MA0G
+CSqGSIb3DQEBBQUAA4IBAQCkgg+N3dzYVgIDxYWGKs5sFo6WwrU8bADCr5ZQJqxV
+nn40ypMXaTavMOVm+6JeRPiUctl2obS3UYVE4oGWS06wT5JjIIm2iZwie+PFZeXY
+hTCQyqxMq2YIV8HeWkCUdid/LwObP+nF2gQPD0eSANm0F9kyJgiXvOMtah0pMEbn
+qcATpV9snKt9SO+9U+xJcDRXGP9yxT0GaI+mw/Mc7sysAh0/4phcNGjCeEyUtJ27
+E/AXkqmDdXadmGVCByS1U0bfnv5Hqar/g8YgLDpoQ0h3tvd2o/KJpl1kVpRnBEj+
+ygMHdpvljoMVFofYwUVXlgd1qlSD6RZcQkx7paZvq3pz
+-----END CERTIFICATE-----
- change mode from '' to '0644'
- change owner from '' to 'root'
- change group from '' to 'root'
* template[/var/opt/delivery/nginx/etc/server.d/10.194.15.215.conf] action create
- create new file /var/opt/delivery/nginx/etc/server.d/10.194.15.215.conf
- update content in file /var/opt/delivery/nginx/etc/server.d/10.194.15.215.conf from none to 9be825
--- /var/opt/delivery/nginx/etc/server.d/10.194.15.215.conf 2015-12-03 00:14:51.841979000 +0000
+++ /var/opt/delivery/nginx/etc/server.d/.10.194.15.215.conf20151203-5313-1mczjrv 2015-12-03 00:14:51.841979000 +0000
@@ -1 +1,90 @@
+#
+# Nginx server definition for 10.194.15.215
+#
+
+# Anything coming in on the non-SSL HTTP port should immediately be redirected to HTTPS
+server {
+ listen 80;
+ server_name 10.194.15.215;
+ rewrite ^ https://$host$request_uri? permanent;
+}
+
+server {
+ server_name 10.194.15.215;
+
+ listen 443 ssl;
+ ssl_certificate /var/opt/delivery/nginx/ca/10.194.15.215.crt;
+ ssl_certificate_key /var/opt/delivery/nginx/ca/10.194.15.215.key;
+
+ ssl_session_timeout 5m;
+
+ ssl_protocols SSLv3 TLSv1;
+ ssl_ciphers RC4-SHA:RC4-MD5:RC4:RSA:HIGH:MEDIUM:!LOW:!kEDH:!aNULL:!ADH:!eNULL:!EXP:!SSLv2:!SEED:!CAMELLIA:!PSK;
+ ssl_prefer_server_ciphers on;
+
+ client_max_body_size 250m;
+
+ # Note use of 'opscode' log format here
+ access_log /var/log/delivery/nginx/delivery.access.log opscode;
+ error_log /var/log/delivery/nginx/delivery.error.log;
+
+ # Add additional headers along to the proxied server
+ proxy_set_header Host $host:$server_port;
+ proxy_set_header X-Real-IP $remote_addr;
+ proxy_set_header X-Scheme $scheme;
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+ proxy_set_header X-Forwarded-Proto https;
+
+ proxy_http_version 1.1;
+ # Proxy buffering is beneficial to prevent a slow client from
+ # consuming an upstream. The buffer allows the upstream to
+ # complete the request processing and nginx to finish serving a
+ # client on a slow link. We disable buffering to allow us to proxy
+ # SSE endpoints. The directive is valid at the location level so
+ # we could make this more granular. But for now, given Erlang and
+ # cowboy handling the requests, we don't expect longer lived
+ # cowboy request processes for slow link clients to be a big
+ # issue. As we work out our SSE endpoints, it seems more
+ # beneficial to not have to mess with location nginx config for
+ # each one.
+ # This nginx ML post has some details:
+ # http://mailman.nginx.org/pipermail/nginx/2012-March/032608.html
+ proxy_buffering off;
+ proxy_pass_request_headers on; # This is the default
+
+ # http://nginx.org/en/docs/syntax.html, specifically "A value without a suffix means seconds. It is recommended to always specify a suffix."
+ #
+ # TODO: Add units to these, once we determine what the proper
+ # timeout should be (5 minutes seems pretty high). If that is
+ # legit, then documenting the reason would be nice.
+ proxy_connect_timeout 300;
+ proxy_send_timeout 300;
+ proxy_read_timeout 300;
+
+ include /var/opt/delivery/nginx/etc/addon.d/*_internal.conf;
+
+ # If no enterprise is specified, we redirect to the welcome page.
+ location = / {
+ rewrite ^ $scheme://$host/e/undefined/#/welcome permanent;
+ }
+
+ # The webui endpoint begins with /e/$ENTERPRISE/. We match here and then alias
+ # to the webui.
+ #
+ # Maintance page sentinel file is created/removed by the
+ # deliv_license module.
+ location ~* ^/e/[^/]+/?(.*)$ {
+ if (-f /var/opt/delivery/delivery/etc/maint.flag) {
+ error_page 503 /maint_503.html;
+ return 503;
+ }
+ alias /opt/delivery/embedded/service/delivery_web/$1;
+ }
+
+ # This handles request to any resources needed by the webui.
+ location ~* /(stylesheets|javascripts|fonts|images)/ {
+ root /opt/delivery/embedded/service/delivery_web;
+ }
+
+}
* template[/var/opt/delivery/nginx/etc/addon.d/21-delivery_internal.conf] action create
- create new file /var/opt/delivery/nginx/etc/addon.d/21-delivery_internal.conf
- update content in file /var/opt/delivery/nginx/etc/addon.d/21-delivery_internal.conf from none to ef1c11
--- /var/opt/delivery/nginx/etc/addon.d/21-delivery_internal.conf 2015-12-03 00:14:51.849979000 +0000
+++ /var/opt/delivery/nginx/etc/addon.d/.21-delivery_internal.conf20151203-5313-13n8qur 2015-12-03 00:14:51.849979000 +0000
@@ -1 +1,34 @@
+#
+# delivery endpoints in Internal LB
+#
+
+# serve the version manifest for convenience
+location /status/version {
+ alias /opt/delivery/version-manifest.txt;
+}
+
+# serve usage license information
+location /license/mlsa.html {
+ alias /opt/delivery/mlsa.html;
+}
+
+# Those are meant to be called exclusively from localhost
+# and directed directly at cowboy without going through nginx
+location /api/internal/ {
+ deny all;
+}
+
+# All endpoints of the delivery REST API begin with /api/$VERSION/. We
+# match on /api/ here and let the service handle versions since the
+# service may need to support multiple versions as the API evolves.
+location /api/ {
+ # We use proxy_pass without the trailing slash ('/') to avoid nginx from
+ # normalizing the URI. For more info:
+ # http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass
+ # Note: this same configuration setting is duplicated in
+ # infra/cookbooks/delivery-dev/templates/default/nginx-cors.conf.erb and
+ # should probably be refactored to be in one place.
+ proxy_pass http://delivery;
+ proxy_redirect http://delivery /;
+}
- change mode from '' to '0644'
- change owner from '' to 'root'
- change group from '' to 'root'
* template[/var/opt/delivery/nginx/etc/addon.d/21-delivery_upstreams.conf] action create
- create new file /var/opt/delivery/nginx/etc/addon.d/21-delivery_upstreams.conf
- update content in file /var/opt/delivery/nginx/etc/addon.d/21-delivery_upstreams.conf from none to 258490
--- /var/opt/delivery/nginx/etc/addon.d/21-delivery_upstreams.conf 2015-12-03 00:14:51.857979000 +0000
+++ /var/opt/delivery/nginx/etc/addon.d/.21-delivery_upstreams.conf20151203-5313-z2k2oz 2015-12-03 00:14:51.857979000 +0000
@@ -1 +1,4 @@
+upstream delivery {
+ server 127.0.0.1:9611;
+}
- change mode from '' to '0644'
- change owner from '' to 'root'
- change group from '' to 'root'
* template[/var/opt/delivery/nginx/etc/nginx.conf] action create
- create new file /var/opt/delivery/nginx/etc/nginx.conf
- update content in file /var/opt/delivery/nginx/etc/nginx.conf from none to 0598be
--- /var/opt/delivery/nginx/etc/nginx.conf 2015-12-03 00:14:51.861979000 +0000
+++ /var/opt/delivery/nginx/etc/.nginx.conf20151203-5313-dh1bt8 2015-12-03 00:14:51.861979000 +0000
@@ -1 +1,54 @@
+# chef delivery nginx config.
+#
+# Generated by Chef
+
+# We need to increase this due to the number of server_names now installed
+# TODO: move to opscode-omnibus
+#
+
+
+# This is the 'global' configuration section
+
+#server_names_hash_bucket_size 64;
+# TODO: Should probably have a 'groupname' explicitly set, in order to make this semantically more clear?
+user delivery delivery;
+worker_processes 4;
+
+error_log /var/log/delivery/nginx/error.log;
+
+daemon off;
+
+events {
+ # This context manages connection processing
+ worker_connections 10240;
+}
+
+http {
+ # 'opscode' is the name of the log format... we should probably change this to 'chef', at the very least
+ # TODO: formatting of this could be better
+ log_format opscode '$remote_addr - $remote_user [$time_local] '
+ '"$request" $status "$request_time" $body_bytes_sent '
+ '"$http_referer" "$http_user_agent" "$upstream_addr" "$upstream_status" "$upstream_response_time" "$http_x_chef_version" "$http_x_ops_sign" "$http_x_ops_userid" "$http_x_ops_timestamp" "$http_x_ops_content_hash" $request_length';
+
+ sendfile on;
+ tcp_nopush on;
+ tcp_nodelay on;
+
+ keepalive_timeout 65;
+
+ gzip on;
+ gzip_http_version 1.0;
+ gzip_comp_level 2;
+ gzip_proxied any;
+ gzip_types text/plain text/css application/x-javascript text/xml application/javascript application/xml application/xml+rss text/javascript application/json;
+
+ # TODO: Where does this file come from? The Omnibus build process?
+ # TODO: parameterize this directory
+ include /opt/delivery/embedded/conf/mime.types;
+
+ include /var/opt/delivery/nginx/etc/addon.d/*_upstreams.conf;
+
+ include /var/opt/delivery/nginx/etc/server.d/10.194.15.215.conf;
+
+}
* template[/opt/delivery/embedded/nginx/html/maint_503.html] action create
- create new file /opt/delivery/embedded/nginx/html/maint_503.html
- update content in file /opt/delivery/embedded/nginx/html/maint_503.html from none to 0dd512
--- /opt/delivery/embedded/nginx/html/maint_503.html 2015-12-03 00:14:51.865979000 +0000
+++ /opt/delivery/embedded/nginx/html/.maint_503.html20151203-5313-1rxkded 2015-12-03 00:14:51.865979000 +0000
@@ -1 +1,46 @@
+<!doctype html>
+<html lang="en">
+<head>
+ <meta charset="utf-8">
+ <title>Delivery - No Tires on the Truck</title>
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <style>
+ body {
+ color: #4a4a4a;
+ font-family: 'Helvetica Neue', Helvetica, sans-serif;
+ font-size: 14px;
+ padding: 18px;
+ }
+ h1 {
+ margin: 0;
+ padding: 0;
+ }
+ a {
+ color: #456a8d;
+ text-decoration: none;
+ }
+ a:hover {
+ text-decoration: underline;
+ }
+ p {
+ padding: 14px 0;
+ line-height: 1.6em;
+ }
+ .container {
+ max-width: 640px;
+ }
+ </style>
+ </head>
+ <body>
+ <div class="container">
+ <h1>Time flies when you're having fun! </h1>
+ <p>
+ Your evaluation period for Chef Delivery has expired. To continue working
+ with Delivery, email us at <a href="mailto:awesome@chef.io">awesome@chef.io</a>.
+ We'll get you back on the road.
+ </p>
+ <img src="/maint_image.svg">
+ </div>
+ </body>
+</html>
* template[/opt/delivery/embedded/nginx/html/maint_image.svg] action create
- create new file /opt/delivery/embedded/nginx/html/maint_image.svg
- update content in file /opt/delivery/embedded/nginx/html/maint_image.svg from none to 360fbc
--- /opt/delivery/embedded/nginx/html/maint_image.svg 2015-12-03 00:14:51.869979000 +0000
+++ /opt/delivery/embedded/nginx/html/.maint_image.svg20151203-5313-107ybt8 2015-12-03 00:14:51.869979000 +0000
@@ -1 +1,179 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 1000 442"
+ width="100%" height="100%" preserveAspectRatio="xMinYMin meet">
+ <polygon fill="#808E8E" points="614.1,292.1 765.8,292.1 733.8,235.3 677.7,231.1 635.7,248.6 "/>
+ <polygon fill="#808E8E" points="304.6,292.1 435.3,292.1 403.3,235.3 347.2,231.1 305.2,248.6 296.7,287.3 "/>
+ <path fill="#FFFFFF" d="M253.6,311.6c-0.3,0-0.5,0-0.8,0c-5.4,2-10.4,5.1-14.6,9.3c-7.7,7.7-12.1,17.9-12.2,28.8
+ c-0.1,11,4,21.3,11.7,29.2c7.7,7.8,17.9,12.2,28.9,12.3c0.1,0,0.3,0,0.5,0c10.9,0,21.1-4.2,28.9-11.9c7.7-7.7,12.1-17.9,12.2-28.8
+ c0.2-17.8-11-33.1-26.8-38.9h-5.5H253.6z"/>
+ <path fill="#404447" stroke="#404447" stroke-miterlimit="10" d="M689.2,325.8c-11.9,0-21.5-9.6-21.5-21.5
+ c0-11.9,9.6-21.5,21.5-21.5c11.9,0,21.5,9.6,21.5,21.5C710.7,316.2,701,325.8,689.2,325.8L689.2,325.8z M689.2,262.1
+ c-23.3,0-42.1,18.8-42.1,42.1c0,3.5,0.4,6.8,1.2,10c4.5,18.4,21.1,32.1,40.9,32.1c19.9,0,36.6-13.8,41-32.4c0.7-3.1,1.1-6.3,1.1-9.7
+ C731.3,280.9,712.5,262.1,689.2,262.1L689.2,262.1z"/>
+ <path fill="#445464" stroke="#445464" stroke-miterlimit="10" d="M667.7,304.3c0-11.9,9.6-21.5,21.5-21.5c11.9,0,21.5,9.6,21.5,21.5
+ c0,11.9-9.6,21.5-21.5,21.5C677.3,325.8,667.7,316.2,667.7,304.3L667.7,304.3z"/>
+ <path fill="#404447" d="M693.4,296.5c0,2.5,2,4.5,4.5,4.5c2.5,0,4.5-2,4.5-4.5c0-2.5-2-4.5-4.5-4.5
+ C695.4,292.1,693.4,294.1,693.4,296.5L693.4,296.5z"/>
+ <path fill="#404447" d="M677,297.4c0,2.5,2,4.5,4.5,4.5c2.5,0,4.5-2,4.5-4.5c0-2.5-2-4.5-4.5-4.5C679,292.9,677,294.9,677,297.4
+ L677,297.4z"/>
+ <path fill="#404447" d="M694.1,310.8c0,2.5,2,4.5,4.5,4.5c2.5,0,4.5-2,4.5-4.5c0-2.5-2-4.5-4.5-4.5
+ C696.1,306.3,694.1,308.3,694.1,310.8L694.1,310.8z"/>
+ <path fill="#404447" d="M677.7,311.6c0,2.5,2,4.5,4.5,4.5c2.5,0,4.5-2,4.5-4.5c0-2.5-2-4.5-4.5-4.5
+ C679.7,307.2,677.7,309.2,677.7,311.6L677.7,311.6z"/>
+ <path fill="#445464" stroke="#445464" stroke-miterlimit="10" d="M341.3,304.3c0-11.9,9.6-21.5,21.5-21.5c11.9,0,21.5,9.6,21.5,21.5
+ c0,11.9-9.6,21.5-21.5,21.5C350.9,325.8,341.3,316.2,341.3,304.3L341.3,304.3z"/>
+ <path fill="#404447" d="M367,296.5c0,2.5,2,4.5,4.5,4.5c2.5,0,4.5-2,4.5-4.5c0-2.5-2-4.5-4.5-4.5C369,292.1,367,294.1,367,296.5
+ L367,296.5z"/>
+ <path fill="#404447" d="M350.5,297.4c0,2.5,2,4.5,4.5,4.5c2.5,0,4.5-2,4.5-4.5c0-2.5-2-4.5-4.5-4.5
+ C352.5,292.9,350.6,294.9,350.5,297.4L350.5,297.4z"/>
+ <path fill="#404447" d="M367.7,310.8c0,2.5,2,4.5,4.5,4.5c2.5,0,4.5-2,4.5-4.5c0-2.5-2-4.5-4.5-4.5
+ C369.7,306.3,367.7,308.3,367.7,310.8L367.7,310.8z"/>
+ <path fill="#404447" d="M351.3,311.6c0,2.5,2,4.5,4.5,4.5c2.5,0,4.5-2,4.5-4.5c0-2.5-2-4.5-4.5-4.5
+ C353.3,307.2,351.3,309.2,351.3,311.6L351.3,311.6z"/>
+ <path fill="#445464" d="M519.3,379.5L655.1,418H383.5L519.3,379.5L519.3,379.5z M549.9,349.5l-30.6,8.7l-30.6-8.7H549.9L549.9,349.5
+ z M308.4,418H0l0,24.9h1000V418H730.2l-173.4-49.2l67.4-19.1l-0.1-0.2h6.6v-20.6H407.9v20.6h6.6l-0.1,0.2l67.4,19.1L308.4,418
+ L308.4,418z"/>
+ <path fill="#445464" d="M295,337.1l-15.1,4.1c-3.2,0.9-5.1-1.1-4.2-4.2l4.1-15.1c0.9-3.2,3.5-3.9,5.8-1.5l11.1,11.1
+ C298.9,333.6,298.2,336.2,295,337.1L295,337.1z"/>
+ <path fill="#445464" d="M282.9,353.1c-2.9-1.6-2.9-4.3,0-6l13.6-7.8c2.9-1.6,5.2-0.3,5.2,3v15.7c0,3.3-2.3,4.6-5.2,3L282.9,353.1
+ L282.9,353.1z"/>
+ <path fill="#445464" d="M280.7,359.4l15.1,4.1c3.2,0.9,3.9,3.5,1.6,5.8l-11.1,11.1c-2.3,2.3-4.9,1.6-5.8-1.6l-4.1-15.1
+ C275.7,360.5,277.6,358.6,280.7,359.4L280.7,359.4z"/>
+ <path fill="#445464" d="M269.3,334.8c-1.6,2.9-4.3,2.9-6,0l-7.8-13.6c-1.6-2.9-0.3-5.2,3-5.2h15.7c3.3,0,4.6,2.3,3,5.2L269.3,334.8
+ L269.3,334.8z"/>
+ <path fill="#445464" d="M253.2,342L238,338c-3.2-0.9-3.9-3.5-1.6-5.8l11.1-11.1c2.3-2.3,4.9-1.6,5.8,1.6l4.1,15.1
+ C258.2,341,256.3,342.9,253.2,342L253.2,342z"/>
+ <path fill="#445464" d="M237.5,340.5l13.6,7.8c2.9,1.6,2.9,4.3,0,6l-13.6,7.8c-2.9,1.6-5.2,0.3-5.2-3v-15.7
+ C232.3,340.2,234.6,338.8,237.5,340.5L237.5,340.5z"/>
+ <path fill="#445464" d="M238.9,364.3l15.1-4.1c3.2-0.9,5.1,1.1,4.2,4.2l-4.1,15.1c-0.9,3.2-3.5,3.9-5.8,1.6l-11.1-11.1
+ C235,367.8,235.7,365.2,238.9,364.3L238.9,364.3z"/>
+ <path fill="#445464" d="M264.6,366.6c1.6-2.9,4.3-2.9,6,0l7.8,13.6c1.6,2.9,0.3,5.2-3,5.2h-15.7c-3.3,0-4.6-2.3-3-5.2L264.6,366.6
+ L264.6,366.6z"/>
+ <path fill="#FFFFFF" d="M237.5,362.2c-2.9,1.6-5.2,0.3-5.2-3v-15.7c0-3.3,2.3-4.6,5.2-3l13.6,7.8c2.9,1.6,2.9,4.3,0,6L237.5,362.2
+ L237.5,362.2z M237.3,370.1c-2.3-2.3-1.6-4.9,1.6-5.8l15.1-4.1c3.2-0.9,5.1,1.1,4.2,4.2l-4.1,15.1c-0.9,3.2-3.5,3.9-5.8,1.6
+ L237.3,370.1L237.3,370.1z M259.7,385.4c-3.3,0-4.6-2.3-3-5.2l7.8-13.6c1.6-2.9,4.3-2.9,6,0l7.8,13.6c1.6,2.9,0.3,5.2-3,5.2H259.7
+ L259.7,385.4z M286.4,380.4c-2.3,2.3-4.9,1.6-5.8-1.6l-4.1-15.1c-0.9-3.2,1.1-5.1,4.2-4.2l15.1,4.1c3.2,0.9,3.9,3.5,1.6,5.8
+ L286.4,380.4L286.4,380.4z M301.6,357.9c0,3.3-2.3,4.6-5.2,3l-13.6-7.8c-2.9-1.6-2.9-4.3,0-6l13.6-7.8c2.9-1.6,5.2-0.3,5.2,3V357.9
+ L301.6,357.9z M296.6,331.3c2.3,2.3,1.6,4.9-1.6,5.8l-15.1,4.1c-3.2,0.9-5.1-1.1-4.2-4.2l4.1-15.1c0.9-3.2,3.5-3.9,5.8-1.5
+ L296.6,331.3L296.6,331.3z M271.6,353.6c0-1.4,1.2-2.6,2.6-2.6c1.4,0,2.6,1.2,2.6,2.6c0,1.4-1.2,2.6-2.6,2.6
+ C272.7,356.1,271.6,355,271.6,353.6L271.6,353.6z M273.7,349.4c-1.4,0-2.6-1.2-2.6-2.6c0-1.4,1.2-2.6,2.6-2.6c1.4,0,2.6,1.2,2.6,2.6
+ C276.3,348.3,275.1,349.4,273.7,349.4L273.7,349.4z M270.1,343c0,1.4-1.2,2.6-2.6,2.6c-1.4,0-2.6-1.2-2.6-2.6c0-1.4,1.2-2.6,2.6-2.6
+ C269,340.5,270.1,341.6,270.1,343L270.1,343z M267.3,355.2c1.4,0,2.6,1.2,2.6,2.6c0,1.4-1.2,2.6-2.6,2.6c-1.4,0-2.6-1.2-2.6-2.6
+ C264.7,356.3,265.8,355.2,267.3,355.2L267.3,355.2z M263.3,347c0,1.4-1.2,2.6-2.6,2.6c-1.4,0-2.6-1.2-2.6-2.6c0-1.4,1.2-2.6,2.6-2.6
+ C262.2,344.4,263.3,345.6,263.3,347L263.3,347z M260.5,351.1c1.4,0,2.6,1.2,2.6,2.6c0,1.4-1.2,2.6-2.6,2.6c-1.4,0-2.6-1.2-2.6-2.6
+ C257.9,352.3,259.1,351.1,260.5,351.1L260.5,351.1z M274.2,316c3.3,0,4.6,2.3,3,5.2l-7.8,13.6c-1.6,2.9-4.3,2.9-6,0l-7.8-13.6
+ c-1.6-2.9-0.3-5.2,3-5.2H274.2L274.2,316z M247.5,321.1c2.3-2.3,4.9-1.6,5.8,1.6l4.1,15.1c0.9,3.2-1.1,5.1-4.2,4.2L238,338
+ c-3.2-0.9-3.9-3.5-1.6-5.8L247.5,321.1L247.5,321.1z M238.2,320.9c-7.7,7.7-12.1,17.9-12.2,28.8c-0.1,11,4,21.3,11.7,29.2
+ c7.7,7.8,17.9,12.2,28.9,12.3c0.1,0,0.3,0,0.5,0c10.9,0,21.1-4.2,28.9-11.9c7.7-7.7,12.1-17.9,12.2-28.8c0.2-22.7-18-41.3-40.7-41.5
+ c-0.1,0-0.3,0-0.4,0C256.2,309,246,313.3,238.2,320.9L238.2,320.9z"/>
+ <path fill="#F08921" d="M273.7,344.2c1.4,0,2.6,1.2,2.6,2.6c0,1.4-1.2,2.6-2.6,2.6c-1.4,0-2.6-1.2-2.6-2.6
+ C271.1,345.4,272.3,344.2,273.7,344.2L273.7,344.2z"/>
+ <path fill="#F08921" d="M265,343c0-1.4,1.2-2.6,2.6-2.6c1.4,0,2.6,1.2,2.6,2.6c0,1.4-1.2,2.6-2.6,2.6C266.1,345.6,265,344.5,265,343
+ L265,343z"/>
+ <path fill="#F08921" d="M274.2,351c1.4,0,2.6,1.2,2.6,2.6c0,1.4-1.2,2.6-2.6,2.6c-1.4,0-2.6-1.2-2.6-2.6
+ C271.6,352.1,272.7,351,274.2,351L274.2,351z"/>
+ <path fill="#F08921" d="M258.1,347c0-1.4,1.2-2.6,2.6-2.6c1.4,0,2.6,1.2,2.6,2.6c0,1.4-1.2,2.6-2.6,2.6
+ C259.3,349.6,258.1,348.4,258.1,347L258.1,347z"/>
+ <path fill="#F08921" d="M260.5,356.3c-1.4,0-2.6-1.2-2.6-2.6c0-1.4,1.2-2.6,2.6-2.6c1.4,0,2.6,1.2,2.6,2.6
+ C263.1,355.1,261.9,356.3,260.5,356.3L260.5,356.3z"/>
+ <path fill="#F08921" d="M267.3,360.3c-1.4,0-2.6-1.2-2.6-2.6c0-1.4,1.2-2.6,2.6-2.6c1.4,0,2.6,1.2,2.6,2.6
+ C269.9,359.2,268.7,360.3,267.3,360.3L267.3,360.3z"/>
+ <circle fill="none" cx="362.8" cy="304.3" r="21.5"/>
+ <path fill="#FFFFFF" d="M736.1,102.2h-66.5c-3.5,0-6.9,2.8-7.5,6.3l-7.1,39.6c-0.6,3.5,1.7,7.1,5,8l111.5,30.4
+ c3.4,0.9,5.1-1,3.7-4.2L745,108.1C743.6,104.9,739.7,102.2,736.1,102.2z"/>
+ <path fill="#445464" d="M635.2,25.1C638,11.3,628.8,0,614.7,0H317.4c-14.1,0-27.9,11.3-30.7,25.1l-53.6,261.5
+ c-0.2,1.1-0.4,2.2-0.4,3.2c10.1-5.8,21.9-9.1,34.4-9.1c10.6,0,20.6,2.4,29.6,6.6c10-24.8,34.8-42.3,63.7-42.3
+ c37.8,0,68.5,29.9,68.5,66.7h121.9h25.7l12.3-60h-0.1L635.2,25.1z M436.2,20.6c23.3,0,44.8,7.7,62.1,20.6l-10.6,14.2
+ c-14.4-10.8-32.3-17.2-51.6-17.2c-36.5,0-67.9,22.8-80.4,55l-16.4-6.4C354.4,48,392.1,20.6,436.2,20.6z M436.2,60.1
+ c31,0,57,22.1,63.1,51.4h-18.1c-5.6-19.5-23.7-33.8-44.9-33.8c-25.8,0-46.8,21-46.8,46.8c0,25.8,21,46.8,46.8,46.8
+ c21.3,0,39.3-14.3,44.9-33.8h18.1c-6,29.3-32,51.4-63.1,51.4c-35.5,0-64.4-28.9-64.4-64.4C371.8,89,400.7,60.1,436.2,60.1z
+ M357.8,94c12.2-31.3,42.8-53.6,78.4-53.6h0v17.6h0c-28.2,0-52.3,17.6-62,42.4L357.8,94z M458.7,137.4h20.2
+ c-4,13.1-13.9,23.7-26.5,28.6l-6.8-17.4C451.1,146.5,455.7,142.5,458.7,137.4z M445.6,100.3l6.8-17.4c12.7,4.9,22.5,15.5,26.5,28.6
+ h-20.2C455.7,106.4,451.1,102.4,445.6,100.3z M410.2,124.5c0,3.7,0.8,7.3,2.2,10.5l-17.1,7.5c-2.4-5.5-3.8-11.6-3.8-18
+ c0-24.6,20-44.6,44.6-44.6v18.7C421.8,98.5,410.2,110.1,410.2,124.5z M436.2,150.4v18.7c-12.3,0-23.5-5-31.5-13.1l13.2-13.2
+ C422.5,147.5,429,150.4,436.2,150.4z M436.2,191c32.2,0,59.2-23.1,65.3-53.6h17.8c-6.3,40.2-41.1,71.1-83.1,71.1V191z M501.4,111.5
+ c-4.5-22.5-20.3-40.8-41.1-49l6.4-16.4c27.5,10.7,48,35.5,52.6,65.4H501.4z M352.1,124.5L352.1,124.5l17.6,0v0
+ c0,28,17.3,51.9,41.8,61.8l-6.5,16.3C374,190.1,352.1,159.8,352.1,124.5z M436.2,228.4c-28.7,0-54.7-11.6-73.5-30.4l12.5-12.5
+ c15.6,15.6,37.2,25.3,61,25.3c43.2,0,79-31.9,85.3-73.3h17.8C532.9,188.7,489.2,228.4,436.2,228.4z M521.5,111.5
+ c-1.8-11.9-6-22.9-12.1-32.7l15-9.3c7.8,12.5,13,26.7,14.9,42H521.5z"/>
+ <path fill="#445464" d="M812.6,218L758.7,88.4c-2.7-6.5-10.7-11.8-17.7-11.8h-86c-7,0-13.9,5.6-15.3,12.6l-41.5,209.9
+ c-0.1,0.6-0.1,1.1-0.2,1.7l-2.2,10.9h12.7h12.6c0-36.8,30.7-66.7,68.5-66.7c37.8,0,68.5,29.9,68.5,66.7h29.4c7,0,14-5.6,15.4-12.5
+ l11.9-56.7C816.3,235.5,815.3,224.5,812.6,218z M651.6,171.5L653,95l93.2-4.5l36.2,107.5L651.6,171.5z"/>
+ <path fill="#445464" stroke="#445464" stroke-miterlimit="10" d="M653,95l-1.4,76.5l130.8,26.4L746.2,90.5L653,95z M771.6,186.6
+ l-111.5-30.4c-3.4-0.9-5.7-4.5-5-8l7.1-39.6c0.6-3.5,4-6.3,7.5-6.3h66.5c3.5,0,7.5,2.7,8.8,5.9l30.4,74.2
+ C776.7,185.6,775,187.5,771.6,186.6z"/>
+ <path fill="#FFFFFF" d="M436.2,188.8c31,0,57-22.1,63.1-51.4h-18.1c-5.6,19.5-23.7,33.8-44.9,33.8c-25.8,0-46.8-21-46.8-46.8
+ c0-25.8,21-46.8,46.8-46.8c21.3,0,39.3,14.3,44.9,33.8h18.1c-6-29.3-32-51.4-63.1-51.4c-35.5,0-64.4,28.9-64.4,64.4
+ C371.8,160,400.7,188.8,436.2,188.8z"/>
+ <path fill="#FFFFFF" d="M404.6,156c8.1,8.1,19.2,13.1,31.5,13.1v-18.7c-7.2,0-13.7-2.9-18.4-7.6L404.6,156z"/>
+ <path fill="#F38B00" d="M436.2,79.8c-24.6,0-44.6,20-44.6,44.6c0,6.4,1.4,12.5,3.8,18l17.1-7.5c-1.4-3.2-2.2-6.7-2.2-10.5
+ c0-14.3,11.6-26,26-26V79.8z"/>
+ <path fill="#FFFFFF" d="M478.9,111.5c-4-13.1-13.9-23.7-26.5-28.6l-6.8,17.4c5.5,2.2,10.1,6.1,13.1,11.2H478.9z"/>
+ <path fill="#F38B00" d="M478.9,137.4h-20.2c-2.9,5.1-7.5,9.1-13.1,11.2l6.8,17.4C465,161.1,474.9,150.5,478.9,137.4z"/>
+ <path fill="#F38B00" d="M436.2,210.7c-23.8,0-45.4-9.7-61-25.3l-12.5,12.5c18.8,18.8,44.8,30.4,73.5,30.4c53,0,96.7-39.7,103.1-90.9
+ h-17.8C515.2,178.9,479.3,210.7,436.2,210.7z"/>
+ <path fill="#F38B00" d="M436.2,38.2c19.3,0,37.2,6.4,51.6,17.2l10.6-14.2c-17.3-13-38.8-20.6-62.1-20.6c-44.1,0-81.8,27.5-96.8,66.2
+ l16.4,6.4C368.3,61,399.6,38.2,436.2,38.2z"/>
+ <path fill="#FFFFFF" d="M509.4,78.8c6.1,9.8,10.3,20.8,12.1,32.7h17.8c-1.9-15.3-7.1-29.5-14.9-42L509.4,78.8z"/>
+ <path fill="#F38B00" d="M466.7,46.1l-6.4,16.4c20.9,8.2,36.7,26.6,41.1,49h17.8C514.6,81.5,494.1,56.8,466.7,46.1z"/>
+ <path fill="#FFFFFF" d="M436.2,57.9L436.2,57.9l0-17.6h0c-35.6,0-66.1,22.3-78.4,53.6l16.4,6.4C383.9,75.5,408,57.9,436.2,57.9z"/>
+ <path fill="#F38B00" d="M404.9,202.5l6.5-16.3c-24.5-9.8-41.8-33.8-41.8-61.8v0h-17.6v0C352.1,159.8,374,190.1,404.9,202.5z"/>
+ <path fill="#FFFFFF" d="M332.2,124.5c0.6,20.2,4.3,32.6,8.7,42.1l16.1-6.6c-3.6-8.6-7.4-17.5-8-35.5"/>
+ <path fill="#FFFFFF" d="M519.3,137.4h-17.8c-6.1,30.5-33,53.6-65.3,53.6v17.6C478.2,208.6,513,177.7,519.3,137.4z"/>
+ <path fill="#FFFFFF" d="M267.1,309c-5,0-9.8,0.9-14.3,2.6c0.3,0,0.5,0,0.8,0h22.3h5.5c-4.3-1.6-9-2.5-13.9-2.6
+ C267.4,309,267.2,309,267.1,309z"/>
+ <path fill="#404447" stroke="#404447" stroke-miterlimit="10" d="M362.7,346.3c19.9,0,36.6-13.8,41-32.4c0.7-3.1,1.1-6.3,1.1-9.7
+ c0-23.3-18.8-42.1-42.1-42.1c-23.3,0-42.1,18.8-42.1,42.1c0,0.6,0,1.2,0.1,1.7c7.1,8.5,12.1,18.8,14.5,30.1
+ C342.5,342.4,352.2,346.3,362.7,346.3z M362.8,282.8c11.9,0,21.5,9.6,21.5,21.5c0,11.9-9.6,21.5-21.5,21.5
+ c-11.9,0-21.5-9.6-21.5-21.5C341.3,292.4,350.9,282.8,362.8,282.8z"/>
+ <path fill="#445464" d="M328.1,328.1c-2.4-3.5-4.4-7.5-5.6-11.7c-6.5-10.7-16-19.3-27.3-24.7c-8.3-4-17.5-6.3-27.3-6.4
+ c-12.8-0.1-24.8,3.5-34.9,9.8c-18.2,11.3-30.4,31.4-30.6,54.4c-0.4,35.8,28.3,65.1,64.1,65.5c35.8,0.4,65.1-28.3,65.5-64.2
+ C332,342.8,330.7,335.2,328.1,328.1z M296,379.3c-7.7,7.7-18,11.9-28.9,11.9c-0.2,0-0.3,0-0.5,0c-11-0.1-21.2-4.5-28.9-12.3
+ c-7.7-7.8-11.8-18.2-11.7-29.2c0.1-10.9,4.4-21.1,12.2-28.8c4.2-4.2,9.2-7.3,14.6-9.3c4.5-1.7,9.3-2.6,14.3-2.6c0.1,0,0.3,0,0.4,0
+ c4.9,0.1,9.6,1,13.9,2.6c15.8,5.9,27,21.2,26.8,38.9C308.1,361.5,303.7,371.7,296,379.3z"/>
+ <path fill="#445464" d="M322.5,316.4c1.3,4.2,3.2,8.2,5.6,11.7C326.6,324,324.7,320,322.5,316.4z"/>
+ <path fill="#445464" d="M26.8,376.5l42.6,0l-23.3-53.3c-1.4-3.2-1.9-6.6-1.7-9.9c0-0.6,0-1.2,0.1-1.8l7.1-83.4
+ c0.9-11.1,10.8-19.4,21.9-18.5l28.2,2.3c6.8,0.6,12.5,4.5,15.7,9.9l24.1,28.3l19.4-9.5l-8-7.7l-10.4,3.5l-11.6-11.2l1.5-5.4l0.3-0.8
+ l7.3,7l10.3-3.5l3-10.5l-7.3-7l6.1-2.1l11.6,11.2l-3,10.6l11,10.5l9.4-4.6c3.7-1.8,8.3-0.3,10.1,3.5l6.4,13c1.8,3.7,0.3,8.1-3.3,10
+ l11.4,11l10.4-3.5l11.6,11.2L226,282l-7.3-7l-10.3,3.5l-3,10.5l7.3,7l-0.8,0.3l-5.3,1.7L195,286.8l3-10.6l-14.4-13.8l-43,21.2
+ c-0.3,0.1-0.6,0.2-0.8,0.3c-3.1,2-7.3,1.4-9.8-1.5l-12.7-15l-2.7,31.9l34.1,0c11.1,0,20.2,8.6,20.2,19.2c0,0.7,0,1.4-0.1,2
+ c0.1,1,0.2,2,0.2,3l-0.1,71.3c0,11.1-8.7,20.2-19.3,20.2c-10.6,0-19.2-9.1-19.2-20.2l0.1-56.9l-35.9,0l19.9,45.5
+ c0.3,0.7,0.6,1.4,0.8,2.2c1.9,2.9,3.1,6.4,3.1,10.1c0,10.6-9.1,19.3-20.2,19.3L26.9,415c-11.1,0-20.2-8.6-20.2-19.2
+ C6.6,385.2,15.7,376.5,26.8,376.5L26.8,376.5z"/>
+ <path fill="#445464" d="M109.9,201.3c-16.3,8.6-36.4,2.3-44.9-13.9c-8.6-16.3-2.3-36.4,13.9-44.9c16.3-8.6,36.4-2.3,44.9,13.9
+ C132.4,172.7,126.1,192.8,109.9,201.3L109.9,201.3z"/>
+ <path fill="#445464" d="M837.5,395.9c0,9.7,7.9,17.6,17.6,17.6h92.2c9.7,0,17.6-7.9,17.6-17.6v-24.2c0-9.7-7.9-17.6-17.6-17.6h-92.2
+ c-9.7,0-17.6,7.9-17.6,17.6V395.9L837.5,395.9z"/>
+ <polygon fill="#FFFFFF" points="926.7,375.4 935.4,370.4 944.2,375.4 953.9,369.9 952.1,366.7 944.2,371.1 935.4,366.1 926.7,371.1
+ 917.9,366.1 909.1,371.1 900.3,366.1 891.5,371.1 882.7,366.1 874,371.1 865.2,366.1 856.4,371.1 848.5,366.7 846.7,369.9
+ 856.4,375.4 865.2,370.4 874,375.4 882.7,370.4 891.5,375.4 900.3,370.4 909.1,375.4 917.9,370.4 926.7,375.4 "/>
+ <polygon fill="#FFFFFF" points="926.7,388.5 935.4,383.5 944.2,388.5 953.9,383 952.1,379.7 944.2,384.2 935.4,379.2 926.7,384.2
+ 917.9,379.2 909.1,384.2 900.3,379.2 891.5,384.2 882.7,379.2 874,384.2 865.2,379.2 856.4,384.2 848.5,379.7 846.7,383
+ 856.4,388.5 865.2,383.5 874,388.5 882.7,383.5 891.5,388.5 900.3,383.5 909.1,388.5 917.9,383.5 926.7,388.5 "/>
+ <polygon fill="#FFFFFF" points="926.7,401.5 935.4,396.5 944.2,401.5 953.9,396 952.1,392.8 944.2,397.2 935.4,392.2 926.7,397.2
+ 917.9,392.2 909.1,397.2 900.3,392.2 891.5,397.2 882.7,392.2 874,397.2 865.2,392.2 856.4,397.2 848.5,392.8 846.7,396
+ 856.4,401.5 865.2,396.5 874,401.5 882.7,396.5 891.5,401.5 900.3,396.5 909.1,401.5 917.9,396.5 926.7,401.5 "/>
+ <path fill="#445464" d="M837.5,331.8c0,9.7,7.9,17.6,17.6,17.6h92.2c9.7,0,17.6-7.9,17.6-17.6v-24.2c0-9.7-7.9-17.6-17.6-17.6h-92.2
+ c-9.7,0-17.6,7.9-17.6,17.6V331.8L837.5,331.8z"/>
+ <polygon fill="#FFFFFF" points="926.7,311.3 935.4,306.3 944.2,311.3 953.9,305.8 952.1,302.5 944.2,307 935.4,302 926.7,307
+ 917.9,302 909.1,307 900.3,302 891.5,307 882.7,302 874,307 865.2,302 856.4,307 848.5,302.5 846.7,305.8 856.4,311.3 865.2,306.3
+ 874,311.3 882.7,306.3 891.5,311.3 900.3,306.3 909.1,311.3 917.9,306.3 926.7,311.3 "/>
+ <polygon fill="#FFFFFF" points="926.7,324.3 935.4,319.3 944.2,324.3 953.9,318.8 952.1,315.6 944.2,320 935.4,315 926.7,320
+ 917.9,315 909.1,320 900.3,315 891.5,320 882.7,315 874,320 865.2,315 856.4,320 848.5,315.6 846.7,318.8 856.4,324.3 865.2,319.3
+ 874,324.3 882.7,319.3 891.5,324.3 900.3,319.3 909.1,324.3 917.9,319.3 926.7,324.3 "/>
+ <polygon fill="#FFFFFF" points="926.7,337.4 935.4,332.4 944.2,337.4 953.9,331.9 952.1,328.6 944.2,333.1 935.4,328.1 926.7,333.1
+ 917.9,328.1 909.1,333.1 900.3,328.1 891.5,333.1 882.7,328.1 874,333.1 865.2,328.1 856.4,333.1 848.5,328.6 846.7,331.9
+ 856.4,337.4 865.2,332.4 874,337.4 882.7,332.4 891.5,337.4 900.3,332.4 909.1,337.4 917.9,332.4 926.7,337.4 "/>
+ <path fill="#445464" d="M837.5,269.1c0,9.7,7.9,17.6,17.6,17.6h92.2c9.7,0,17.6-7.9,17.6-17.6v-24.2c0-9.7-7.9-17.6-17.6-17.6h-92.2
+ c-9.7,0-17.6,7.9-17.6,17.6V269.1L837.5,269.1z"/>
+ <polygon fill="#FFFFFF" points="926.7,248.6 935.4,243.6 944.2,248.6 953.9,243.1 952.1,239.8 944.2,244.3 935.4,239.3 926.7,244.3
+ 917.9,239.3 909.1,244.3 900.3,239.3 891.5,244.3 882.7,239.3 874,244.3 865.2,239.3 856.4,244.3 848.5,239.8 846.7,243.1
+ 856.4,248.6 865.2,243.6 874,248.6 882.7,243.6 891.5,248.6 900.3,243.6 909.1,248.6 917.9,243.6 926.7,248.6 "/>
+ <polygon fill="#FFFFFF" points="926.7,261.6 935.4,256.6 944.2,261.6 953.9,256.1 952.1,252.9 944.2,257.3 935.4,252.3 926.7,257.3
+ 917.9,252.3 909.1,257.3 900.3,252.3 891.5,257.3 882.7,252.3 874,257.3 865.2,252.3 856.4,257.3 848.5,252.9 846.7,256.1
+ 856.4,261.6 865.2,256.6 874,261.6 882.7,256.6 891.5,261.6 900.3,256.6 909.1,261.6 917.9,256.6 926.7,261.6 "/>
+ <polygon fill="#FFFFFF" points="926.7,274.6 935.4,269.7 944.2,274.6 953.9,269.1 952.1,265.9 944.2,270.4 935.4,265.4 926.7,270.4
+ 917.9,265.4 909.1,270.4 900.3,265.4 891.5,270.4 882.7,265.4 874,270.4 865.2,265.4 856.4,270.4 848.5,265.9 846.7,269.2
+ 856.4,274.6 865.2,269.7 874,274.6 882.7,269.7 891.5,274.6 900.3,269.7 909.1,274.6 917.9,269.7 926.7,274.6 "/>
+</svg>
* execute[restart_nginx_log_service] action nothing (skipped due to action :nothing)
* template[/var/log/delivery/nginx/config] action create
- create new file /var/log/delivery/nginx/config
- update content in file /var/log/delivery/nginx/config from none to 5e16ac
--- /var/log/delivery/nginx/config 2015-12-03 00:14:51.881979000 +0000
+++ /var/log/delivery/nginx/.config20151203-5313-15iul14 2015-12-03 00:14:51.881979000 +0000
@@ -1 +1,4 @@
+# svlogd configuration
+s104857600
+n10
- change mode from '' to '0644'
- change owner from '' to 'root'
- change group from '' to 'root'
Recipe: <Dynamically Defined Resource>
* service[nginx] action nothing (skipped due to action :nothing)
Recipe: delivery::nginx
* runit_service[nginx] action enable
* directory[/opt/delivery/sv/nginx] action create
- create new directory /opt/delivery/sv/nginx
- change mode from '' to '0755'
* template[/opt/delivery/sv/nginx/run] action create
- create new file /opt/delivery/sv/nginx/run
- update content in file /opt/delivery/sv/nginx/run from none to 294ff5
--- /opt/delivery/sv/nginx/run 2015-12-03 00:14:51.897979000 +0000
+++ /opt/delivery/sv/nginx/.run20151203-5313-j0g0hd 2015-12-03 00:14:51.897979000 +0000
@@ -1 +1,4 @@
+#!/bin/sh
+exec 2>&1
+exec chpst -P /opt/delivery/embedded/sbin/nginx -c /var/opt/delivery/nginx/etc/nginx.conf -p /opt/delivery/embedded/nginx
- change mode from '' to '0755'
* directory[/opt/delivery/sv/nginx/log] action create
- create new directory /opt/delivery/sv/nginx/log
* directory[/opt/delivery/sv/nginx/log/main] action create
- create new directory /opt/delivery/sv/nginx/log/main
- change mode from '' to '0755'
* directory[/var/log/nginx] action create
- create new directory /var/log/nginx
- change mode from '' to '0755'
* template[/opt/delivery/sv/nginx/log/config] action create
- create new file /opt/delivery/sv/nginx/log/config
- update content in file /opt/delivery/sv/nginx/log/config from none to e3b0c4
(no diff)
- change mode from '' to '0644'
* link[/var/log/nginx/config] action create
- create symlink at /var/log/nginx/config to /opt/delivery/sv/nginx/log/config
* template[/opt/delivery/sv/nginx/log/run] action create
- create new file /opt/delivery/sv/nginx/log/run
- update content in file /opt/delivery/sv/nginx/log/run from none to b65b93
--- /opt/delivery/sv/nginx/log/run 2015-12-03 00:14:51.909979000 +0000
+++ /opt/delivery/sv/nginx/log/.run20151203-5313-1e2d054 2015-12-03 00:14:51.909979000 +0000
@@ -1 +1,4 @@
+#!/bin/sh
+exec chpst -U delivery -u delivery \
+ svlogd -tt /var/log/delivery/nginx
- change mode from '' to '0755'
* directory[/opt/delivery/sv/nginx/env] action create
- create new directory /opt/delivery/sv/nginx/env
- change mode from '' to '0755'
* ruby_block[zap extra env files for nginx service] action run (skipped due to only_if)
* directory[/opt/delivery/sv/nginx/control] action create
- create new directory /opt/delivery/sv/nginx/control
- change mode from '' to '0755'
* link[/opt/delivery/init/nginx] action create
- create symlink at /opt/delivery/init/nginx to /opt/delivery/embedded/bin/sv
* file[/opt/delivery/sv/nginx/down] action nothing (skipped due to action :nothing)
* directory[/opt/delivery/sv/nginx] action create (up to date)
* template[/opt/delivery/sv/nginx/run] action create (up to date)
* directory[/opt/delivery/sv/nginx/log] action create (up to date)
* directory[/opt/delivery/sv/nginx/log/main] action create (up to date)
* directory[/var/log/nginx] action create (up to date)
* template[/opt/delivery/sv/nginx/log/config] action create (up to date)
* link[/var/log/nginx/config] action create (up to date)
* template[/opt/delivery/sv/nginx/log/run] action create (up to date)
* directory[/opt/delivery/sv/nginx/env] action create (up to date)
* ruby_block[zap extra env files for nginx service] action run (skipped due to only_if)
* directory[/opt/delivery/sv/nginx/control] action create (up to date)
* link[/opt/delivery/init/nginx] action create (up to date)
* file[/opt/delivery/sv/nginx/down] action nothing (skipped due to action :nothing)
* directory[/opt/delivery/service] action create (up to date)
* link[/opt/delivery/service/nginx] action create
- create symlink at /opt/delivery/service/nginx to /opt/delivery/sv/nginx
* ruby_block[wait for nginx service socket] action run
- execute the ruby block wait for nginx service socket
* template[/etc/delivery/logrotate.d/nginx] action create
- create new file /etc/delivery/logrotate.d/nginx
- update content in file /etc/delivery/logrotate.d/nginx from none to 0cf43e
--- /etc/delivery/logrotate.d/nginx 2015-12-03 00:14:52.953979000 +0000
+++ /etc/delivery/logrotate.d/.nginx20151203-5313-1a7z72e 2015-12-03 00:14:52.953979000 +0000
@@ -1 +1,11 @@
+/var/log/delivery/nginx/*.log /var/log/delivery/nginx/*/*.log {
+ rotate 10
+ size 104857600
+ create 644 root root
+ delaycompress
+ sharedscripts
+ postrotate
+ /opt/delivery/embedded/sbin/nginx -s reopen
+ endscript
+}
- change mode from '' to '0644'
- change owner from '' to 'root'
- change group from '' to 'root'
Recipe: delivery::delivery_web
* directory[/var/opt/delivery/delivery_web/etc] action create
- create new directory /var/opt/delivery/delivery_web/etc
- change mode from '' to '0700'
- change owner from '' to 'delivery'
* template[/var/opt/delivery/delivery_web/etc/webui_config.js] action create
- create new file /var/opt/delivery/delivery_web/etc/webui_config.js
- update content in file /var/opt/delivery/delivery_web/etc/webui_config.js from none to 45b684
--- /var/opt/delivery/delivery_web/etc/webui_config.js 2015-12-03 00:14:52.961979000 +0000
+++ /var/opt/delivery/delivery_web/etc/.webui_config.js20151203-5313-2xlaf2 2015-12-03 00:14:52.961979000 +0000
@@ -1 +1,26 @@
+require=(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({"XyFutm":[function(require,module,exports){
+// Production specific config
+var appConfig = {
+ build_version: "v0.3.450",
+ external_auth: false,
+ password_recovery_url: "http://google.com",
+ embedly_api_key: "e0435c6ccfd74dfaacf7dfc987c9a7fa",
+ api: {
+ base_url: "https://10.194.15.215/api/",
+ version:"v0",
+ endpoints: {
+ auth: "/get-token",
+ projects: "/projects",
+ orgs: "/orgs/:orgname",
+ users: "/users/:user"
+ }
+ }
+};
+
+module.exports = appConfig;
+
+
+},{}],"app_config":[function(require,module,exports){
+module.exports=require('XyFutm');
+},{}]},{},[])
- change mode from '' to '0644'
* link[/opt/delivery/embedded/service/delivery_web/javascripts/app_config.js] action create
- unlink existing symlink to file at /opt/delivery/embedded/service/delivery_web/javascripts/app_config.js
- create symlink at /opt/delivery/embedded/service/delivery_web/javascripts/app_config.js to /var/opt/delivery/delivery_web/etc/webui_config.js
Recipe: delivery::ctl_commands
* template[/opt/delivery/embedded/service/omnibus-ctl/data_ctl.rb] action create
- create new file /opt/delivery/embedded/service/omnibus-ctl/data_ctl.rb
- update content in file /opt/delivery/embedded/service/omnibus-ctl/data_ctl.rb from none to d06cf4
--- /opt/delivery/embedded/service/omnibus-ctl/data_ctl.rb 2015-12-03 00:14:52.965979000 +0000
+++ /opt/delivery/embedded/service/omnibus-ctl/.data_ctl.rb20151203-5313-sz77ud 2015-12-03 00:14:52.965979000 +0000
@@ -1 +1,101 @@
+#
+# Copyright:: Copyright (c) 2014 Chef Software, Inc.
+#
+
+# ctl command prefix
+ctl_cmd = "-data-ctl"
+
+if ENV["DELIV_DEV"] != nil
+ path_cmd = "/mnt/sync/delivery/server/apps"
+else
+ path_cmd = "/opt/delivery/embedded/bin"
+end
+
+
+add_command "backup-data", "Backup delivery data", 2 do
+ # Default options
+ options = {
+ :action => "backup",
+ :method => "dump",
+ :work_path => "/var/tmp",
+ :backup_name => "delivery_backup.tar",
+ :config_path => "/etc/delivery", # Why we hardcode this?
+ :git_path => "/var/opt/delivery/delivery/git_repos",
+ }
+
+ OptionParser.new do |opts|
+ opts.on("-W", "--work-path PATH") do |work_path|
+ options[:work_path] = work_path
+ end
+
+ opts.on("-M", "--method dump|sql") do |method|
+ options[:method] = method
+ end
+
+ opts.on("-N", "--backup-name") do |name|
+ options[:backup_name] = name
+ end
+ end.parse!
+
+ run_command(File.join(path_cmd, options[:action] + ctl_cmd) +
+ " --method " + options[:method] +
+ " --work-path " + options[:work_path] +
+ " --config-path " + options[:config_path] +
+ " --backup-name " + options[:backup_name] +
+ " --git-path " + options[:git_path]
+ )
+end
+
+add_command "restore-data", "Restore delivery data", 2 do
+ def help
+ STDERR.puts "Usage: delivery-ctl restore-data [options]"
+ STDERR.puts " --no-confirm"
+ STDERR.puts " --no-config"
+ STDERR.puts " -W, --work-path PATH"
+ STDERR.puts " -B, --backup TAR"
+ end
+
+ # Default options
+ options = {
+ :action => "restore",
+ :backup => nil,
+ :work_path => "/var/tmp",
+ :config => true,
+ :confirm => true,
+ :delivery_ctl => "/opt/delivery/bin/delivery-ctl"
+ }
+
+ OptionParser.new do |opts|
+ opts.on("--no-config") do |boolean|
+ options[:config] = false
+ end
+
+ opts.on("--no-confirm") do |boolean|
+ options[:confirm] = false
+ end
+
+ opts.on("-W", "--work-path PATH") do |work_path|
+ options[:work_path] = work_path
+ end
+
+ opts.on("-B", "--backup TAR") do |backup|
+ options[:backup] = backup
+ end
+
+ end.parse!
+
+ if options[:backup].nil?
+ STDERR.puts "ERROR: Please provide a backup [TAR]"
+ help
+ exit 1
+ end
+
+ run_command(File.join(path_cmd, options[:action] + ctl_cmd) + " " +
+ options[:backup] +
+ " --work-path " + options[:work_path] +
+ " --delivery-ctl " + options[:delivery_ctl] +
+ (options[:config] ? "" : " --no-config ") +
+ (options[:confirm] ? "" : " --no-confirm ")
+ )
+end
- change mode from '' to '0644'
- change owner from '' to 'root'
- change group from '' to 'root'
* template[/opt/delivery/embedded/bin/backup-data-ctl] action create
- create new file /opt/delivery/embedded/bin/backup-data-ctl
- update content in file /opt/delivery/embedded/bin/backup-data-ctl from none to 7f07fa
--- /opt/delivery/embedded/bin/backup-data-ctl 2015-12-03 00:14:52.973979000 +0000
+++ /opt/delivery/embedded/bin/.backup-data-ctl20151203-5313-1nd7sev 2015-12-03 00:14:52.973979000 +0000
@@ -1 +1,105 @@
+#!/bin/bash
+#
+# Delivery Data Backup Script
+#
+
+# Exit immediately if a command exits with a non-zero status.
+set -e
+
+# Default Variables
+script_name=backup-data-ctl
+bkp_path=/var/opt/delivery/backups
+bkp_method=dump
+config_path=/etc/delivery
+backup_name=delivery_backup.tar
+git_path=/var/opt/delivery/delivery/git_repos
+
+help() {
+ echo "Usage: ${script_name} [options]"
+ echo -e "\t--method [dump|sql] Which method to use for the data base backup"
+ echo -e "\t--work-path PATH Path where we will store the delivery backup"
+ echo -e "\t--backup-name NAME Change the tar backup name"
+ echo -e "\t--config-path PATH Delivery configuration files path"
+ echo -e "\t--git-path PATH Git repositories path"
+ exit 1
+}
+
+while [ $# -gt 0 ]; do
+ case "$1" in
+ --work-path)
+ shift
+ bkp_path=$1
+ ;;
+ --backup-name)
+ shift
+ backup_name=$1
+ ;;
+ --config-path)
+ shift
+ config_path=$1
+ ;;
+ --git-path)
+ shift
+ git_path=$1
+ ;;
+ --method)
+ shift
+ if [ "$1" == "dump" -o "$1" == "sql" ]; then
+ bkp_method=$1
+ else
+ help
+ fi
+ ;;
+ *) help ;;
+ esac
+ shift
+done
+
+# Ensure that we write to a unique directory. This avoids overwriting
+# previous backups and avoids security issues of writing to a file
+# owned by another user. We also make sure this directory exists.
+mkdir -p $bkp_path
+prefix=$(date -u +%Y-%m-%dT%H%M)
+bkp_path=$(mktemp -d ${bkp_path}/delivery-backup-${prefix}.XXXX)
+echo " [Delivery Backup] Create backup directory '${bkp_path}'"
+tmp_path=${bkp_path}/staging
+mkdir -p $tmp_path
+
+# Backing up Postgres Data Base
+# Two Methods:
+# => SQL file
+# => DUMP file
+case "${bkp_method}" in
+ sql)
+ echo " [Delivery Backup] Capturing database SQL file"
+ su - chef-pgsql -c "pg_dump delivery" | gzip > ${tmp_path}/delivery_db.sql.gz
+ ;;
+ dump)
+ echo " [Delivery Backup] Capturing database dump"
+ su - chef-pgsql -c "pg_dump -Fc delivery" | gzip > ${tmp_path}/delivery_db.dump.gz
+ ;;
+ *) help ;;
+esac
+
+# Backing up Git Repos
+echo " [Delivery Backup] Copying git repositories"
+tar -pcvf - ${git_path} 2>/dev/null | gzip -c > ${tmp_path}/git_repos.tar.gz
+
+# Backing up Delivery Config Files
+echo " [Delivery Backup] Copying config files"
+tar -pcf - ${config_path} 2>/dev/null | gzip -c > ${tmp_path}/delivery_config.tar.gz
+
+# Wrapping everything
+echo " [Delivery Backup] Writing backup to '${bkp_path}/${backup_name}'"
+cd ${tmp_path} && tar -cf ${bkp_path}/${backup_name} delivery_db.*.gz git_repos.tar.gz delivery_config.tar.gz 1>/dev/null
+
+# Apply the appropriate permissions to large tarball
+chmod 0600 ${bkp_path}/${backup_name}
+
+# Removing staging dir
+rm -rf ${tmp_path}
+
+echo " [Delivery Backup] Completed!"
+
+exit 0
- change mode from '' to '0744'
- change owner from '' to 'root'
- change group from '' to 'root'
* template[/opt/delivery/embedded/bin/restore-data-ctl] action create
- create new file /opt/delivery/embedded/bin/restore-data-ctl
- update content in file /opt/delivery/embedded/bin/restore-data-ctl from none to bf01d6
--- /opt/delivery/embedded/bin/restore-data-ctl 2015-12-03 00:14:52.985979000 +0000
+++ /opt/delivery/embedded/bin/.restore-data-ctl20151203-5313-1owxel7 2015-12-03 00:14:52.985979000 +0000
@@ -1 +1,148 @@
+#!/bin/bash
+#
+# Delivery Data Restore Script
+#
+
+# Exit immediately if a command exits with a non-zero status.
+set -e
+
+# Default Variables
+script_name=restore-data-ctl
+restore_path=/var/opt/delivery/backups
+config=true
+confirm=true
+delivery_ctl=/opt/delivery/bin/delivery-ctl
+
+help() {
+ echo "Usage: ${script_name} BACKUP [options]"
+ echo -e "\tBACKUP Delivery backup file [TAR]"
+ echo -e "\t--no-config Avoid restore delivery configuration files"
+ echo -e "\t--work-path PATH Path where we will unpack the delivery backup"
+ echo -e "\t--delivery-ctl PATH Path where we will unpack the delivery backup"
+ echo -e "\t--no-confirm Do not query the user to confirm, just do the backup"
+ exit 1
+}
+
+if [ $# -lt 1 ]; then
+ help
+else
+ backup=$1
+ # Validate that it is a tar file
+ if ! tar -tf ${backup} &> /dev/null; then
+ echo -e "ERROR: Invalid Backup File\n"
+ help
+ fi
+ shift
+fi
+
+while [ $# -gt 0 ]; do
+ case "$1" in
+ --work-path)
+ shift
+ restore_path=$1
+ ;;
+ --delivery-ctl)
+ shift
+ delivery_ctl=$1
+ ;;
+ --no-config)
+ config=false
+ ;;
+ --no-confirm)
+ confirm=false
+ ;;
+
+ *) help ;;
+ esac
+ shift
+done
+
+if ${confirm}; then
+ echo "WARNING: You are about to start the restore process of delivery."
+ echo " This process will shut down all Delivery services and "
+ echo " COMPLETELY DELETE Delivery's PostgreSQL database."
+ echo ""
+ echo " If you want to abort this process PRESS [Ctrl+C] otherwise"
+ echo " press ENTER to continue."
+ read
+fi
+
+# Ensure there are no old backups
+rm -rf ${restore_path}/delivery_db* ${restore_path}/git_repos.tar ${restore_path}/delivery_config.tar
+
+# Unpacking everything
+echo " [Delivery Restore] Unpacking backup to '${restore_path}'"
+tar -xvf ${backup} -C ${restore_path} 1>/dev/null
+
+# Unpacking and validating backup integrity.
+#
+# If it is missing a package the restore script will
+# exit imediately. Though we will not know what is going on.
+for pkg in git_repos delivery_config delivery_db; do
+ gunzip ${restore_path}/${pkg}*.gz
+done 1>/dev/null
+
+# Ensure that delivery & nginx are DOWN
+# Also that postgresql it UP
+echo " [Delivery Restore] Shutting Down delivery processes"
+${delivery_ctl} stop 1> /dev/null
+${delivery_ctl} start postgresql 1> /dev/null
+
+# Restoring Postgres Data Base
+# Possible Methods:
+# => SQL file
+# => DUMP filed
+method=$(ls -1 ${restore_path}/delivery_db* | cut -d. -f2)
+
+# Validating backup extension
+if [ "${method}" != "sql" -a "${method}" != "dump" ]; then
+ echo -e "CRITICAL: We have detected a problem with the data base backup extension.\n\texpected [sql|dump]\n\tgot ${method}"
+ exit 2
+fi
+
+# Drop Delivery Data Base
+su - chef-pgsql -c "dropdb delivery"
+
+case "${method}" in
+ sql)
+ echo " [Delivery Restore] Restoring database from SQL file"
+ su - chef-pgsql -c "createdb delivery"
+ su - chef-pgsql -c "psql delivery -f ${restore_path}/delivery_db.sql"
+ ;;
+ dump)
+ echo " [Delivery Restore] Restoring database from dump"
+ su - chef-pgsql -c "pg_restore -C -d postgres ${restore_path}/delivery_db.dump"
+ ;;
+esac
+
+# Restoring Delivery Config Files
+if ${config}; then
+ config_path=/$(tar -tf ${restore_path}/delivery_config.tar | head -1)
+ if [ "${config_path}" != "/" ]; then
+ echo " [Delivery Restore] Writing config files"
+ rm -rf ${config_path}
+ tar -pxvf ${restore_path}/delivery_config.tar -C / 1>/dev/null
+ fi
+fi
+
+# Restoring Git Repos
+git_path=/$(tar -tf ${restore_path}/git_repos.tar | head -1)
+if [ "${git_path}" != "/" ]; then
+ echo " [Delivery Restore] Creating git repositories"
+ rm -rf ${git_path}
+ tar -pxvf ${restore_path}/git_repos.tar -C / 1>/dev/null
+fi
+
+# Removing separated things
+rm -rf ${restore_path}/delivery_db.${method} ${restore_path}/git_repos.tar ${restore_path}/delivery_config.tar
+
+echo " [Delivery Restore] Reconfiguring"
+${delivery_ctl} reconfigure 1> /dev/null
+
+echo " [Delivery Restore] Starting Delivery"
+${delivery_ctl} start 1> /dev/null
+
+echo " [Delivery Restore] Completed!"
+
+exit 0
- change mode from '' to '0744'
- change owner from '' to 'root'
- change group from '' to 'root'
* template[/opt/delivery/embedded/bin/delivery_backup] action create
- create new file /opt/delivery/embedded/bin/delivery_backup
- update content in file /opt/delivery/embedded/bin/delivery_backup from none to 19450f
--- /opt/delivery/embedded/bin/delivery_backup 2015-12-03 00:14:52.993979000 +0000
+++ /opt/delivery/embedded/bin/.delivery_backup20151203-5313-auotrx 2015-12-03 00:14:52.993979000 +0000
@@ -1 +1,71 @@
+#!/bin/bash
+#
+# Delivery Data Backup/Restore Script
+#
+# To be run by a crontab setup by the delivery-server cookbook.
+# Do a backup, and then restore that backup so that if it fails,
+# we know we don't have a backup.
+#
+
+# Exit immediately if a command exits with a non-zero status.
+set -e
+
+# Default Variables
+script_name=delivery_backup
+backup_path=/var/opt/delivery/backups
+delivery_ctl=/opt/delivery/bin/delivery-ctl
+max_backups=7
+do_restore=false
+
+help() {
+ echo "Usage: $0 [options]"
+ echo -e "\t--work-path PATH Path where we will unpack the delivery backup"
+ echo -e "\t--max-backups N Maximum backups to keep"
+ echo -e "\t--do-restore restore Delivery using the backup just made"
+ exit 1
+}
+
+while [ $# -gt 0 ]; do
+ case "$1" in
+ --work-path)
+ shift
+ backup_path=$1
+ ;;
+ --max-backups)
+ shift
+ max_backups=$1
+ ;;
+ --do-restore)
+ shift
+ do_restore=$1
+ ;;
+ *) help ;;
+ esac
+ shift
+done
+
+$delivery_ctl backup-data --work-path $backup_path
+
+cd $backup_path
+
+# get rid of older backups
+num_backups=$(ls $backup_path | wc -l)
+extra_backups=$(( $num_backups - $max_backups ))
+
+if [ $extra_backups -gt 0 ]; then
+ echo -n "Found $extra_backups extra backup(s), pruning:"
+ for backup_dir in $(ls -t | tail -$extra_backups)
+ do
+ echo -n " $backup_dir"
+ rm -rf $backup_dir
+ done
+ echo " ... done."
+fi
+
+if [ "$do_restore" = true ]; then
+ echo "Running restore on the backup just made."
+ work_path=$(ls -t | head -1)
+ backup_file=${backup_path}/${work_path}/delivery_backup.tar
+ $delivery_ctl restore-data --backup $backup_file --no-confirm --no-config
+fi
- change mode from '' to '0744'
- change owner from '' to 'root'
- change group from '' to 'root'
Recipe: delivery::license_check
* directory[/var/opt/delivery/license] action create
- change owner from 'root' to 'delivery'
* ruby_block[verify license file exists] action run
- execute the ruby block verify license file exists
* file[/var/opt/delivery/license/delivery.license] action create
- change owner from 'ubuntu' to 'delivery'
Recipe: delivery::delivery
* directory[/var/opt/delivery/delivery] action create
- create new directory /var/opt/delivery/delivery
- change mode from '' to '0700'
- change owner from '' to 'delivery'
* directory[/var/opt/delivery/delivery/etc] action create
- create new directory /var/opt/delivery/delivery/etc
- change mode from '' to '0700'
- change owner from '' to 'delivery'
* directory[/var/log/delivery/delivery] action create
- create new directory /var/log/delivery/delivery
- change mode from '' to '0700'
- change owner from '' to 'delivery'
* directory[/var/log/delivery/delivery/sasl] action create
- create new directory /var/log/delivery/delivery/sasl
- change mode from '' to '0700'
- change owner from '' to 'delivery'
* directory[/opt/delivery/embedded/service/delivery] action create (up to date)
* directory[/opt/delivery/embedded/service/delivery/log] action delete (up to date)
* link[/opt/delivery/embedded/service/delivery/log] action create
- create symlink at /opt/delivery/embedded/service/delivery/log to /var/log/delivery/delivery
* template[/var/opt/delivery/delivery/etc/erlang.cfg] action create
- create new file /var/opt/delivery/delivery/etc/erlang.cfg
- update content in file /var/opt/delivery/delivery/etc/erlang.cfg from none to d38910
--- /var/opt/delivery/delivery/etc/erlang.cfg 2015-12-03 00:14:53.021979000 +0000
+++ /var/opt/delivery/delivery/etc/.erlang.cfg20151203-5313-16au05j 2015-12-03 00:14:53.021979000 +0000
@@ -1 +1,9 @@
+%% Your user or client name. This is configured as `node_name` in a
+%% knife.rb or client.rb file.
+{username, "delivery"}.
+%% Path to the private key for your user or client.
+{private_key, "/etc/delivery/delivery.pem"}.
+%% Your Chef server URL. This is configured as `chef_server_url` in
+%% a knife.rb or client.rb file.
+{server, "https://10.194.10.219/organizations/aws"}.
* template[/var/opt/delivery/delivery/etc/sys.config] action create
- create new file /var/opt/delivery/delivery/etc/sys.config
- update content in file /var/opt/delivery/delivery/etc/sys.config from none to 53f2c0
--- /var/opt/delivery/delivery/etc/sys.config 2015-12-03 00:14:53.025979000 +0000
+++ /var/opt/delivery/delivery/etc/.sys.config20151203-5313-1ll95r 2015-12-03 00:14:53.025979000 +0000
@@ -1 +1,159 @@
+%% -*- mode: erlang -*-
+[
+ {sasl, [
+ {errlog_type, error}
+ ]},
+ {lager, [
+ %% What handlers to install with what arguments
+ %% The defaults for the logfiles are to rotate the files when
+ %% they reach 10Mb or at midnight, whichever comes first, and keep
+ %% the last 5 rotations. See the lager README for a description of
+ %% the time rotation format:
+ %% https://github.com/basho/lager/blob/master/README.org
+ %%
+ %% If you wish to disable rotation, you can either set the size to 0
+ %% and the rotation time to "", or instead specify a 2-tuple that only
+ %% consists of {Logfile, Level}.
+ {handlers, [
+ {lager_console_backend, info},
+ {lager_file_backend, [{file, "/var/log/delivery/delivery/error.log"},
+ {level, error}, {size, 10485760},
+ {date, "$D0"}, {count, 5}]},
+ {lager_file_backend, [{file, "/var/log/delivery/delivery/console.log"},
+ {level, info}, {size, 10485760},
+ {date, "$D0"}, {count, 5}]}
+ ]},
+
+ %% Whether to write a crash log, and where.
+ %% Commented/omitted/undefined means no crash logger.
+ {crash_log, "/var/log/delivery/delivery/crash.log"},
+
+ %% Maximum size in bytes of events in the crash log - defaults to 65536
+ {crash_log_msg_size, 65536},
+
+ %% Maximum size of the crash log in bytes, before its rotated, set
+ %% to 0 to disable rotation - default is 0
+ {crash_log_size, 10485760},
+
+ %% What time to rotate the crash log - default is no time
+ %% rotation. See the lager README for a description of this format:
+ %% https://github.com/basho/lager/blob/master/README.org
+ {crash_log_date, "$D0"},
+
+ %% Number of rotated crash logs to keep, 0 means keep only the
+ %% current one - default is 0
+ {crash_log_count, 5},
+
+ %% Whether to redirect error_logger messages into lager - defaults to true
+ {error_logger_redirect, true}
+ ]},
+ {sqerl, [
+ %% Database connection parameters
+ {db_host, "127.0.0.1" },
+ {db_port, 5432 },
+ {db_user, "delivery" },
+ {db_pass, "dda89911941721b42c6383bab3c45772fed1520079b2d21a5af57b6f0267efadf4ddf7df0420205fd55730a5e3ac3a09ab80" },
+ {db_name, "delivery" },
+ {idle_check, 10000},
+ {column_transforms, []},
+ {prepared_statements, {sqerl_rec, statements,
+ [[{app, delivery}, {app, github}, {app, bitbucket}, {app, audit}]]}}
+ ]},
+
+ {pooler, [
+ {pools, [[{name, sqerl},
+ {max_count, 100 },
+ {init_count, 20 },
+ {start_mfa, {sqerl_client, start_link, []}}]]}
+ ]},
+
+ {audit, [
+ {max_events_in_memory, 100 }
+ ]},
+ {delivery, [
+ {omnibus_version, "0.3.450"},
+ {listen_ip, "127.0.0.1"},
+ {listen_port, 9611},
+ {hostname, "10.194.15.215"},
+
+ {api_proto, "https"},
+
+ {read_ttl_secs, 604800},
+ {write_ttl_secs, 604800},
+
+ {deliv_git_ssh_authorized_keys_path, "/var/opt/delivery/home/git/.ssh/authorized_keys"},
+ {deliv_git_ssh_base_command, <<"/opt/delivery/embedded/bin/delivery-git">>},
+
+ %% where the repos are kept
+ {deliv_git_repos_root, <<"/var/opt/delivery/delivery/git_repos">>},
+
+ {deliv_ssh_git_hostname, "10.194.15.215"},
+ {deliv_ssh_git_port, 8989},
+ {deliv_ssh_git_server_keys_path, "/var/opt/delivery/delivery/etc/ssh_git_server_keys"},
+
+ %% the path to our git repo template dir
+ %% this must be an absolute path
+ {deliv_git_repo_template, "/opt/delivery/embedded/etc/deliv_git_repo_template"},
+
+ %% the path to our git working tree dir
+ %% this must be an absolute path
+ {deliv_git_working_tree_dir, <<"/var/opt/delivery/delivery/git_workspace">>},
+
+ %% TODO: Instead of just reading this file these
+ %% should be in the delivery attrs. For now I am
+ %% just passing the generated file through.
+ {deliv_chef_config, "/var/opt/delivery/delivery/etc/erlang.cfg"},
+
+ %% The deafult search to use when looking up build nodes. This is
+ %% pre-pended and anded with whatever is set in .delivery/config.json
+ {deliv_default_search,
+ "((recipes:delivery_build OR recipes:delivery_build\\:\\:default) AND chef_environment:_default)"},
+
+ %% deliv_push_jobs does polling on on-going jobs
+ %% this is how long it should wait between two status updates (in ms)
+ {push_jobs_status_interval, 5000},
+ %% and this is how long it should wait to try and retry creating
+ %% the job when no nodes were available (in ms, too)
+ {push_jobs_retry_interval, 30000},
+ %% Occationally pushy will provide a worker, but the worker will fail
+ %% before the job has a chance to start. This is how many times it should
+ %% try restarting that job.
+ {push_jobs_max_retries, 3},
+ %% How long to wait for the push job to wait to find a worker and
+ %% then complete (in seconds)
+ {push_jobs_overall_timeout, 7200},
+ %% Once the push job has found a worker, this is how long to wait
+ %% for the push job to complete (in seconds)
+ {push_jobs_run_timeout, 4500},
+
+ %% TODO: get this from the environment instead of hard-coding
+ {git_executable, "/opt/delivery/embedded/bin/git"},
+
+ %% Configuration for notification settings
+ {deliv_notify_config, []},
+
+ %% LDAP config
+ {ldap,
+ [{hosts, []},
+ {port, 3269},
+ {timeout, 5000},
+ {bind_dn, "ldapbind"},
+ {bind_dn_password, "secret123"},
+ {encryption, start_tls},
+ {base_dn, "OU=Employees,OU=Domain users,DC=examplecorp,DC=com"},
+ {attr_login, "sAMAccountName"},
+ {attr_mail, "mail"},
+ {attr_full_name, "fullName"}
+ ]},
+
+ % Path to OS trusted certificate store
+ {trusted_certificates_file, "/etc/ssl/certs/ca-certificates.crt"},
+
+ %% there are things that we only want running on dev boxes
+ {is_dev_box, false}
+ ]},
+
+ {sync, [
+ {non_descendants, allow} ]}
+].
- change mode from '' to '0644'
* template[/var/opt/delivery/delivery/etc/vm.args] action create
- create new file /var/opt/delivery/delivery/etc/vm.args
- update content in file /var/opt/delivery/delivery/etc/vm.args from none to 4e5d4a
--- /var/opt/delivery/delivery/etc/vm.args 2015-12-03 00:14:53.037979000 +0000
+++ /var/opt/delivery/delivery/etc/.vm.args20151203-5313-19ax6n0 2015-12-03 00:14:53.037979000 +0000
@@ -1 +1,31 @@
+## Name of the node
+-name delivery@127.0.0.1
+
+## Cookie for distributed erlang
+-setcookie delivery
+
+## When Erlang runs on a single CPU system it defaults to disabled SMP
+## which breaks some NIF code. In general Delivery should be run on a
+## multicore box and this option will not be needed as the Erlang VM
+## will enable SMP on multicore boxes by default. However, enabling it
+## here will allow the NIF code in question to function on a single
+## core box which could be useful for testing.
+-smp enable
+
+## Enable kernel poll and a few async threads
++K true
++A 10
+
+## Increase number of concurrent ports/sockets
+-env ERL_MAX_PORTS 4096
+
+## Tweak GC to run more often
+-env ERL_FULLSWEEP_AFTER 10
+
+## Increase logfile size to 10M
+-env RUN_ERL_LOG_MAXSIZE 10000000
+
+## Add directory for hot patches to the front of the code path
+-pa lib/patches
+
- change mode from '' to '0644'
Recipe: delivery::delivery_git
* directory[/var/opt/delivery/delivery/etc/ssh_git_server_keys] action create
- create new directory /var/opt/delivery/delivery/etc/ssh_git_server_keys
- change owner from '' to 'delivery'
* execute[create rsa passphrase-less key for SSH git] action run
- execute ssh-keygen -t rsa -N '' -f /var/opt/delivery/delivery/etc/ssh_git_server_keys/ssh_host_rsa_key
* execute[create dsa passphrase-less key for SSH git] action run
- execute ssh-keygen -t dsa -N '' -f /var/opt/delivery/delivery/etc/ssh_git_server_keys/ssh_host_dsa_key
Recipe: delivery::delivery
* link[/opt/delivery/embedded/service/delivery/releases/0.0.1/sys.config] action create
- unlink existing symlink to file at /opt/delivery/embedded/service/delivery/releases/0.0.1/sys.config
- create symlink at /opt/delivery/embedded/service/delivery/releases/0.0.1/sys.config to /var/opt/delivery/delivery/etc/sys.config
* link[/opt/delivery/embedded/service/delivery/releases/0.0.1/vm.args] action create
- unlink existing symlink to file at /opt/delivery/embedded/service/delivery/releases/0.0.1/vm.args
- create symlink at /opt/delivery/embedded/service/delivery/releases/0.0.1/vm.args to /var/opt/delivery/delivery/etc/vm.args
* execute[restart_delivery_log_service] action nothing (skipped due to action :nothing)
* template[/var/log/delivery/delivery/config] action create
- create new file /var/log/delivery/delivery/config
- update content in file /var/log/delivery/delivery/config from none to 587a09
--- /var/log/delivery/delivery/config 2015-12-03 00:14:53.413979000 +0000
+++ /var/log/delivery/delivery/.config20151203-5313-1gse89n 2015-12-03 00:14:53.413979000 +0000
@@ -1 +1,4 @@
+# svlogd configuration
+s10240000
+n10
- change mode from '' to '0644'
- change owner from '' to 'root'
- change group from '' to 'root'
Recipe: <Dynamically Defined Resource>
* service[delivery] action nothing (skipped due to action :nothing)
Recipe: delivery::delivery
* runit_service[delivery] action enable
* directory[/opt/delivery/sv/delivery] action create
- create new directory /opt/delivery/sv/delivery
- change mode from '' to '0755'
* template[/opt/delivery/sv/delivery/run] action create
- create new file /opt/delivery/sv/delivery/run
- update content in file /opt/delivery/sv/delivery/run from none to f048a8
--- /opt/delivery/sv/delivery/run 2015-12-03 00:14:53.429979000 +0000
+++ /opt/delivery/sv/delivery/.run20151203-5313-1ghxlwd 2015-12-03 00:14:53.429979000 +0000
@@ -1 +1,5 @@
+#!/bin/sh
+exec 2>&1
+
+exec chpst -P -u delivery -U delivery env HOME=/var/opt/delivery/delivery /opt/delivery/embedded/service/delivery/bin/delivery foreground
- change mode from '' to '0755'
* directory[/opt/delivery/sv/delivery/log] action create
- create new directory /opt/delivery/sv/delivery/log
* directory[/opt/delivery/sv/delivery/log/main] action create
- create new directory /opt/delivery/sv/delivery/log/main
- change mode from '' to '0755'
* directory[/var/log/delivery] action create (up to date)
* template[/opt/delivery/sv/delivery/log/config] action create
- create new file /opt/delivery/sv/delivery/log/config
- update content in file /opt/delivery/sv/delivery/log/config from none to e3b0c4
(no diff)
- change mode from '' to '0644'
* link[/var/log/delivery/config] action create
- create symlink at /var/log/delivery/config to /opt/delivery/sv/delivery/log/config
* template[/opt/delivery/sv/delivery/log/run] action create
- create new file /opt/delivery/sv/delivery/log/run
- update content in file /opt/delivery/sv/delivery/log/run from none to 602a79
--- /opt/delivery/sv/delivery/log/run 2015-12-03 00:14:53.441979000 +0000
+++ /opt/delivery/sv/delivery/log/.run20151203-5313-13yttv6 2015-12-03 00:14:53.441979000 +0000
@@ -1 +1,3 @@
+#!/bin/sh
+exec svlogd -tt /var/log/delivery/delivery
- change mode from '' to '0755'
* directory[/opt/delivery/sv/delivery/env] action create
- create new directory /opt/delivery/sv/delivery/env
- change mode from '' to '0755'
* ruby_block[zap extra env files for delivery service] action run (skipped due to only_if)
* directory[/opt/delivery/sv/delivery/control] action create
- create new directory /opt/delivery/sv/delivery/control
- change mode from '' to '0755'
* template[/opt/delivery/sv/delivery/control/t] action create
- create new file /opt/delivery/sv/delivery/control/t
- update content in file /opt/delivery/sv/delivery/control/t from none to 7d92ca
--- /opt/delivery/sv/delivery/control/t 2015-12-03 00:14:53.445979000 +0000
+++ /opt/delivery/sv/delivery/control/.t20151203-5313-1eeu0w0 2015-12-03 00:14:53.445979000 +0000
@@ -1 +1,8 @@
+#!/bin/sh
+
+echo "[RUNIT]: delivery t script invoked for TERM signal; stopping the service"
+# This is effectively the same as the 'run' script, but it passes the argument 'stop' instead of 'foreground'
+# TODO: Consider using a template helper function to capture this relationship
+# TODO: Consider a template helper to set up the 'echo' lines, as well, while we're at it
+exec chpst -P -u delivery -U delivery env HOME=/var/opt/delivery/delivery /opt/delivery/embedded/service/delivery/bin/delivery stop
- change mode from '' to '0755'
* link[/opt/delivery/init/delivery] action create
- create symlink at /opt/delivery/init/delivery to /opt/delivery/embedded/bin/sv
* file[/opt/delivery/sv/delivery/down] action nothing (skipped due to action :nothing)
* directory[/opt/delivery/sv/delivery] action create (up to date)
* template[/opt/delivery/sv/delivery/run] action create (up to date)
* directory[/opt/delivery/sv/delivery/log] action create (up to date)
* directory[/opt/delivery/sv/delivery/log/main] action create (up to date)
* directory[/var/log/delivery] action create (up to date)
* template[/opt/delivery/sv/delivery/log/config] action create (up to date)
* link[/var/log/delivery/config] action create (up to date)
* template[/opt/delivery/sv/delivery/log/run] action create (up to date)
* directory[/opt/delivery/sv/delivery/env] action create (up to date)
* ruby_block[zap extra env files for delivery service] action run (skipped due to only_if)
* directory[/opt/delivery/sv/delivery/control] action create (up to date)
* template[/opt/delivery/sv/delivery/control/t] action create (up to date)
* link[/opt/delivery/init/delivery] action create (up to date)
* file[/opt/delivery/sv/delivery/down] action nothing (skipped due to action :nothing)
* directory[/opt/delivery/service] action create (up to date)
* link[/opt/delivery/service/delivery] action create
- create symlink at /opt/delivery/service/delivery to /opt/delivery/sv/delivery
* ruby_block[wait for delivery service socket] action run
- execute the ruby block wait for delivery service socket
* execute[/opt/delivery/bin/delivery-ctl start delivery] action run
- execute /opt/delivery/bin/delivery-ctl start delivery
* execute[chown -R delivery /opt/delivery/sv/delivery/supervise] action run
- execute chown -R delivery /opt/delivery/sv/delivery/supervise
Recipe: delivery::bootstrap
* file[/opt/delivery/bootstrapped] action create
- create new file /opt/delivery/bootstrapped
- update content in file /opt/delivery/bootstrapped from none to 4ae00c
--- /opt/delivery/bootstrapped 2015-12-03 00:14:58.653979000 +0000
+++ /opt/delivery/.bootstrapped20151203-5313-ytyvms 2015-12-03 00:14:58.653979000 +0000
@@ -1 +1,2 @@
+All your bootstraps are belong to Chef
- change mode from '' to '0600'
- change owner from '' to 'root'
- change group from '' to 'root'
Recipe: delivery::omnibus
* file[/etc/delivery/delivery-running.json] action create
- create new file /etc/delivery/delivery-running.json
- update content in file /etc/delivery/delivery-running.json from none to 77ed04
--- /etc/delivery/delivery-running.json 2015-12-03 00:14:58.661979000 +0000
+++ /etc/delivery/.delivery-running.json20151203-5313-9miyaw 2015-12-03 00:14:58.661979000 +0000
@@ -1 +1,219 @@
+{
+ "delivery": {
+ "install_path": "/opt/delivery",
+ "cookbook_path": "/opt/delivery/embedded/cookbooks",
+ "dir": "/opt/delivery",
+ "bootstrap": {
+ "enable": true
+ },
+ "chef_base_path": "/opt/opscode",
+ "user": {
+ "username": "delivery",
+ "shell": "/bin/bash",
+ "home": "/opt/delivery/embedded",
+ "comment": "CHEF Delivery"
+ },
+ "delivery": {
+ "enable": true,
+ "dir": "/var/opt/delivery/delivery",
+ "etc_dir": "/var/opt/delivery/delivery/etc",
+ "chef_config": "/var/opt/delivery/delivery/etc/erlang.cfg",
+ "log_directory": "/var/log/delivery/delivery",
+ "log_rotation": {
+ "file_maxbytes": 10240000,
+ "num_to_keep": 10
+ },
+ "vip": "10.194.15.215",
+ "listen": "127.0.0.1",
+ "port": 9611,
+ "ssl_certificates": {
+
+ },
+ "api_port": 9611,
+ "db_pool_max_count": 100,
+ "db_pool_init_count": 20,
+ "chef_username": "delivery",
+ "chef_private_key": "/etc/delivery/delivery.pem",
+ "chef_server": "https://10.194.10.219/organizations/aws",
+ "default_search": "((recipes:delivery_build OR recipes:delivery_build\\\\:\\\\:default) AND chef_environment:_default)",
+ "chef_server_webui": "https://localhost",
+ "db_name": "delivery",
+ "sql_user": "delivery",
+ "sql_password": "dda89911941721b42c6383bab3c45772fed1520079b2d21a5af57b6f0267efadf4ddf7df0420205fd55730a5e3ac3a09ab80",
+ "sql_ro_user": "delivery_ro",
+ "sql_ro_password": "420158048f41064a9aa4217c9d366ec79e45afc1b78a2c75c52bbb5201380ca2ec9efbb6be8c392bf81a6ed3eedbecf7bf10",
+ "backup_path": "/var/opt/delivery/backups",
+ "max_backups": 7,
+ "backup_cron_job": false,
+ "restore_backup": false,
+ "cron_backup_times": "0 0 * * *",
+ "git_repo_template": "/opt/delivery/embedded/etc/deliv_git_repo_template",
+ "git_repos": "/var/opt/delivery/delivery/git_repos",
+ "git_working_tree_dir": "/var/opt/delivery/delivery/git_workspace",
+ "push_jobs_max_retries": 3,
+ "push_jobs_overall_timeout": "2h",
+ "push_jobs_run_timeout": "75m",
+ "is_dev_box": false,
+ "audit_max_events": 100,
+ "read_ttl": "7d",
+ "write_ttl": "7d",
+ "ldap_hosts": [
+
+ ],
+ "ldap_port": 3269,
+ "ldap_timeout": 5000,
+ "ldap_base_dn": "OU=Employees,OU=Domain users,DC=examplecorp,DC=com",
+ "ldap_bind_dn": "ldapbind",
+ "ldap_bind_dn_password": "secret123",
+ "ldap_encryption": "start_tls",
+ "ldap_attr_login": "sAMAccountName",
+ "ldap_attr_mail": "mail",
+ "ldap_attr_full_name": "fullName",
+ "use_ssl_termination": false
+ },
+ "delivery_web": {
+ "etc_dir": "/var/opt/delivery/delivery_web/etc",
+ "external_auth": false,
+ "password_recovery_url": "http://google.com",
+ "build_version": "0.3.450",
+ "api_version": "v0",
+ "embedly_api_key": "e0435c6ccfd74dfaacf7dfc987c9a7fa",
+ "root": "/opt/delivery/embedded/service/delivery_web"
+ },
+ "postgresql": {
+ "version": "9.2",
+ "enable": true,
+ "ha": false,
+ "dir": "/var/opt/delivery/postgresql/9.2",
+ "data_dir": "/var/opt/delivery/postgresql/9.2/data",
+ "log_directory": "/var/log/delivery/postgresql/9.2",
+ "log_rotation": {
+ "file_maxbytes": 104857600,
+ "num_to_keep": 10
+ },
+ "username": "chef-pgsql",
+ "sql_user": "chef",
+ "shell": "/bin/bash",
+ "home": "/var/opt/delivery/postgresql",
+ "user_path": "/opt/delivery/embedded/bin:/opt/delivery/bin:$PATH",
+ "sql_password": "snakepliskin",
+ "sql_ro_user": "chef_ro",
+ "sql_ro_password": "shmunzeltazzen",
+ "vip": "127.0.0.1",
+ "port": 5432,
+ "listen_address": "localhost",
+ "max_connections": 350,
+ "md5_auth_cidr_addresses": [
+
+ ],
+ "trust_auth_cidr_addresses": [
+ "127.0.0.1/32",
+ "::1/128"
+ ],
+ "shmmax": 17179869184,
+ "shmall": 4194304,
+ "shared_buffers": "1869MB",
+ "work_mem": "8MB",
+ "effective_cache_size": "128MB",
+ "checkpoint_segments": 3,
+ "checkpoint_timeout": "5min",
+ "checkpoint_completion_target": 0.5,
+ "checkpoint_warning": "30s",
+ "debug": false
+ },
+ "ssh_git": {
+ "hostname": "10.194.15.215",
+ "port": 8989,
+ "keys_dir": "/var/opt/delivery/delivery/etc/ssh_git_server_keys"
+ },
+ "lb": {
+ "debug": false
+ },
+ "nginx": {
+ "enable": true,
+ "ha": false,
+ "dir": "/var/opt/delivery/nginx",
+ "fqdns": [
+ "10.194.15.215"
+ ],
+ "log_directory": "/var/log/delivery/nginx",
+ "log_rotation": {
+ "file_maxbytes": 104857600,
+ "num_to_keep": 10
+ },
+ "ssl_port": 443,
+ "enable_non_ssl": false,
+ "non_ssl_port": 80,
+ "ssl_protocols": "SSLv3 TLSv1",
+ "ssl_ciphers": "RC4-SHA:RC4-MD5:RC4:RSA:HIGH:MEDIUM:!LOW:!kEDH:!aNULL:!ADH:!eNULL:!EXP:!SSLv2:!SEED:!CAMELLIA:!PSK",
+ "ssl_certificate": null,
+ "ssl_certificate_key": null,
+ "ssl_country_name": "US",
+ "ssl_state_name": "WA",
+ "ssl_locality_name": "Seattle",
+ "ssl_company_name": "Chef",
+ "ssl_organizational_unit_name": "Engineering",
+ "ssl_email_address": "delivery@getchef.com",
+ "worker_processes": 4,
+ "worker_connections": 10240,
+ "sendfile": "on",
+ "tcp_nopush": "on",
+ "tcp_nodelay": "on",
+ "gzip": "on",
+ "gzip_http_version": "1.0",
+ "gzip_comp_level": "2",
+ "gzip_proxied": "any",
+ "gzip_types": [
+ "text/plain",
+ "text/css",
+ "application/x-javascript",
+ "text/xml",
+ "application/javascript",
+ "application/xml",
+ "application/xml+rss",
+ "text/javascript",
+ "application/json"
+ ],
+ "keepalive_timeout": 65,
+ "client_max_body_size": "250m",
+ "cache_max_size": "5000m",
+ "server_name": "10.194.15.215"
+ },
+ "admin": {
+ "account_name": "admin",
+ "full_name": "Chef Delivery Administrator",
+ "email": "admin@example.com",
+ "password": "snakes"
+ },
+ "git": {
+ "username": "git",
+ "home": "/var/opt/delivery/home/git",
+ "ssh_dir": "/var/opt/delivery/home/git/.ssh",
+ "authkeys": "/var/opt/delivery/home/git/.ssh/authorized_keys",
+ "shell": "/opt/delivery/embedded/bin/git-shell"
+ },
+ "deliv_notify": {
+ "config": [
+
+ ]
+ },
+ "fqdn": "10.194.15.215"
+ },
+ "run_list": [
+ "recipe[delivery]"
+]
+,
+ "runit": {
+ "sv_bin": "/opt/delivery/embedded/bin/sv",
+ "chpst_bin": "/opt/delivery/embedded/bin/chpst",
+ "service_dir": "/opt/delivery/service",
+ "sv_dir": "/opt/delivery/sv",
+ "lsb_init_dir": "/opt/delivery/init",
+ "executable": "/sbin/runit",
+ "start": "start runsvdir",
+ "stop": "stop runsvdir",
+ "reload": "reload runsvdir",
+ "svlogd_bin": "/opt/delivery/embedded/bin/svlogd"
+ }
+}
- change mode from '' to '0600'
- change owner from '' to 'delivery'
- change group from '' to 'root'
Recipe: delivery::backup_cronjob
* template[/etc/cron.d/delivery_backup] action delete (up to date)
Recipe: delivery::postgresql
* execute[restart_postgresql_log_service] action run
- execute /opt/delivery/embedded/bin/sv restart /opt/delivery/sv/postgresql/log
Recipe: <Dynamically Defined Resource>
* service[nginx] action restart
- restart service service[nginx]
Recipe: delivery::nginx
* execute[restart_nginx_log_service] action run
- execute /opt/delivery/embedded/bin/sv restart /opt/delivery/sv/nginx/log
Recipe: <Dynamically Defined Resource>
* service[delivery] action restart
- restart service service[delivery]
Recipe: delivery::delivery
* execute[restart_delivery_log_service] action run
- execute /opt/delivery/embedded/bin/sv restart /opt/delivery/sv/delivery/log
Running handlers:
Running handlers complete
Deprecated features used!
sysvinit_id nil currently does not overwrite the value of sysvinit_id. This will change in Chef 13, and the value will be set to nil instead. Please change your code to explicitly accept nil using "property :sysvinit_id, [MyType, nil]", or stop setting this value to nil. at 1 location:
- /opt/delivery/embedded/cookbooks/cache/cookbooks/enterprise/recipes/runit.rb:31:in `block in from_file'
Chef Client finished, 136/201 resources updated in 23 seconds
delivery Reconfigured!
root@ip-10-194-15-215:/opt/delivery/embedded/cookbooks/enterprise# cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.1 LTS"
root@ip-10-194-15-215:/opt/delivery/embedded/cookbooks/enterprise#
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment