During initial setup, use GitLab API to get root authentication token then post it to Link Manager.
Define new environment variable for the linkmgr-basex container, LINKMGR_ENCRYPTION_KEY, that holds an encryption key that BaseX will use to encrypt and store the GitLab authentication token.
Store the GitLab authentication token in BaseX by creating an 8-character key from the secret and then using the key to encrypt the authentication token.
let $secret := fn:environment-variable("ENCRYPT_KEY")
let $key := substring(crypto:hmac($secret, $secret, "md5", "base64"), 1, 8)
return <result>{(
<secret>{$secret}</secret>,
<key>{$key}</key>
)}</result>
This will require an link manager admin database.
The GitLab update XQuery can then use the secret and encrypted authentication token to authenticate to GitLab for API calls.
Need to add the ability in the d4st script to store and update the gitlab authentication key.
During initial setup, use GitLab API to get root authentication token then post it to Link Manager.
Define new environment variable for the linkmgr-basex container, LINKMGR_ENCRYPTION_KEY, that holds an encryption key that BaseX will use to encrypt and store the GitLab authentication token.
Store the GitLab authentication token in BaseX by creating an 8-character key from the secret and then using the key to encrypt the authentication token.
This will require an link manager admin database.
The GitLab update XQuery can then use the secret and encrypted authentication token to authenticate to GitLab for API calls.
Need to add the ability in the d4st script to store and update the gitlab authentication key.