Latest Articles

ECS Container Logs to Slack via AWS Lambda


Saturday, June 22, 2019

This was more of a discovery article to document the process for getting logs from ECS containers into a messaging service (Slack in this case). I used data from this website’s logs, specifically when the contact form receives spam data and when people go to suspicious paths that don’t exist (primarily automated scanners looking for the WordPress login page or phpMyAdmin…). The below topics are covered: Configuring containers running in AWS ECS to send logs to AWS CloudWatch Setting the AWS CloudWatch Log Group to Stream the data to an AWS Lambda function The Lambda function code for sending the data as Slack messages Configuring ECS Containers to Send Logs to CloudWatch I’m assuming if your reading this you have familiarity with AWS ECS and so I’ll jump straight to the good bit.


Python OpenCV Face Detection on OSX


Thursday, June 20, 2019

This is a short post mainly for my reference on how to run OpenCV on OSX to detect faces from a Logitech HD Pro Webcam C920. Note, the below assumes Python 3.7 is already installed. The first step is to install the xcode command line develop tools, ffmpeg, and cmake. xcode-select –install brew install ffmpeg brew install cmake Next, install numpy using pip. pip3.7 install numpy Pull down the OpenCV source from GitHub.


How to Set Up Let's Encrypt With NGINX Docker Container in AWS ECS


Saturday, May 25, 2019

Recently I redesigned jasonneurohr.com to be more of a microservice architecture (for fun!) and in doing so initially used Cloudflare to handle the frontend TLS for the website. I used Let’s Encrypt when the site was more monolithic to provide the TLS certificates and had not had time to work out how to implement Let’s Encrypt into my CI/CD pipeline, and I wanted to solve that problem. Hence this article was written.


Connection Refused When Installing Flannel on Kubernetes


Saturday, May 11, 2019

During the setup of a Kubernetes master using Ansible, I ran into the following error when installing the Flannel pod network add-on as described in the Installing a pod network add-on in the Creating a single master cluster with kubeadm guide. “unable to recognize \“https://raw.githubusercontent.com/coreos/flannel/a70459be0084506e4ec919aa1c114638878db11b/Documentation/kube-flannel.yml\”: Get http://localhost:8080/api?timeout=32s: dial tcp [::1]:8080: connect: connection refused” The command being executed was: kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/a70459be0084506e4ec919aa1c114638878db11b/Documentation/kube-flannel.yml During the initial kubeadm init, I had followed the steps provided in the output here under a regular user account, for context the commands are:


Deploying Containers in the Amazon Elastic Container Service and Azure Pipeline Integration


Saturday, April 27, 2019

In an earlier article Building Docker Containers and Pushing them to Docker Hub with Azure DevOps Pipelines, we looked at how Azure DevOps Pipelines could be used to facilitate the container building process. This article extends on that process and covers deploying containers to the Amazon Elastic Container Service (ECS) and triggering ECS to redeploy the containers when the pipeline is run automatically. At a high level, the steps taken are:


Building Docker Containers and Pushing Them to Docker Hub With Azure DevOps Pipelines


Saturday, April 13, 2019

In this article the steps to create an Azure DevOps Pipeline that builds and pushes a Docker container image to a private Docker Hub Repository are discussed. It is assumed that you, the reader, are already familiar with Azure DevOps and Docker, specifically dockerfiles, and that you have a private Docker Hub repository already set up. In Azure DevOps, the following git repository structure is setup (noting only the layout relevant to this article is shown)


Setup a Basic Azure DevOps Pipeline


Sunday, February 3, 2019

Recently I set up an Azure DevOps Pipeline for two .Net Core projects I had published to GitHub and so as a brief reminder of the steps and some general issues I came across in doing so I created this article. This is by no means and is not intended to be an in-depth article on designing or building Azure DevOps pipelines. If you came across this article when searching for an issue with your pipeline, jump straight to the bottom of the page to the troubleshooting section.


How-to Setup a Polycom Trio Corporate Directory Part Two


Thursday, October 4, 2018

This is part two of a two-part series detailing the steps to configure Polycom Trios to utilise an external directory source such as Active Directory Lightweight Directory Services (AD LDS) enabling users to search the directory for available contacts. Setup A Polycom Trio Provisioning Server Internet Information Services (IIS) is used as the provisioning server in this article. Follow the Server Manager wizard to add the IIS role, including Security > Basic Authentication FTP Server > FTP Service Once IIS is installed perform the following steps:


How-to Setup a Polycom Trio Corporate Directory Part One


Wednesday, July 25, 2018

Polycom Trios can be configured to utilise an external directory source such as as Active Directory Lightweight Directory Services (AD LDS) enabling users to search the directory for available contacts. To facilitate the configuration of the Polycom Trios a Provisioning Server can also be implemented that will serve all Polycom Trios with a standard set of configuration elements including the connection information of the AD LDS source. In part one of two, I will detail the setup Active Directory Lightweight Directory Services (AD LDS) to house the directory objects for the Polycom Trios.


How-to Manually Install Certificates on a Polycom RMX


Monday, June 25, 2018

During some recent Polycom RMX work, it was discovered that the RMX’s (2000 and 1800) would not accept certificates into the trust store with an expiration past the year 2038, seemingly related to the article here. After some triage, I found it was possible to work around the issue of using RMX Manager which would not take the certificate by using SSH/WinSCP to manually update the required .crt and .xml certificate bundle and configuration files respectively, which I’ve detailed below.