feat: Add Tailscale SSH bastion/jump host support 15/73815/2 master v0.17.0
authorAnil Belur <abelur@linuxfoundation.org>
Wed, 22 Oct 2025 12:15:25 +0000 (22:15 +1000)
committerAnil Belur <abelur@linuxfoundation.org>
Wed, 22 Oct 2025 13:14:29 +0000 (23:14 +1000)
commit040655a01331344500ebf0c5300985da0e60e54e
tree6425ea531effc00713d4028cb5758f676fd937a6
parent3d7cc9a5060cc0f44b8fb9e403dcca75de94e93e
feat: Add Tailscale SSH bastion/jump host support

Add native SSH bastion support to all OpenStack builder templates,
enabling Packer builds through jump hosts for environments where
direct access to OpenStack networks is not available.

Changes:
- Add ssh_bastion_* variables to templates with OpenStack sources:
  * ssh_bastion_host - Bastion IP/hostname
  * ssh_bastion_username - Bastion authentication username
  * ssh_bastion_port - Bastion SSH port (default: 22)
  * ssh_bastion_agent_auth - Use SSH agent auth (default: true)
  * ssh_bastion_private_key_file - Path to private key file
  * ssh_bastion_password - Password authentication (not recommended)

- Update OpenStack source blocks in all templates to include bastion
  configuration with conditional null handling for backwards
  compatibility

- Maintain legacy ssh_proxy_host support for existing deployments

Templates updated:
- templates/builder.pkr.hcl
- templates/devstack.pkr.hcl
- templates/devstack-pre-pip-yoga.pkr.hcl
- templates/docker.pkr.hcl
- templates/windows-builder.pkr.hcl
- templates/variables.auto.pkr.hcl

All bastion variables are optional with empty string defaults,
ensuring backward compatibility with existing builds that don't
require bastion access. Variables convert to null when empty, so
Packer ignores them.

This enables CI/CD environments (GitHub Actions, Jenkins) to build
OpenStack images via ephemeral bastion hosts like Tailscale SSH or
traditional jump servers.

Issue: RELENG-5850
Change-Id: If2b18067e491346b26d03da38b0ae1957c78aca1
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
releasenotes/notes/add-ssh-bastion-support-0e994a2a7f0d710a.yaml [new file with mode: 0644]
templates/builder.pkr.hcl
templates/devstack-pre-pip-yoga.pkr.hcl
templates/devstack.pkr.hcl
templates/docker.pkr.hcl
templates/variables.auto.pkr.hcl
templates/windows-builder.pkr.hcl