Author Archives: Dave Lee

Admin Admin Podcast #086 Show Notes – Committed to Cloud

The whole crew is back together for the first time in a while, talking about: Git commit hooks, Windows as a development environment, cloud network firewalls, and Azure DevOps.

What have we been up to?

  • Jerry started a new job, and he’s re-started using Windows 10 as part of his job after a few years of using OSX and Linux. He’s using Windows Subsystem for Linux (WSL). We talk a bit about the difference between WSL 1 and WSL 2, and comment about how WSL 2 uses Hyper-V and what that means compared to using VirtualBox or VMWare for virtual machines. We compare WSL 1 to a “reverse” WINE.
  • Stu mentions that you can’t run some network controls (like traceroute) with WSL 1 because some of the kernel calls are not available.
  • Jon notes that he used the terraform for Windows binary in WSL by mistake and couldn’t authenticate to AWS because he’d installed the AWS CLI for Linux. Installing Terraform for Linux and also putting the AWS configuration files into both the Linux expected path (~/.aws/config) and the Windows expected path (%UserProfile%\.aws) worked around this issue!
  • Jon then mentions using /etc/wsl.conf to configure mounting the Windows drives into WSL, and notes that you can configure it to permit POSIX style file permissions with this sample:
[automount]
options = "metadata"
  • Jon also creates a symbolic link between /mnt/c/Users/Jon/Documents and ~/Documents to “easily” get into the Windows paths that are backed up in Windows.
  • Jerry notes that he’s using the Windows version of Virtual Desktops. He’s also using the Microsoft Terminal application.
  • Al mentions that if you navigate to \\wsl$ in Windows Explorer, you can access the Linux file system from Windows Subsystem for Linux. Stu mentions he has this open in the left hand pane in Explorer all the time!
  • Al said he’s using Visual Studio Code (VSCode), and uses that to open Windows Subsystem for Linux, and he also mentioned that if you type in code in any path in WSL (or Command Prompt, for that matter [ed.]) it will open that folder in Visual Studio Code.
  • Jerry notes that he’s just moved to using VSCode, but has installed the Vim extension. Jon asks whether he’s installed the “Butterflies” extension, referring to an XKCD comic.
  • We talk briefly about using Git in VSCode, versus using it from the command line. Jon mentions a specific bug he has. Jon talks about the differences in line endings between Linux and Windows systems.
  • Al talks about using Azure DevOps with it’s pipelines. We talk about it’s history, and compare it to other products. Al mentions using Azure DevOps to trigger Terraform using PowerShell. Al also mentions using AWX (the open source upstream version of Ansible Tower), and having an agent for Azure Devops running on his AWX service.
  • Jon mentions the DevOps.fm podcast in the context of Azure DevOps. Stu asks about running PowerShell on Linux. Jerry mentions a Binary Times podcast episode where they interview the person, “dementor”/”the mentor” who runs the Powershell On Linux, Al mentions the Makers Corner podcast which also interviewed the same person.
  • Jon is writing Terraform to deliver 3rd party security appliances in AWS and Azure. He notes that most of the AWS appliances use a Transit Gateway to set this up. Jerry and Stu mention how they use Terraform Modules. Jerry mentions automating Jenkins with Terraform. Stu and Jon talk about using count and for each statements. Jon also mentions about defining which “providers” to use in the Terraform files. He also notes that you can get into a dependency loop if you have several modules with different provider files. Talking of Providers, Jon mentions using the “null” provider, but doesn’t explain what he uses it for.
  • Jon talks about Git hooks, and Jerry talks about a python project called pre-commit which can help to automate some of these pre-commit hooks, like calling a linter or a unit testing system (like ShellCheck) before the commit completes. Stu mentions using the GitLab Continious Integration (CI) system instead of using Pre-Commit hooks. Jon suggests when it might be preferable to use Pre-Commit hooks instead.
  • Stu mentions about SourceHut, which is an alternative to GitHub which uses email for patch sharing.
  • Al talks about using the Azure Firewall product, and Jon and Al drills down into how Azure Networking works. Jon then explains how High Availability events occur in AWS and Azure with 3rd party firewalls. Jon also mentions AWS Firewall Manager. Jon also mentions that Terraform and Ansible have code to write and amend AWS and Azure Firewall rules.

Feedback

  • We received feedback (although the source has now been lost) about how we pronounced “Oriented” as “Orientated”. These are both valid words in UK English and are interchangable in UK English.

Wrap up

We’re a member of the Other Side Podcast Network. The lovely Dave Lee does our Audio Production.

We want to remind our listeners that we have a Telegram channel and email address if you want to contact the hosts. We also have Patreon, if you’re interested in supporting the show. Details can all be found on our Contact Us page.

Admin Admin Podcast #085 – Verbosely build your objects

In this episode, without Jerry this time, we talk about Object Orientated Programming, provisioning machines with Terraform, Ansible, and Azure DevOps, and how to build new machines.

Show Notes: https://www.adminadminpodcast.co.uk/ep085sn/

Admin Admin Podcast #085 Show Notes – Verbosely build your objects

No Jerry this time, but we do have Al back!

What have we been up to?

Feedback

  • Wayne (from the Binary Times podcast) contacted us to suggest that we’re not being very good at explaining what terms mean. We try to clear some of the terms up that we use!

Techniques for Rebuilding a machine using Post-Provisioning Tools (like Ansible)

  • Jon suggests a process of using Git on /etc/ and /home/<user>/ with Vagrant to test each stage of the build, and to see what files are changed by each action performed. Once you’ve got your build instructions based on that, you can use something like Ansible, SaltPuppet or Chef to apply pos-install statements.
  • Stu mentions using Chocolatey for installing packages in Windows. Jon mentions that using BoxStarter works well for automating Chocolately installs. He mentions using boxstarter paths which are currently not documented – https://boxstarter.org/package/<yourpackage> and https://boxstarter.org/package/url/?some_path_to_a_boxstarter_set_of_instructions.
  • Jon mentions the Ubuntu Server Vagrant Box file, and the Desktopify script written by Martin Wimpress. He also talks about provisioning Windows machines where Terraform renames machines and adds them to the Active Directory Domain.

Object Orientated Programming

  • Al wanted to know more about what Object Orientated Programming (OOP) is, as he’s started looking at ASP.NET and has previously only known Classic ASP. Jon talks about it from his previous PHP experience and perspective. Jon talks about when he used OOP in a previous role to perform network device backups. Jon mentions he’d used OOP in CCHits.net and the now defunct CampFireManager.

Wrap up

We’re a member of the Other Side Podcast Network. The lovely Dave Lee does our Audio Production.

We want to remind our listeners that we have a Telegram channel and email address if you want to contact the hosts. We also have Patreon, if you’re interested in supporting the show. Details can all be found on our Contact Us page.

Admin Admin Podcast #084 Show Notes – Git your stack here!

  • Al couldn’t make it for this recording cry
  • Jon broke his QNAP NAS with Debian. He doesn’t go into any details, and will leave it to another show (as long as he can remember what he did until then)!
  • Stu has been blogging, now on Consul, Saltstack and Prometheus on LOTS of different platforms.
  • Jerry started a new job. The CTO at his new firm is possibly a listener! His NAS has failed, and he’s building a ZFS mirror to move the data to. He used Syncthing to move the data off to another drive, and is using Backblaze to run a backup.
  • We discuss possible other uses of Syncthing, in particular, one YouTube creator talks about how he uses SyncThing for his video editing workflow (part 2).
  • Jon also mentions that he’s been watching some of Martin Wimpress’ YouTube channel, and in particular, the series where he created the Desktopify script for turning a Raspberry Pi Ubuntu Server image into a Desktop Flavour.
  • We talk about “Hashistack” (referring to the collection of tools released by Hashicorp, which are “Terraform“, “Packer“, “Consul“, “Vagrant“, “Vault” and “Nomad“). All the hosts provide summaries of how each of these tools work (except Nomad) and why you might use them.
  • We discuss using Git.
    • Jon talks about DangItGit (and a slightly more rudely named version of that site), and mentions a comic on XKCD about Git.
    • Then he mentions some of the things about git which may give it a bit of a bad name, like SubModules.
    • He also mentions that you can use “hooks” which are scripts that run before or after certain actions (like a commit or a push), and Stu talks about how he’s used that in the past.
    • Stu also talks about some of the tools in Github and Gitlab which are similar to hooks, that run when Github or Gitlab actions occur (like a pull/merge request being raised, or an issue being opened).
    • Stu also talks about CI/CD pipelines and Gitlab runners.
    • Stu and Jon talk about Pull Requests (Github terminology) and Merge Requests (Gitlab terminology). We all talk about Issues and Wikis within Github and Gitlab.
    • Jon talks about what a Fork is.
    • Stu reminds us that Git is not the only version control system, and that Subversion (SVN) is also out there. Jerry mentions CVS. Jon mentions Mercurial (HG) and we talk about where version control systems have come from.
    • We diverge into how Blockchain is similar to Git… and why it isn’t the same.

We’re a member of the Other Side Podcast Network. The lovely Dave Lee does our Audio Production.

We want to remind our listeners that we have a Telegram channel and email address if you want to contact the hosts. We also have Patreon, if you’re interested in supporting the show. Details can all be found on our Contact Us page.

Admin Admin Podcast #083 Show Notes – Parameterize This

  • Jon has reinstalled his QNAP NAS with Debian.
  • Jerry has been running Folding@Home with in his K8S environment.
  • Jon mentioned BOINC which he erroniously mentioned was what Folding@Home uses – it’s not, but there are other BOINC projects and that you can run, and that you can run BOINC on Android. You can’t run Folding@Home on Android.
  • Stu was blogging about managing Arista EOS with Ansible, and that he’s working on his next posts, firstly managing the MikroTik RouterOS in the same way, and also he’s looking at building a OpenBSD based equivelent too.
  • Al has been working with Terraform. He’s moving from using ARM templates to using Terraform Configuration Files.
  • Jerry suggests building a VM to a patched image, and then deploying the patched image instead of just building up a machine from a stock market image.
  • Al is doing something like that already.
  • Jon suggests some naming conventions with regards to Terraform configuration files. He also suggests using modules in Terraform. Stu and Jerry do the same thing.
  • Stu mentions that Terraform modules can be used with git tags.
  • Stu also suggests not provisioning EVERYTHING with the same directory of configuration files.
  • The team reviews the operations of the Terraform binary.
  • Stu mentions that Terraform has a lifecycle setting which may prevent accidental deletion of resources.
  • Al is also moving to using Ansible to post-provision the virtual machines.
  • Jon talks about how Ansible Tower and it’s upstream open source project, AWX, works, including scheduling, credential abstraction and the availability of web hooks.
  • Al talks about how he’s looking to use Ansible against his environment, and looks for some better practices in using Ansible.
  • Jerry suggests using inventory and roles. Stu suggests using tags to only run parts of the playbook. Jon uses conditionally included roles instead of using tags.
  • Jon explains about Ansible Galaxy, Roles and Collections, based on his attendance of a talk about the Ansible roadmap at Red Hat Summit. Stu mentions using ansible-galaxy to create role template directories.

Astute members of the community will notice that we’re now a member of the Other Side Podcast Network.

We want to remind our listeners that we have a Telegram channel and email address if you want to contact the hosts. We also have Patreon, if you’re interested in supporting the show. Details can all be found on our Contact Us page.

Admin Admin Podcast #082 Show Notes – The Four Amigos

TRIGGER WARNING: We mention the current Covid-19/Coronavirus situation a few times in the podcast, but without really going into any details about it.

We add Stu to our permanent line-up! Welcome Stu!

Al started a new job. He’s doing Agile working, with sprints and standups. They’re On-Prem and in Azure. He’s considering looking at Ansible with AWX to standardise their builds. He’s started using Slack, and noted that the company he works for uses Slack rather than Email for most conversations.

We talk about using GMail instead of Exchange. Jon mentions about a blog post talking about improving workflow in GMail following a comment in the Bad Voltage community slack.

Jerry mentions that Slack’s free plan has a limit on the number of messages you can recall. Stu mentions that his company were using Slack, but that they’ve started the migration to MS Teams. Jon mentioned that the backgrounds in Teams videocalls can be changed, or set to a blur. [New Path?]

Jon explains what CI/CD/CD stands for and explains what it can be used for. He also mentions that he wrote some AWX deployment scripts as part of a Gitlab and AWX demo which might be useful. He also mentions that he recorded a video about how AWX works.

Jon explains that he’s been writing documentation at work, and that outside work, he’s building a card playing game script that is based on the code he wrote for talk scheduling at OggCamp and inspired by the code he wrote for CCHits.net. Al also notes that Laravel is good for a PHP framework, and mentioned that Jon suggested it to him…

Al mentions playingcards.io as an alternative to writing his own game, and said he uses that to play Cards Against Humanity. Jon counters with houseparty.com .

Al then said that he’s using Git at work, which is the first time he’s using Git at work, rather than just in his personal life. Jon asks if Al’s signing his commits, and suggests using krypt.co to perform Two Factor Authentication (2FA) where you pair your phone to a browser and use the phone as the U2F authenticator, and it also has a mode where you can also pair the phone to enable signed git commits and use the phone as an separate SSH key provider too, if you turn the “developer” switch on in the phone app.

Stu talks about bypassing AWS network architecture moving to linux based routers, moving Prometheus/Consul into production, and why they’re doing that, and about some blogs he’s been writing about automating network products with Ansible. Jon talks about the Ansible modules moving out from Ansible core, and into Ansible Collections. Jon mentions looking at Nebula instead of changing the AWS network architecture, and explains how this works with NAT environments. He makes reference to a Pull Request he’s raised to add more documentation. We talked about Nebula in Episode 80.

Jerry has just got a new job, which is a permanent role, making a change from his previous freelance environment. Until that job starts he’s been writing some documentation on Disaster Recovery for sysadmin with VProtect, and also been looking at providing some support to a developer to provide configuration management tooling and new images with Packer [ ].

Al mentions that another podcast (the Mike Tech Show) had a question about using appliances that need IPv6, when you don’t have IPv6, like several of the hosts have with PlusNet. Jon used Hurricane Electric to create an IPv6 gateway. The downside to this was that the connection became much more flakey because you’re effectively using Hurricane Electric as a VPN provider. Stu mentions that this is likely to be because of “Happy Eyeballs“. We talked about Jon’s IPv6 gateway in Episodes 73 and 72.

Jerry mentions that he had an interesting situation because of his printer and was being detected on it’s IPv6 address, not on the IPv4 address. Jon makes some suggestions on alternatives using trunking or VLANs. We discuss how complicated our networks are, and what our partners/spouses will do if we’re not available in case of a disaster with that network.

We want to remind our listeners that we have a telegram channel and email address if you want to contact the hosts. We also have Patreon, if you’re interested in supporting the show. Details can all be found on our Contact Us page.

Admin Admin Podcast #081 Show Notes – Contain your enthusiasm

With the guys all back together, they talk about the Fully Automated Install (FAI) system, Kubernetes, and their recent projects.

Jerry mentions K3S – a simple Kubernetes (K8S) deployment, Jon mentions he’s reimaging Windows on his Laptop, and has been working on his AWX (he says Ansible Tower, but means AWX) install and configure Github Repo. Al has a new Job doing DevOps on Azure and mentions CI/CD (Continuous Integration and Continuous Delivery or Deployment) and Azure DevOps. The new job will be more Agile, and be working in Sprints.

Al talks briefly about SnapRaid and MergeFS. With the assistance of Stuart, who previously guest hosted, they have been building a dashboard for Prometheus with Node Exporter and Grafana that shows a lot of the automated tasks that Al previously received by email, and now he just has that as his opening tab on his browser.

Jerry talks about what he’s done with K3S. Jon mentions he also has done some stuff with K3S and that he has that published in a Git Repo. The Git Repo he’s created also includes a script to deploy to multiple machines and to include MetalLB to make K8S provide a load-balanced connection across multiple K3S nodes, without needing an external load balancer. MetalLB also lets you advertise addresses over BGP.

Jerry says that Plex can use multiple nodes to transcode. He also wants to mount persistent volumes with NFS, and so he’s experimenting with K8S to do this. Jon mentions Rook to do cross-cluster persistent volumes, and it can use Ceph to do that.

Al asks why use Kubernetes rather than Docker. Jerry and Jon give their viewpoints. Jon mentions a blog post called “‘Let’s use Kubernetes’, now you have 8 problems” and some courses on Pluralsight about the Container big picture, as well as deep dive courses on Docker and Kubernetes. Jerry mentions Podman.

Jon talks about the youtube video he recently recorded, and the inspiration for it, in a video by podcaster Chris Hartjes he found on Pluralsight. The video is about Vagrant, Ansible and Inspec. Alan Pope (@Popey from the Ubuntu Podcast and the User Error podcast) suggested publishing the video on Lbry too, which Jon did. Jon talks a little about Lbry. Jerry and Al talk about how they consume content, and Jon talks about his motivation (mostly because of a comment from Reggie from The Coolest Nerds in the Room Podcast).

We talk about a question from Yannick in the Telegram group, which is where he asks if we can advise on “Setting up a secure access to your home network : the bad way, the better way and the best way”. We talk about SSH, running VPNs (like OpenVPN) using PFSense, or using Raspberry Pis (using PiVPN). Streisand (which provides tools like IPsec with IKE, OpenVPN, OpenConnect, and Tor).

Jerry talks about FAI – the Fully Automated Install project that he has used at work as a tool to build Debian based systems and CentOS based systems.

We mention that we have a Patreon account, and encourage our listeners to join us in our Telegram group.