Rolle | Wiki.js #1
5 changed files with 423 additions and 64 deletions
|
@ -27,5 +27,8 @@
|
||||||
"var_wiki_js_email_sending_sender_name": "Wiki.js",
|
"var_wiki_js_email_sending_sender_name": "Wiki.js",
|
||||||
"var_wiki_js_email_sending_sender_email_address": "wiki-js@example.org",
|
"var_wiki_js_email_sending_sender_email_address": "wiki-js@example.org",
|
||||||
"var_wiki_js_admin_email_address": "wiki-js-admin@example.org",
|
"var_wiki_js_admin_email_address": "wiki-js-admin@example.org",
|
||||||
"var_wiki_js_admin_password": "REPLACE_ME"
|
"var_wiki_js_admin_password": "REPLACE_ME",
|
||||||
|
"var_wiki_js_additional_locales": [],
|
||||||
|
"var_wiki_js_user_group_name": "Default",
|
||||||
|
"var_wiki_js_allow_guest_view": true
|
||||||
}
|
}
|
||||||
|
|
|
@ -67,50 +67,6 @@ wiki_js.cli.helpers.file = (wiki_js.cli.helpers.file || {});
|
||||||
}) (wiki_js.cli.helpers.file)
|
}) (wiki_js.cli.helpers.file)
|
||||||
|
|
||||||
|
|
||||||
var wiki_js;
|
|
||||||
wiki_js = (wiki_js || {});
|
|
||||||
wiki_js.cli = (wiki_js.cli || {});
|
|
||||||
wiki_js.cli.helpers = (wiki_js.cli.helpers || {});
|
|
||||||
wiki_js.cli.helpers.http = (wiki_js.cli.helpers.http || {});
|
|
||||||
(function (exports) {
|
|
||||||
|
|
||||||
/**
|
|
||||||
*/
|
|
||||||
async function call(
|
|
||||||
http_request
|
|
||||||
)
|
|
||||||
{
|
|
||||||
wiki_js.cli.helpers.log.write(
|
|
||||||
"debug",
|
|
||||||
"http_call_request",
|
|
||||||
http_request
|
|
||||||
);
|
|
||||||
const fetch_request = new Request(
|
|
||||||
http_request.target,
|
|
||||||
{
|
|
||||||
"method": http_request.method,
|
|
||||||
"headers": http_request.headers,
|
|
||||||
"body": http_request.body,
|
|
||||||
}
|
|
||||||
);
|
|
||||||
const fetch_response = await fetch(fetch_request);
|
|
||||||
const http_response = {
|
|
||||||
"status_code": fetch_response.status,
|
|
||||||
"headers": fetch_response.headers,
|
|
||||||
"body": await fetch_response.text(),
|
|
||||||
};
|
|
||||||
wiki_js.cli.helpers.log.write(
|
|
||||||
"debug",
|
|
||||||
"http_call_response",
|
|
||||||
http_response
|
|
||||||
);
|
|
||||||
return http_response;
|
|
||||||
}
|
|
||||||
exports.call = call;
|
|
||||||
|
|
||||||
}) (wiki_js.cli.helpers.http)
|
|
||||||
|
|
||||||
|
|
||||||
var wiki_js;
|
var wiki_js;
|
||||||
wiki_js = (wiki_js || {});
|
wiki_js = (wiki_js || {});
|
||||||
wiki_js.cli = (wiki_js.cli || {});
|
wiki_js.cli = (wiki_js.cli || {});
|
||||||
|
@ -174,6 +130,50 @@ wiki_js.cli.helpers.log = (wiki_js.cli.helpers.log || {});
|
||||||
}) (wiki_js.cli.helpers.log);
|
}) (wiki_js.cli.helpers.log);
|
||||||
|
|
||||||
|
|
||||||
|
var wiki_js;
|
||||||
|
wiki_js = (wiki_js || {});
|
||||||
|
wiki_js.cli = (wiki_js.cli || {});
|
||||||
|
wiki_js.cli.helpers = (wiki_js.cli.helpers || {});
|
||||||
|
wiki_js.cli.helpers.http = (wiki_js.cli.helpers.http || {});
|
||||||
|
(function (exports) {
|
||||||
|
|
||||||
|
/**
|
||||||
|
*/
|
||||||
|
async function call(
|
||||||
|
http_request
|
||||||
|
)
|
||||||
|
{
|
||||||
|
wiki_js.cli.helpers.log.write(
|
||||||
|
"debug",
|
||||||
|
"http_call_request",
|
||||||
|
http_request
|
||||||
|
);
|
||||||
|
const fetch_request = new Request(
|
||||||
|
http_request.target,
|
||||||
|
{
|
||||||
|
"method": http_request.method,
|
||||||
|
"headers": http_request.headers,
|
||||||
|
"body": http_request.body,
|
||||||
|
}
|
||||||
|
);
|
||||||
|
const fetch_response = await fetch(fetch_request);
|
||||||
|
const http_response = {
|
||||||
|
"status_code": fetch_response.status,
|
||||||
|
"headers": fetch_response.headers,
|
||||||
|
"body": await fetch_response.text(),
|
||||||
|
};
|
||||||
|
wiki_js.cli.helpers.log.write(
|
||||||
|
"debug",
|
||||||
|
"http_call_response",
|
||||||
|
http_response
|
||||||
|
);
|
||||||
|
return http_response;
|
||||||
|
}
|
||||||
|
exports.call = call;
|
||||||
|
|
||||||
|
}) (wiki_js.cli.helpers.http)
|
||||||
|
|
||||||
|
|
||||||
var wiki_js;
|
var wiki_js;
|
||||||
wiki_js = (wiki_js || {});
|
wiki_js = (wiki_js || {});
|
||||||
wiki_js.cli = (wiki_js.cli || {});
|
wiki_js.cli = (wiki_js.cli || {});
|
||||||
|
@ -489,6 +489,146 @@ wiki_js.cli.api = (wiki_js.cli.api || {});
|
||||||
exports.call_email_settings_set = call_email_settings_set;
|
exports.call_email_settings_set = call_email_settings_set;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*/
|
||||||
|
function call_locale_download(
|
||||||
|
locale
|
||||||
|
)
|
||||||
|
{
|
||||||
|
wiki_js.cli.helpers.log.write(
|
||||||
|
"info",
|
||||||
|
"api_call_locale_download",
|
||||||
|
{
|
||||||
|
"locale": locale,
|
||||||
|
}
|
||||||
|
);
|
||||||
|
return (
|
||||||
|
call_generic_graphql(
|
||||||
|
"mutation ($locale: String!) {localization {downloadLocale(locale: $locale) {responseResult {succeeded errorCode slug message __typename} __typename}__typename}}",
|
||||||
|
{
|
||||||
|
"login_token": login_token,
|
||||||
|
"variables": {
|
||||||
|
"locale": locale,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
exports.call_locale_download = call_locale_download;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*/
|
||||||
|
function call_group_list(
|
||||||
|
login_token,
|
||||||
|
name
|
||||||
|
)
|
||||||
|
{
|
||||||
|
wiki_js.cli.helpers.log.write(
|
||||||
|
"info",
|
||||||
|
"api_call_group_list",
|
||||||
|
{
|
||||||
|
}
|
||||||
|
);
|
||||||
|
return (
|
||||||
|
call_generic_graphql(
|
||||||
|
"{groups {list {id name isSystem userCount createdAt updatedAt __typename} __typename}}",
|
||||||
|
{
|
||||||
|
"login_token": login_token,
|
||||||
|
"variables": {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
exports.call_group_list = call_group_list;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*/
|
||||||
|
function call_group_create(
|
||||||
|
login_token,
|
||||||
|
name
|
||||||
|
)
|
||||||
|
{
|
||||||
|
wiki_js.cli.helpers.log.write(
|
||||||
|
"info",
|
||||||
|
"api_call_group_create",
|
||||||
|
{
|
||||||
|
"name": name,
|
||||||
|
}
|
||||||
|
);
|
||||||
|
return (
|
||||||
|
call_generic_graphql(
|
||||||
|
"mutation ($name: String!) {groups {create(name: $name) {responseResult {succeeded errorCode slug message __typename} group {id name createdAt updatedAt __typename} __typename} __typename}}",
|
||||||
|
{
|
||||||
|
"login_token": login_token,
|
||||||
|
"variables": {
|
||||||
|
"name": name,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
exports.call_group_create = call_group_create;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param permissions_general {
|
||||||
|
* Array<
|
||||||
|
* string
|
||||||
|
* >
|
||||||
|
* }
|
||||||
|
* @param permissions_page_specific {
|
||||||
|
* Array<
|
||||||
|
* {
|
||||||
|
* id:string;
|
||||||
|
* path:string;
|
||||||
|
* roles:Array<
|
||||||
|
* string
|
||||||
|
* >;
|
||||||
|
* match:string;
|
||||||
|
* deny:boolean;
|
||||||
|
* locales:Array<
|
||||||
|
* string
|
||||||
|
* >;
|
||||||
|
* }
|
||||||
|
* >
|
||||||
|
* }
|
||||||
|
*/
|
||||||
|
function call_group_update(
|
||||||
|
login_token,
|
||||||
|
group_id,
|
||||||
|
name,
|
||||||
|
permissions_general,
|
||||||
|
permissions_page_specific
|
||||||
|
)
|
||||||
|
{
|
||||||
|
wiki_js.cli.helpers.log.write(
|
||||||
|
"info",
|
||||||
|
"api_call_group_update",
|
||||||
|
{
|
||||||
|
}
|
||||||
|
);
|
||||||
|
return (
|
||||||
|
call_generic_graphql(
|
||||||
|
"mutation ($id: Int!, $name: String!, $redirectOnLogin: String!, $permissions: [String]!, $pageRules: [PageRuleInput]!) {groups {update(id: $id, name: $name, redirectOnLogin: $redirectOnLogin, permissions: $permissions, pageRules: $pageRules) {responseResult {succeeded errorCode slug message __typename} __typename} __typename}}",
|
||||||
|
{
|
||||||
|
"login_token": login_token,
|
||||||
|
"variables": {
|
||||||
|
"id": group_id,
|
||||||
|
"name": name,
|
||||||
|
"redirectOnLogin": "/",
|
||||||
|
"permissions": permissions_general,
|
||||||
|
"pageRules": permissions_page_specific,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
exports.call_group_update = call_group_update;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*/
|
*/
|
||||||
function call_authentication_strategy_list(
|
function call_authentication_strategy_list(
|
||||||
|
@ -580,7 +720,7 @@ wiki_js.cli.api = (wiki_js.cli.api || {});
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
exports.call_theming_set = call_theming_set;
|
exports.call_theming_set = call_theming_set;
|
||||||
|
|
||||||
}) (wiki_js.cli.api);
|
}) (wiki_js.cli.api);
|
||||||
|
|
||||||
|
|
||||||
|
@ -658,6 +798,91 @@ wiki_js.cli.logic = (wiki_js.cli.logic || {});
|
||||||
exports.email_settings_set = email_settings_set;
|
exports.email_settings_set = email_settings_set;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*/
|
||||||
|
async function group_identify(
|
||||||
|
name
|
||||||
|
)
|
||||||
|
{
|
||||||
|
const data = await wiki_js.cli.api.call_group_list();
|
||||||
|
const hits = (
|
||||||
|
data["groups"]["list"]
|
||||||
|
.filter(
|
||||||
|
(entry) => (entry["name"] === name)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
if (hits.length !== 1) {
|
||||||
|
return Promise.reject(new Error("not found or ambiguous"));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return Promise.resolve(hits[0]["id"]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
exports.group_identify = group_identify;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* returns the ID of the generated group
|
||||||
|
*/
|
||||||
|
async function group_add(
|
||||||
|
name,
|
||||||
|
options = {}
|
||||||
|
)
|
||||||
|
{
|
||||||
|
options = Object.assign(
|
||||||
|
{
|
||||||
|
"permissions_general": [],
|
||||||
|
"permissions_specific": [],
|
||||||
|
},
|
||||||
|
options
|
||||||
|
);
|
||||||
|
const login_token = await wiki_js.cli.api.call_login_local(
|
||||||
|
);
|
||||||
|
const result_1 = await wiki_js.cli.api.call_group_create(
|
||||||
|
login_token,
|
||||||
|
name
|
||||||
|
);
|
||||||
|
const id = result_1["groups"]["create"]["group"]["id"];
|
||||||
|
const result_2 = await wiki_js.cli.api.call_group_update(
|
||||||
|
login_token,
|
||||||
|
id,
|
||||||
|
name,
|
||||||
|
options.permissions_general,
|
||||||
|
options.permissions_specific
|
||||||
|
);
|
||||||
|
return Promise.resolve(id);
|
||||||
|
}
|
||||||
|
exports.group_add = group_add;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*/
|
||||||
|
async function group_modify(
|
||||||
|
id,
|
||||||
|
options = {}
|
||||||
|
)
|
||||||
|
{
|
||||||
|
options = Object.assign(
|
||||||
|
{
|
||||||
|
"permissions_general": [],
|
||||||
|
"permissions_specific": [],
|
||||||
|
},
|
||||||
|
options
|
||||||
|
);
|
||||||
|
const login_token = await wiki_js.cli.api.call_login_local(
|
||||||
|
);
|
||||||
|
const result = await wiki_js.cli.api.call_group_update(
|
||||||
|
login_token,
|
||||||
|
id,
|
||||||
|
name,
|
||||||
|
options.permissions_general,
|
||||||
|
options.permissions_specific
|
||||||
|
);
|
||||||
|
return Promise.resolve(undefined);
|
||||||
|
}
|
||||||
|
exports.group_modify = group_modify;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*/
|
*/
|
||||||
async function authentication_strategy_list(
|
async function authentication_strategy_list(
|
||||||
|
@ -674,6 +899,17 @@ wiki_js.cli.logic = (wiki_js.cli.logic || {});
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* @param strategy {
|
||||||
|
* {
|
||||||
|
* key:string;
|
||||||
|
* name:string;
|
||||||
|
* client_id:string;
|
||||||
|
* client_secret:string;
|
||||||
|
* authorization_url:string;
|
||||||
|
* token_url:string;
|
||||||
|
* user_info_url:string;
|
||||||
|
* group_assignments:Array<int>;
|
||||||
|
* }
|
||||||
*/
|
*/
|
||||||
async function authentication_strategy_add(
|
async function authentication_strategy_add(
|
||||||
strategy
|
strategy
|
||||||
|
@ -787,7 +1023,10 @@ wiki_js.cli.logic = (wiki_js.cli.logic || {});
|
||||||
],
|
],
|
||||||
"selfRegistration": true,
|
"selfRegistration": true,
|
||||||
"domainWhitelist": [],
|
"domainWhitelist": [],
|
||||||
"autoEnrollGroups": []
|
"autoEnrollGroups": (
|
||||||
|
strategy.group_assignments
|
||||||
|
.map(x => group_identify(x))
|
||||||
|
),
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
|
@ -901,7 +1140,7 @@ wiki_js.cli = (wiki_js.cli || {});
|
||||||
|
|
||||||
// exec
|
// exec
|
||||||
if (args.positional.length < 1) {
|
if (args.positional.length < 1) {
|
||||||
return Promise.reject("SYNTAX: [node] cli.js [-c <conf-path>] [-b <api-url-base>] [-u <login-username>] [-p <login-password>] <action> [<arg-1> [<arg-2> […]]]\n\n\t<action> = init | email-settings-set | auth-strat-list | auth-strat-add-oauth2");
|
return Promise.reject("SYNTAX: [node] cli.js [-c <conf-path>] [-b <api-url-base>] [-u <login-username>] [-p <login-password>] <action> [<arg-1> [<arg-2> […]]]\n\n\t<action> = init | email-settings-set | group-add | auth-strat-list | auth-strat-add-oauth2 | theming-set");
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
const action = args.positional[0];
|
const action = args.positional[0];
|
||||||
|
@ -957,6 +1196,68 @@ wiki_js.cli = (wiki_js.cli || {});
|
||||||
return Promise.resolve(undefined);
|
return Promise.resolve(undefined);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
case "group-add": {
|
||||||
|
if (args.positional.length <= 1) {
|
||||||
|
return Promise.reject("SYNTAX: … group-add <name> [<permission-1> [<permission-2> [<permission-3> […]]]]");
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
const name = args.positional[1];
|
||||||
|
const permissions = args.positional.slice(2);
|
||||||
|
const result = await wiki_js.cli.logic.group_add(
|
||||||
|
name,
|
||||||
|
{
|
||||||
|
"permissions_general": permissions,
|
||||||
|
"permissions_specific": [
|
||||||
|
{
|
||||||
|
"id": "default",
|
||||||
|
"path": "",
|
||||||
|
"roles": permissions,
|
||||||
|
"match": "START",
|
||||||
|
"deny": false,
|
||||||
|
"locales": []
|
||||||
|
}
|
||||||
|
],
|
||||||
|
}
|
||||||
|
);
|
||||||
|
process.stdout.write(
|
||||||
|
JSON.stringify(
|
||||||
|
result,
|
||||||
|
undefined,
|
||||||
|
"\t"
|
||||||
|
)
|
||||||
|
+
|
||||||
|
"\n"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "group-modify": {
|
||||||
|
if (args.positional.length <= 2) {
|
||||||
|
return Promise.reject("SYNTAX: … group-modify <name> [<permission-1> [<permission-2> [<permission-3> […]]]]");
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
const name = args.positional[1];
|
||||||
|
const id = group_identify(name);
|
||||||
|
const permissions = args.positional.slice(2);
|
||||||
|
const result = await wiki_js.cli.logic.group_modify(
|
||||||
|
id,
|
||||||
|
{
|
||||||
|
"permissions_general": permissions,
|
||||||
|
"permissions_specific": [
|
||||||
|
{
|
||||||
|
"id": "default",
|
||||||
|
"path": "",
|
||||||
|
"roles": permissions,
|
||||||
|
"match": "START",
|
||||||
|
"deny": false,
|
||||||
|
"locales": []
|
||||||
|
}
|
||||||
|
],
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
case "auth-strat-list": {
|
case "auth-strat-list": {
|
||||||
const result = await wiki_js.cli.logic.authentication_strategy_list();
|
const result = await wiki_js.cli.logic.authentication_strategy_list();
|
||||||
process.stdout.write(
|
process.stdout.write(
|
||||||
|
@ -973,7 +1274,7 @@ wiki_js.cli = (wiki_js.cli || {});
|
||||||
}
|
}
|
||||||
case "auth-strat-add-oauth2": {
|
case "auth-strat-add-oauth2": {
|
||||||
if (args.positional.length <= 7) {
|
if (args.positional.length <= 7) {
|
||||||
return Promise.reject("SYNTAX: … auth-strat-add-oauth2 <strategy-key> <strategy-name> <strategy-client-id> <strategy-client-secret> <strategy-authorization-url> <strategy-token-url> <strategy-user-info-url>");
|
return Promise.reject("SYNTAX: … auth-strat-add-oauth2 <strategy-key> <strategy-name> <strategy-client-id> <strategy-client-secret> <strategy-authorization-url> <strategy-token-url> <strategy-user-info-url> [<group-assignment-1> [<group-assignment-2> [<group-assignment-3> […]]]]");
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
await wiki_js.cli.logic.authentication_strategy_add(
|
await wiki_js.cli.logic.authentication_strategy_add(
|
||||||
|
@ -985,6 +1286,7 @@ wiki_js.cli = (wiki_js.cli || {});
|
||||||
"authorization_url": args.positional[5],
|
"authorization_url": args.positional[5],
|
||||||
"token_url": args.positional[6],
|
"token_url": args.positional[6],
|
||||||
"user_info_url": args.positional[7],
|
"user_info_url": args.positional[7],
|
||||||
|
"group_assignments": args.positional.slice(8),
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
return Promise.resolve(undefined);
|
return Promise.resolve(undefined);
|
||||||
|
|
|
@ -11,5 +11,4 @@
|
||||||
|
|
||||||
## ToDo
|
## ToDo
|
||||||
|
|
||||||
- Locale
|
- start page
|
||||||
- Start Page
|
|
||||||
|
|
|
@ -116,7 +116,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "initialize",
|
"name": "setup | initialize",
|
||||||
"become": true,
|
"become": true,
|
||||||
"become_user": "{{var_wiki_js_user}}",
|
"become_user": "{{var_wiki_js_user}}",
|
||||||
"ansible.builtin.command": {
|
"ansible.builtin.command": {
|
||||||
|
@ -125,7 +125,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "email settings",
|
"name": "setup | email settings",
|
||||||
"become": true,
|
"become": true,
|
||||||
"become_user": "{{var_wiki_js_user}}",
|
"become_user": "{{var_wiki_js_user}}",
|
||||||
"ansible.builtin.command": {
|
"ansible.builtin.command": {
|
||||||
|
@ -134,22 +134,61 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "theming",
|
"name": "setup | locales",
|
||||||
|
"become": true,
|
||||||
|
"become_user": "{{var_wiki_js_user}}",
|
||||||
|
"loop": "{{var_wiki_js_additional_locales}}",
|
||||||
|
"ansible.builtin.command": {
|
||||||
|
"chdir": "{{var_wiki_js_directory}}",
|
||||||
|
"cmd": "node cli.js -b http://127.0.0.1:{{var_wiki_js_port | string}} -u {{var_wiki_js_admin_email_address}} -p {{var_wiki_js_admin_password}} locale-add {{item}}"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "setup | set guest access | negative",
|
||||||
|
"when": "not var_wiki_js_allow_guest_view",
|
||||||
|
"become": true,
|
||||||
|
"become_user": "{{var_wiki_js_user}}",
|
||||||
|
"ansible.builtin.command": {
|
||||||
|
"chdir": "{{var_wiki_js_directory}}",
|
||||||
|
"cmd": "node cli.js -b http://127.0.0.1:{{var_wiki_js_port | string}} -u {{var_wiki_js_admin_email_address}} -p {{var_wiki_js_admin_password}} group-modify Guests"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "setup | set guest access | positive",
|
||||||
|
"when": "var_wiki_js_allow_guest_view",
|
||||||
|
"become": true,
|
||||||
|
"become_user": "{{var_wiki_js_user}}",
|
||||||
|
"ansible.builtin.command": {
|
||||||
|
"chdir": "{{var_wiki_js_directory}}",
|
||||||
|
"cmd": "node cli.js -b http://127.0.0.1:{{var_wiki_js_port | string}} -u {{var_wiki_js_admin_email_address}} -p {{var_wiki_js_admin_password}} group-modify Guests read:pages read:assets read:comments"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "setup | define user group",
|
||||||
|
"become": true,
|
||||||
|
"become_user": "{{var_wiki_js_user}}",
|
||||||
|
"ansible.builtin.command": {
|
||||||
|
"chdir": "{{var_wiki_js_directory}}",
|
||||||
|
"cmd": "node cli.js -b http://127.0.0.1:{{var_wiki_js_port | string}} -u {{var_wiki_js_admin_email_address}} -p {{var_wiki_js_admin_password}} group-add {{var_wiki_js_user_group_name}} read:pages read:assets read:comments write:comments write:pages manage:pages delete:pages write:styles write:scripts read:source read:history write:assets manage:assets manage:comments"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "setup | authentication | authelia",
|
||||||
|
"when": "var_wiki_js_authentication_kind == 'authelia'",
|
||||||
|
"become": true,
|
||||||
|
"become_user": "{{var_wiki_js_user}}",
|
||||||
|
"ansible.builtin.command": {
|
||||||
|
"chdir": "{{var_wiki_js_directory}}",
|
||||||
|
"cmd": "node cli.js -b http://127.0.0.1:{{var_wiki_js_port | string}} -u {{var_wiki_js_admin_email_address}} -p {{var_wiki_js_admin_password}} auth-strat-add-oauth2 {{var_wiki_js_authentication_data_authelia_provider_id}} {{var_wiki_js_authentication_data_authelia_provider_name}} {{var_wiki_js_authentication_data_authelia_client_id}} {{var_wiki_js_authentication_data_authelia_client_secret}} {{var_wiki_js_authentication_data_authelia_url_base}}/api/oidc/authorization {{var_wiki_js_authentication_data_authelia_url_base}}/api/oidc/token {{var_wiki_js_authentication_data_authelia_url_base}}/api/oidc/userinfo {{var_wiki_js_user_group_name}}"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "setup | theming",
|
||||||
"become": true,
|
"become": true,
|
||||||
"become_user": "{{var_wiki_js_user}}",
|
"become_user": "{{var_wiki_js_user}}",
|
||||||
"ansible.builtin.command": {
|
"ansible.builtin.command": {
|
||||||
"chdir": "{{var_wiki_js_directory}}",
|
"chdir": "{{var_wiki_js_directory}}",
|
||||||
"cmd": "node cli.js -b http://127.0.0.1:{{var_wiki_js_port | string}} -u {{var_wiki_js_admin_email_address}} -p {{var_wiki_js_admin_password}} theming-set 1 left"
|
"cmd": "node cli.js -b http://127.0.0.1:{{var_wiki_js_port | string}} -u {{var_wiki_js_admin_email_address}} -p {{var_wiki_js_admin_password}} theming-set 1 left"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "authentication | authelia",
|
|
||||||
"when": "var_wiki_js_authentication_kind == 'authelia'",
|
|
||||||
"become": true,
|
|
||||||
"become_user": "{{var_wiki_js_user}}",
|
|
||||||
"ansible.builtin.command": {
|
|
||||||
"chdir": "{{var_wiki_js_directory}}",
|
|
||||||
"cmd": "node cli.js -b http://127.0.0.1:{{var_wiki_js_port | string}} -u {{var_wiki_js_admin_email_address}} -p {{var_wiki_js_admin_password}} auth-strat-add-oauth2 {{var_wiki_js_authentication_data_authelia_provider_id}} {{var_wiki_js_authentication_data_authelia_provider_name}} {{var_wiki_js_authentication_data_authelia_client_id}} {{var_wiki_js_authentication_data_authelia_client_secret}} {{var_wiki_js_authentication_data_authelia_url_base}}/api/oidc/authorization {{var_wiki_js_authentication_data_authelia_url_base}}/api/oidc/token {{var_wiki_js_authentication_data_authelia_url_base}}/api/oidc/userinfo"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
|
@ -134,5 +134,21 @@
|
||||||
"admin_password": {
|
"admin_password": {
|
||||||
"mandatory": false,
|
"mandatory": false,
|
||||||
"type": "string"
|
"type": "string"
|
||||||
|
},
|
||||||
|
"additional_locales": {
|
||||||
|
"mandatory": false,
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"nullable": false,
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"user_group_name": {
|
||||||
|
"mandatory": false,
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"allow_guest_view": {
|
||||||
|
"mandatory": false,
|
||||||
|
"type": "boolean"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue