Skip to content

Instantly share code, notes, and snippets.

View vadirajks's full-sized avatar

Vadiraj K.S vadirajks

View GitHub Profile
@vadirajks
vadirajks / gke-ingress-manged-tls.md
Created August 2, 2023 06:22 — forked from pydevops/gke-ingress-manged-tls.md
Create a GCP managed TLS certificate for the GKE ingress

GKE ingress in a nutshell

Solution #1 (ManagedCertificate CRD in GKE)

  • GKE with Google-managed SSL certificates
    • Use ManagedCertificate CRD to create a object.
    • Associate the ManagedCertificate object to an Ingress by adding an annotation networking.gke.io/managed-certificates to the Ingress. This annotation is a comma-separated list of ManagedCertificate resources, cert1,cert2,cert3 for example.

Solution #2 (Google Cloud SSL Certificate)

Assumption

@vadirajks
vadirajks / ubuntu-aliyun-mirrors.sh
Created March 20, 2023 11:56 — forked from wsvn53/ubuntu-aliyun-mirrors.sh
Change Ubuntu source to aliyun mirrors
#!/bin/bash
cat << EOF > /etc/apt/sources.list
deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse

Resize splits more quickly EDIT

SHARE Tip 1215 Printable Monobook Previous Next created April 26, 2006 · complexity basic · author Robert & Bill · version 7.0

This tip is about how to resize Windows efficiently.

You can use the :resize command or its shortcut :res to change the height of the window. To change the height to 60 rows, use:

@vadirajks
vadirajks / How to Customize Time & Date Format in Ubuntu Panel
Last active January 29, 2023 16:54
How to Customize Time & Date Format in Ubuntu Panel
gsettings set org.ayatana.indicator.datetime time-format 'custom'
gsettings set org.ayatana.indicator.datetime custom-time-format '[%B/%A]-[%d-%m-%Y]-[%H:%M]-[%l:%M:%S %P]'
https://ubuntuhandbook.org/index.php/2015/12/time-date-format-ubuntu-panel/
@vadirajks
vadirajks / gcp_commitments_alert.sh
Last active December 26, 2022 16:58
gcp_commitments_slack_alert
#!/bin/bash
SlackChannelName=slack-channel
SlackHookURL="https://hooks.slack.com/services/dsdsdsdsds"
MessageBody=
MessageTitle="CRITICAL:/custom-scripts/gcp_commitments_alert.sh ($(hostname)/$(hostname -i))"
for project in prokect1 project2; do
gcloud compute commitments list --project $project --format="csv(selfLink.scope(regions),name,resources,startTimestamp.date('%Y-%m-%d'),endTimestamp.date('%Y-%m-%d'),type,status)" | sed "s/\"{'type': '//g" | sed "s/', 'amount': '/=/g" | sed "s/'}\",/,/g" | sed "s/'}\";/:/g" | awk -F ',' '{gsub(/[\/].*/, "", $1); print}' OFS="," > /tmp/commitments_${project}.txt || exit 2
sed -i '/^self_link/d' /tmp/commitments_${project}.txt 2> /dev/null || continue
COUNT=0
for region in $(awk -F, '{print $1}' /tmp/commitments_${project}.txt | sort | uniq); do
@vadirajks
vadirajks / client.yaml
Created December 24, 2022 10:20 — forked from HebertCL/client.yaml
Issue 5344
# This playbook was meant to be executed after provisioning.
# Initially client side certificates where created during
# image cooking, but soon figured out it would not work in
# the long run. When I changed it to post provision execution
# I found errors that mentioned certificates already existed
# and found the issue described in GitHub.
---
- hosts: all
become: yes
@vadirajks
vadirajks / gcp-instance-group_details.sh
Created August 14, 2022 13:29
gcp-instance-group_details.sh
IFS=$'\n'
echo "INSTANCE-GROUPS,LOCATION,SCOPE,INSTANCE-TEMPLATES,IMAGE"
for ig in $(gcloud compute instance-groups list | grep -v "^dataflow\|^NAME\|^gke"); do
result=$(echo $ig|awk 'BEGIN { OFS="," }{print $2,$3}')
tmresult=$(gcloud compute instance-groups managed describe $(echo $ig|awk '{print $1}') --zone $(echo $ig|awk '{print $2}') --format=json | jq -r "[.instanceGroup,.instanceTemplate]|@csv")
for i in $(echo ${tmresult}) ; do
set $(echo $i | tr "," "\n"|tr -d '"')
image=$(gcloud compute instance-templates describe ${2##*/} --format=json | jq -r ".properties|.disks[].initializeParams.sourceImage")
echo ${1##*/},$result,${2##*/},${image##*/}
done
@vadirajks
vadirajks / find or delete corrupt whisper-files
Created July 16, 2022 12:37
find or delete corrupt whisper-files
#!/bin/bash
which whisper-info >/dev/null || {
echo >&2 "'whisper-info' not found: please install"
exit 1
}
options=('find' 'delete')
PS3='state your wish: '
echo -e "\nfind/delete corrupt whisper-files"
@vadirajks
vadirajks / deleting old whisper files
Created July 16, 2022 12:29
deleting old whisper files
#!/bin/bash
delete_hours=3
delete_sec=$(( ($delete_hours*60)*60))
gcp_output_file=/tmp/app-gcp-list.txt
gcloud compute instances list --format="csv(name:sort=0,networkInterfaces.networkIP,zone:sort=1)" --filter="status=RUNNING AND labels.appname:app" |sed 's/\./_/g'>$gcp_output_file
[ ! $? -eq 0 ] && { echo >&2 "$gcp_output_file gcp command issue"; exit 1; }
[[ $(wc -l $gcp_output_file| awk '{print $1}') -lt 25 ]] && { echo >&2 "$gcp_output_file gcp command issue"; exit 1; }
for folder_list in /var/lib/carbon/whisper/asia-southeast1/app/autoscaling/vm /var/lib/carbon/whisper/asia-southeast1/app/static/vm ; do
[ $(echo $folder_list| awk -F/ '{print $(NF-1)}') == "static" ] && vm_type=static || vm_type=auto
for folder in $(ls $folder_list -1); do
@vadirajks
vadirajks / gcp un used disk
Created July 14, 2022 16:50
gcp un used disk
#!/bin/bash
export project="
a
b
c
"
for p in $project; do
for disk in $(gcloud compute disks list --filter="-users:*" --format "csv(name,LOCATION)" --project "$p"); do
echo "deleting: ${disk}"
gcloud compute disks delete --zone=${disk##*,} --quiet ${disk%%,*} --project "$p"