I am configuring my raspberry pi zero w for a project in which I am using a micro-USB Ethernet (eth0) and WiFi (wlan0) as network interfaces. I am using wpa_supplicant to configure wlan0 to connect to a wireless access point. For my specific application, it is critical that wlan0 is kept down on boot and does not make any connection with networks specified in wpa_supplicant.conf until a user connects and interacts through the console. (Running something like ifconfig wlan0 up to bring the interface online and then running wpa_supplicant to load the configuration file manually.) It is not sufficient to erase/rename wpa_supplicant.conf on shutdown as this must configuration must be able to withstand random reboots / power-cycling.
Things I have tried:
I found that wpa_supplicant was a child process of systemd by default, so I tried modifying dhcpd to stop wpa_supplicant from starting on boot
tried writing a systemd service to bring the interface down on boot (ifconfig down), but I am too inexperience with systemd to configure this correctly
tried editing /etc/default/networking and adding the line EXCLUDE_INTERFACE=wlan0 to no effect (although this did strangely seem to delay the boot process)
Any ideas how I should go about configuring my pi in this manner? The ultimate goal is to ensure no outside wireless observer can see the pi until someone manually makes a wireless connection.