Release Alpine 3.13.0 (#108)

3.13.0 release
* add version 3.13 profile
* 3.13 end-of-life is 2022-11-01
* note we're an official Alpine project now!
* releases/alpine.yaml has been "--trim release"'d
* updated releases/README.md

scripts/builder.py
* fix ReleaseReadme() to not die when release contains "_rc"
* add --trim to releases-yaml
* tweak some --help for release-yaml and prune

scripts/setup-ami
* explicitly lock AMI root account
This commit is contained in:
tomalok 2021-01-14 23:53:40 -08:00 committed by GitHub
parent 644ac6b2b7
commit 2bf6727f67
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 273 additions and 1011 deletions

View File

@ -1,12 +1,13 @@
# Alpine Linux EC2 AMI Builder # Alpine Linux EC2 AMI Builder
These are the official Alpine AWS AMIs. For an index of images see the These are the official Alpine AWS AMIs. For an index of images see the
[Alpine Website](https://alpinelinux.org/cloud/). [Alpine Website](https://alpinelinux.org/cloud/).
## Pre-Built AMIs ## Pre-Built AMIs
***To get started with one of our pre-built minimalist AMIs, please refer to the ***To get started with a pre-built minimalist AMIs, visit
[README](releases/README.md) in the [releases](releases) subdirectory.*** https://alpinelinux.org/cloud, or the [README](releases/README.md) in the
[releases](releases) subdirectory of this repo.***
Alternately, with the right filters, you can query the EC2 API to programmatically Alternately, with the right filters, you can query the EC2 API to programmatically
find our most recent AMIs. For example, using the `aws` command line tool... find our most recent AMIs. For example, using the `aws` command line tool...
@ -87,16 +88,13 @@ your profile's `releases/<profile>.yaml`. There are three different levels of
pruning: pruning:
* `revision` - keep only the latest revision for each release * `revision` - keep only the latest revision for each release
* `release` - keep only the latest release for each version * `release` - keep only the latest release for each version
* `version` - remove any end-of-life versions * `end-of-life` - remove any end-of-life versions
To prune a profile (or optionally one build target of a profile)... To prune a profile (or optionally one build target of a profile)...
``` ```
./scripts/builder.py prune-amis <profile> [<build>] ./scripts/builder.py prune-amis <profile> [<build>]
``` ```
Any AMIs in the account which are "unknown" (to the profile/build target, at
least) will be called out as such, but will not be pruned.
### Updating the Release README ### Updating the Release README
This make target updates the [releases README](releases/README.md), primarily This make target updates the [releases README](releases/README.md), primarily

View File

@ -1,6 +1,7 @@
### Profile for Building the Publically-Available Alpine Linux AMIs ### Profile for Building the Publically-Available Alpine Linux AMIs
# vim: ts=2 et: # vim: ts=2 et:
version-3_13 { include required("version/3.13") }
version-3_12 { include required("version/3.12") } version-3_12 { include required("version/3.12") }
version-3_11 { include required("version/3.11") } version-3_11 { include required("version/3.11") }
version-3_10 { include required("version/3.10") } version-3_10 { include required("version/3.10") }
@ -9,9 +10,12 @@ arch-x86_64 { include required("arch/x86_64") }
arch-aarch64 { include required("arch/aarch64") } arch-aarch64 { include required("arch/aarch64") }
# profile vars # profile vars
alpine { community {
ami_desc_suffix = " - https://github.com/mcrute/alpine-ec2-ami" ami_desc_suffix = " - https://github.com/mcrute/alpine-ec2-ami"
} }
official {
ami_desc_suffix = " - https://alpinelinux.org/cloud"
}
fix_root_resize { fix_root_resize {
# https://github.com/mcrute/tiny-ec2-bootstrap/pull/16 # https://github.com/mcrute/tiny-ec2-bootstrap/pull/16
@ -24,12 +28,14 @@ fix_root_resize {
# Build definitions # Build definitions
BUILDS { BUILDS {
# merge version, arch, profile; add { revision = "r1" } if needed # merge version, arch, profile; add per-build { revision = "r1" } if needed
edge-x86_64 = ${version-edge} ${arch-x86_64} ${alpine} edge-x86_64 = ${version-edge} ${arch-x86_64} ${official}
v3_12-x86_64 = ${version-3_12} ${arch-x86_64} ${alpine} v3_13-x86_64 = ${version-3_13} ${arch-x86_64} ${official}
v3_11-x86_64 = ${version-3_11} ${arch-x86_64} ${alpine} v3_12-x86_64 = ${version-3_12} ${arch-x86_64} ${community}
v3_10-x86_64 = ${version-3_10} ${arch-x86_64} ${alpine} { revision = "r1" } v3_11-x86_64 = ${version-3_11} ${arch-x86_64} ${community}
v3_10-x86_64 = ${version-3_10} ${arch-x86_64} ${community} { revision = "r1" }
edge-aarch64 = ${version-edge} ${arch-aarch64} ${alpine} edge-aarch64 = ${version-edge} ${arch-aarch64} ${official}
v3_12-aarch64 = ${version-3_12} ${arch-aarch64} ${alpine} ${fix_root_resize} v3_13-aarch64 = ${version-3_13} ${arch-aarch64} ${official}
v3_12-aarch64 = ${version-3_12} ${arch-aarch64} ${community} ${fix_root_resize}
} }

15
profiles/version/3.13 Normal file
View File

@ -0,0 +1,15 @@
### version 3.13 vars
# vim: ts=2 et:
# based on current
include required("../base/current")
# add edge-specific tweaks...
version = "3.13"
release = "3.13.0"
end_of_life = "2022-11-01"
repos {
"http://dl-cdn.alpinelinux.org/alpine/v3.13/main" = true
"http://dl-cdn.alpinelinux.org/alpine/v3.13/community" = true
}

View File

@ -1 +1 @@
3.12 3.13

View File

@ -1,6 +1,6 @@
# Alpine Linux EC2 AMIs # Alpine Linux EC2 AMIs
These are the official Alpine AWS AMIs. For an index of images see the These are the official Alpine AWS AMIs. For an index of images see the
[Alpine Website](https://alpinelinux.org/cloud/). [Alpine Website](https://alpinelinux.org/cloud/).
These AMIs should work with most EC2 features -- such as ENIs (Elastic Network These AMIs should work with most EC2 features -- such as ENIs (Elastic Network
@ -34,8 +34,38 @@ The more popular [cloud-init](https://cloudinit.readthedocs.io/en/latest/) is
currently not supported on Alpine Linux. If `cloud-init` support is important currently not supported on Alpine Linux. If `cloud-init` support is important
to you, please open an [issue](https://github.com/mcrute/alpine-ec2-ami/issues). to you, please open an [issue](https://github.com/mcrute/alpine-ec2-ami/issues).
***These AMIs are also available by visiting https://alpinelinux.org/cloud***
## AMIs ## AMIs
### Alpine Linux 3.13.0 (2021-01-15)
<details><summary><i>click to show/hide</i></summary><p>
| Region | alpine-ami-3.13.0-aarch64-r0 | alpine-ami-3.13.0-x86_64-r0 |
| ------ | --- | --- |
| af-south-1 | [ami-054c33247885ebc3d](https://af-south-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-054c33247885ebc3d) ([launch](https://af-south-1.console.aws.amazon.com/ec2/home#launchAmi=ami-054c33247885ebc3d)) | [ami-06b4b4820282bd4c4](https://af-south-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-06b4b4820282bd4c4) ([launch](https://af-south-1.console.aws.amazon.com/ec2/home#launchAmi=ami-06b4b4820282bd4c4)) |
| ap-east-1 | [ami-0e7fa2711ac2592e1](https://ap-east-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0e7fa2711ac2592e1) ([launch](https://ap-east-1.console.aws.amazon.com/ec2/home#launchAmi=ami-0e7fa2711ac2592e1)) | [ami-0d7ec3bccd07853b0](https://ap-east-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0d7ec3bccd07853b0) ([launch](https://ap-east-1.console.aws.amazon.com/ec2/home#launchAmi=ami-0d7ec3bccd07853b0)) |
| ap-northeast-1 | [ami-0abe1014344984843](https://ap-northeast-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0abe1014344984843) ([launch](https://ap-northeast-1.console.aws.amazon.com/ec2/home#launchAmi=ami-0abe1014344984843)) | [ami-0297111f80ad01c83](https://ap-northeast-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0297111f80ad01c83) ([launch](https://ap-northeast-1.console.aws.amazon.com/ec2/home#launchAmi=ami-0297111f80ad01c83)) |
| ap-northeast-2 | [ami-0daa039d88c3ca039](https://ap-northeast-2.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0daa039d88c3ca039) ([launch](https://ap-northeast-2.console.aws.amazon.com/ec2/home#launchAmi=ami-0daa039d88c3ca039)) | [ami-01a933965dcf06052](https://ap-northeast-2.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-01a933965dcf06052) ([launch](https://ap-northeast-2.console.aws.amazon.com/ec2/home#launchAmi=ami-01a933965dcf06052)) |
| ap-south-1 | [ami-0f24df3e1a946e396](https://ap-south-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0f24df3e1a946e396) ([launch](https://ap-south-1.console.aws.amazon.com/ec2/home#launchAmi=ami-0f24df3e1a946e396)) | [ami-00362eefac99bd28d](https://ap-south-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-00362eefac99bd28d) ([launch](https://ap-south-1.console.aws.amazon.com/ec2/home#launchAmi=ami-00362eefac99bd28d)) |
| ap-southeast-1 | [ami-03ec7671226fce7ac](https://ap-southeast-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-03ec7671226fce7ac) ([launch](https://ap-southeast-1.console.aws.amazon.com/ec2/home#launchAmi=ami-03ec7671226fce7ac)) | [ami-0c8ee63c1901c2eb0](https://ap-southeast-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0c8ee63c1901c2eb0) ([launch](https://ap-southeast-1.console.aws.amazon.com/ec2/home#launchAmi=ami-0c8ee63c1901c2eb0)) |
| ap-southeast-2 | [ami-0886c6e086b4865f3](https://ap-southeast-2.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0886c6e086b4865f3) ([launch](https://ap-southeast-2.console.aws.amazon.com/ec2/home#launchAmi=ami-0886c6e086b4865f3)) | [ami-08ed66c1878f09560](https://ap-southeast-2.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-08ed66c1878f09560) ([launch](https://ap-southeast-2.console.aws.amazon.com/ec2/home#launchAmi=ami-08ed66c1878f09560)) |
| ca-central-1 | [ami-01a61cfe59f803189](https://ca-central-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-01a61cfe59f803189) ([launch](https://ca-central-1.console.aws.amazon.com/ec2/home#launchAmi=ami-01a61cfe59f803189)) | [ami-08177f9696f9ad4a6](https://ca-central-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-08177f9696f9ad4a6) ([launch](https://ca-central-1.console.aws.amazon.com/ec2/home#launchAmi=ami-08177f9696f9ad4a6)) |
| eu-central-1 | [ami-01c207f63c8675daf](https://eu-central-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-01c207f63c8675daf) ([launch](https://eu-central-1.console.aws.amazon.com/ec2/home#launchAmi=ami-01c207f63c8675daf)) | [ami-03a8a49ba86477171](https://eu-central-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-03a8a49ba86477171) ([launch](https://eu-central-1.console.aws.amazon.com/ec2/home#launchAmi=ami-03a8a49ba86477171)) |
| eu-north-1 | [ami-0bf4c55e1940c81f6](https://eu-north-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0bf4c55e1940c81f6) ([launch](https://eu-north-1.console.aws.amazon.com/ec2/home#launchAmi=ami-0bf4c55e1940c81f6)) | [ami-0a58b79ae3d5dc225](https://eu-north-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0a58b79ae3d5dc225) ([launch](https://eu-north-1.console.aws.amazon.com/ec2/home#launchAmi=ami-0a58b79ae3d5dc225)) |
| eu-south-1 | [ami-037c5a438633e5589](https://eu-south-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-037c5a438633e5589) ([launch](https://eu-south-1.console.aws.amazon.com/ec2/home#launchAmi=ami-037c5a438633e5589)) | [ami-0957b53ee158d78f7](https://eu-south-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0957b53ee158d78f7) ([launch](https://eu-south-1.console.aws.amazon.com/ec2/home#launchAmi=ami-0957b53ee158d78f7)) |
| eu-west-1 | [ami-00346dd824f03912d](https://eu-west-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-00346dd824f03912d) ([launch](https://eu-west-1.console.aws.amazon.com/ec2/home#launchAmi=ami-00346dd824f03912d)) | [ami-0fc784eae453cde56](https://eu-west-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0fc784eae453cde56) ([launch](https://eu-west-1.console.aws.amazon.com/ec2/home#launchAmi=ami-0fc784eae453cde56)) |
| eu-west-2 | [ami-030c2f6bf9bd32aaa](https://eu-west-2.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-030c2f6bf9bd32aaa) ([launch](https://eu-west-2.console.aws.amazon.com/ec2/home#launchAmi=ami-030c2f6bf9bd32aaa)) | [ami-0f0f0da204290dc46](https://eu-west-2.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0f0f0da204290dc46) ([launch](https://eu-west-2.console.aws.amazon.com/ec2/home#launchAmi=ami-0f0f0da204290dc46)) |
| eu-west-3 | [ami-00e775ed7d5d97ab6](https://eu-west-3.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-00e775ed7d5d97ab6) ([launch](https://eu-west-3.console.aws.amazon.com/ec2/home#launchAmi=ami-00e775ed7d5d97ab6)) | [ami-0cba38171c14bfcc2](https://eu-west-3.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0cba38171c14bfcc2) ([launch](https://eu-west-3.console.aws.amazon.com/ec2/home#launchAmi=ami-0cba38171c14bfcc2)) |
| me-south-1 | [ami-0118ef914ed3873ec](https://me-south-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0118ef914ed3873ec) ([launch](https://me-south-1.console.aws.amazon.com/ec2/home#launchAmi=ami-0118ef914ed3873ec)) | [ami-0fb7bc8a6dd850c6c](https://me-south-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0fb7bc8a6dd850c6c) ([launch](https://me-south-1.console.aws.amazon.com/ec2/home#launchAmi=ami-0fb7bc8a6dd850c6c)) |
| sa-east-1 | [ami-030aade343c7bffe6](https://sa-east-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-030aade343c7bffe6) ([launch](https://sa-east-1.console.aws.amazon.com/ec2/home#launchAmi=ami-030aade343c7bffe6)) | [ami-09a48625b514fdcd9](https://sa-east-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-09a48625b514fdcd9) ([launch](https://sa-east-1.console.aws.amazon.com/ec2/home#launchAmi=ami-09a48625b514fdcd9)) |
| us-east-1 | [ami-059c905481a02fe87](https://us-east-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-059c905481a02fe87) ([launch](https://us-east-1.console.aws.amazon.com/ec2/home#launchAmi=ami-059c905481a02fe87)) | [ami-0f7b12c17a0b4bade](https://us-east-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0f7b12c17a0b4bade) ([launch](https://us-east-1.console.aws.amazon.com/ec2/home#launchAmi=ami-0f7b12c17a0b4bade)) |
| us-east-2 | [ami-05f1c6366468e331d](https://us-east-2.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-05f1c6366468e331d) ([launch](https://us-east-2.console.aws.amazon.com/ec2/home#launchAmi=ami-05f1c6366468e331d)) | [ami-0a288d17effc94a76](https://us-east-2.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0a288d17effc94a76) ([launch](https://us-east-2.console.aws.amazon.com/ec2/home#launchAmi=ami-0a288d17effc94a76)) |
| us-west-1 | [ami-0fe276a497cab0aa9](https://us-west-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0fe276a497cab0aa9) ([launch](https://us-west-1.console.aws.amazon.com/ec2/home#launchAmi=ami-0fe276a497cab0aa9)) | [ami-01c6cef27f05be7a5](https://us-west-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-01c6cef27f05be7a5) ([launch](https://us-west-1.console.aws.amazon.com/ec2/home#launchAmi=ami-01c6cef27f05be7a5)) |
| us-west-2 | [ami-0cbd458f29aa897b3](https://us-west-2.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0cbd458f29aa897b3) ([launch](https://us-west-2.console.aws.amazon.com/ec2/home#launchAmi=ami-0cbd458f29aa897b3)) | [ami-0d0055a3bfbf5a966](https://us-west-2.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0d0055a3bfbf5a966) ([launch](https://us-west-2.console.aws.amazon.com/ec2/home#launchAmi=ami-0d0055a3bfbf5a966)) |
</p></details>
### Alpine Linux 3.12.3 (2020-12-19) ### Alpine Linux 3.12.3 (2020-12-19)
<details><summary><i>click to show/hide</i></summary><p> <details><summary><i>click to show/hide</i></summary><p>
@ -120,54 +150,30 @@ to you, please open an [issue](https://github.com/mcrute/alpine-ec2-ami/issues).
</p></details> </p></details>
### Alpine Linux 3.9.6 (2020-04-26) ### Alpine Linux Edge (2021-01-15)
<details><summary><i>click to show/hide</i></summary><p> <details><summary><i>click to show/hide</i></summary><p>
| Region | alpine-ami-3.9.6-x86_64-r0 | | Region | alpine-ami-edge-aarch64-20210115045210 | alpine-ami-edge-x86_64-20210115045210 |
| ------ | --- |
| ap-northeast-1 | [ami-0133f3a571f684178](https://ap-northeast-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0133f3a571f684178) ([launch](https://ap-northeast-1.console.aws.amazon.com/ec2/home#launchAmi=ami-0133f3a571f684178)) |
| ap-northeast-2 | [ami-0f9ad7c51e14bdc3d](https://ap-northeast-2.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0f9ad7c51e14bdc3d) ([launch](https://ap-northeast-2.console.aws.amazon.com/ec2/home#launchAmi=ami-0f9ad7c51e14bdc3d)) |
| ap-south-1 | [ami-00af726ec2f4077a2](https://ap-south-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-00af726ec2f4077a2) ([launch](https://ap-south-1.console.aws.amazon.com/ec2/home#launchAmi=ami-00af726ec2f4077a2)) |
| ap-southeast-1 | [ami-0d52e9d7f91ca051c](https://ap-southeast-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0d52e9d7f91ca051c) ([launch](https://ap-southeast-1.console.aws.amazon.com/ec2/home#launchAmi=ami-0d52e9d7f91ca051c)) |
| ap-southeast-2 | [ami-054360648343b66bc](https://ap-southeast-2.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-054360648343b66bc) ([launch](https://ap-southeast-2.console.aws.amazon.com/ec2/home#launchAmi=ami-054360648343b66bc)) |
| ca-central-1 | [ami-0583a99f342097b6c](https://ca-central-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0583a99f342097b6c) ([launch](https://ca-central-1.console.aws.amazon.com/ec2/home#launchAmi=ami-0583a99f342097b6c)) |
| eu-central-1 | [ami-051eec0106a08df6d](https://eu-central-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-051eec0106a08df6d) ([launch](https://eu-central-1.console.aws.amazon.com/ec2/home#launchAmi=ami-051eec0106a08df6d)) |
| eu-north-1 | [ami-07a2b23059054aea3](https://eu-north-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-07a2b23059054aea3) ([launch](https://eu-north-1.console.aws.amazon.com/ec2/home#launchAmi=ami-07a2b23059054aea3)) |
| eu-west-1 | [ami-0eb2b54ab4d09eb80](https://eu-west-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0eb2b54ab4d09eb80) ([launch](https://eu-west-1.console.aws.amazon.com/ec2/home#launchAmi=ami-0eb2b54ab4d09eb80)) |
| eu-west-2 | [ami-08c87b358b24d1df3](https://eu-west-2.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-08c87b358b24d1df3) ([launch](https://eu-west-2.console.aws.amazon.com/ec2/home#launchAmi=ami-08c87b358b24d1df3)) |
| eu-west-3 | [ami-00a425aa20737343e](https://eu-west-3.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-00a425aa20737343e) ([launch](https://eu-west-3.console.aws.amazon.com/ec2/home#launchAmi=ami-00a425aa20737343e)) |
| sa-east-1 | [ami-0ea679407da47b78a](https://sa-east-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0ea679407da47b78a) ([launch](https://sa-east-1.console.aws.amazon.com/ec2/home#launchAmi=ami-0ea679407da47b78a)) |
| us-east-1 | [ami-004f0550310a2d7aa](https://us-east-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-004f0550310a2d7aa) ([launch](https://us-east-1.console.aws.amazon.com/ec2/home#launchAmi=ami-004f0550310a2d7aa)) |
| us-east-2 | [ami-045a2cc3fe272caee](https://us-east-2.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-045a2cc3fe272caee) ([launch](https://us-east-2.console.aws.amazon.com/ec2/home#launchAmi=ami-045a2cc3fe272caee)) |
| us-west-1 | [ami-026a54e52daea1233](https://us-west-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-026a54e52daea1233) ([launch](https://us-west-1.console.aws.amazon.com/ec2/home#launchAmi=ami-026a54e52daea1233)) |
| us-west-2 | [ami-0b933475d362cbfab](https://us-west-2.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0b933475d362cbfab) ([launch](https://us-west-2.console.aws.amazon.com/ec2/home#launchAmi=ami-0b933475d362cbfab)) |
</p></details>
### Alpine Linux Edge (2020-12-31)
<details><summary><i>click to show/hide</i></summary><p>
| Region | alpine-ami-edge-aarch64-20201231045833 | alpine-ami-edge-x86_64-20201231045833 |
| ------ | --- | --- | | ------ | --- | --- |
| af-south-1 | [ami-0b183c56bd131ed3a](https://af-south-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0b183c56bd131ed3a) ([launch](https://af-south-1.console.aws.amazon.com/ec2/home#launchAmi=ami-0b183c56bd131ed3a)) | [ami-011743658a67dd855](https://af-south-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-011743658a67dd855) ([launch](https://af-south-1.console.aws.amazon.com/ec2/home#launchAmi=ami-011743658a67dd855)) | | af-south-1 | [ami-0f8fb312016a1a357](https://af-south-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0f8fb312016a1a357) ([launch](https://af-south-1.console.aws.amazon.com/ec2/home#launchAmi=ami-0f8fb312016a1a357)) | [ami-088e84ce1b1f411be](https://af-south-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-088e84ce1b1f411be) ([launch](https://af-south-1.console.aws.amazon.com/ec2/home#launchAmi=ami-088e84ce1b1f411be)) |
| ap-east-1 | [ami-08b75758d2db7dfca](https://ap-east-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-08b75758d2db7dfca) ([launch](https://ap-east-1.console.aws.amazon.com/ec2/home#launchAmi=ami-08b75758d2db7dfca)) | [ami-0d216cd3d020468f4](https://ap-east-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0d216cd3d020468f4) ([launch](https://ap-east-1.console.aws.amazon.com/ec2/home#launchAmi=ami-0d216cd3d020468f4)) | | ap-east-1 | [ami-03ec11f3e7e2bf55f](https://ap-east-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-03ec11f3e7e2bf55f) ([launch](https://ap-east-1.console.aws.amazon.com/ec2/home#launchAmi=ami-03ec11f3e7e2bf55f)) | [ami-0aa6df701213dd27d](https://ap-east-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0aa6df701213dd27d) ([launch](https://ap-east-1.console.aws.amazon.com/ec2/home#launchAmi=ami-0aa6df701213dd27d)) |
| ap-northeast-1 | [ami-0e4e372058199d5ef](https://ap-northeast-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0e4e372058199d5ef) ([launch](https://ap-northeast-1.console.aws.amazon.com/ec2/home#launchAmi=ami-0e4e372058199d5ef)) | [ami-080ee407fba860248](https://ap-northeast-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-080ee407fba860248) ([launch](https://ap-northeast-1.console.aws.amazon.com/ec2/home#launchAmi=ami-080ee407fba860248)) | | ap-northeast-1 | [ami-0447adc048c4c3e14](https://ap-northeast-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0447adc048c4c3e14) ([launch](https://ap-northeast-1.console.aws.amazon.com/ec2/home#launchAmi=ami-0447adc048c4c3e14)) | [ami-0b279dbdd926b42b5](https://ap-northeast-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0b279dbdd926b42b5) ([launch](https://ap-northeast-1.console.aws.amazon.com/ec2/home#launchAmi=ami-0b279dbdd926b42b5)) |
| ap-northeast-2 | [ami-0b1cb303b405d3097](https://ap-northeast-2.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0b1cb303b405d3097) ([launch](https://ap-northeast-2.console.aws.amazon.com/ec2/home#launchAmi=ami-0b1cb303b405d3097)) | [ami-0f9ab3123bd36ee7c](https://ap-northeast-2.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0f9ab3123bd36ee7c) ([launch](https://ap-northeast-2.console.aws.amazon.com/ec2/home#launchAmi=ami-0f9ab3123bd36ee7c)) | | ap-northeast-2 | [ami-0611bb744aad58842](https://ap-northeast-2.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0611bb744aad58842) ([launch](https://ap-northeast-2.console.aws.amazon.com/ec2/home#launchAmi=ami-0611bb744aad58842)) | [ami-02dec744f61097ee9](https://ap-northeast-2.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-02dec744f61097ee9) ([launch](https://ap-northeast-2.console.aws.amazon.com/ec2/home#launchAmi=ami-02dec744f61097ee9)) |
| ap-south-1 | [ami-03dd8e847479cf769](https://ap-south-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-03dd8e847479cf769) ([launch](https://ap-south-1.console.aws.amazon.com/ec2/home#launchAmi=ami-03dd8e847479cf769)) | [ami-0180ec8a9b842fb7b](https://ap-south-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0180ec8a9b842fb7b) ([launch](https://ap-south-1.console.aws.amazon.com/ec2/home#launchAmi=ami-0180ec8a9b842fb7b)) | | ap-south-1 | [ami-06674e2639583de71](https://ap-south-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-06674e2639583de71) ([launch](https://ap-south-1.console.aws.amazon.com/ec2/home#launchAmi=ami-06674e2639583de71)) | [ami-0497a4347255254b0](https://ap-south-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0497a4347255254b0) ([launch](https://ap-south-1.console.aws.amazon.com/ec2/home#launchAmi=ami-0497a4347255254b0)) |
| ap-southeast-1 | [ami-0f63ec4ee42f919af](https://ap-southeast-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0f63ec4ee42f919af) ([launch](https://ap-southeast-1.console.aws.amazon.com/ec2/home#launchAmi=ami-0f63ec4ee42f919af)) | [ami-068588a4eea7ad3a3](https://ap-southeast-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-068588a4eea7ad3a3) ([launch](https://ap-southeast-1.console.aws.amazon.com/ec2/home#launchAmi=ami-068588a4eea7ad3a3)) | | ap-southeast-1 | [ami-0c56255f7ce3c0d1a](https://ap-southeast-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0c56255f7ce3c0d1a) ([launch](https://ap-southeast-1.console.aws.amazon.com/ec2/home#launchAmi=ami-0c56255f7ce3c0d1a)) | [ami-0fa75324c26109981](https://ap-southeast-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0fa75324c26109981) ([launch](https://ap-southeast-1.console.aws.amazon.com/ec2/home#launchAmi=ami-0fa75324c26109981)) |
| ap-southeast-2 | [ami-0cfb54d89d91b4588](https://ap-southeast-2.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0cfb54d89d91b4588) ([launch](https://ap-southeast-2.console.aws.amazon.com/ec2/home#launchAmi=ami-0cfb54d89d91b4588)) | [ami-0ae9daf7a58df4934](https://ap-southeast-2.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0ae9daf7a58df4934) ([launch](https://ap-southeast-2.console.aws.amazon.com/ec2/home#launchAmi=ami-0ae9daf7a58df4934)) | | ap-southeast-2 | [ami-02185fb296e9a225e](https://ap-southeast-2.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-02185fb296e9a225e) ([launch](https://ap-southeast-2.console.aws.amazon.com/ec2/home#launchAmi=ami-02185fb296e9a225e)) | [ami-05e33de43c5e5cebd](https://ap-southeast-2.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-05e33de43c5e5cebd) ([launch](https://ap-southeast-2.console.aws.amazon.com/ec2/home#launchAmi=ami-05e33de43c5e5cebd)) |
| ca-central-1 | [ami-0028affab88bac113](https://ca-central-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0028affab88bac113) ([launch](https://ca-central-1.console.aws.amazon.com/ec2/home#launchAmi=ami-0028affab88bac113)) | [ami-07bcbb6f6af86f511](https://ca-central-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-07bcbb6f6af86f511) ([launch](https://ca-central-1.console.aws.amazon.com/ec2/home#launchAmi=ami-07bcbb6f6af86f511)) | | ca-central-1 | [ami-045744471a57317f8](https://ca-central-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-045744471a57317f8) ([launch](https://ca-central-1.console.aws.amazon.com/ec2/home#launchAmi=ami-045744471a57317f8)) | [ami-0d97a3177809ea765](https://ca-central-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0d97a3177809ea765) ([launch](https://ca-central-1.console.aws.amazon.com/ec2/home#launchAmi=ami-0d97a3177809ea765)) |
| eu-central-1 | [ami-0a3002a25422450ec](https://eu-central-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0a3002a25422450ec) ([launch](https://eu-central-1.console.aws.amazon.com/ec2/home#launchAmi=ami-0a3002a25422450ec)) | [ami-052c85ff0f5526102](https://eu-central-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-052c85ff0f5526102) ([launch](https://eu-central-1.console.aws.amazon.com/ec2/home#launchAmi=ami-052c85ff0f5526102)) | | eu-central-1 | [ami-052b6d764d2d332ee](https://eu-central-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-052b6d764d2d332ee) ([launch](https://eu-central-1.console.aws.amazon.com/ec2/home#launchAmi=ami-052b6d764d2d332ee)) | [ami-0b5920487b9821f76](https://eu-central-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0b5920487b9821f76) ([launch](https://eu-central-1.console.aws.amazon.com/ec2/home#launchAmi=ami-0b5920487b9821f76)) |
| eu-north-1 | [ami-0164bce0c7d9f1741](https://eu-north-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0164bce0c7d9f1741) ([launch](https://eu-north-1.console.aws.amazon.com/ec2/home#launchAmi=ami-0164bce0c7d9f1741)) | [ami-050c04068b77339c8](https://eu-north-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-050c04068b77339c8) ([launch](https://eu-north-1.console.aws.amazon.com/ec2/home#launchAmi=ami-050c04068b77339c8)) | | eu-north-1 | [ami-092a831a6f4620ccf](https://eu-north-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-092a831a6f4620ccf) ([launch](https://eu-north-1.console.aws.amazon.com/ec2/home#launchAmi=ami-092a831a6f4620ccf)) | [ami-035e585736b7de816](https://eu-north-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-035e585736b7de816) ([launch](https://eu-north-1.console.aws.amazon.com/ec2/home#launchAmi=ami-035e585736b7de816)) |
| eu-south-1 | [ami-02fe886c007469453](https://eu-south-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-02fe886c007469453) ([launch](https://eu-south-1.console.aws.amazon.com/ec2/home#launchAmi=ami-02fe886c007469453)) | [ami-0d0c75892f636d022](https://eu-south-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0d0c75892f636d022) ([launch](https://eu-south-1.console.aws.amazon.com/ec2/home#launchAmi=ami-0d0c75892f636d022)) | | eu-south-1 | [ami-0eb47307947090baa](https://eu-south-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0eb47307947090baa) ([launch](https://eu-south-1.console.aws.amazon.com/ec2/home#launchAmi=ami-0eb47307947090baa)) | [ami-0a2bcd6981f75dc6e](https://eu-south-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0a2bcd6981f75dc6e) ([launch](https://eu-south-1.console.aws.amazon.com/ec2/home#launchAmi=ami-0a2bcd6981f75dc6e)) |
| eu-west-1 | [ami-052c81600bc9265a2](https://eu-west-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-052c81600bc9265a2) ([launch](https://eu-west-1.console.aws.amazon.com/ec2/home#launchAmi=ami-052c81600bc9265a2)) | [ami-05e2518be7f8858dd](https://eu-west-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-05e2518be7f8858dd) ([launch](https://eu-west-1.console.aws.amazon.com/ec2/home#launchAmi=ami-05e2518be7f8858dd)) | | eu-west-1 | [ami-0693b5d091c075179](https://eu-west-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0693b5d091c075179) ([launch](https://eu-west-1.console.aws.amazon.com/ec2/home#launchAmi=ami-0693b5d091c075179)) | [ami-0ff868d68ffce1c18](https://eu-west-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0ff868d68ffce1c18) ([launch](https://eu-west-1.console.aws.amazon.com/ec2/home#launchAmi=ami-0ff868d68ffce1c18)) |
| eu-west-2 | [ami-0dbd0469355fb628b](https://eu-west-2.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0dbd0469355fb628b) ([launch](https://eu-west-2.console.aws.amazon.com/ec2/home#launchAmi=ami-0dbd0469355fb628b)) | [ami-0feefbd48a8e39699](https://eu-west-2.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0feefbd48a8e39699) ([launch](https://eu-west-2.console.aws.amazon.com/ec2/home#launchAmi=ami-0feefbd48a8e39699)) | | eu-west-2 | [ami-0e8f54b786204d875](https://eu-west-2.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0e8f54b786204d875) ([launch](https://eu-west-2.console.aws.amazon.com/ec2/home#launchAmi=ami-0e8f54b786204d875)) | [ami-0bb797cec5432486e](https://eu-west-2.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0bb797cec5432486e) ([launch](https://eu-west-2.console.aws.amazon.com/ec2/home#launchAmi=ami-0bb797cec5432486e)) |
| eu-west-3 | [ami-0a8f99b7d240e427c](https://eu-west-3.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0a8f99b7d240e427c) ([launch](https://eu-west-3.console.aws.amazon.com/ec2/home#launchAmi=ami-0a8f99b7d240e427c)) | [ami-0423ae73dd6a792bf](https://eu-west-3.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0423ae73dd6a792bf) ([launch](https://eu-west-3.console.aws.amazon.com/ec2/home#launchAmi=ami-0423ae73dd6a792bf)) | | eu-west-3 | [ami-0c1ce7d53e27f3b38](https://eu-west-3.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0c1ce7d53e27f3b38) ([launch](https://eu-west-3.console.aws.amazon.com/ec2/home#launchAmi=ami-0c1ce7d53e27f3b38)) | [ami-056ec883bb7b55fa6](https://eu-west-3.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-056ec883bb7b55fa6) ([launch](https://eu-west-3.console.aws.amazon.com/ec2/home#launchAmi=ami-056ec883bb7b55fa6)) |
| me-south-1 | [ami-03e34a8c3f39d75a8](https://me-south-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-03e34a8c3f39d75a8) ([launch](https://me-south-1.console.aws.amazon.com/ec2/home#launchAmi=ami-03e34a8c3f39d75a8)) | [ami-04649d2d92b0365f7](https://me-south-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-04649d2d92b0365f7) ([launch](https://me-south-1.console.aws.amazon.com/ec2/home#launchAmi=ami-04649d2d92b0365f7)) | | me-south-1 | [ami-0f85def6c07158768](https://me-south-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0f85def6c07158768) ([launch](https://me-south-1.console.aws.amazon.com/ec2/home#launchAmi=ami-0f85def6c07158768)) | [ami-09196a0c25b2b5745](https://me-south-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-09196a0c25b2b5745) ([launch](https://me-south-1.console.aws.amazon.com/ec2/home#launchAmi=ami-09196a0c25b2b5745)) |
| sa-east-1 | [ami-0c049c43758d1c6ae](https://sa-east-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0c049c43758d1c6ae) ([launch](https://sa-east-1.console.aws.amazon.com/ec2/home#launchAmi=ami-0c049c43758d1c6ae)) | [ami-0a9fcc32957c9f42f](https://sa-east-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0a9fcc32957c9f42f) ([launch](https://sa-east-1.console.aws.amazon.com/ec2/home#launchAmi=ami-0a9fcc32957c9f42f)) | | sa-east-1 | [ami-000c9c8abdea00a15](https://sa-east-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-000c9c8abdea00a15) ([launch](https://sa-east-1.console.aws.amazon.com/ec2/home#launchAmi=ami-000c9c8abdea00a15)) | [ami-0a010a494fd6b4198](https://sa-east-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0a010a494fd6b4198) ([launch](https://sa-east-1.console.aws.amazon.com/ec2/home#launchAmi=ami-0a010a494fd6b4198)) |
| us-east-1 | [ami-0d4bf5cbd324d086a](https://us-east-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0d4bf5cbd324d086a) ([launch](https://us-east-1.console.aws.amazon.com/ec2/home#launchAmi=ami-0d4bf5cbd324d086a)) | [ami-047669701018a01ac](https://us-east-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-047669701018a01ac) ([launch](https://us-east-1.console.aws.amazon.com/ec2/home#launchAmi=ami-047669701018a01ac)) | | us-east-1 | [ami-0fa8aafbaab073172](https://us-east-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0fa8aafbaab073172) ([launch](https://us-east-1.console.aws.amazon.com/ec2/home#launchAmi=ami-0fa8aafbaab073172)) | [ami-0f6d30ffd4b5446ff](https://us-east-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0f6d30ffd4b5446ff) ([launch](https://us-east-1.console.aws.amazon.com/ec2/home#launchAmi=ami-0f6d30ffd4b5446ff)) |
| us-east-2 | [ami-07434f0295f2816c8](https://us-east-2.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-07434f0295f2816c8) ([launch](https://us-east-2.console.aws.amazon.com/ec2/home#launchAmi=ami-07434f0295f2816c8)) | [ami-0f811ec590362fd5e](https://us-east-2.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0f811ec590362fd5e) ([launch](https://us-east-2.console.aws.amazon.com/ec2/home#launchAmi=ami-0f811ec590362fd5e)) | | us-east-2 | [ami-0bb800d8bde3fbfd3](https://us-east-2.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0bb800d8bde3fbfd3) ([launch](https://us-east-2.console.aws.amazon.com/ec2/home#launchAmi=ami-0bb800d8bde3fbfd3)) | [ami-076cd7138c628dab2](https://us-east-2.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-076cd7138c628dab2) ([launch](https://us-east-2.console.aws.amazon.com/ec2/home#launchAmi=ami-076cd7138c628dab2)) |
| us-west-1 | [ami-0e2ddb3719b40d721](https://us-west-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0e2ddb3719b40d721) ([launch](https://us-west-1.console.aws.amazon.com/ec2/home#launchAmi=ami-0e2ddb3719b40d721)) | [ami-02a9a916ff04c9553](https://us-west-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-02a9a916ff04c9553) ([launch](https://us-west-1.console.aws.amazon.com/ec2/home#launchAmi=ami-02a9a916ff04c9553)) | | us-west-1 | [ami-0951a311c73074592](https://us-west-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0951a311c73074592) ([launch](https://us-west-1.console.aws.amazon.com/ec2/home#launchAmi=ami-0951a311c73074592)) | [ami-072a48e68753aedb0](https://us-west-1.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-072a48e68753aedb0) ([launch](https://us-west-1.console.aws.amazon.com/ec2/home#launchAmi=ami-072a48e68753aedb0)) |
| us-west-2 | [ami-07ab85086738d655c](https://us-west-2.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-07ab85086738d655c) ([launch](https://us-west-2.console.aws.amazon.com/ec2/home#launchAmi=ami-07ab85086738d655c)) | [ami-003decaff69790d71](https://us-west-2.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-003decaff69790d71) ([launch](https://us-west-2.console.aws.amazon.com/ec2/home#launchAmi=ami-003decaff69790d71)) | | us-west-2 | [ami-0d0947ece674f16d0](https://us-west-2.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0d0947ece674f16d0) ([launch](https://us-west-2.console.aws.amazon.com/ec2/home#launchAmi=ami-0d0947ece674f16d0)) | [ami-0d96c10dc78128cb5](https://us-west-2.console.aws.amazon.com/ec2/home#Images:visibility=public-images;imageId=ami-0d96c10dc78128cb5) ([launch](https://us-west-2.console.aws.amazon.com/ec2/home#launchAmi=ami-0d96c10dc78128cb5)) |
</p></details> </p></details>

File diff suppressed because it is too large Load Diff

View File

@ -70,6 +70,11 @@ def undictfactory(o):
def region_from_client(client): def region_from_client(client):
return client._client_config.region_name return client._client_config.region_name
# version sorting
def sortable_version(x):
v = x.split('_rc')[0]
return StrictVersion("0.0" if v == "edge" else v)
class EC2Architecture(Enum): class EC2Architecture(Enum):
@ -877,32 +882,51 @@ class Releases:
self.images[region].append(image) self.images[region].append(image)
# build profile releases object based on loaded self.images # build profile releases object based on loaded self.images
def build_releases(self, log=None): def build_releases(self, log=None, trim=None):
now = datetime.utcnow()
versions = dictfactory()
for region, amis in self.images.items(): for region, amis in self.images.items():
if log: log.info(f"{region}") if log: log.info(f"{region}")
for ami in amis: for ami in amis:
if ami.profile != self.profile: eol = datetime.fromisoformat(ami.end_of_life)
# if we're trimming, we're not interested in EOL images
if trim and eol < now:
continue continue
if log: log.info(f" * {ami.image_id} {ami.name}") version = ami.version
release = ami.release release = ami.release
build = ami.profile_build build = ami.profile_build
name = ami.name name = ami.name
id = ami.image_id id = ami.image_id
build_time = int(dateutil.parser.parse(ami.creation_date).strftime('%s')) build_time = int(dateutil.parser.parse(ami.creation_date).strftime('%s'))
release_obj = self.releases[release][build][name]
if log: log.info(f" * {ami.image_id} {ami.name}")
version_obj = versions[version][release][build][name]
for field in self.RELEASE_FIELDS: for field in self.RELEASE_FIELDS:
if field not in release_obj: if field not in version_obj:
release_obj[field] = getattr(ami, field) version_obj[field] = getattr(ami, field)
# ensure earliest build_time is used # ensure earliest build_time is used
if ('build_time' not in release_obj or if ('build_time' not in version_obj or
build_time < release_obj['build_time']): build_time < version_obj['build_time']):
release_obj['build_time'] = build_time version_obj['build_time'] = build_time
release_obj['creation_date'] = ami.creation_date version_obj['creation_date'] = ami.creation_date
release_obj['artifacts'][region] = id version_obj['artifacts'][region] = id
for version, releases in versions.items():
for release, builds in sorted(releases.items(), reverse=True,
key=lambda x: sortable_version(x[0])):
for build, revisions in builds.items():
for revision, info in sorted(revisions.items(), reverse=True,
key=lambda x: x[1]['build_time']):
self.releases[release][build][revision] = info
# if we are trimming, we want only the most recent revisions
if trim: break
# if we are trimming releases, we want only the most recent release
if trim == 'release': break
class ReleasesYAML: class ReleasesYAML:
@ -912,11 +936,18 @@ class ReleasesYAML:
@staticmethod @staticmethod
def add_args(parser): def add_args(parser):
TRIM_HELP="""
revision = keep last x.y.z-r# of non-EOL releases,
release = keep last x.y.# of non-EOL versions
"""
rgroup = parser.add_mutually_exclusive_group(required=True) rgroup = parser.add_mutually_exclusive_group(required=True)
rgroup.add_argument("--use-broker", action="store_true", rgroup.add_argument("--use-broker", action="store_true",
help="identity broker provides destination regions and credentials") help="identity broker provides destination regions and credentials")
rgroup.add_argument("--region", "-r", action="append", dest="regions", rgroup.add_argument("--region", "-r", action="append", dest="regions",
metavar="REGION", help="destination region (multiple OK)") metavar="REGION", help="destination region (multiple OK)")
parser.add_argument("--trim", "-t",
choices=['revision','release'], help=TRIM_HELP)
parser.add_argument("profile", metavar="PROFILE", help="profile name") parser.add_argument("profile", metavar="PROFILE", help="profile name")
def run(self, args, root, log): def run(self, args, root, log):
@ -930,7 +961,7 @@ class ReleasesYAML:
use_broker = args.use_broker, use_broker = args.use_broker,
regions = args.regions) regions = args.regions)
r.load_profile_images(log) r.load_profile_images(log)
r.build_releases() r.build_releases(trim=args.trim)
log.info(f"Writing new {release_yaml}") log.info(f"Writing new {release_yaml}")
with open(release_yaml, 'w') as data: with open(release_yaml, 'w') as data:
@ -964,7 +995,7 @@ class ReleasesReadme:
@staticmethod @staticmethod
def extract_ver(x): def extract_ver(x):
return StrictVersion("0.0" if x["release"] == "edge" else x["release"]) return sortable_version(x['release'])
def resolve_sections(self, release_data, log): def resolve_sections(self, release_data, log):
sects = dictfactory() sects = dictfactory()
@ -1063,14 +1094,14 @@ class PruneAMIs:
@staticmethod @staticmethod
def add_args(parser): def add_args(parser):
LEVEL_HELP = textwrap.dedent("""\ LEVEL_HELP = """
'revision' - prune old AMI revisions (x.y.z-r#); revision = x.y.z-r#,
'release' - prune old AMI releases (x.y.#); release = x.y.#,
'end-of-life' - prune end-of-life AMI versions (#.#); end-of-life = EOL versions (#.#),
'UNKNOWN' - prune unknown AMIs (no profile tag) UNKNOWN = AMIs with no profile tag
""") """
parser.add_argument("level", metavar='LEVEL', parser.add_argument("level",
choices=["revision", "release", "end-of-life", "UNKNOWN"], choices=["revision", "release", "end-of-life", "UNKNOWN"],
help=LEVEL_HELP) help=LEVEL_HELP)
rgroup = parser.add_mutually_exclusive_group(required=True) rgroup = parser.add_mutually_exclusive_group(required=True)

View File

@ -304,6 +304,9 @@ create_alpine_user() {
# best-practice. # best-practice.
sed -i '/%wheel .* NOPASSWD: .*/s/^# //' "$TARGET/etc/sudoers" sed -i '/%wheel .* NOPASSWD: .*/s/^# //' "$TARGET/etc/sudoers"
# explicitly lock the root account
chroot "$TARGET" /usr/bin/passwd -l root
# There is no real standard ec2 username across AMIs, Amazon uses ec2-user # There is no real standard ec2 username across AMIs, Amazon uses ec2-user
# for their Amazon Linux AMIs but Ubuntu uses ubuntu, Fedora uses fedora, # for their Amazon Linux AMIs but Ubuntu uses ubuntu, Fedora uses fedora,
# etc... (see: https://alestic.com/2014/01/ec2-ssh-username/). So our user # etc... (see: https://alestic.com/2014/01/ec2-ssh-username/). So our user