Skip to content

Latest commit

 

History

History
712 lines (440 loc) · 35.9 KB

CHANGELOG.md

File metadata and controls

712 lines (440 loc) · 35.9 KB

Changelog

5.0.1 (2022-05-20)

Bug Fixes

  • Pass token to metadata service requests. (85f59ff), closes #476

5.0.0 (2022-05-20)

⚠ BREAKING CHANGES

  • The module is upgraded to Terraform AWS provider 4.x. All new development will only support the new AWS Terraform provider. We keep a branch terraform-aws-provider-3 to witch we welcome backports to AWS Terraform 3.x provider. Besides reviewing PR's we will do not any active checking on maintance on this branch. We strongly advise to update your deployment to the new provider version. For more details about upgrading see the upgrade guide.
  • By default, AWS metadata service ((IMDSv2)[https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html]) is enabled and required for both the agent instance and the docker machine instance. For docker machine this require the GitLab managed docker machines distribution is used. Which the module usages by default.

Co-authored-by: Matthias Kay [email protected] Co-authored-by: Mustafa Abdul-Kader [email protected] Co-authored-by: Steve Wilson [email protected]

Features

4.42.0 (2022-05-16)

Features

  • Add option to specify prometheus metrics listen address #478 (d441e27)
  • support runner AuthenticationType configuration (7d3617e)

Bug Fixes

  • join the volumes with \n instead of , (#480) (f9de728)

4.41.1 (2022-03-07)

Bug Fixes

  • remove the null resource (#441) (3037c54)
  • Replace default GitLab version and fix for docker-machine download url. (#458) (c8113bb), closes #457 #456

4.41.0 (2022-02-27)

Features

  • Support multi-region deployments (#437) (583700c)
  • Update default versions / drop support Terraform before 0.15 (#454) (c02c6b3)

4.40.0 (2022-02-25)

Features

  • Add ASG lifecycle management Lambda function (#392) (5beb9d7)
  • Skip runner download and install if it's already done (#446) (54c10f3)

4.39.1 (2022-02-24)

Bug Fixes

4.39.0 (2022-02-10)

Features

  • Switch gitlab runner agent logging to JSON (#438) (325b919)

4.38.0 (2022-01-18)

Features

4.37.0 (2022-01-06)

Features

  • Add launch template name to module outputs (#415) (5d66571)

Bug Fixes

  • Removed extra backticks for KMS key in EBS config. (#422) (c46b080)

4.36.0 (2021-12-09)

Features

  • Add /certs/client and docker.sock to volumes for docker in docker (#396) (3f79054)
  • Add variable for Docker registry mirror (#400) (e36c971)
  • Make check interval configurable for the runner (#402) (ed9989c)

Bug Fixes

  • Remove runner agents if provider assumed a role (#401) (9767603)

4.35.0 (2021-10-19)

Features

  • run spot instances without specifying the spot price (#391) (9ef04b1)

Bug Fixes

  • Ensure the existence of overrides["name_iam_objects"] before accessing (c9c4c44)

4.34.0 (2021-10-13)

Features

  • Add support ASG maximum instance lifetime (#385) (8515137)

Bug Fixes

  • aws_cloudwatch_log_group name to match the custom one provide by variable log_group_name (#384) (f80accd)

4.33.0 (2021-10-08)

Features

  • Separate runner agent private address (#381) (d45dc37)

4.32.0 (2021-10-08)

Features

  • Add ability to specify extra security group IDs for the runner agent (#378) (e0370dd)

Bug Fixes

4.31.1 (2021-10-06)

Bug Fixes

  • Limit iam:PassRole to the role passed (#376) (eb354d0)

4.31.0 (2021-10-04)

Features

  • Add ability to define throughput for root block device on runner (950f6b4)

4.30.0 (2021-08-30)

Features

  • Add option to override IAM objects names (#358) (c96051d)

4.29.0 (2021-08-28)

Features

  • Allow configuring docker machine egress rules, see PR #351 for upgrade instructions (845e018)
  • Parametrize runner instance launch configuration metadata options (#348) (a4406dc)
  • replace launch configuration with launch template (#337) (b805fb6)
  • support for settings Sentry DSN (#352) (2a07466)

Bug Fixes

4.28.0 (2021-07-31)

Features

  • Allow configuring docker machine egress rules, see PR #351 for upgrade instructions (f41ce19)
  • support for settings Sentry DSN (#352) (5dbe1f7)

4.27.0 (2021-07-22)

Features

  • Parametrize runner instance launch configuration metadata options (#348) (92204ee)

4.26.0 (2021-07-08)

Features

Bug Fixes

4.25.0 (2021-05-11)

Features

4.24.1 (2021-03-11)

Bug Fixes

4.24.0 (2021-03-10)

Features

  • add amazon-ecr-credential-helper inside userdata_pre_install (#311) (aa0c8b4)

4.23.0 (2021-02-28)

Features

  • additional config parameter asg_delete_timeout to configure the timeout when trying to delete the ASG (#305) (f60c9d5)
  • allow multilines build scripts (#282) (7000c07), closes #250

Bug Fixes

  • autoscaling configuraton (#301) (6b35a10)
  • respect create_cache_bucket variable and avoid concurrent changes to cache bucket (#296) (c3629f6)

4.22.0 - 2021-02-14

  • Changed: feat: Restrict public access and public objects for cache bucket (#295) @stefan-kolb
  • Changed: docs: Improve spelling and fix typos in README.md (#285) @NikolaiGulatz
  • Changed: ci: rewrite CI, examples verified for Terraform 13 and 14
  • Changed: fix: failing pip install for assigning eip #280
  • Added: feat: Add option to customize helper image (#293) @stefan-kolb
  • Added: chore: Contributors list (#291)
  • Added: feat: Support Security Group custom description (#278) @pandarouxbsd

4.21.0 - 2021-01-13

  • Changed: Updated default version of runner to 13.7
  • Changed: Updated default version of docker machine to GitLab v0.16.2-gitlab.2
  • Changed: Updated default runner ami to ubuntu 20.04
  • Added: Option to set docker runtime (#273) by @thomaskelm
  • Added: Option to attach additional policies to the runner (#269) by @bliles
  • Added: Random suffix to s3 bucket (#252) by @fliphess

4.20.0 - 2020-10-08

  • Changed: upgrade default version for gitlab runner to 13.4.0 (#261)
  • Added: allow additional gitlab-runner egress rules (257) by @mhulscher
  • Added: Variable to disable EC2 detailed monitoring (#260) by @jessedobbelaere
  • Added: KMS alias to kms key (#255) by @Michenux
  • Changed: deprecated of peak settings (#242)
  • Fix: Bug fix on instance profile variable not passing correctly (#247) by @arthurbdiniz
  • Added: IAM policies for runner as variable, (#241) by @kayman-mk

4.19.0 - 2020-07-12

  • Changed: Variable aws_zone no longer needed (#232) by @kayma-hl
  • Changed: Update default GitLab runner version to 13.1.1 (#239)
  • Changed: Merge the tags for the runner agent to remove duplicate tags (#238) @kayma-hl

4.18.0 - 2020-06-01

  • Changed: Update default runner version to 13.0.1

  • Bugfix: Remove duplicate tag names from the tags assigned to the runner agent instance to ensure the correct name (#233) @kayma-hl

4.18.0 - 2020-06-01

  • Changed: Update default runner version to 13.0.1

4.17.0 - 2020-05-28

  • Added: Asg metrics (#228) @nlarzonNiklas

4.16.0 - 2020-05-22

  • Bugfix: and update version (#224)
  • Added: Replace auto docs by pre commit hook (#223)
  • Added: Add SSMManagedInstanceCore policy to the docker machine role. (#221) @abannerjee

4.15.0 - 2020-04-16

  • Added: support custom docker machine distribution (#216) …
  • Bugfix: disabled cache (#212)
  • Bugfix: failing curl (#217) …
  • Change: Drop supported to manage ec2 keys (#192)

4.14.0 - 2020-04-04

  • Add: Allow traffic from a list of security group IDs (#207) by @fliphess
  • Bugfix: Fix missing policy for existing cache (#208, #206)

4.13.0 - 2020-03-26

  • Add: variables cache_lifecycle_prefix and cache_lifecycle_clear to increase flexibility of the cache usages.
  • Add: Parametrize the AWS ARN for policies (#203) @ericamador
  • Add: Allow ping to runners and agent from cidr range (#201 @fliphess
  • Change: Refactor templatefile (#199)
  • Change: Types of runners_volumes_tmpfs, and runners_services_volumes_tmpfs are changed, check README or default example for details.

4.12.0 - 2020-03-16

  • Add: Option for permissions boundary (#195) @mhulscher
  • Bugfix: Fix cancel spot instance script from destroy provisioners are deprecate
  • Change: Update default GitLab runner version to 12.8.0

4.11.1 - 2020-02-27

  • Bugfix: #187 - fix double comma in tag list for docker machine

4.11.0 - 2020-02-25

  • Change: Update terraform-docs to support 0.8.x #185
  • Change: Support Amazon Linux #184 by @chludwig-haufe
  • Change: Bump gitlab runner version to 12.7.1 from 12.6.0 #183 @loustler
  • Fix: Fix error create bucket false #182 @katiatalh w
  • Change: Add inputs for EBS-optimized #181 @chrizkim
  • Change: Added agent- and runner-only tags #179 @Glen-Moonpig
  • Change: Improving Spot Cancelation script. #174 @pshuman-heb
  • Change: Forcing updates of Instances on Config change. #173 @pshuman-heb

4.10.0 - 2019-12-24

  • Change: default version of the runner to 12.6.0
  • Fix: External references from destroy provisioners are deprecated (examples)
  • Fix: typos cache bucket (#172) @@thorec
  • Fix: missing double quotes (#171) ggrangia
  • Change: default for gitlab_url to https://gitlab.com (#170) @riccardomc
  • Change: Encrypt runner root device by default (#168) …
  • Added: allow eip for runner (#166)

4.9.0 - 2019-11-14

  • Make use of on-demand instances in docker-machine #158 @skorfmann
  • Allow log retention configuration #157 @geota
  • Add option to encrypt logs via KMS #156 @npalm @hendrixroa

4.8.0 - 2019-11-01

  • Upgraded the runners (docker-machine) to ubuntu 18.04. You can stay on 16.04 by setting: runner_ami_filter = ["ubuntu/images/hvm-ssd/ubuntu-xenial-16.04-amd64-server-*"]
  • Upgraded GitLab runner to 12.4.1
  • Upgraded terraform version, vpc version and provider versions for the examples
  • fix type create cache bucket #151 @geota
  • Delete unused create_runners_iam_instance_profile #147 @alexharv07
  • Remove docker_machine_user variable #146 @alexharv074
  • Fixing Docker Machine certificate Generation #143 #145 @npalm @roock
  • Add option to limit docker machine ssh ingress access to only the runner #142 @bishtawi

4.7.0 - 2019-10-04

  • Add option for tmpfs #104 #141 #137
  • Lock down docker port access to only the runner security group #140 @bishtawi
  • Add variable docker_machine_docker_cidr_blocks allowing docker ingress restriction #139 @bishtawi
  • Adding outputs for agent and runner security groups #138 @hatemosphere

4.6.0 - 2019-09-30

  • Add access_level option to registration call in runner template #134 @willychenchen
  • Bump gitlab-runner default version to 12.3.0 #135 @loustler

4.5.0 - 2019-09-09

  • Set docker machine version by default to 0.16.2 #131 @npalm
  • Add SSM session manager support #121 #126 @npalm
  • Move to github actions #130 @npalm
  • Enable s3 encryption #129 @hendrixroa
  • Bump gitlab-runner to 12.2.0 #128 @mpsq

4.4.0 - 2019-08-21

  • Added
    • Allow for configurable root block size #123 @bsuv
    • Enable ASG scheduling #119 @bsuv

4.3.0 - 2019-08-19

  • Added
    • Add MaxBuilds variable to gitlab runner config #122 @gertjanmaas

4.2.0 - 2019-08-18

  • Added
    • Option to disable account id is used in bucket name #113 @Glen-Moonpig
    • Cancel sport instances during destroy for example default and public.
  • Changed:
    • Fixed typos #118 @mpsq

4.1.0 - 2019-08-05

  • Changed:
    • Runner tags namespaced with ":" are split wrong in userdata. #111 @ony-harverson-moonpig

4.0.0 - 2019-07-29

Terraform 0.12

Module is available as Terraform 0.12 module, pin to version 4.x. Please submit pull-requests to the develop branch.

Migration from 0.11 to 0.12 is tested for the runner-default example. To migrate the runner, execute the following steps.

  • Update to Terraform 0.12
  • Migrate your Terraform code via Terraform terraform 0.12upgrade.
  • Update the module from 3.10.0 to 4.0.0, next run terraform init
  • Run terraform apply. This should trigger only a re-creation of the the auto launch configuration and a minor change in the auto-scaling group.

Terraform 0.11

Module is available as Terraform 0.11 module, pin module to version 3.x. Please submit pull-requests to the terraform011 branch.

3.10.0 - 2019-07-29

  • Chnaged
    • THe user data script for the EC2 runner agent instance is not logging anymore on trace level. To enable bash xtrace set enable_runner_user_data_trace_log to true. #49
    • Generate links for Readme during release, #63

3.9.0 - 2019-07-26

  • Changed
    • Update default runner version to 12.1.0 (#106)
  • Added
    • Add runners_volumes variable (#105) @kevinrambaud

3.8.0 - 2019-07-22

  • Added
    • Variable docker_machine_ssh_cidr_blocks to set CIDR for ingress on docker machine SSH rules. @kevinrambaud #101
    • Variable docker_machine_role_json allowing role policy customization #kevinrambaud #100

3.7.0 - 2019-07-17

  • Changed
    • Creation of multiple instances of the runner is now supported. Cache is therefore moved to an internal module. Pleas see the example runner-public for a concrete sample. The change should have no effect if you apply the state migration script migragations/migration-state-3.7.x.sh.
    • Examples are more generic by removing the time zone and AZ zone to variables. @@theBenForce

3.6.0 - 2019-07-04

  • Changed
    • Add option to specify pull policy for docker images by the runner. @roock
    • Docker machine AMI image will be by default latest ubuntu 16.06, can be overwritten via variables @roock
    • Improved CI docs generation script @roock

3.5.0 - 2019-06-19

  • Changed
    • Documentation #85: Misleading Variable-Description @solutionDrive-Alt
    • Bugfix #70: docker-machine fails starting runners when amazonec2-request-spot-instance=false @philippefuentes
    • Bugfix #72: Detect and retry when docker machine installation fails @eliasdorneles
    • Changed: Default version of GitLab runner set to 11.11.2

3.7.0 - 2019-07-17

  • Changed
    • Creation of multiple instances of the runner is now supported. Cache is therefore moved to an internal module. Pleas see the example runner-public for a concrete sample. The change should have no effect if you apply the state migration script migragations/migration-state-3.7.x.sh.
    • Examples are more generic by removing the time zone and AZ zone to variables. @@theBenForce

3.6.0 - 2019-07-04

  • Changed
    • Add option to specify pull policy for docker images by the runner. @roock
    • Docker machine AMI image will be by default latest ubuntu 16.06, can be overwritten via variables @roock
    • Improved CI docs generation script @roock

3.5.0 - 2019-06-19

  • Changed
    • Documentation #85: Misleading Variable-Description @solutionDrive-Alt
    • Bugfix #70: docker-machine fails starting runners when amazonec2-request-spot-instance=false @philippefuentes
    • Bugfix #72: Detect and retry when docker machine installation fails @eliasdorneles
    • Changed: Default version of GitLab runner set to 11.11.2

3.4.0 - 2019-06-06

  • Changed:
    • Update default runner type, GitLab runner version, and versions in examples.
    • Buffix #75 runner is not reachable when runners_use_private_address = false
    • Buffix - Missing typ - @Orkin
    • Bugfix #72 - Detect and retry when docker machine download fails eliasdorneles
    • Bugfix #68 - add count to prevent resource creation failing @philippefuentes
    • Bugfix #70 - update policy to allow runners to start when not using spot instances @philippefuentes

3.3.0 - 2019-05-20

  • Changed: Default version of GitLab runner set to 11.10.1
  • Added: Option to enable / disable SSH login
  • Added: Option to use spot instances for runner instance
  • Changed: Default instance type is now m5.large
  • Added: Custom names for instance and security groups

3.2.0 - 2019-03-09

  • Added: Option to set shm_size for the runners, default remains 0.

3.1.0 - 2019-03-09

  • Added: Option to set environment variables for the runners, see the variable runners_environment_vars. An example added to the public-runner example.

3.0.0 - 2019-03-29

  • Changed: The runner will register itself based on the registration token. No need to preregister the runner before running terraform. See the README for configuration and migration. #33

2.3.0 - 2019-03-27

  • Bugfix: Added a profile for the docker machine runners. #41
  • Changed: Changed the name of runner instance, added docker-machine to the name.

2.2.1 - 2019-03-19

  • Bugfix: Add tags to spot instances #39
  • Changed: Updated terraform providers in examples and default terraform version

2.2.0 - 2019-03-08

  • Changed: Upgrade default runner agent to 11.8.0 and docker machine to 0.16.1
  • Bugfix: Correct example for docker_machine_options #36 (@declension)
  • Added: AWS Zone variable #35 (@declension)

2.1.0 - 2019-02-28

  • Bugfix: Shared cache is not working #33
  • Bugfix: Missing documentation makes setup fail #31
  • Added: Docker executor to run a single node runner, thanks to @msvechla

2.0.0 - 2019-01-13

  • Changed: Replaced cache user by a instance profile to access the cache from the build
  • Changed: Update gitlab toml cache section, removed deprecated usages of s3
  • Changed: The variable amazon_optimized_amis is removed an replaced by a filter to select the AMI. To use the default of the latest AMI set the filter ami_filter to amzn-ami-hvm-2018.03.0.20180622-x86_64-ebs.
  • Added: Option to set docker machine options via docker_machine_optionns.
  • Added: Several output variables.

1.8.0 - 2018-12-30

  • Changed: Update default docker-machine version to 0.16.0
  • Changed: Update default gitlab runner to 11.6.0
  • Added: Configuration parameters for post_build_script, pre_clone_script, request_concurrency and output_limit. #22
  • Added: Configurable docker image for runner #27
  • Added: Add pre/post install user-data snippets for runners #26

1.7.0 - 2018-11-21

  • Added option to configure instance-profile for runner pre build script. Thanks to @msvechla

1.6.0 - 2018-10-06

  • Updated the default GitLab Runner to 11.3.1

1.5.0 - 2018-08-10

  • Updated default AMI map to Amazon Linux AMI 2018.03 was released on 2018-06-28

1.4.0 - 2018-08-09

Added

  • Added an option to allow gitlab runner instance to create service linked roles, by default enabled.
  • Added example for public subnet

1.3.0 - 2018-08-08

  • Add option to run runners in public subnet

1.2.1 - 2018-08-02

Changed

  • Add work around to README for missing service linked roles, see #15

1.2.0 - 2018-07-30

Added

  • Add a map for for a more flexible mechanism to tag.

Changed

  • Set default gitlab runner to 11.1.0
  • Replaced the dedicated docker machine user by an instance profile
  • Limit the resources access for docker machine.
  • Updated default docker build image to 18.03.1-ce

Fixes

  • Add fix for non correct ec2 instances starting, add retry to yum update

1.1.0 - 2018-07-14

Added

  • Add variable to enable cloudwatch monitoring for spot instances, by default disabled.
  • Add off peak runner settings.
  • Add file system root size for runners.

Changed

  • Refactored example, key generation is part of terraform.

1.0.3 - 2018-07-14

Changed

  • Add parameter for docker machine version
  • Upgrade default gitlab runner version to 11.0.0
  • Upgrade default docker-machine version to 0.15.0

1.0.2 - 2018-06-22

Changed

  • Add link to blog for a detailed setup description

1.0.1 - 2018-06-21

Changed

  • Moved example so it is shown in the registry

1.0.0 - 2018-06-19

Changed

  • Default Gitlab runner version set to 10.8.0
  • Update default AMI's to The latest Amazon Linux AMI 2017.09.1 - released on 2018-01-17.
  • Minor updates in the example