Skip to content

Instantly share code, notes, and snippets.

@kevashcraft
kevashcraft / K8s-DigitalOcean-CoreOS.md
Last active September 18, 2020 05:47
How to Setup Kubernetes on DigitalOcean with CoreOS

Kubernetes on DigitalOcean with CoreOS

Let's look at an example of how to launch a Kubernetes cluster from scratch on DigitalOcean, including kubeadm, an Nginx Ingress controller, and Letsencrypt certificates.

Overview

Environment

We'll be creating a four-node cluster (k8s-master, k8s-000...k8s-002), load balancer, and ssl certificates.

Table of Contents

  1. Install Kubernetes
@ahume
ahume / concourse.md
Last active December 8, 2021 20:40
Concourse on Kubernetes

Concourse on Kubernetes

This document outlines Brandwatch's Concourse installation running on Kubernetes. The full configuration can be found at https://github.com/BrandwatchLtd/concourse-ops (internal only currently). It's a fairly new installation (1-2 weeks) and we're slowly migrating work from our existing BOSH installation to this.

Comments/questions welcome below.

Summary

@andrewjjenkins
andrewjjenkins / Dockerfile.minikube
Created January 23, 2018 21:28
Istio-Minikube and Jenkins
# Portions Copyright 2016 The Kubernetes Authors All rights reserved.
# Portions Copyright 2018 AspenMesh
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
@sdenier
sdenier / Dockerfile
Created January 16, 2018 11:16
Parameterize a multi-stage Docker build output using ARG and ENV
# Build the $MODULE target (which produces a $MODULE binary)
FROM debian:latest as builder
ARG MODULE
COPY src/ .
RUN make ${MODULE}
# Build a minimal image containing the $MODULE binary
FROM alpine:latest as product
@evancz
evancz / data-interchange.md
Last active December 31, 2024 01:04
Why do I have to write JSON decoders in Elm?

A vision for data interchange in Elm

How do you send information between clients and servers? What format should that information be in? What happens when the server changes the format, but the client has not been updated yet? What happens when the server changes the format, but the database cannot be updated?

These are difficult questions. It is not just about picking a format, but rather picking a format that can evolve as your application evolves.

Literature Review

By now there are many approaches to communicating between client and server. These approaches tend to be known within specific companies and language communities, but the techniques do not cross borders. I will outline JSON, ProtoBuf, and GraphQL here so we can learn from them all.

@posener
posener / go-shebang-story.md
Last active June 6, 2025 17:44
Story: Writing Scripts with Go

Story: Writing Scripts with Go

This is a story about how I tried to use Go for scripting. In this story, I’ll discuss the need for a Go script, how we would expect it to behave and the possible implementations; During the discussion I’ll deep dive to scripts, shells, and shebangs. Finally, we’ll discuss solutions that will make Go scripts work.

Why Go is good for scripting?

While python and bash are popular scripting languages, C, C++ and Java are not used for scripts at all, and some languages are somewhere in between.

@blangenfeld
blangenfeld / drip-fetch-all.sh
Last active December 5, 2018 18:12
Bash script for fetching ALL of a Drip account's "whatevers". Echoes results to stdout as a JSON array as they come in. Not fancy, but it works.
#! /bin/bash
# Bash script for fetching ALL of a Drip account's whatevers to file.
# Not fancy, but it works.
#
# Usage: ./drip-fetch-all.sh <resource>
#
# [email protected]
RESOURCE=$1 # subscribers, campaigns, tags, ...
@posener
posener / go-function-error-reporting.md
Last active February 12, 2024 05:32
Function Failure reporting: Error or OK

Function Failure Reporting: Error or OK

Go's "multiple return values" feature, can be used for several purposes. Among them for failure reporting to the function caller. Go has two conventions for failure reporting, but currently, no clear convention for which to use when. I've encountered different programmers that prefer different choices in different cases. In this article, we will discuss the two, and try to make the process of choosing our next function signature more conscious.

The Basics

@colynb
colynb / server.go
Created June 13, 2017 22:18
Stupid JSON server in golang
package main
import (
"net/http"
"encoding/json"
)
type Person struct {
ID int `json:"id"`
Firstname string `json:"firstname"`
@ikasty
ikasty / README.md
Last active June 18, 2024 06:46
'Cat' solution for colorized logs in docker-compose

When you use docker-compose, logs are not colorized like: before

However, you can get colorized logs using really-cute-'cat' solution. Instead of

docker-compose up

using

docker-compose up | cat