Skip to content

Instantly share code, notes, and snippets.

View moredhel's full-sized avatar

Hamish moredhel

View GitHub Profile
# Introduction
With the rise of CI/CD in popularity over the last years, we have seen an explosion of different solutions. As these CI/CD solutions get larger, consuming more application release lifecycles they become less and less manageable in an ad-hoc manner. We see, as with most tooling, a move to declarative configuration of these tools.
# Background & Context
This talk isn't so focused on the declarative nature of the pipelines themselves, but more on the management of declarative configuration itself (Kubernetes Manifest files, Large terraform projects)
The project I worked on was serving multiple different websites for different companies across the world. This naturally came with its share of regional policies & peculiarities. Additionally, each website was managed & maintained by a subsidiary company which were all acquired at different times meaning a large variation in the technical landscape of each company.
@moredhel
moredhel / sample.yaml
Created February 3, 2020 08:49
Sample Confluence Plugin usage
resource_types:
- name: job-passer
type: docker-image
source:
repository: moredhel/keyval-resource
resources:
- name: promote
type: job-passer
icon: arrow-right-drop-circle
@moredhel
moredhel / MTG life-counter.js
Created November 3, 2019 16:59
AdaFruit Fun
input.buttonB.onEvent(ButtonEvent.Click, function () {
p2 = (p2 + 1) % max
})
input.buttonA.onEvent(ButtonEvent.Click, function () {
p1 = (p1 + 1) % max
})
input.onGesture(Gesture.Shake, function () {
p1 = 0
p2 = 0
})
@moredhel
moredhel / discord-haskell-generated.nix
Last active November 28, 2018 10:19
Haskell Discord
{ mkDerivation, aeson, async, base, base64-bytestring, bytestring
, containers, data-default, http-client, iso8601-time, JuicyPixels
, MonadRandom, req, safe-exceptions, stdenv, text, time
, unordered-containers, vector, websockets, wuss
}:
mkDerivation {
pname = "discord-haskell";
version = "0.6.0";
sha256 = "7c5b1fe3f2fa16fc2909773a6d3e57c91018193cc35cea11890c603aa0fb0288";
libraryHaskellDepends = [
@moredhel
moredhel / keybase.md
Created November 23, 2018 12:31
keybase.md

Keybase proof

I hereby claim:

  • I am moredhel on github.
  • I am moredhel (https://keybase.io/moredhel) on keybase.
  • I have a public key ASBlStHXXptEqdNsbPZl_OqqWgsI1Bh8zF8RaipeMmYX9Ao

To claim this, I am signing this object:

import os
@app.route("/env/var")
def env_var():
return "VAR: {}\n".format(os.environ["VAR"])
FROM python:3
COPY requirements.txt /
RUN pip install --no-cache-dir -r /requirements.txt
RUN apt-get update && apt install -y curl
COPY . /data
CMD ["python", "/data/app.py"]
@moredhel
moredhel / Dockerfile.squid
Last active August 31, 2017 09:35
Supporting files for blog post https://container-solutions.com/
FROM sameersbn/ubuntu:14.04.20170123
MAINTAINER sameer@damagehead.com
ENV SQUID_VERSION=3.3.8 \
SQUID_CACHE_DIR=/var/spool/squid3 \
SQUID_LOG_DIR=/var/log/squid3 \
SQUID_USER=proxy
RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 80F70E11F0F0D5F10CB20E62F5DA5F09C3173AA6 \
&& echo "deb http://ppa.launchpad.net/brightbox/squid-ssl/ubuntu trusty main" >> /etc/apt/sources.list \
&& apt-get update \

The following is a description of the coverage phase.

type ObjectMap = Immutable.Map<Name, ObjectLitType>
type Name = string;

interface ObjectLitType {
    type: 'object-lit',
    properties: Immutable.Map<String, Immutable.List<Type>>
    call?: Immutable.List<FunctionLitType>
}
@moredhel
moredhel / rkt.log
Created August 14, 2016 11:07
rkt --insecure-options=image run --net=host hello-0.0.1-linux-amd64.aci --debug
image: using image from local store for image name coreos.com/rkt/stage1-coreos:1.12.0
image: using image from file hello-0.0.1-linux-amd64.aci
stage0: Preparing stage1
stage0: Writing image manifest
stage0: Loading image sha512-e01c15814158e68c325713dbf90c846dc3a25a4466dc3b1c33e2a0c9dd8f22a7
stage0: Writing image manifest
stage0: Writing pod manifest
stage0: Setting up stage1
stage0: Wrote filesystem to /var/lib/rkt/pods/run/711393a8-badc-402f-a172-c9d6c2470cae
stage0: Pivoting to filesystem /var/lib/rkt/pods/run/711393a8-badc-402f-a172-c9d6c2470cae