Skip to content

Instantly share code, notes, and snippets.

View saidsef's full-sized avatar
👻
Building stuff

Said Sef saidsef

👻
Building stuff
View GitHub Profile
@saidsef
saidsef / external-dns.yml
Created April 29, 2019 09:39
Kubernetes External-DNS
---
apiVersion: v1
kind: Namespace
metadata:
name: dns
labels:
name: dns
---
apiVersion: v1
kind: ServiceAccount
---
apiVersion: v1
kind: Namespace
metadata:
name: certs
labels:
name: certs
---
apiVersion: v1
kind: ServiceAccount
#!/usr/bin/env bash
set -o errexit
set -o nounset
set -o pipefail
log() {
# shellcheck disable=SC1117
echo -e "\033[0;33m$(date "+%H:%M:%S")\033[0;37m ==> $1."
}
## replace Dockerfile.jetty in https://github.com/plantuml/plantuml-server
## this will produce smaller image ~ 150MB
FROM maven:3-jdk-8 AS builder
RUN apt-get update && \
apt-get install -y --no-install-recommends graphviz fonts-wqy-zenhei && \
apt-get clean
COPY pom.xml /app/
@saidsef
saidsef / jnlp-slave-docker-ce-dockerfile
Last active February 9, 2020 18:37
Jenkins JNLP Docker in Docker
FROM jenkinsci/jnlp-slave
LABEL maintainer="Said Sef <saidsef@gmail.com>"
USER root
RUN apt-get update && \
apt-get -yq upgrade && \
apt-get install -yq \
apt-transport-https ca-certificates gnupg2 software-properties-common \
@saidsef
saidsef / jenkins-k8s-pod-slave.yml
Last active September 20, 2018 21:43
Jenkins Kubernetes - Docker in Docker
apiVersion: "v1"
kind: "Pod"
metadata:
name: "jenkins-slave"
labels:
name: "jenkins-slave"
spec:
containers:
- name: "jenkins-slave"
image: "saidsef/jnlp-slave-docker-ce"
@saidsef
saidsef / version.groovy
Last active September 20, 2018 21:43
Jenkinsfile Pipeline versioning
package co.uk.saidsef
import hudson.AbortException
class Version implements Serializable {
final def major
final def minor
final def patch
@saidsef
saidsef / kubectl-evicted-pods.sh
Last active September 20, 2018 21:44
Kubernetes cleanup evicted pods across all namespaces
# Qucik way to cleanup evicted pods across all namespaces
# Long term fix: https://kubernetes.io/docs/tasks/administer-cluster/out-of-resource/
for NS in `kubectl get ns | grep -v NAME | awk '{ print $1 }'`; do
kubectl get all -n $NS | grep -i evicted | awk '{ print $1 }' | while read f; do kubectl delete -n $NS $f; done
done
gradle_version=2.12
wget -N https://services.gradle.org/distributions/gradle-${gradle_version}-all.zip
mkdir -p /opt/gradle
unzip gradle-${gradle_version}-all.zip
mv gradle-${gradle_version} /opt/gradle/
ln -sfn gradle-${gradle_version} /opt/gradle/latest
chown -R ec2-user:ec2-user /opt/gradle
@saidsef
saidsef / swarm.service
Last active August 9, 2018 22:21
Swarm Service Manager
[Unit]
# Location: /usr/lib/systemd/system : systemctl enable swarm
Description=swarm service manager
Documentation=https://plugins.jenkins.io/swarm
Wants=network-online.target
After=network-online.target
StartLimitIntervalSec=0
[Service]
Type=simple