Skip to content

Instantly share code, notes, and snippets.

@pandeybk
pandeybk / gist:938c43edce691382f816e089437dafae
Created September 12, 2017 23:08
Get list of all images (oneliner) from AWS ecr
aws ecr describe-repositories --region=us-east-1 | jq -r '.[] | .[] | .repositoryName' | while read line; do aws ecr list-images --repository-name=$line --region=us-east-1; echo "------------"; done
@pandeybk
pandeybk / rbac.yaml
Last active November 4, 2017 00:24
RBAC Kubernetes Using Service Account
apiVersion: v1
kind: Namespace
metadata:
name: goglides
---
apiVersion: v1
kind: ServiceAccount
metadata:
labels:
@pandeybk
pandeybk / createConfig.sh
Last active April 19, 2018 04:07
RBAC create custom user
#!/usr/bin/env bash
# Service account created using above manifest file
serviceaccount=goglidescustomsa
namespace=goglides
# Get related Secrets for this Service Account
secret=$(kubectl get sa $serviceaccount -n $namespace -o json | jq -r .secrets[].name)
# Get ca.crt from secret (using OSX base64 with -D flag for decode)
kubectl get secret $secret -n $namespace -o json | jq -r '.data["ca.crt"]' | base64 -D > ca.crt
# Copying kubernetes resources accross namespaces
kubectl get rs,secrets -o json --namespace old | jq '.items[].metadata.namespace = "new"' | kubectl create -f -
kubectl get cm -o json --namespace old some-config-map | jq '.metadata.namespace = "new"' | kubectl create -f -
# kubectl exec in each pods
for pod in `kubectl get pods -o go-template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}'`; do echo $pod date:; kubectl exec -it $pod -- date ; echo "--------------"; done
@pandeybk
pandeybk / KeycloakAdminClientExample.java
Created April 3, 2018 17:25 — forked from thomasdarimont/KeycloakAdminClientExample.java
Using Keycloak Admin Client to create user with roles (Realm and Client level)
package de.tdlabs.keycloak.client;
import java.util.Arrays;
import java.util.Collections;
import javax.ws.rs.core.Response;
import org.keycloak.OAuth2Constants;
import org.keycloak.admin.client.Keycloak;
import org.keycloak.admin.client.KeycloakBuilder;
@pandeybk
pandeybk / KeycloakClientAuthExample.java
Created April 4, 2018 02:56 — forked from thomasdarimont/KeycloakClientAuthExample.java
Retrieve and verify AccessToken with Keycloak Client.
package de.tdlabs.keycloak.client;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.keycloak.OAuth2Constants;
import org.keycloak.RSATokenVerifier;
import org.keycloak.admin.client.Keycloak;
import org.keycloak.admin.client.KeycloakBuilder;
import org.keycloak.common.VerificationException;
import org.keycloak.jose.jws.JWSHeader;
import org.keycloak.representations.AccessToken;
@pandeybk
pandeybk / gist:04b10f124a6b86687cfbd509a974e4a6
Created April 10, 2018 02:37
grails-gradle-build-using-docker-multistage
FROM gradle:jdk8 as builder
RUN mkdir -p /home/gradle/app
WORKDIR /home/gradle/app
ADD --chown=gradle:gradle . /home/gradle/app
RUN /home/gradle/app/gradlew assemble
FROM openjdk:8-jre-alpine
COPY --from=builder /home/gradle/app/build/libs/*.war /app.war
CMD java -jar /app.war
@pandeybk
pandeybk / squash.sh
Created May 9, 2018 01:09
Squash several Git commits into a single commit
git checkout master
git fetch
git pull
# Merge the feature branch into the master branch.
git merge FEATURE/demo
# Reset the master branch to origin's state.
git reset origin/master
@pandeybk
pandeybk / dashboard.yaml
Last active June 27, 2018 15:19
Kubernetes Dashboard login with cluster-admin role
# Create service and assign cluster-admin role
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: dashboard-admin
namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
@pandeybk
pandeybk / Jenkinsfile
Last active July 17, 2018 21:33
Container-template-Jenkinsfile
podTemplate(label: 'kube-node', yaml: """
apiVersion: v1
kind: Pod
metadata:
name: docker
labels:
role: kube-node
spec:
hostNetwork: true
containers: