feat: pat token support

This commit is contained in:
Janik von Rotz committed 2025-02-03 11:54:53 +01:00
1 parent 645884e103
commit 6c4db2fd66
8 files changed
+35 -21

No files matched your search

+6 -8
View File
@@ -4,12 +4,10 @@
# CONTAINER_REGISTRY=mintsystem/
ODOO_REVISION=16.0.20250106
# ODOO_REVISION_CONTAINER_PULL=false
# GIT_SSH_PUBLIC_KEY: ssh-ed25519 BBBBC3NzaC1lZDI1NTE5BBBBIDR9Ibi0mATjCyx1EYg594oFkY0rghtgo+pnFHOvAcym
# GIT_SSH_PRIVATE_KEY="-----BEGIN OPENSSH PRIVATE KEY-----
# QyNTUxOQAAACCuoR1PvK081rwrC5hlSXM7Q24cPQOpSlymLefnPiihxQAAAJjEbzDGxG8w
# AAAEDx6kjL/1dmz7WZctryva7EphDT1rHyyfjxFiEPVnmrXq6hHU+8rTzWvCsLmGVJcztD
# bhw9A6lKXKYt5+c+KKHFAAAAEmJvdEBtaW50LXN5c3RlbS5jaAECAw==
# -----END OPENSSH PRIVATE KEY-----"
# GIT_SSH_PUBLIC_KEY=ssh-ed25519 BBBBC3NzaC1lZDI1NTE5BBBBIDR9Ibi0mATjCyx1EYg594oFkY0rghtgo+pnFHOvAcym Mint-System-Project-MCC@github.com
# GIT_SSH_PRIVATE_KEY=LS0tLS1CRUdJTiBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLQpiM0JsYm5OemFDMXJaWGt0ZGpFQUFBQUFCRzV2Ym1VQUFBQUVibTl1WlFBQUFBQUFBQUFCQUFBQU13QUFBQXR6YzJndFpXClF5TlRVeE9RQUFBQ0EwZlNHNHRKZ0U0d3NzZFJHSU9mZUtCWkdOSzRJYllLUHFaeFJ6cndITXBnQUFBS2k1WkJhRnVXUVcKaFFBQUFBdHpjMmd0WldReU5UVXhPUUFBQUNBMGZTRzR0SmdFNHdzc2RSR0lPZmVLQlpTks0SWJZS1BxWnhSenJ3SE1wZwowQkFnTT0KLS0tLS1FTkQgT1BFTlNTSCBQUklWQVRFIEtFWS0tLS0tCg==
# GITHUB_USERNAME=bot-mintsys
# GITHUB_PERSONAL_ACCESS_TOKEN=
# ADDONS_GIT_REPOS="git@github.com:Mint-System/Odoo-Apps-Server-Tools.git#16.0,git@github.com:OCA/server-tools.git#16.0"
# ODOO_ADDONS_PATH=thirdparty/odoo-apps-partner-contact,../odoo-cd/untracked-odoo-apps
# ODOO_ADDONS_PATH=/mnt/addons/,/mnt/oca/,/mnt/enterprise,/mnt/themes/
@@ -19,8 +17,8 @@ ODOO_REVISION=16.0.20250106
# ODOO_PARAM="--without-demo=all"
# SERVER_WIDE_MODULES=session_db,module_change_auto_install,mail_environment
# SESSION_DB_URI=postgres://odoo:odoo@db/odoo
LOG_LEVEL=debug
# LOG_LEVEL=debug
# LIST_DB=False
# ADMIN_PASSWD=oqua9AiHeibac2pie9ei
# ADMIN_PASSWD=
# DBFILTER=^%d$
# MODULE_AUTO_INSTALL_DISABLED=odoo_test_xmlrunner
+1
View File
@@ -7,6 +7,7 @@ All notable changes to this project will be documented in this file. The format
### Added
* Commands to update git submodules in batch `-status`, `-commit-all`, `-push`.
* Support `GITHUB_USERNAME` and `GITHUB_PERSONAL_ACCESS_TOKEN` in image.
### Updated
+2
View File
@@ -28,6 +28,8 @@ services:
ODOO_MAIL_PASSWORD: ${ODOO_MAIL_PASSWORD}
GIT_SSH_PUBLIC_KEY: ${GIT_SSH_PUBLIC_KEY}
GIT_SSH_PRIVATE_KEY: ${GIT_SSH_PRIVATE_KEY}
GITHUB_USERNAME: ${GITHUB_USERNAME}
GITHUB_PERSONAL_ACCESS_TOKEN: ${GITHUB_PERSONAL_ACCESS_TOKEN}
ADDONS_GIT_REPOS: ${ADDONS_GIT_REPOS}
ODOO_ADDONS_PATH: ${ODOO_ADDONS_PATH}
ODOO_DATABASE: "${ODOO_DATABASE}"
+4
View File
@@ -54,6 +54,8 @@ services:
ODOO_MAIL_PASSWORD: *****
GIT_SSH_PUBLIC_KEY: ssh-ed25519 BBBBC3NzaC1lZDI1NTE5BBBBIDR9Ibi0mATjCyx1EYg594oFkY0rghtgo+pnFHOvAcym Mint-System-Project-MCC@github.com
GIT_SSH_PRIVATE_KEY: LS0tLS1CRUdJTiBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLQpiM0JsYm5OemFDMXJaWGt0ZGpFQUFBQUFCRzV2Ym1VQUFBQUVibTl1WlFBQUFBQUFBQUFCQUFBQU13QUFBQXR6YzJndFpXClF5TlRVeE9RQUFBQ0EwZlNHNHRKZ0U0d3NzZFJHSU9mZUtCWkdOSzRJYllLUHFaeFJ6cndITXBnQUFBS2k1WkJhRnVXUVcKaFFBQUFBdHpjMmd0WldReU5UVXhPUUFBQUNBMGZTRzR0SmdFNHdzc2RSR0lPZmVLQlpTks0SWJZS1BxWnhSenJ3SE1wZwowQkFnTT0KLS0tLS1FTkQgT1BFTlNTSCBQUklWQVRFIEtFWS0tLS0tCg==
GITHUB_USERNAME: bot-mintsys
GITHUB_PERSONAL_ACCESS_TOKEN: *****
ADDONS_GIT_REPOS: "git@github.com:Mint-System/Odoo-Apps-Server-Tools.git#16.0,git@github.com:OCA/server-tools.git#16.0"
ODOO_ADDONS_PATH: /mnt/addons/,/mnt/oca/,/mnt/enterprise,/mnt/themes/
ODOO_DATABASE: "16.0"
@@ -194,6 +196,8 @@ The image can clone git repositories.
* `GIT_SSH_PUBLIC_KEY` Public key for SSH connection.
* `GIT_SSH_PRIVATE_KEY` Base64 encoded private key for SSH connection.
* `GITHUB_USERNAME` Username for git clone command with https.
* `GITHUB_PERSONAL_ACCESS_TOKEN` Token for git clone command with https.
* `ADDONS_GIT_REPOS` Comma seperated list of git clone urls appended with `#` and branch name.
### Addons Path
+18 -12
View File
@@ -20,30 +20,36 @@ if [ -n "$ADDONS_GIT_REPOS" ]; then
for ADDON_GIT_REPO in $ADDONS_GIT_REPOS; do
# Supported urls:
# SSH: git@github.com:OCA/server-tools.git#16.0
# HTTP: https://github.com/OCA/server-tools.git#16.0
# ADDON_GIT_REPO=git@github.com:OCA/server-tools.git#16.0
# ADDON_GIT_REPO=https://github.com/OCA/server-tools.git#16.0
GIT_URL=$(echo "$ADDON_GIT_REPO" | cut -d# -f1)
GIT_BRANCH=$(echo "$ADDON_GIT_REPO" | cut -d# -f2)
GIT_HOSTNAME=$(parse-url "$GIT_URL" hostname)
GIT_PROTO=$(parse-url "$GIT_URL" proto)
GIT_PATH=$(parse-url "$GIT_URL" path | sed 's/.git//g')
GIT_PATH="/var/lib/odoo/git/$GIT_HOSTNAME/$GIT_PATH"
GIT_LOCAL_PATH="/var/lib/odoo/git/${GIT_HOSTNAME}/$GIT_PATH"
if [ ! -d "$GIT_PATH/.git" ]; then
if [ ! -d "$GIT_LOCAL_PATH/.git" ]; then
# Clone git repo and submodules
mkdir -p "$GIT_PATH"
mkdir -p "$GIT_LOCAL_PATH"
ssh-keyscan -t rsa,dsa "$GIT_HOSTNAME" > ~/.ssh/known_hosts 2>/dev/null
entrypoint-log "Clone $GIT_URL branch $GIT_BRANCH."
git clone "$GIT_URL" --depth 1 --single-branch --branch "$GIT_BRANCH" "$GIT_PATH"
if [ "${GIT_PROTO}${GIT_HOSTNAME}" = "https://github.com" ] && [ -n "$GITHUB_USERNAME" ]; then
GIT_URL="${GIT_PROTO}${GITHUB_USERNAME}:${GITHUB_PERSONAL_ACCESS_TOKEN}@${GIT_HOSTNAME}/${GIT_PATH}.git"
fi
entrypoint-log "Clone ${GIT_PROTO}${GIT_HOSTNAME} branch $GIT_BRANCH."
git clone "$GIT_URL" --depth 1 --single-branch --branch "$GIT_BRANCH" "$GIT_LOCAL_PATH"
else
entrypoint-log "Update $GIT_URL branch $GIT_BRANCH."
git -C "$GIT_PATH" switch "$GIT_BRANCH"
git -C "$GIT_PATH" pull
git -C "$GIT_LOCAL_PATH" switch "$GIT_BRANCH"
git -C "$GIT_LOCAL_PATH" pull
fi
if [ -f "$GIT_PATH/.gitmodules" ]; then
entrypoint-log "Init and update git submodules in $GIT_PATH."
git -C "$GIT_PATH" submodule update --init --recursive --depth 1
if [ -f "$GIT_LOCAL_PATH/.gitmodules" ]; then
entrypoint-log "Init and update git submodules in $GIT_LOCAL_PATH."
git -C "$GIT_LOCAL_PATH" submodule update --init --recursive --depth 1
fi
done
+1 -1
View File
@@ -10,7 +10,7 @@ Help() {
echo
echo "$SCRIPT"
echo
echo "Description: Filter URL for segments."
echo "Description: Parse and output segements."
echo "Syntax: $SCRIPT <url> [url|proto|user|pass|hostname|subdomain|port|path]"
echo "Example: $SCRIPT https://www.example.com subdomain,hostname"
echo " $SCRIPT git@github.com:OCA/server-tools.git user,hostname,path"
Submodule oca/oca-partner-contact added at 272c5fe0f2.
+2
View File
@@ -590,6 +590,8 @@ function template-docker-compose() {
export ODOO_MAIL_PASSWORD
export GIT_SSH_PUBLIC_KEY
export GIT_SSH_PRIVATE_KEY
export GITHUB_USERNAME
export GITHUB_PERSONAL_ACCESS_TOKEN
export ADDONS_GIT_REPOS
export ODOO_ADDONS_PATH
export ODOO_DATABASE