Skip to content

Instantly share code, notes, and snippets.

View developer-guy's full-sized avatar
🐾
Every artifact can be verifiably traced to Source Code and Hardware

Batuhan Apaydın developer-guy

🐾
Every artifact can be verifiably traced to Source Code and Hardware
View GitHub Profile
@developer-guy
developer-guy / retrieve-secret-from-etcd-in-minikube.sh
Created November 30, 2020 18:27
Retrieve super sensitive secret from etcd store via management cli called etcdl
#!/usr/bin/env bash
set -e
set -o errexit
set -o pipefail
TMPDIR=$(mktemp -d)
minikube start
kubectl create secret generic mysuper-secret --from-literal username=batu --from-literal password=s3cr3t --output yaml --dry-run=client > $TMPDIR/supersecret.yaml
@developer-guy
developer-guy / deny-lb-type-svc.yaml
Created November 30, 2020 19:33 — forked from velotiotech/deny-lb-type-svc.yaml
Constraint Template to deny service of type LoadBalancer
apiVersion: templates.gatekeeper.sh/v1beta1
kind: ConstraintTemplate
metadata:
name: lbtypesvcnotallowed
spec:
crd:
spec:
names:
kind: LBTypeSvcNotAllowed
listKind: LBTypeSvcNotAllowedList
apiVersion: constraints.gatekeeper.sh/v1beta1
kind: LBTypeSvcNotAllowed
metadata:
name: deny-lb-type-svc-dev-ns
spec:
match:
kinds:
- apiGroups: [""]
kinds: ["Service"]
namespaces:
@developer-guy
developer-guy / check-pod-resources.yaml
Created December 1, 2020 07:27 — forked from bharatmicrosystems/validation.yaml
Kyverno Check Pod Resources
apiVersion: kyverno.io/v1
kind: ClusterPolicy
metadata:
name: check-resources
spec:
validationFailureAction: enforce
rules:
- name: check-pod-resources
match:
resources:
@developer-guy
developer-guy / setup-kyverno.sh
Created December 1, 2020 09:00
Setup Kyverno via Helm
#!/usr/bin/env bash
set -e
# Add the Helm repository
helm repo add kyverno https://kyverno.github.io/kyverno/ || true
# Create a namespace
kubectl create ns kyverno || true
@developer-guy
developer-guy / execute-command-on-remote.go
Last active December 1, 2020 11:46
Golang Execute Command via ssh on the remote-server
package main
// link: http://blog.ralch.com/tutorial/golang-ssh-connection/
import (
"fmt"
"golang.org/x/crypto/ssh"
"io/ioutil"
"log"
"net"
"time"
@developer-guy
developer-guy / main.go
Created December 2, 2020 16:07 — forked from tembleking/main.go
Prometheus Golang Example
package main
import (
"fmt"
"log"
"math/rand"
"net/http"
"time"
"github.com/prometheus/client_golang/prometheus"
@developer-guy
developer-guy / read-consul-kv-with-viper-dynamic.go
Created December 8, 2020 13:35
Read Consul K/V dynamically with config changes
package main
import (
"fmt"
"github.com/spf13/viper"
_ "github.com/spf13/viper/remote"
"os"
"os/signal"
"syscall"
"time"
@developer-guy
developer-guy / k3s-multipass.sh
Created December 14, 2020 10:19 — forked from lucj/k3s-multipass.sh
Setup a k3s kubernetes cluster using Multipass VMs
for node in node1 node2 node3;do
multipass launch -n $node
done
# Init cluster on node1
multipass exec node1 -- bash -c "curl -sfL https://get.k3s.io | sh -"
# Get node1's IP
IP=$(multipass info node1 | grep IPv4 | awk '{print $2}')
@developer-guy
developer-guy / docker-compose.yml
Created December 15, 2020 12:26 — forked from Mau5Machine/docker-compose.yml
Traefik Configuration and Setup
version: "3.3"
services:
################################################
#### Traefik Proxy Setup #####
###############################################
traefik:
image: traefik:v2.0
restart: always