Airflow: Kubernetes Operator

November 4, 2019

DAG example using KubernetesPodOperator, the idea is run a Docker container in Kubernetes from Airflow every 30 minutes.

Features:

  • Scheduled every 30 minutes.
  • Set environment variable for the pod RULES.
  • Run the pods in the namespace default.
  • Mount a volume to the container. It's just an example mounting the /tmp from host.
  • Set imagePullSecrets for private Docker registry.
Read more

Git: Copy a file between branches

October 30, 2019

Let's assume we have a two branches (A, B), and we want to move the file test.xt from branch A to branch B.

git checkout B
git checkout A -- test.txt
git status
git commit -m "Copy file test.txt"
git push

Git: Delete commits history

May 16, 2019

You can not delete the commit history from a branch, but you can create a new branch (without history because is new), push the files to the new branch and then delete the old branch.

The next example shows how to recreate the master branch.

# Create temporary branch
$ git checkout --orphan temp

# Add and commit all the files
$ git add -A
$ git commit -m "init"

# Delete current branch
$ git branch -D master

# Rename current branch to master
$ git branch -m master

# Push all the files to the new master branch
$ git push -f origin master

Ansible: for each loop

March 29, 2019

Example of how to do a for each (foreach) loop in a task with a predefined dictionary.

Example on Python

for key, value in dictionary.items():
    # do stuff

Example on PHP

foreach ($dictionary as $key => $value) {
    # do stuff
}
Read more


Kubectl autocompletion in macOS

March 20, 2019

macOS Catalina doesn't support anymore bash and came with zsh, I didn't test this guideline in the macOS Catalina or Big Sur.

macOS comes with a really old bash version. Check the version from the environment variable..

$ echo $BASH_VERSION
3.2.57(1)-release

We can install a newer version of bash via Homebrew package manager, get Homebrew from here https://brew.sh.

Read more