ajout des permissions et création du flux automatiquement
This commit is contained in:
parent
be790488c6
commit
b93a7c361c
|
|
@ -41,8 +41,8 @@ admin_role_uuid=$(echo $(mariadb -u directus -p${DB_DIRECTUS_PASSWORD} \
|
||||||
-e "SELECT id FROM directus.directus_roles WHERE name='Administrator'") | awk '{print $2}')
|
-e "SELECT id FROM directus.directus_roles WHERE name='Administrator'") | awk '{print $2}')
|
||||||
website_role_uuid=$(echo $(mariadb -u directus -p${DB_DIRECTUS_PASSWORD} \
|
website_role_uuid=$(echo $(mariadb -u directus -p${DB_DIRECTUS_PASSWORD} \
|
||||||
-e "SELECT id FROM directus.directus_roles WHERE name='Website'") | awk '{print $2}')
|
-e "SELECT id FROM directus.directus_roles WHERE name='Website'") | awk '{print $2}')
|
||||||
# user_role_uuid=$(echo $(mariadb -u directus -p${DB_DIRECTUS_PASSWORD} \
|
user_role_uuid=$(echo $(mariadb -u directus -p${DB_DIRECTUS_PASSWORD} \
|
||||||
# -e "SELECT id FROM directus.directus_roles WHERE name='User'") | awk '{print $2}')
|
-e "SELECT id FROM directus.directus_roles WHERE name='User'") | awk '{print $2}')
|
||||||
|
|
||||||
website_password=$(head -c 16 /dev/urandom | od -An -tx1 | tr -d ' \n')
|
website_password=$(head -c 16 /dev/urandom | od -An -tx1 | tr -d ' \n')
|
||||||
|
|
||||||
|
|
@ -52,8 +52,21 @@ npx directus users create --email \"${directus_admin_email}\" \
|
||||||
npx directus users create --email \"website@${DOMAIN_NAME}\" --password \"${website_password}\" --role \"${website_role_uuid}\"" www-data
|
npx directus users create --email \"website@${DOMAIN_NAME}\" --password \"${website_password}\" --role \"${website_role_uuid}\"" www-data
|
||||||
|
|
||||||
WEBSITE_TOKEN=$(head -c 16 /dev/urandom | od -An -tx1 | tr -d ' \n')
|
WEBSITE_TOKEN=$(head -c 16 /dev/urandom | od -An -tx1 | tr -d ' \n')
|
||||||
mariadb -u directus -p${DB_DIRECTUS_PASSWORD} -e "UPDATE directus.directus_roles SET icon='robot' WHERE name='Website'";
|
mariadb -u directus -p${DB_DIRECTUS_PASSWORD} -e \
|
||||||
mariadb -u directus -p${DB_DIRECTUS_PASSWORD} -e "UPDATE directus.directus_roles SET app_access='0' WHERE name='Website'";
|
"UPDATE directus.directus_roles SET icon='robot' WHERE name='Website'"
|
||||||
mariadb -u directus -p${DB_DIRECTUS_PASSWORD} -e "UPDATE directus.directus_users SET token=\"${WEBSITE_TOKEN}\" WHERE email=\"website@${DOMAIN_NAME}\"";
|
mariadb -u directus -p${DB_DIRECTUS_PASSWORD} -e \
|
||||||
|
"UPDATE directus.directus_roles SET app_access='0' WHERE name='Website'"
|
||||||
|
mariadb -u directus -p${DB_DIRECTUS_PASSWORD} -e \
|
||||||
|
"UPDATE directus.directus_users SET token=\"${WEBSITE_TOKEN}\" WHERE email=\"website@${DOMAIN_NAME}\""
|
||||||
|
|
||||||
mariadb -u directus -p${DB_DIRECTUS_PASSWORD} directus -e "INSERT INTO directus_permissions (role, collection, action, permissions, validation, fields) VALUES (\"${website_role_uuid}\", 'directus_files', 'read', '{}', '{}', '*')";
|
mariadb -u directus -p${DB_DIRECTUS_PASSWORD} directus -e \
|
||||||
|
"INSERT INTO directus_permissions (role, collection, action, permissions, validation, fields) \
|
||||||
|
VALUES (\"${website_role_uuid}\", 'directus_files', 'read', '{}', '{}', '*')"
|
||||||
|
|
||||||
|
mariadb -u directus -p${DB_DIRECTUS_PASSWORD} directus -e \
|
||||||
|
"INSERT INTO directus_permissions (role, collection, action, permissions, validation, fields) \
|
||||||
|
VALUES (\"${user_role_uuid}\", 'directus_files', 'read', '{}', '{}', '*')"
|
||||||
|
|
||||||
|
mariadb -u directus -p${DB_DIRECTUS_PASSWORD} directus -e \
|
||||||
|
"INSERT INTO directus_permissions (role, collection, action, permissions, validation, fields) \
|
||||||
|
VALUES (\"${user_role_uuid}\", 'directus_folders', 'read', '{}', '{}', '*')"
|
||||||
|
|
@ -8,6 +8,8 @@ echo -e "${BLUE}${BOLD}Authorization Header ${RESET}${ORANGE}Generate a safe str
|
||||||
echo -e "${PURPLE}${BOLD}Enter the Authorization Header${RESET}"
|
echo -e "${PURPLE}${BOLD}Enter the Authorization Header${RESET}"
|
||||||
read -s auth_header
|
read -s auth_header
|
||||||
|
|
||||||
|
# check if the build flow already exists and get the auth header from there if so
|
||||||
|
|
||||||
install_pkg php
|
install_pkg php
|
||||||
install_pkg php-fpm
|
install_pkg php-fpm
|
||||||
install_pkg jq
|
install_pkg jq
|
||||||
|
|
@ -37,4 +39,32 @@ echo "file_server" >> $CADDYFILE
|
||||||
echo "}" >> $CADDYFILE
|
echo "}" >> $CADDYFILE
|
||||||
echo "}" >> $CADDYFILE
|
echo "}" >> $CADDYFILE
|
||||||
caddy fmt $CADDYFILE -w
|
caddy fmt $CADDYFILE -w
|
||||||
caddy reload -c $CADDYFILE
|
caddy reload -c $CADDYFILE
|
||||||
|
|
||||||
|
if [[ -z "$DB_DIRECTUS_PASSWORD" ]]; then
|
||||||
|
echo -e "${PURPLE}${BOLD}Enter the MariaDB Directus password : ${RESET}"
|
||||||
|
read -s DB_DIRECTUS_PASSWORD
|
||||||
|
echo
|
||||||
|
fi
|
||||||
|
|
||||||
|
FLOW_EXISTS=$(echo $(mariadb -u directus -p${DB_DIRECTUS_PASSWORD} directus -e "SELECT COUNT(*) FROM directus_flows WHERE name='build';") | awk '{print $2}')
|
||||||
|
|
||||||
|
website_role_uuid=$(echo $(mariadb -u directus -p${DB_DIRECTUS_PASSWORD} \
|
||||||
|
-e "SELECT id FROM directus.directus_roles WHERE name='Website'") | awk '{print $2}')
|
||||||
|
|
||||||
|
if [ $FLOW_EXISTS -eq 0 ]; then
|
||||||
|
flow_id="fdd75914-80dd-44ac-9d62-c7a08bc9cae6"
|
||||||
|
operation_id="371b1b41-312d-4df6-ab68-336b416e1f16"
|
||||||
|
|
||||||
|
mariadb -u directus -p${DB_DIRECTUS_PASSWORD} directus -e \
|
||||||
|
"INSERT INTO directus_flows (id, name, icon, color, description, status, \`trigger\`, accountability, options, operation, user_created) \
|
||||||
|
VALUES (${flow_id}, 'Build', 'bolt', '#FFA439', 'Trigger static site build on content modification', 'active', 'event', 'all', \
|
||||||
|
'{\"type\":\"action\",\"scope\":[\"items.create\",\"items.update\",\"items.sort\",\"items.delete\",\"items.promote\"],\"collections\":[\"directus_files\"]}', \
|
||||||
|
${operation_id}, ${website_role_uuid})"
|
||||||
|
|
||||||
|
mariadb -u directus -p${DB_DIRECTUS_PASSWORD} directus -e \
|
||||||
|
"INSERT INTO directus_operations (id, name, \`key\`, type, position_x, position_y, options, flow, user_created) \
|
||||||
|
VALUES (${operation_id}, 'Webhook / Request URL', 'request_56aby', 'request', 23, 2, \
|
||||||
|
'{\"headers\":[{\"header\":\"Authorization\",\"value\":\"${auth_header}\"},{\"header\":\"Content-Type\",\"value\":\"application/json\"}],\"method\":\"POST\",\"url\":\"https://${DOMAIN_NAME}/webhook.php\",\"body\":null}', \
|
||||||
|
${flow_id}, ${website_role_uuid})"
|
||||||
|
fi
|
||||||
Loading…
Reference in New Issue