| Aspect | Open Source | Enterprise |
|---|---|---|
| Governance | Maintainers, community consensus, meritocracy-based influence | Empowered teams, lightweight oversight, guardrails over gates |
| Code Review | Public PRs, async reviews from global contributors, emphasis on transparency | Small PRs, fast feedback loops, pair/mob programming as alternative |
| Documentation | README-driven, contributor guides essential, public wikis | Living documentation, lightweight ADRs, docs as code |
| Branching Strategy | Fork-and-PR model, contributors work in personal forks | Trunk-based development, short-lived feature branches (< 1 day) |
| Communication | Public channels (GitHub issues, Discord, mailing lists) | Co-located teams (in space /and or time), minimal ceremony |
| Release Cadence | Varies widely, often semver-based, maintainer-driven | Continuous delivery, deploy on merge, feature flags for controlled rollout |
| Testing | CI on PRs, community-contributed |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 🌩️Thunder Recap: https://youtu.be/AwwhHW4Ev38 | |
| ⚡️Enlightning Long Form: https://youtu.be/LRXU-cj6CDA | |
| Observability is about better understanding what is happening in a system | |
| ✶ fix problems | |
| ✶ find issues | |
| ✶ build confidence | |
| Common data types in observability |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| # based on: https://stackoverflow.com/questions/47524709/how-to-get-the-full-path-of-a-file-in-a-git-remote-repo | |
| #set -o xtrace | |
| set -o errexit | |
| set -o nounset | |
| set -o pipefail | |
| function usage { | |
| echo "$0 [ -h/--help ] [ FILENAME ]" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| pool: | |
| vmImage: 'Ubuntu 16.04' | |
| steps: | |
| - bash: | | |
| npm install -g eclint | |
| eclint check eclint check $(git ls-files) | |
| failOnStderr: true | |
| displayName: 'Check EditorConfig violations' |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/sh | |
| # based on https://gist.github.com/ipedrazas/9c622404fb41f2343a0db85b3821275d | |
| # delete all evicted pods from all namespaces | |
| kubectl get pods --all-namespaces | grep Evicted | awk '{print $2 " --namespace=" $1}' | xargs kubectl delete pod | |
| # delete all containers in ImagePullBackOff state from all namespaces | |
| kubectl get pods --all-namespaces | grep 'ImagePullBackOff' | awk '{print $2 " --namespace=" $1}' | xargs kubectl delete pod | |
| # delete all containers in ImagePullBackOff or ErrImagePull or Evicted state from all namespaces |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #remove old | |
| sudo apt-get remove docker docker-engine docker.io | |
| sudo apt-get update | |
| sudo apt-get install apt-transport-https ca-certificates curl software-properties-common | |
| curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - | |
| sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu xenial stable" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Here is an example of some syntax I'm proposing: | |
| # See the github repo at https://github.com/mikeckennedy/python-switch | |
| def test_switch(): | |
| num = 7 | |
| val = input("Enter a key. a, b, c or any other: ") | |
| with Switch(val) as s: | |
| s.case('a', process_a) | |
| s.case('b', process_b) |
Helper setup to edit .yaml files with Vim:
List of general purpose commands for Kubernetes management:
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import random | |
| HANGMAN = [ | |
| '________', | |
| '| |', | |
| '| O', | |
| '| |', | |
| '| /|\ ', | |
| '| |', |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # By default, Docker containers run as the root user. This is bad because: | |
| # 1) You're more likely to modify up settings that you shouldn't be | |
| # 2) If an attacker gets access to your container - well, that's bad if they're root. | |
| # Here's how you can run change a Docker container to run as a non-root user | |
| ## CREATE APP USER ## | |
| # Create the home directory for the new app user. | |
| RUN mkdir -p /home/app |
NewerOlder