The purpose of this article is to show how to write secure web services and clients using Go and HTTPS. In researching how to accomplish this, I came across numerous articles and gists. However, none of them provided the complete picture I needed to implement a robust client or server. Most of them only provided terse code examples with equally terse examples regarding how to create the certificates needed for the code to work. Others were oriented to gRPC or plain TLS over TCP. I also wanted to understand what I was doing, not just the syntax. …
1. A basic knowledge of git and GitHub.
2. Git version 2.24.3 or higher
3. Mac development machine — Windows and Linux are also supported. Much of what’s described here is applicable to both of these. But the exact steps I followed were performed on a Mac.
4. For significant customizations beyond what’s available natively in Hugo and the chosen Hugo theme, a basic understanding of HTML and CSS will be required. More information on customizations can be found in the Appendix below
This article is a fairly detailed tutorial on how to create a full featured website/blog using Hugo and GitHub Pages. If you just want a quick overview of how to use Hugo I recommend going to the Hugo Quickstart page. If you want a quickstart on setting up a Hugo/GitHub Pages site I recommend going to the Hugo GitHub Pages quickstart page. …
This is the sixth and final article in the Develop and Deploy Kubernetes Applications on a Raspberry Pi Cluster series. It marks the transition from a purely Raspberry Pi focus to software development more generally. With the installation of a database, we will have a full-featured platform that meets our requirements for application development and deployment.
This article covers how to install and configure MariaDB, a feature-equivalent alternative to MySQL, on a Raspberry Pi. Installing is relatively straightforward. Configuring the database is somewhat more involved but still quite manageable.
Most significant applications depend on a database of some sort. As of 2019, Relational databases made up about 60% of applications’ database platforms. Of those, MySQL is one of the most popular. MariaDB is also quite popular. MariaDB and MySQL do most everything other relational databases do. …
This is the fifth article in the “Develop and Deploy Kubernetes Applications on a Raspberry Pi Cluster” series. The previous article, “Installing Kubernetes Ingress on a Raspberry Pi Cluster,” is a prerequisite and must be completed before performing the steps described in this article.
This article is about monitoring applications deployed to a Kubernetes cluster running on Raspberry Pis, specifically the monitoring infrastructure.
It’s important to note that while the focus of this article is the Raspberry Pi platform, much of what’s described, except for the ARM specific areas, is applicable to other hardware platforms.
The last section of this article is a list of references I found useful. …
This is the fourth article in a series describing the development and deployment of Kubernetes applications on a Raspberry Pi cluster. The previous article described how to install Kubernetes on a Raspberry Pi cluster. This article is about Kubernetes Ingress. The next article, Kubernetes Application Monitoring on a Raspberry Pi Cluster, covers setting up Prometheus, Grafana, and a Elasticsearch, Fluentd, and Kibana (EFK) stack on the cluster.
Despite the title, this article isn’t strictly oriented toward a Raspberry Pi deployment. …
This is the third article in the series described in Develop and Deploy Kubernetes Applications on a Raspberry Pi Cluster. The previous article covered setting up a Raspberry Pi cluster. The next article is Install Kubernetes on a Raspberry Pi Cluster.
This article is where the rubber meets the road, getting a fully operational, multi-node, Kubernetes cluster up and running. This article assumes basic familiarity with Kubernetes.
As stated in the previous article, I will not be replicating readily available information. In keeping with this philosophy, much of what’s covered in the article is actually a reference to Kubernetes on (vanilla) Raspbian Lite. This guide is part of the k8s-on-raspbian repo on GitHub maintained by TeamServerless. …
This is the second article of the series described in Develop and Deploy Kubernetes Applications on a Raspberry Pi Cluster. After completing the steps outlined in this article, you’ll be ready to learn How to Install Kubernetes on a Raspberry Pi Cluster, the next article in the series.
As this article references a couple of other articles relevant to the task, you might find it helpful to have them open in another browser window so you can cross-reference between them and this one as needed.
There are five main sections to this article:
This article is the first in a series that follows my journey to develop and deploy Kubernetes and a sample microservices style application on a Raspberry Pi cluster.
Parts of this series are intended to be a meta-resource for developing and deploying Kubernetes applications on a Raspberry Pi cluster. Common tasks such as deploying an OS on Raspberry Pi are readily available in other resources. I won’t replicate information in this series. This series will provide details in areas that aren’t not present in other sources.
Tasks in this series that weren’t performed on a Raspberry Pi (e.g. the initial setup and various admin tasks) were performed on a MacBook Pro running Catalina. …