Commit Graph

31 Commits

Author SHA1 Message Date
tomalok
b8ac181435
Update for Version 3.14 (#122)
Update for Version 3.14

* remove 3.10 build
* fix aarch64 AMI's /etc/default/grub (resolves #121)
* bump revision for aarch64 3.13 & 3.12 (to rebuild with fix)
* fix comment on 3.13
* fix comment on 3.14
* new 3.14.0 AMIs released
2021-06-15 12:34:38 -07:00
tomalok
3b7fd13083
new Alpine releases (#117) 2021-04-14 18:48:02 -07:00
tomalok
19dc1beaa6
New releases (3.13.4, 3.12.6, 3.11.10, 3.10.8) (#116)
Addresses CVE-2021-28831
2021-03-31 18:53:54 -07:00
tomalok
1fb5e5b663
Alpine 3.13.2 released (#115) 2021-02-17 08:49:13 -08:00
tomalok
30550530fe
Alpine Linux 3.13.1 released (#111) 2021-01-29 19:25:21 -08:00
tomalok
2bf6727f67
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
2021-01-14 23:53:40 -08:00
Mike Crute
644ac6b2b7 These are now official 2021-01-14 18:35:59 +00:00
tomalok
53fd1d27b1
Builder Overhaul (#106)
Subcommands
* merge 'resolve-profiles' and 'make-amis' into 'amis'
* rename 'update-releases' to 'release-yaml'
* rename 'gen-release-readme' to 'release-readme'
* rename 'prune-amis' to 'prune'
* reorder to match the usual workflow
* use argparse mutually-exclusive group where appropriate
* use argparse 'metavar' and 'nargs' for more salient help

release
* can now specify multiple AMIs on command line
* add explicit '--private' argument
* if no '--private', '--public', or '--allow-account' is specified, default to propagate the source AMI's permissions to its copies
* move 'iter_regions' and 'get*image' methods out of ReleaseAMIs class because they're also used elsewhere
* 'update_image_permissions' resets perms before adding new perms
* pending_copy loop, reports on everything in progress, waits 3m before reporting on everything again, and then waits 30s between reports
* pending_copy also notes when a copy has completed (and only queues for pending_perms if they need adjustment)

Releases class
* used by release-yaml and prune subcommands
* caches region client objects for later use (by prune)
* loads images from region - either from a profile or "unknown" (no profile tag)
* builds the releases object - now structured release -> build (instead of build -> release)

ReleasesReadme
* works with new releases object format
* improve sorting and selection of latest per version per-build AMIs
* empty cell if a region doesn't happen to have a build AMI there

PruneAMIs
* rename 'version' level to 'end-of-life'
* add 'UNKNOWN' pruning level
* works, even if you don't want to --use-broker
* --keep N - keeps an additional N AMIs that would otherwise have been purged per build
* --defer-eol DAYS - give EOL AMIs a grace period past their official EOL date
* no AMI deletion happens unless --no-pretend arg is provided
* improve pruning criteria scan and candidate selection

Co-authored-by: Jake Buchholz <jake@jakesys.net>
2021-01-04 17:36:15 -08:00
tomalok
4494aa4463
Release the latest versions (#101)
Release the latest versions
* v3.12.3 (x86_64 & aarch64)
* v3.11.7 (x86_64)
* v3.10.5-r1 (x86_64)
* today's edge (x86_64 & aarch64)
* sort the release AMIs by region

builder.py timings, roughly
* amis - 23m
* release (serial) - 1h38m
* refresh-releases - 4m
* gen-release-readme - instantaneous
2020-12-19 11:16:48 -08:00
tomalok
a530e331f3
Add refresh-releases subcommand, etc. (#97)
* Add refresh-releases subcommand, etc.

* builder.py
  + gen-release-readme
    - convert `build_time` to int
  + release
    - add `source_region` to copied AMI tags
    - check source AMI's permissions, queue for fixing, if necessary
  + refresh-releases
    - update releases/<profile>.yaml based on AMIs that exist in regions
  + explicitly call out `python-dateutil` dependency and `pip install` it into the venv

* Release Alpine 3.12.2 & today's edge
2020-12-14 22:24:29 -08:00
tomalok
6e252ce9de
Fix 3.12.1 aarch64 Root Resize (#93)
release alpine-ami-3.12.1-aarch64-r1

Also...
* release new edge builds
* Alpine 3.9 is EOL
* build_instance_type set in profiles/arch/
* a couple comment fixes
2020-11-22 16:16:45 -08:00
Jake Buchholz
9ddcac75c3 s/private IPv4/secondary IPv4/ 2020-11-05 08:17:24 -08:00
Jake Buchholz
909e9fd2a8 specify _Alpine_ release 3.12.1 2020-11-05 08:17:24 -08:00
Jake Buchholz
e578d23975 add missing ) after (launch 2020-11-05 08:17:24 -08:00
Jake Buchholz
2ffd039692 fix collapsable sections 2020-11-05 08:17:24 -08:00
Jake Buchholz
79beab0f97 grammar tweak 2020-11-05 08:17:24 -08:00
Jake Buchholz
c49106aadf Update Releases for 3.12.1 2020-11-05 08:17:24 -08:00
Jake Buchholz
e65b2d7720 * updates to READMEs 2020-09-15 22:17:16 -07:00
tomalok
fe362af91f
3.11.6, 3.10.5, and 3.9.6 (#65) 2020-04-25 17:03:26 -07:00
tomalok
7ce209cfb6
Alpine 3.11.5 (#63) 2020-04-02 21:08:12 -07:00
tomalok
c8c6a995cf
The Latest Releases (#62)
* 3.9.5
* 3.10.4
* 3.11.3
2020-02-05 20:29:16 -08:00
Jake Buchholz
e15b8a4401 Alpine 3.11.2 2020-01-04 12:23:32 -08:00
Jake Buchholz
7fd3719cf2 Alpine 3.11.0
Also attach  per build target (3.11.0 is r0, but 3.10.3 remains r1)
2019-12-19 20:27:31 -08:00
Jake Buchholz
8245073a8a Alpine-3.10.3 (and latest edge)
Also includes fix for Packer regression affecting encrypted AMIs
2019-10-26 15:59:32 -07:00
tomalok
6b5596e0e3
alpine 3.10.2 (and latest edge) AMIs (#56) 2019-08-25 20:51:23 -07:00
tomalok
8a46e41b77
fix regression on nvme mdev script (#55)
* sh doesn't allow nesting of prefix strip
* also update some minor test profile bits
* new AMI revisions (fixed nvme)
* edge AMI release should remain a timestamp
2019-07-27 03:02:20 +02:00
Jake Buchholz
0f1cc5c4b2 Latest AMIs per Version in releases/README.md
Only keep the latest AMIs per version in releases/README.md instead of per release.
2019-07-14 09:07:01 -07:00
tomalok
b4baa30e52
alpine 3.10.1 release (#52) 2019-07-12 09:00:48 -07:00
Jake Buchholz
2ef5df0927 * 3.10.0 has landed!
* switch build name from 'current-x86_64' to 'v#_#-x86_64' to avoid  any confusion when new versions roll out
* resolvie-alpine.py.in - only warn about disabled regions once, instead of for each profile build
* make-amis - tweak script output
* new set of AMIs for edge, 3.10.0, and 3.9.4
2019-07-05 12:51:09 -07:00
Jake Buchholz
12b73e4e0a update releases/README.md with latest AMIs with metadata tags 2019-07-05 12:51:09 -07:00
Jake Buchholz
396bb8ab86 Build Profiles and 3.9.4
* Build Profiles (completion of PR #49)
+ auto-updates version profile when new release detected
+ updates releases/<profile>.yaml after successful builds
* Prune AMIs (in AWS and in releases/<profile>.yaml
+ 'revision' - keep latest revision per release
+ 'release' - keep latest release per version
+ 'version' - remove end-of-life versions
* releases/README.md updater script
* README overhaul
+ Pre-built AMIs --> releases/README.md
+ profiles/README.md for profile configuration details
+ main README.md overhauled to go over how to build and manage custom AMIs
2019-07-05 12:51:09 -07:00