Skip to content

Instantly share code, notes, and snippets.

@ahume
ahume / kuber.yaml
Last active March 4, 2021 22:33
Example Kuber file used to configure kuber-cli
service: inventory-service
description: gRPC service for querying and updating data from the core inventory.
visibility: cluster
documentation: https://docs.google.com/12345
codeRepository: https://github.com/BrandwatchLtd/inventory-service
deploy:
cluster: prod-maurice-aws
namespace: default
restartPods: true

Introducing Conduit

In progress thoughts about introducing Conduit into our clusters.

CD pipelines

All our Kubernetes manifests are defined in Git and applied to the cluster via automated deployment pipelines. The standard procedure to deploy is to introduce a change to this git repo (these changes are themselves automated), which is then applied to the k8s cluster.

Conduit is a departure from this because it encourages an injection process which relies on an out of repo dependency (other than kubernetes itself). The objects that end up in Kubernetes are NOT defined in Git, and are a function of our own manifests plus the version of Conduit that happens to be installed locally (in the CD environment). This makes people nervous.

package main
import (
"encoding/base64"
"fmt"
"net/http"
"os"
"github.com/concourse/go-concourse/concourse"
)
@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

GET /objects
GET /objects/123
PUT /objects/123
DELETE /objects/123
const router = require('gcframe-router');
function helloWorld (req, res) {
return res.send(`Hello ${req.params.name});
}
module.exports = {
helloWorld: router('GET', '/:name', helloWorld);
}
@ahume
ahume / ahume.pub
Created November 1, 2017 13:57
ahume public gpg key
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v2
mQENBFhlM74BCAD3QSJT+AvsmqtH6hF2jLGXzqegt0Rq+O/Uq3gnnUJFOkbvAPHA
OkCBwy19fxu1pGIJS/fF8fv4h2jeheYy1vP9Om2Smnv89HiZtVma43g6svo8t4s7
3qj9cNcs6itnUaBpur52OBV5/jsSTQ4f/jPFpvNXsoeIGDny255aRRPTpy6mgtC5
PPJnSb073ckBHO1Rx4HsB8zUaI2Z7ks5DWykxizqDVrM54hyuZWyo2F9HI2UiaJB
nMA9Vqiivikz+IOaqm3f5cNrBpb778y2TbzDge/KeyohKiMZYIgPJ/X/+wnS703a
4xQ/nYPwE9pL2aULKOsafFpUJ5vuHvY62aydABEBAAG0GmFodW1lIDxhbmR5aHVt
ZUBnbWFpbC5jb20+iQE5BBMBCAAjBQJYZTO+AhsDBwsJCAcDAgEGFQgCCQoLBBYC
1
@ahume
ahume / forconcourse.txt
Created November 7, 2016 09:04
for concourse
hello
@ahume
ahume / demo.md
Last active September 27, 2016 10:35
cloud platform demo

# Cloud platform demo

  1. Rob: Infrastructure and infra pipeline
  • Project on GCP, wants a Kubernetes cluster.
  • Here's a project config.
  • Push a PR, watch tests.
  • Get PR approved.
  • Merge PR, watch deployment. Note deployment in Deployments Dashboard.
  • Note cluster in GCP console. Connect to cluster. kubectl cluster-info