Skip to content

Instantly share code, notes, and snippets.

@akoserwal
akoserwal / setup.sh
Created February 18, 2025 15:33
deploy-golang-kube
#!/bin/bash
set -e # Exit on error
# Variables
IMAGE_NAME="goechoapp"
TAG="latest"
KIND_CLUSTER_NAME="local-cluster"
DEPLOYMENT_YAML="goechoapp/deploy/echoapp.yaml"
@akoserwal
akoserwal / smoketest-inv2.sh
Created February 12, 2025 16:02
smoke test inv api
#!/bin/bash
set -e
set -o pipefail
# Set API URL
INV_HTTP_URL=${INV_HTTP_URL:-"http://localhost:8000"}
# Function to make requests and validate responses
make_request() {
@akoserwal
akoserwal / inv_smoketest.sh
Created February 11, 2025 17:35
inventory smoke test
#!/bin/bash
set -e
set -o pipefail
# Set API URL
INV_HTTP_URL=${INV_HTTP_URL:-"http://localhost:8000"}
# Function to make requests and validate responses
make_request() {
@akoserwal
akoserwal / update-serviceaccount-with-realm-management-roles.sh
Created August 23, 2024 20:24
Update-serviceaccount-with-realm-management-roles
FINAL=`curl -sk --data-raw '[{"id": '$manageUser',"name": "manage-users"},{"id": '$manageRealm',"name": "manage-realm"},{"id": '$manageClients',"name": "manage-clients"}]' --header "Content-Type: application/json" --header "Authorization: Bearer $TOKEN" $KEYCLOAK_URL/admin/realms/$REALM/users/$svcUserId/role-mappings/clients/$realmMgmtClientId`
echo $FINAL
@akoserwal
akoserwal / fetch-user-of-service-account.sh
Created August 23, 2024 20:23
fetch-user-of-service-account
SVC=`curl -sk --header "Content-Type: application/json" --header "Authorization: Bearer $TOKEN" $KEYCLOAK_URL/admin/realms/$REALM/clients/$kasClientId/service-account-user`
svcUserId=$(jq -r '.id' <<< $SVC)
echo $svcUserId
@akoserwal
akoserwal / fetch-serviceaccount.sh
Created August 23, 2024 20:22
fetch-serviceaccount-sa
KAS=`curl -sk --header "Content-Type: application/json" --header "Authorization: Bearer $TOKEN" $KEYCLOAK_URL/admin/realms/$REALM/clients?clientId=admin-sa`
kasClientId=$(jq -r '.[].id' <<< $KAS)
@akoserwal
akoserwal / fetch-roles-from-realm-management-client.sh
Created August 23, 2024 20:21
Fetch-roles-from-realm-management-client
ROLES=`curl -sk --header "Content-Type: application/json" --header "Authorization: Bearer $TOKEN" $KEYCLOAK_URL/admin/realms/$REALM/clients/$realmMgmtClientId/roles`
echo $ROLES
manageUser=$(jq -c '.[] | select( .name | contains("manage-users")).id' <<< $ROLES)
echo $manageUser
manageClients=$(jq -c '.[] | select( .name | contains("manage-clients")).id' <<< $ROLES)
echo $manageClients
manageRealm=$(jq -c '.[] | select( .name | contains("manage-realm")).id' <<< $ROLES)
echo $manageRealm
@akoserwal
akoserwal / fetch-realm-management-client.sh
Created August 23, 2024 20:19
Fetch-Realm-Management-client
RE=`curl -sk --header "Content-Type: application/json" --header "Authorization: Bearer $TOKEN" $KEYCLOAK_URL/admin/realms/$REALM/clients?clientId=realm-management`
realmMgmtClientId=$(jq -r '.[].id' <<< $RE)
echo $realmMgmtClientId
@akoserwal
akoserwal / create-service-account.sh
Created August 23, 2024 20:18
Create-Service-Account
CREATE=`curl -sk --data-raw '{
"authorizationServicesEnabled": false,
"clientId": "admin-sa",
"description": "admin-sa",
"name": "admin-sa",
"secret":"admin-sa",
"directAccessGrantsEnabled": false,
"serviceAccountsEnabled": true,
"publicClient": false,
"protocol": "openid-connect"
@akoserwal
akoserwal / get-token.sh
Created August 23, 2024 20:15
get-token.sh
KEYCLOAK_URL=http://0.0.0.0:8084
REALM=test
CLIENT_ID=admin-cli
USERNAME=admin
PASS=admin
TOKEN_PATH="/realms/master/protocol/openid-connect/token"
RESULT=`curl -sk --data "grant_type=password&client_id=$CLIENT_ID&username=$USERNAME&password=$PASS" $KEYCLOAK_URL$TOKEN_PATH`
TOKEN=$(jq -r '.access_token' <<< $RESULT)
echo $TOKEN