macOS setup for development

Mostly documenting for myself, but these are the steps it took to get quickly up to speed in macOS with php, composer, docker for development.

Disable blocking apps from the internet:

sudo spctl --master-disable

Now, install the applications that we want from known sources.

ssh agent forwarding on osx via ssh gotcha

With Docker Desktop for Mac, its finally possible to forward the ssh agents from the host through to a container. Wooohooo.

But. If you are accessing the Mac itself via ssh, then any ssh identities that are forwarded cannot be forwarded into the container.

Eg, I was on Linux, ssh'ing to the mac and trying to bring up the docker containers with the identity. It doesn't work, couldn't get the identities to come through.

Drupal 9 install not importing modules optional configuration

I had an issue with running site-install on a Drupal 9 site where the exported views in the config/optional directory were not being imported.

After some diagnosis, the reason is that there was a change and now the optional config is imported before the install profile is activated - See change record - https://www.drupal.org/node/3118908

My problem was there were user roles in the config/install of the profile that the exported views depended on.

Get chromium back on Ubuntu without having to use the snap

With Ubuntu 19.10, they moved Chromium from a .deb to a snap install only.

This makes browser startup times much slower and causes weird effects when saving files, and basically made me stop using Chromium as a consequence :-(

Today I found this article which gave the info on how to switch back to a .deb installed chromium and get back to normal.

https://shevchuk.co/notes/2019/12/13/install-chromium-on-ubuntu-1910-from-debian-instead-of-snap

Speed up your development by converting your VM to an LXD container.

Are you still stuck using a VM and NFS to edit your website code?
Did you know you can run a fairly simple process inside a running VM that will convert it to an LXD container?

It took a bit of figuring out, but the reduced memory usage, increased speed and easier directory sharing make it will worth the effort.

This assumes an existing VM which you can already log into. The approximate steps required are:
1. Install lxd - I initially installed with apt, but its an older version, so probably better to install the snap instead.

Port forwarding to get around corporate firewall restrictions

Let me take you on an adventure.

Today I needed to access a service inside a corporate network, but the service is firewalled from external use, and also from access via the VPN.

The suggestion was to use a machine already internal to the network and some port forwarding to get around this restriction. Ahah, I can get around this with a small container on the OpenShift cluster I thought.

So I need a tiny container just for forwarding ports. Google turned up - https://github.com/derkork/socat-openshift.

Docker inside a proxmox lxc container

Warning - this reduces security

Find the id of the container, you can list active containers with:

pct list

Edit the container config like:

vim /etc/pve/lxc/113.conf

Add the extra lines:

lxc.apparmor.profile: unconfined
lxc.cgroup.devices.allow: a
lxc.cap.drop:

Shutdown and restart the container.

To enable aufs/overlay in the container, it actually needs to be loaded on the proxmox host, this can be done with: