Skip to content

Replacing RSA keys and adding support for ed25519 by default

What does this MR do?

  1. Replaces RSA keys with ED25519 keys as the default private/public key pairs used between the Runner and the Fargate instances.
  2. Note: Bumps minimum Go Version to 1.15 due to some ED25519 API's used. I don't control the CI pipelines on this project so the CI/CD images might need to get updated to Golang 1.15.

Why was this MR needed?

  1. Currently RSA keys take a long time to generate, this MR makes key generation noticeably faster.
  2. ED25519 has become the standard on "modern" SSH Key Generation tasks, and it's even the default recommendation on the Gitlab Docs.
    • Historical Note: OpenSSH 6.5 introduced ED25519 SSH keys in 2014.
  3. Using ed25519 allows recent alpine containers with OpenSSH >= 8.8 to work due to the issues reported in #50 (comment 803947236)

What's the best way to test this MR?

  1. Regular instructions in https://docs.gitlab.com/runner/configuration/runner_autoscale_aws_fargate/ still apply. Everything works functionaly the same except a new key algorithms is being used under the hood.
  2. Tested on my own ECS cluster on Alpine 3.15 based images and Debian Bullseye based images.
  3. CI Images likely need to be updated to at least Go v1.15

What are the relevant issue numbers?

  1. #50 (closed)
Edited by Brian Williams

Merge request reports