Skip to content

Instantly share code, notes, and snippets.

@thomaspoignant
thomaspoignant / Makefile
Last active February 6, 2026 15:00
My ultimate Makefile for Golang Projects
GOCMD=go
GOTEST=$(GOCMD) test
GOVET=$(GOCMD) vet
BINARY_NAME=example
VERSION?=0.0.0
SERVICE_PORT?=3000
DOCKER_REGISTRY?= #if set it should finished by /
EXPORT_RESULT?=false # for CI please set EXPORT_RESULT to true
GREEN := $(shell tput -Txterm setaf 2)
@steakunderscore
steakunderscore / statefulset-chmod.yaml
Last active May 23, 2023 16:45
Example of using an init container chown the data in a pvc as a pod starts.
# Example of using an init container chown the data in a pvc as a pod starts. Useful for migrating
# which user and group your containers run as.
# Works by having an init container mount your data, chmod it before it's consumed by your main container.
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: mysql-statefull
spec:
@aliuygur
aliuygur / etag-cache.go
Created October 23, 2018 14:16
etag caching example in go
/*
A client for openexchangerates.org's API
This package is a small client for openexchangerates.org's HTTP API. It
respects the HTTP etags returned by the service, and implements most of
the available methods at the moment.
*/
package openexchangerates
import (
@nstogner
nstogner / retry.go
Last active January 17, 2023 06:48
Go: Simple retry function
func retry(attempts int, sleep time.Duration, fn func() error) error {
if err := fn(); err != nil {
if s, ok := err.(stop); ok {
// Return the original error for later checking
return s.error
}
if attempts--; attempts > 0 {
time.Sleep(sleep)
return retry(attempts, 2*sleep, fn)
@johnrengelman
johnrengelman / frigga.txt
Last active September 9, 2022 14:29
Netflix Frigga Naming Schema
ASG name = frigga.group = app-stack-detail(-options)-push
frigga.cluster = app-stack-detail
frigga.push = v<sequence)
options:
- c0<value> = countries
- d0<value = devPhase
- h0<value> = hardware
@mihow
mihow / load_dotenv.sh
Last active April 20, 2026 14:50
Load environment variables from dotenv / .env file in Bash
# The initial version
if [ ! -f .env ]
then
export $(cat .env | xargs)
fi
# My favorite from the comments. Thanks @richarddewit & others!
set -a && source .env && set +a
@ldaley
ldaley / Example.java
Created April 8, 2016 00:11
Periodic background jobs in Ratpack
import ratpack.exec.ExecController;
import ratpack.exec.Execution;
import ratpack.http.client.HttpClient;
import ratpack.server.RatpackServer;
import ratpack.service.Service;
import ratpack.service.StartEvent;
import ratpack.service.StopEvent;
import java.net.URI;
import java.util.Optional;
@mdwhatcott
mdwhatcott / custom_json.go
Created July 29, 2015 17:15
Example of implementing MarshalJSON and UnmarshalJSON to serialize and deserialize custom types to JSON in Go. Playground: http://play.golang.org/p/7nk5ZEbVLw
package main
import (
"bytes"
"encoding/json"
"fmt"
"strconv"
)
func main() {
@graemerocher
graemerocher / migrate-jira-to-github-issues.groovy
Last active November 19, 2024 15:23
JIRA to Github Issues Migration Script
@Grab(group='com.github.groovy-wslite', module='groovy-wslite', version='1.1.0')
@Grab(group='joda-time', module='joda-time', version='2.7')
import wslite.rest.*
import org.joda.time.*
import org.joda.time.format.*
import groovy.xml.*
import groovy.json.*
import static java.lang.System.*
import groovy.transform.*
@reiki4040
reiki4040 / signal.go
Created October 2, 2014 14:38
signal handling example for golang
package main
import (
"fmt"
"os"
"os/signal"
"syscall"
)
func main() {