weekly-bot: Add hedgedoc email authentication
-
Review changes -
-
Download -
Patches
-
Plain diff
Related to swh/infra/sysadm-environment#5461
These modifications will update the weekly-bot scripts (planning and management) to use email authentication.
Anonymous access has been removed and these scripts didn't work anymore.
Oauth2 authentication via api is not yet implemented, it will be in Hedgedoc version2, see v2.0.0-alpha.3 Features.
An email user has been created and will be use in weekly-bot scripts.
octocatalog-diff
diff origin/production/pergamon.softwareheritage.org current/pergamon.softwareheritage.org
*******************************************
+ Concat_fragment[profile::cron::weekly-management-bot] =>
parameters =>
"content": "# Cron snippet weekly-management-bot\n30 13 * * thu nobody chron...
"order": "10",
"tag": "profile::cron::default",
"target": "profile::cron::default"
*******************************************
+ Concat_fragment[profile::cron::weekly-planning-bot] =>
parameters =>
"content": "# Cron snippet weekly-planning-bot\n42 13 * * fri nobody chronic...
"order": "10",
"tag": "profile::cron::default",
"target": "profile::cron::default"
*******************************************
File[/usr/local/bin/weekly-management-bot] =>
parameters =>
content =>
@@ -3,17 +3,37 @@
set -e
_
-DEST=swh-management@inria.fr
AUTHOR=swh-management@inria.fr
+COOKIE_FILE=/tmp/cookie.txt
+DATE=$(date +%G-W%V -d 'monday 12:00')
+DEST=swh-management@inria.fr
+PASSWORD="xxx"
TEMPLATE_ID="OGAEXlDiShGabI14j_3LeA"
URL="https://hedgedoc.softwareheritage.org"
-DATE=$(date +%G-W%V -d 'monday 12:00')
+USERNAME=swh-sysadmin@inria.fr
_
# Retrieve the template's content
-TEMPLATE=$(curl -s "${URL}/${TEMPLATE_ID}/download")
-TEMPLATE=$(echo "$TEMPLATE" | sed -e "s/\$DATE/$DATE/g" | sed -e "/^tags:/s/, template//")
+TEMPLATE=$(curl -s "${URL}/${TEMPLATE_ID}/download" | \
+ sed -e "s/\$DATE/$DATE/g" -e "/^tags:/s/, template//")
+
+# Login
+curl -X POST -s \
+ -c "$COOKIE_FILE" \
+ -d "email=$USERNAME" \
+ -d "password=$PASSWORD" \
+ "${URL}/login" > /dev/null
_
# Create a new page initialized with the template content
-RESP=$(curl -s -A POST -H "Content-Type: text/markdown" "${URL}/new" --data-binary "$TEMPLATE")
-LOCATION=$(echo "$RESP" | awk '{print $4}')
+LOCATION=$(curl -s -A POST \
+ -H "Content-Type: text/markdown" \
+ -b "$COOKIE_FILE" "${URL}/new" \
+ --data-binary "$TEMPLATE" | \
+ awk '{print $4}')
+
+# Logout
+curl -s \
+ -b "$COOKIE_FILE" \
+ -c "$COOKIE_FILE" \
+ "${URL}/logout" > /dev/null && \
+ rm "$COOKIE_FILE"
_
if [ -n "$LOCATION" ] ; then
*******************************************
File[/usr/local/bin/weekly-planning-bot] =>
parameters =>
content =>
@@ -3,17 +3,37 @@
set -e
_
-DEST=swh-team@inria.fr
AUTHOR=swh-team@inria.fr
+COOKIE_FILE=/tmp/cookie.txt
+DATE=$(date +%G-W%V -d 'monday 12:00')
+DEST=swh-team@inria.fr
+PASSWORD="hedgedoc-weekly-bot-password"
TEMPLATE_ID="6YKT5osoST-amJQ0MusH2Q"
URL="https://hedgedoc.softwareheritage.org"
-DATE=$(date +%G-W%V -d 'monday 12:00')
+USERNAME=swh-sysadmin@inria.fr
_
# Retrieve the template's content
-TEMPLATE=$(curl -s "${URL}/${TEMPLATE_ID}/download")
-TEMPLATE=$(echo "$TEMPLATE" | sed -e "s/\$DATE/$DATE/g" | sed -e "/^tags:/s/, template//")
+TEMPLATE=$(curl -s "${URL}/${TEMPLATE_ID}/download" | \
+ sed -e "s/\$DATE/$DATE/g" -e "/^tags:/s/, template//")
+
+# Login
+curl -X POST -s \
+ -c "$COOKIE_FILE" \
+ -d "email=$USERNAME" \
+ -d "password=$PASSWORD" \
+ "${URL}/login" > /dev/null
_
# Create a new page initialized with the template content
-RESP=$(curl -s -A POST -H "Content-Type: text/markdown" "${URL}/new" --data-binary "$TEMPLATE")
-LOCATION=$(echo "$RESP" | awk '{print $4}')
+LOCATION=$(curl -s -A POST \
+ -H "Content-Type: text/markdown" \
+ -b "$COOKIE_FILE" "${URL}/new" \
+ --data-binary "$TEMPLATE" | \
+ awk '{print $4}')
+
+# Logout
+curl -s \
+ -b "$COOKIE_FILE" \
+ -c "$COOKIE_FILE" \
+ "${URL}/logout" > /dev/null && \
+ rm "$COOKIE_FILE"
_
if [ -n "$LOCATION" ] ; then
*******************************************
+ Profile::Cron::D[weekly-management-bot] =>
parameters =>
"command": "chronic /usr/local/bin/weekly-management-bot",
"hour": 13,
"minute": 30,
"target": "default",
"unique_tag": "weekly-management-bot",
"user": "nobody",
"weekday": "thu"
*******************************************
+ Profile::Cron::D[weekly-planning-bot] =>
parameters =>
"command": "chronic /usr/local/bin/weekly-planning-bot",
"hour": 13,
"minute": 42,
"target": "default",
"unique_tag": "weekly-planning-bot",
"user": "nobody",
"weekday": "fri"
*******************************************
*** End octocatalog-diff on pergamon.softwareheritage.org
Merge request reports
Compare and
- latest version8472399a2 commits,
- version 128327cc552 commits,
- version 11e873fa6d4 commits,
- version 102cb3a75f4 commits,
- version 98e83a5353 commits,
- version 8112633493 commits,
- version 75bc561521 commit,
- version 608034ba41 commit,
- version 50bbb0f401 commit,
- version 453b5a1681 commit,
- version 3d1c2191a1 commit,
- version 2df06a7a21 commit,
- version 14155fec11 commit,
Compare changes
- Side-by-side
- Inline
Files
6Loading