Ajout: etc/sv/odoo8_burette
authorLudovic CHEVALIER <ludovic.chevalier@heureux-cyclage.org>
Wed, 14 Nov 2018 09:31:55 +0000 (10:31 +0100)
committerLudovic CHEVALIER <ludovic.chevalier@heureux-cyclage.org>
Wed, 14 Nov 2018 10:28:16 +0000 (11:28 +0100)
etc/postgresql/9.4/main/pg_hba.conf
etc/ssh/known_hosts
etc/sv/odoo8_burette/local.sh [new file with mode: 0644]
etc/sv/odoo8_burette/log/local.sh [new file with mode: 0644]
etc/sv/odoo8_burette/log/run [new file with mode: 0755]
etc/sv/odoo8_burette/run [new file with mode: 0755]

index 7618b28..2737561 100644 (file)
@@ -1,6 +1,7 @@
 # CONNECTION  DATABASE                          USER                     AUTH      OPTIONS
 local         all                               postgres                 peer      map=admin
 local         all                               backup                   peer
+local         odoo8_burette_heureuxcyclage      odoo8_burette            peer
 local         openerp7_burette_atelieretincelle openerp7_burette         peer
 local         openerp7_burette_autourducycle    openerp7_burette         peer
 local         openerp7_burette_bretzselle       openerp7_burette         peer
@@ -8,14 +9,14 @@ local         openerp7_burette_changedechaine   openerp7_burette         peer
 local         openerp7_burette_choisir          openerp7_burette         peer
 local         openerp7_burette_convibicy        openerp7_burette         peer
 local         openerp7_burette_cyclamaine       openerp7_burette         peer
-local         openerp7_burette_cyclesetmanivelles openerp7_burette         peer
+local         openerp7_burette_cyclesetmanivelles openerp7_burette       peer
 local         openerp7_burette_cyclo_ivry       openerp7_burette         peer
 local         openerp7_burette_cyclo_pantin     openerp7_burette         peer
 local         openerp7_burette_cyclo_paris_est  openerp7_burette         peer
-local         openerp7_burette_cyclofficine_angouleme openerp7_burette         peer
+local         openerp7_burette_cyclofficine_angouleme openerp7_burette   peer
 local         openerp7_burette_dynamo           openerp7_burette         peer
-local         openerp7_burette_etudesetchantiersidf openerp7_burette         peer
-local         openerp7_burette_etudesetchantiersidf_test openerp7_burette         peer
+local         openerp7_burette_etudesetchantiersidf openerp7_burette     peer
+local         openerp7_burette_etudesetchantiersidf_test openerp7_burette    peer
 local         openerp7_burette_eturecup         openerp7_burette         peer
 local         openerp7_burette_heureuxcyclage   openerp7_burette         peer
 local         openerp7_burette_labecaneajules   openerp7_burette         peer
@@ -35,15 +36,16 @@ local         openerp7_burette_repeyre          openerp7_burette         peer
 local         openerp7_burette_rouepet          openerp7_burette         peer
 local         openerp7_burette_tousdeuxroues    openerp7_burette         peer
 local         openerp7_burette_txirrindola      openerp7_burette         peer
-local         openerp7_burette_velocampus_nantes openerp7_burette         peer
+local         openerp7_burette_velocampus_nantes openerp7_burette        peer
 local         openerp7_burette_velorution_idf   openerp7_burette         peer
-local         openerp7_burette_velorution_toulouse openerp7_burette         peer
+local         openerp7_burette_velorution_toulouse openerp7_burette      peer
 local         openerp7_burette_velosenville     openerp7_burette         peer
 local         openerp7_burette_vieuxbiclou      openerp7_burette         peer
 local         php_nuage_atelierdynamo           php_nuages               peer
 local         php_nuage_heureuxcyclage          php_nuages               peer
 local         php_nuage_ptitvelo                php_nuages               peer
 local         php_nuage_velosenville            php_nuages               peer
+local         postgres                          odoo8_burette            peer
 local         postgres                          openerp7_burette         peer
 local         postgres                          openerp_lhc_demo         peer
 local         postgres                          openerp_ptitvelo         peer
index ff3a9a5..ed7df06 100644 (file)
@@ -3,3 +3,4 @@ init.ateliers.heureux-cyclage.org ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAwCTomO9Dk
 ateliers.heureux-cyclage.org ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCs2PjhfXSTUryiFfbzB3Qc5lF2bvMR56tzDTmrKGtBFXifzQuAltftPAgKTFeuFohOl1jXD3KzeZS6EAk8iZ7hUzBCbPGx5nrIizw9Kak8Jvy477uHzRNuCSbdgxzpwRr8nOKkohwARxFgkRQxM08rKBZyuSYU8N+Z9OSEwMQqv+uU+/NUHWZC0JVfWwfBunwc9mQBmxzt5Y+zhKk3qzEu2Iqu4ilr8FolAwGkWp60ruffrQrnJYFpIwFGsE+k/WAd4RgGyASclCPA5upVLKiSnwx5vnyXggYX0mXNrch3Uak99rrOVH/0YpGUy1dJY91UT+BESWyvMFDbK8fQWTR39kCnESS02F8/FnVTB9tP1XRPBWWUMtavOQIL0BxsgmvbM8rJEHImiRfLCwH/6oXP5JkPQnKQZlu++WPjWxuMraPNwvFsrqBdfPuYY97L4cXiI4loea5/eEBhEyz5RVBSHXoy3BUceSsXloGH1/2iC50k5IpZJIRthYi+OJ9ZjDBLk0YioVsf4TjADythqLu2zOT+ota63trJ/AMEV2tGX1mPGiFJgJ69cHN5CIsSDJH6VcbswPWxGa3n9r/b1Wnzadp4wiNFODoe5a20qbvLg3jrOJldxowKhNHExZpgPXuEKA/gSBKnyvhnZBerFwAGBKqaQOmfDMlknQtzg1fGyQ==
 91.216.110.42 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCs2PjhfXSTUryiFfbzB3Qc5lF2bvMR56tzDTmrKGtBFXifzQuAltftPAgKTFeuFohOl1jXD3KzeZS6EAk8iZ7hUzBCbPGx5nrIizw9Kak8Jvy477uHzRNuCSbdgxzpwRr8nOKkohwARxFgkRQxM08rKBZyuSYU8N+Z9OSEwMQqv+uU+/NUHWZC0JVfWwfBunwc9mQBmxzt5Y+zhKk3qzEu2Iqu4ilr8FolAwGkWp60ruffrQrnJYFpIwFGsE+k/WAd4RgGyASclCPA5upVLKiSnwx5vnyXggYX0mXNrch3Uak99rrOVH/0YpGUy1dJY91UT+BESWyvMFDbK8fQWTR39kCnESS02F8/FnVTB9tP1XRPBWWUMtavOQIL0BxsgmvbM8rJEHImiRfLCwH/6oXP5JkPQnKQZlu++WPjWxuMraPNwvFsrqBdfPuYY97L4cXiI4loea5/eEBhEyz5RVBSHXoy3BUceSsXloGH1/2iC50k5IpZJIRthYi+OJ9ZjDBLk0YioVsf4TjADythqLu2zOT+ota63trJ/AMEV2tGX1mPGiFJgJ69cHN5CIsSDJH6VcbswPWxGa3n9r/b1Wnzadp4wiNFODoe5a20qbvLg3jrOJldxowKhNHExZpgPXuEKA/gSBKnyvhnZBerFwAGBKqaQOmfDMlknQtzg1fGyQ==
 10.0.42.1 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCs2PjhfXSTUryiFfbzB3Qc5lF2bvMR56tzDTmrKGtBFXifzQuAltftPAgKTFeuFohOl1jXD3KzeZS6EAk8iZ7hUzBCbPGx5nrIizw9Kak8Jvy477uHzRNuCSbdgxzpwRr8nOKkohwARxFgkRQxM08rKBZyuSYU8N+Z9OSEwMQqv+uU+/NUHWZC0JVfWwfBunwc9mQBmxzt5Y+zhKk3qzEu2Iqu4ilr8FolAwGkWp60ruffrQrnJYFpIwFGsE+k/WAd4RgGyASclCPA5upVLKiSnwx5vnyXggYX0mXNrch3Uak99rrOVH/0YpGUy1dJY91UT+BESWyvMFDbK8fQWTR39kCnESS02F8/FnVTB9tP1XRPBWWUMtavOQIL0BxsgmvbM8rJEHImiRfLCwH/6oXP5JkPQnKQZlu++WPjWxuMraPNwvFsrqBdfPuYY97L4cXiI4loea5/eEBhEyz5RVBSHXoy3BUceSsXloGH1/2iC50k5IpZJIRthYi+OJ9ZjDBLk0YioVsf4TjADythqLu2zOT+ota63trJ/AMEV2tGX1mPGiFJgJ69cHN5CIsSDJH6VcbswPWxGa3n9r/b1Wnzadp4wiNFODoe5a20qbvLg3jrOJldxowKhNHExZpgPXuEKA/gSBKnyvhnZBerFwAGBKqaQOmfDMlknQtzg1fGyQ==
+64:ff9b::5bd8:6e2a ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCs2PjhfXSTUryiFfbzB3Qc5lF2bvMR56tzDTmrKGtBFXifzQuAltftPAgKTFeuFohOl1jXD3KzeZS6EAk8iZ7hUzBCbPGx5nrIizw9Kak8Jvy477uHzRNuCSbdgxzpwRr8nOKkohwARxFgkRQxM08rKBZyuSYU8N+Z9OSEwMQqv+uU+/NUHWZC0JVfWwfBunwc9mQBmxzt5Y+zhKk3qzEu2Iqu4ilr8FolAwGkWp60ruffrQrnJYFpIwFGsE+k/WAd4RgGyASclCPA5upVLKiSnwx5vnyXggYX0mXNrch3Uak99rrOVH/0YpGUy1dJY91UT+BESWyvMFDbK8fQWTR39kCnESS02F8/FnVTB9tP1XRPBWWUMtavOQIL0BxsgmvbM8rJEHImiRfLCwH/6oXP5JkPQnKQZlu++WPjWxuMraPNwvFsrqBdfPuYY97L4cXiI4loea5/eEBhEyz5RVBSHXoy3BUceSsXloGH1/2iC50k5IpZJIRthYi+OJ9ZjDBLk0YioVsf4TjADythqLu2zOT+ota63trJ/AMEV2tGX1mPGiFJgJ69cHN5CIsSDJH6VcbswPWxGa3n9r/b1Wnzadp4wiNFODoe5a20qbvLg3jrOJldxowKhNHExZpgPXuEKA/gSBKnyvhnZBerFwAGBKqaQOmfDMlknQtzg1fGyQ==
diff --git a/etc/sv/odoo8_burette/local.sh b/etc/sv/odoo8_burette/local.sh
new file mode 100644 (file)
index 0000000..ad849ed
--- /dev/null
@@ -0,0 +1,105 @@
+home=/home/"$sv"
+version=8.0
+
+while ! sudo -u postgres psql </dev/null
+do sleep 1; done
+"$tool"/local/postgresql-user-create     "$sv"
+for db in \
+       heureuxcyclage
+ do
+       "$tool"/local/postgresql-database-create "${sv}_$db" "$sv"
+sudo -u postgres psql -AqtX "${sv}_$db" <<-EOF
+       \set ON_ERROR_STOP on
+       GRANT USAGE  ON SCHEMA pg_catalog               TO $sv;
+       GRANT SELECT ON TABLE  pg_catalog.pg_attribute  TO $sv;
+       GRANT SELECT ON TABLE  pg_catalog.pg_class      TO $sv;
+       GRANT SELECT ON TABLE  pg_catalog.pg_constraint TO $sv;
+       GRANT SELECT ON TABLE  pg_catalog.pg_indexes    TO $sv;
+       GRANT SELECT ON TABLE  pg_catalog.pg_proc       TO $sv;
+       GRANT SELECT ON TABLE  pg_catalog.pg_type       TO $sv;
+       EOF
+ done
+
+"$tool"/local/adduser "$sv" \
+ --disabled-login \
+ --disabled-password \
+ --group \
+ --home "$home" \
+ --shell /bin/false \
+ --system
+"$tool"/local/adduser "$sv"-addon \
+ --disabled-login \
+ --disabled-password \
+ --group \
+ --home "$home"/addon.d \
+ --shell /bin/false \
+ --system
+
+sudo install -d -m 1777 -o root -g root \
+ /etc/odoo
+sudo install -d -m 3771 -o "$sv" -g "$sv" \
+ "$home"
+sudo -u "$sv" wget -c http://nightly.odoo.com/8.0/nightly/src/odoo_8.0.20171001.tar.gz -O /tmp/odoo8_burette.tar.gz
+sudo -u "$sv" tar -xf /tmp/odoo8_burette.tar.gz -C "$home"
+
+"$tool"/local/apt-get-install python-decorator python-pypdf python-passlib --force-yes
+
+sudo install -d -m 750 -o "$sv" -g "$sv" \
+ "$home"/var/ \
+ "$home"/var/filestore
+
+sudo install -d -m 2770 -o "$sv" -g "$sv"-addon \
+ "$home"/addon.d
+sudo install -d -m 750 -o "$sv" -g "$sv" \
+ "$home"/etc \
+ /etc/odoo/"${sv#odoo_}"
+sudo ln -fns \
+ /etc/odoo/"${sv#odoo_}" \
+ "$home"/etc/odoo
+
+sudo adduser git   "$sv"-addon
+sudo adduser "$sv" "$sv"-addon
+sudo adduser "$sv" postgres-data
+
+for addon in \
+       lhc
+ do
+       sudo install -d -m 2771 -o "$sv" -g "$sv"-addon \
+        "$home"/addon.d/"$addon"
+       sudo ln -s "$home"/addon.d/"$addon" "$home"/addon.d/lhc_custom_oe
+       sudo -u git git \
+        --git-dir ~git-data/burette/"$addon".git \
+        --work-tree="$home"/addon.d/"$addon" \
+        checkout -f $version
+       sudo -u git git \
+        --git-dir ~git-data/burette/"$addon".git \
+        --work-tree="$home"/addon.d/"$addon" \
+        clean -d -f -f -x
+       sudo chmod a-x \
+        /home/git/pub/burette/"$addon".git/hooks/post-update.sample
+       sudo install -m 550 -o git -g git /dev/stdin \
+        /home/git/pub/burette/"$addon".git/hooks/post-update <<-EOF
+               #!/bin/sh -efux
+               find . -type f -perm /+x -name 'post-update.*' |
+               while IFS= read -r hook
+                do "\$hook" "\$@"
+                done
+               EOF
+       sudo install -m 550 -o git -g git /dev/stdin \
+        /home/git/pub/burette/"$addon".git/hooks/post-update."$sv" <<-EOF
+               #!/bin/sh -efux
+               case \$1 in
+                (refs/heads/$version)
+                       git \\
+                        --git-dir ~git-data/burette/"$addon".git \\
+                        --work-tree="$home"/addon.d/"$addon" \\
+                        checkout -f $version
+                       git \\
+                        --git-dir ~git-data/burette/"$addon".git \\
+                        --work-tree="$home"/addon.d/"$addon" \\
+                        clean -d -f -f -x
+                       #sv restart "$sv"
+                       ;;
+                esac
+               EOF
+ done
diff --git a/etc/sv/odoo8_burette/log/local.sh b/etc/sv/odoo8_burette/log/local.sh
new file mode 100644 (file)
index 0000000..19c7125
--- /dev/null
@@ -0,0 +1,12 @@
+eval "home=~$sv/log"
+
+"$tool"/local/adduser log-"$sv"\
+ --disabled-login \
+ --disabled-password \
+ --group \
+ --home "$home" \
+ --shell /bin/false \
+ --system
+
+sudo install -d -m 770 -o log-"$sv" -g log-"$sv" \
+ "$home"
diff --git a/etc/sv/odoo8_burette/log/run b/etc/sv/odoo8_burette/log/run
new file mode 100755 (executable)
index 0000000..4382b39
--- /dev/null
@@ -0,0 +1,8 @@
+#!/bin/sh -eux
+sv=${PWD%/log}
+sv=${sv#/etc/sv/}
+eval home="~log-$sv"
+
+cd "$home"
+exec chpst -u log-"$sv":log-"$sv" \
+       svlogd -v -tt "$home"
diff --git a/etc/sv/odoo8_burette/run b/etc/sv/odoo8_burette/run
new file mode 100755 (executable)
index 0000000..448e055
--- /dev/null
@@ -0,0 +1,47 @@
+#!/bin/sh -eux
+exec 2>&1
+sv=${PWD#/etc/sv/}
+home=/home/"$sv"
+version=8.0
+cd /
+export LOGNAME="$sv"
+ # NOTE: odoo utilise /tmp/oe-sessions-$LOGNAME
+
+for db in \
+ heureuxcyclage
+ do
+       test -e /etc/odoo/"$version"/"${sv#odoo8_}"/"$db".ok ||
+       /usr/bin/chpst \
+        -u "$sv":"$sv":"$sv"-addon:postgres-data \
+        "$home"/odoo-8.0-20171001/odoo.py \
+        --addons-path="$home"/addon.d \
+        --config /etc/odoo/"$version"/"${sv#odoo8_}"/server.conf \
+        --database="${sv}_$db" \
+        --db_host=/run/postgresql \
+        --db_user="$sv" \
+        --init=base \
+        --load-language=fr_FR \
+        --no-xmlrpcs \
+        --osv-memory-age-limit=0.1 \
+        --proxy-mode \
+        --save \
+        --stop-after-init \
+        --timezone="$(cat /etc/timezone)" \
+        --without-demo=base \
+        --workers=0 \
+        --xmlrpc-interface=127.0.0.1 \
+        --xmlrpc-port=8089
+        #--no-database-list \
+        # NOTE: si --workers > 0
+        # --limit-memory-hard=$((300 * 1024 * 1024))
+        # --limit-memory-soft=$((150 * 1024 * 1024))
+       touch /etc/odoo/"$version"/"${sv#odoo8_}"/"$db".ok
+ done
+
+exec /usr/bin/chpst \
+ -u "$sv":"$sv":"$sv"-addon:postgres-data \
+ "$home"/odoo-8.0-20171001/odoo.py \
+ --config /etc/odoo/"$version"/"${sv#odoo8_}"/server.conf \
+ --load-language=fr_FR \
+ --db-filter="^${sv}_%f" \
+ "$@"