diff --git a/git-hangman-lab/SKILL.md b/git-hangman-lab/SKILL.md index 5b446f3..6bbdf55 100644 --- a/git-hangman-lab/SKILL.md +++ b/git-hangman-lab/SKILL.md @@ -12,7 +12,7 @@ description: Git operations for hangman-lab.top - manage accounts, tokens, repos Verify git credentials are configured correctly. ```bash -{baseDir}/scripts/git/git-ctrl check-git-cred +{baseDir}/scripts/git-ctrl check-git-cred ``` ### Create Git Account @@ -22,7 +22,7 @@ Create a new git account and configure access. > ⚠️ **Warning**: Do not execute this command unless explicitly requested. If you don't have a git account, contact **agent-resource-director** or **hangman** to guide you through the process. ```bash -{baseDir}/scripts/git/git-ctrl create-git-account --username --email +{baseDir}/scripts/git-ctrl create-git-account ``` ### Generate Access Token @@ -30,7 +30,7 @@ Create a new git account and configure access. Generate an access token for the current user. ```bash -{baseDir}/scripts/git/git-ctrl generate-access-token +{baseDir}/scripts/git-ctrl generate-access-token ``` ### Link Keycloak Account @@ -38,7 +38,7 @@ Generate an access token for the current user. Link Keycloak account with Gitea (for OAuth binding). ```bash -{baseDir}/scripts/git/git-ctrl link-keycloak +{baseDir}/scripts/git-ctrl link-keycloak ``` ### Add Repository Collaborator @@ -46,12 +46,7 @@ Link Keycloak account with Gitea (for OAuth binding). Add a collaborator to a repository. ```bash -# Add to specific repository -{baseDir}/scripts/git/git-ctrl repo-add-collaborators --user --repo - -# Add to roster repository (hzhang/.roster) -# ⚠️ This command can only be executed by agent-resource-director -{baseDir}/scripts/git/git-ctrl repo-add-collaborators --user --roster +{baseDir}/scripts/git-ctrl repo-add-collaborators --user --repo ``` ### Repository Config @@ -59,7 +54,7 @@ Add a collaborator to a repository. When you clone a repository from git.hangman-lab.top and are ready to develop, or after creating a new local repo with git init, run: ```bash -{baseDir}/scripts/git/git-ctrl repo-config --repo-path --email +{baseDir}/scripts/git-ctrl repo-config --repo-path ``` ### External Login Control @@ -67,8 +62,8 @@ When you clone a repository from git.hangman-lab.top and are ready to develop, o Enable or disable local login on Gitea. ```bash -{baseDir}/scripts/git/git-ctrl external-login-ctrl --enable -{baseDir}/scripts/git/git-ctrl external-login-ctrl --disable +{baseDir}/scripts/git-ctrl external-login-ctrl --enable +{baseDir}/scripts/git-ctrl external-login-ctrl --disable ``` ### Reset Password @@ -76,5 +71,5 @@ Enable or disable local login on Gitea. Reset password for the current user (reads username from secret-mgr). ```bash -{baseDir}/scripts/git/git-ctrl reset-password +{baseDir}/scripts/git-ctrl reset-password ``` diff --git a/git-hangman-lab/scripts/git/check-git-cred b/git-hangman-lab/scripts/check-git-cred similarity index 100% rename from git-hangman-lab/scripts/git/check-git-cred rename to git-hangman-lab/scripts/check-git-cred diff --git a/git-hangman-lab/scripts/git/create-git-account b/git-hangman-lab/scripts/create-git-account similarity index 100% rename from git-hangman-lab/scripts/git/create-git-account rename to git-hangman-lab/scripts/create-git-account diff --git a/git-hangman-lab/scripts/git/external-login-ctrl b/git-hangman-lab/scripts/external-login-ctrl similarity index 100% rename from git-hangman-lab/scripts/git/external-login-ctrl rename to git-hangman-lab/scripts/external-login-ctrl diff --git a/git-hangman-lab/scripts/git/generate-access-token b/git-hangman-lab/scripts/generate-access-token similarity index 100% rename from git-hangman-lab/scripts/git/generate-access-token rename to git-hangman-lab/scripts/generate-access-token diff --git a/git-hangman-lab/scripts/git/git-ctrl b/git-hangman-lab/scripts/git-ctrl similarity index 100% rename from git-hangman-lab/scripts/git/git-ctrl rename to git-hangman-lab/scripts/git-ctrl diff --git a/git-hangman-lab/scripts/git/repo-add-collaborators b/git-hangman-lab/scripts/git/repo-add-collaborators deleted file mode 100755 index 3a3104e..0000000 --- a/git-hangman-lab/scripts/git/repo-add-collaborators +++ /dev/null @@ -1,74 +0,0 @@ -#!/bin/bash - -# Get the directory where this script is located -SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" - -# Get username from ego-mgr -username=$(ego-mgr get default-username) - -# Check if username is provided -if [[ -z "$username" ]]; then - echo "Error: default-username not set in ego-mgr, please contact ard" - exit 1 -fi - -roster=false - -# Parse arguments -while [[ $# -gt 0 ]]; do - case $1 in - --repo) - repo="$2" - shift 2 - ;; - --user) - user="$2" - shift 2 - ;; - --roster) - roster=true - shift - ;; - *) - echo "Unknown option: $1" - exit 1 - ;; - esac -done - -# Check if user is provided -if [[ -z "$user" ]]; then - echo "Usage: $0 --user [--repo ] [--roster]" - exit 1 -fi - -# Handle roster mode -if [[ "$roster" == "true" ]]; then - owner="hzhang" - repo=".roster" - - # Check if git-adm key exists - if ! secret-mgr list | grep -q "git-adm"; then - echo "you dont have permission to run this script" - exit 1 - fi - - token=$(secret-mgr get-secret --key git-adm) -else - # Check if repo and git-access-token are provided - if [[ -z "$repo" ]]; then - echo "Usage: $0 --user --repo " - exit 1 - fi - - if ! secret-mgr list | grep -q "git-access-token"; then - echo "generate your access token first" - exit 1 - fi - - owner=$(secret-mgr get-username --key git) - token=$(secret-mgr get-secret --key git-access-token) -fi - -# Execute -curl -X PUT -H "Authorization: token $token" -H "Content-Type: application/json" -d '{"permission":"write"}' "https://git.hangman-lab.top/api/v1/repos/$owner/$repo/collaborators/$user" diff --git a/git-hangman-lab/scripts/git/gitea b/git-hangman-lab/scripts/gitea similarity index 100% rename from git-hangman-lab/scripts/git/gitea rename to git-hangman-lab/scripts/gitea diff --git a/git-hangman-lab/scripts/git/link-keycloak b/git-hangman-lab/scripts/link-keycloak similarity index 100% rename from git-hangman-lab/scripts/git/link-keycloak rename to git-hangman-lab/scripts/link-keycloak diff --git a/git-hangman-lab/scripts/repo-add-collaborators b/git-hangman-lab/scripts/repo-add-collaborators new file mode 100755 index 0000000..d204c77 --- /dev/null +++ b/git-hangman-lab/scripts/repo-add-collaborators @@ -0,0 +1,49 @@ +#!/bin/bash + +# Get the directory where this script is located +SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" + +# Get username from ego-mgr +username=$(ego-mgr get default-username) + +# Check if username is provided +if [[ -z "$username" ]]; then + echo "Error: default-username not set in ego-mgr, please contact ard" + exit 1 +fi + +# Parse arguments +while [[ $# -gt 0 ]]; do + case $1 in + --repo) + repo="$2" + shift 2 + ;; + --user) + user="$2" + shift 2 + ;; + *) + echo "Unknown option: $1" + exit 1 + ;; + esac +done + +# Check if user and repo are provided +if [[ -z "$user" || -z "$repo" ]]; then + echo "Usage: $0 --user --repo " + exit 1 +fi + +# Check if git-access-token exists +if ! secret-mgr list | grep -q "git-access-token"; then + echo "generate your access token first" + exit 1 +fi + +owner=$(secret-mgr get-username --key git) +token=$(secret-mgr get-secret --key git-access-token) + +# Execute +curl -X PUT -H "Authorization: token $token" -H "Content-Type: application/json" -d '{"permission":"write"}' "https://git.hangman-lab.top/api/v1/repos/$owner/$repo/collaborators/$user" diff --git a/git-hangman-lab/scripts/git/repo-config b/git-hangman-lab/scripts/repo-config similarity index 100% rename from git-hangman-lab/scripts/git/repo-config rename to git-hangman-lab/scripts/repo-config diff --git a/git-hangman-lab/scripts/git/reset-password b/git-hangman-lab/scripts/reset-password similarity index 100% rename from git-hangman-lab/scripts/git/reset-password rename to git-hangman-lab/scripts/reset-password diff --git a/keycloak-hangman-lab/SKILL.md b/keycloak-hangman-lab/SKILL.md index f6460c9..5f7902b 100644 --- a/keycloak-hangman-lab/SKILL.md +++ b/keycloak-hangman-lab/SKILL.md @@ -14,7 +14,7 @@ Create a new Keycloak account. > ⚠️ **Warning**: Do not execute this command unless explicitly requested. If you don't have a Keycloak account, contact **agent-resource-director** or **hangman** to guide you through the process. ```bash -{baseDir}/scripts/keycloak/kc-ctrl create-keycloak-account --username --email +{baseDir}/scripts/kc-ctrl create-keycloak-account ``` ### Verify Email @@ -22,7 +22,7 @@ Create a new Keycloak account. Verify user email in Keycloak. ```bash -{baseDir}/scripts/keycloak/kc-ctrl verify-email +{baseDir}/scripts/kc-ctrl verify-email ``` ### Set User Name @@ -30,7 +30,7 @@ Verify user email in Keycloak. Set user firstName and lastName in Keycloak. ```bash -{baseDir}/scripts/keycloak/kc-ctrl set-name +{baseDir}/scripts/kc-ctrl set-name ``` ### Reset Password @@ -38,5 +38,5 @@ Set user firstName and lastName in Keycloak. Reset password for the current user (reads username from secret-mgr). ```bash -{baseDir}/scripts/keycloak/kc-ctrl reset-password +{baseDir}/scripts/kc-ctrl reset-password ``` diff --git a/keycloak-hangman-lab/scripts/keycloak/create-keycloak-account b/keycloak-hangman-lab/scripts/create-keycloak-account similarity index 100% rename from keycloak-hangman-lab/scripts/keycloak/create-keycloak-account rename to keycloak-hangman-lab/scripts/create-keycloak-account diff --git a/keycloak-hangman-lab/scripts/keycloak/kc-ctrl b/keycloak-hangman-lab/scripts/kc-ctrl similarity index 100% rename from keycloak-hangman-lab/scripts/keycloak/kc-ctrl rename to keycloak-hangman-lab/scripts/kc-ctrl diff --git a/keycloak-hangman-lab/scripts/keycloak/kcadm b/keycloak-hangman-lab/scripts/kcadm similarity index 100% rename from keycloak-hangman-lab/scripts/keycloak/kcadm rename to keycloak-hangman-lab/scripts/kcadm diff --git a/keycloak-hangman-lab/scripts/keycloak/reset-password b/keycloak-hangman-lab/scripts/reset-password similarity index 100% rename from keycloak-hangman-lab/scripts/keycloak/reset-password rename to keycloak-hangman-lab/scripts/reset-password diff --git a/keycloak-hangman-lab/scripts/keycloak/set-name b/keycloak-hangman-lab/scripts/set-name similarity index 100% rename from keycloak-hangman-lab/scripts/keycloak/set-name rename to keycloak-hangman-lab/scripts/set-name diff --git a/keycloak-hangman-lab/scripts/keycloak/verify-email b/keycloak-hangman-lab/scripts/verify-email similarity index 100% rename from keycloak-hangman-lab/scripts/keycloak/verify-email rename to keycloak-hangman-lab/scripts/verify-email