Skip to content

Instantly share code, notes, and snippets.

@ronaldpetty
ronaldpetty / gist:a6f2133a9cce8c77d3d8
Created December 17, 2014 19:27
CentOS 7 - Guest Addons
* Upgrade to latest VirtualBox
* Download CentOS-7.0-1406-x86_64-Minimal.iso
* Create new vm using iso
* Install dkms for guest add ons
** rpm -Uvh http://dl.fedoraproject.org/pub/epel/beta/7/x86_64/epel-release-7.0.2.noarch.rpm
** rpm -Uvh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
** yum install dkms kernel-devel-$(uname -r) kernel-headers-$(uname -r)
** yum install bzip2
** (ON LAPTOP) VBoxManage storageattach 571e84d8-1c50-4f91-a1cc-821996680862 --storagectl 'IDE' --port 1 --device 0 --type dvddrive --medium '/Applications/VirtualBox.app/Contents/MacOS/VBoxGuestAdditions.iso'
** mount /dev/cdrom /mnt
@ronaldpetty
ronaldpetty / gist:b8a08d2f992520e88621
Created December 17, 2014 19:29
CentOS 7 Guest Add Ons (Mac host)
* Upgrade to latest VirtualBox
* Download CentOS-7.0-1406-x86_64-Minimal.iso
* Create new vm using iso
* Install dkms for guest add ons
** rpm -Uvh http://dl.fedoraproject.org/pub/epel/beta/7/x86_64/epel-release-7.0.2.noarch.rpm
** rpm -Uvh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
** yum install dkms kernel-devel-$(uname -r) kernel-headers-$(uname -r)
** yum install bzip2
** (ON LAPTOP) VBoxManage storageattach 571e84d8-1c50-4f91-a1cc-821996680862 --storagectl 'IDE' --port 1 --device 0 --type dvddrive --medium '/Applications/VirtualBox.app/Contents/MacOS/VBoxGuestAdditions.iso'
** mount /dev/cdrom /mnt
@ronaldpetty
ronaldpetty / gist:d08dda28802decc435f0aef6f6972027
Last active May 30, 2018 18:53
Clone or pull all private repos
# install jq (https://stedolan.github.io/jq/)
# if you don't like error just redirect like ` 2>/dev/null`
TOKEN=myPersonalToken
USERNAME=myName
ORG=myOrg
export PAGES=$(curl -sIu "$USERNAME:$TOKEN" https://api.github.com/orgs/$ORG/repos | grep last | sed -e 's/.*page=\(*\)>; rel="last".*/\1/g')
for i in $(seq 1 $PAGES); do curl -su "$USERNAME:$TOKEN" https://api.github.com/orgs/$ORG/repos?page=$i | jq -r ".[].ssh_url" | xargs -I % bash -c "echo % | sed -e 's/.*\/\(.*\).git/\1/g'" | xargs -I NNN bash -c "echo one:NNN; git clone [email protected]:$ORG/NNN.git || echo two:NNN; pushd NNN; git pull; popd"; done
```
% shasum ~/Downloads/key.pem
74fe911b9ef45d2906b0bb30812bb4be176368d1 /Users/ronaldpetty/Downloads/key.pem
% shasum ./key.pem
2050b6bc8a97248cbba74934206d9dd371c41e58 ./key.pem
% diff ~/Downloads/key.pem key.pem -y --suppress-common-lines -w
%
head -3 key.pem
-----BEGIN RSA PRIVATE KEY-----
Convert:
`kubectl run curler --image giantswarm/tiny-tools --serviceaccount app-sa --command -- /usr/bin/tail -f /dev/null`
Since --serviceaccount is deprecated. One alternative is using kustomize. Its more work, but a good technique you can reuse for other deprecated options or automation.
`kubectl --dry-run=client -o yaml run curler --image giantswarm/tiny-tools --command -- /usr/bin/tail -f /dev/null > curler.yaml`
```
cat <<EOF > addsa.yaml
@ronaldpetty
ronaldpetty / deprecated-options-alt-via-kustomize.md
Created October 1, 2021 18:00
Example of using kustomize to handle deprecated option.

Convert:

kubectl run curler --image giantswarm/tiny-tools --serviceaccount app-sa --command -- /usr/bin/tail -f /dev/null

Since --serviceaccount is deprecated. One alternative is using kustomize. Its more work, but a good technique you can reuse for other deprecated options or automation.

kubectl --dry-run=client -o yaml run curler --image giantswarm/tiny-tools --command -- /usr/bin/tail -f /dev/null > curler.yaml

cat &lt; addsa.yaml
@ronaldpetty
ronaldpetty / hctx.go
Created October 29, 2021 07:41
try cancel
package main
import (
"context"
"time"
)
func one(ctx context.Context) {
print("one create\n")
ctx5, _ := context.WithTimeout(ctx, time.Second*5)
@ronaldpetty
ronaldpetty / code.go
Created October 29, 2021 08:10
Demo - channel is blocked with tuple form if its open and unbuffered
package main
import (
"strconv"
"time"
)
func main() {
c := make(chan string)
w := make(chan struct{})
@ronaldpetty
ronaldpetty / env.md
Created December 6, 2021 10:43
env package demo
ronaldpetty@Ronalds-MBP src % pwd
/Users/ronaldpetty/go/src
ronaldpetty@Ronalds-MBP src % tree pc                         
pc
└── driver.go

0 directories, 1 file
ronaldpetty@Ronalds-MBP src % cat pc/driver.go 
package main
@ronaldpetty
ronaldpetty / READEME.md
Last active December 9, 2021 00:48
KlusterD Attempt 1

Hack 1 - Replace scheduler

Process #1 - build replacement scheduler

  • NOTE - if control changes IPs, code will need updates (for api, currently not ENV or file)
  • On a machine with Docker
  • git clone http://github.com/ronaldpetty/scheduler.git (derived from kelseyhightower/scheduler)
  • cd ~/scheduler
  • git checkout tls_healthz
  • build image - sudo docker build -t k8s.gcr.io/kube-scheduler:v1.22.4 --no-cache .
  • extract image - sudo docker save k8s.gcr.io/kube-scheduler:v1.22.4 -o hightower.tar