Telegram Bot for GitHub Actions

Telegram Telegram is a cloud-based mobile and desktop messaging app with a focus on security and speed. It is free to use and extensively hackable. It also has a good bot support system. The API is also easy to implement and has many wrappers for building bots with the API. GitHub Actions GitHub Actions is a CI/CD runtime for your GitHub repository. You can run almost anything from scripts to docker containers. You can build, test and deploy your code with GitHub Actions. All these actions are called workflows and workflows differ in the job they’re doing. These maybe test workflows, build ones or deployment ones. You can find all the actions on GitHub in the marketplace ...

October 7, 2025 · 2 min

Self-hosted Kubernetes on bare-metal with Bootkube/Matchbox

10/22/2017: Updated post on this method I use a cobbler VirtualBox VM on my laptop to PXE boot my three bare-metal servers in my home lab for OpenStack. This enables me to quickly test new OpenStack deployments with setting three “–netboot” cobbler values to true and then rebooting my servers. Cobbler takes care of PXE booting my servers with Ubuntu and with my specific partitioning scheme. I can then use Ansible to prepare my three nodes and then use Ansible to lay down OpenStack. ...

March 18, 2017 · 12 min · Shane Cunningham

Scale your Kubernetes cluster with OpenStack Magnum

Quick post on how easy OpenStack Magnum makes scaling your Kubernetes clusters up or down. I spun up a one controller, one worker node Kubernetes cluster. Scaling this cluster up and down, where Magnum takes care of adding and removing the worker node to the cluster, is only one command each way. $ kubectl cluster-info Kubernetes master is running at https://192.168.88.233:6443 KubeUI is running at https://192.168.88.233:6443/api/v1/proxy/namespaces/kube-system/services/kube-ui $ kubectl get nodes NAME STATUS AGE 10.0.0.3 Ready,SchedulingDisabled 6m ku-ptzjkk2wew-0-b2tsvzrd63o4-kube-minion-uol3nin7zndb Ready 4m root@infra01-utility-container-e6fba879:~# nova list +--------------------------------------+-------------------------------------------------------+--------+------------+-------------+----------------------------------+ | ID | Name | Status | Task State | Power State | Networks | +--------------------------------------+-------------------------------------------------------+--------+------------+-------------+----------------------------------+ | 643e4ad8-a9db-44c8-b236-8536efc5fc44 | ku-4b3scjlreg-0-jvxjrtd2b7lg-kube-master-wri52qlujljn | ACTIVE | - | Running | private=10.0.0.3, 192.168.88.233 | | 0aa58f68-b05c-4c3d-b54b-93848132d2f4 | ku-ptzjkk2wew-0-b2tsvzrd63o4-kube-minion-uol3nin7zndb | ACTIVE | - | Running | private=10.0.0.4, 192.168.88.227 | +--------------------------------------+-------------------------------------------------------+--------+------------+-------------+----------------------------------+ We use the cluster-update command to add another worker node. ...

February 8, 2017 · 3 min · Shane Cunningham

Installing OpenStack Magnum using openstack-ansible

An Ansible role was developed we can use with openstack-ansible to deploy OpenStack Magnum. This is still somewhat early in development so it’s likely these steps will change soon. You’ll need an OpenStack environment already deployed with openstack-ansible and functioning correctly. In my environment I had one controller node and 1 compute. I found Kubernetes refused to deploy a worker/minion on the same compute node as the master was deployed on, so if you’re doing Kubernetes you might want at least two compute nodes. ...

December 7, 2016 · 8 min · Shane Cunningham