Commit Graph

82 Commits

Author SHA1 Message Date
Mike Crute
27491bcb20 Add argument checking for commands 2020-08-22 20:56:18 +00:00
Mike Crute
4df71cdc07 Use logging instead of print 2020-08-22 20:56:18 +00:00
Mike Crute
62262b6630 Fix rate-limiting error 2020-08-22 20:56:18 +00:00
tomalok
bbd08c72fe
Fix nvme-ebs-links Installation (#81)
ensure that ownership and permissions are set properly
2020-08-17 19:06:08 -07:00
tomalok
10058c1113
Fix 'revision' and 'end_of_life' (#80)
Also...
* update alpine.conf with 3.12
* update apk-tools and alpine-keys
* use test profile to test fixes and newer features
2020-08-17 11:11:50 -07:00
Jake Buchholz
2b76c6ebf6 support modification of default AMI user 2020-08-12 18:12:22 -07:00
Jake Buchholz
d593de3833 Optional Additional Setup
Profiles can specify 'setup_script' to do additional things.  If additional files/dirs are required, a 'setup_copy' map will copy them to the build instance so that 'setup_script' can use/install them.

TBD: docs.
2020-08-12 18:12:22 -07:00
tomalok
d765bd4ab7
Fix edge builds (#78)
alpine-mirrors package removed after 3.12

also add profile for 3.12
2020-08-09 15:11:34 -07:00
Jake Buchholz
001db8ef99 Optional AWS Profile & Cross-Account Access
Allows encoding of the AWS profile to use in the build profile, and enabling the built AMI with a list of AWS accounts that are allowed access.
2020-06-14 16:10:30 -07:00
Mike Crute
925e62ceef Update README 2020-05-30 15:09:49 -07:00
Mike Crute
9d672fbd6a Support ARM instance types 2020-05-30 15:07:45 -07:00
Mike Crute
8a09fdda0e Add identity broker docs 2020-05-30 15:07:45 -07:00
Mike Crute
90f7408fc7 Flip broker usage flag 2020-05-30 15:07:45 -07:00
Mike Crute
b804661ffd Remove python3.8 dependency 2020-05-30 15:07:45 -07:00
Mike Crute
83d07e4b9a Initfs features are in profiles 2020-05-30 13:17:56 -07:00
Mike Crute
b1da6a47d6 Embed nvme config 2020-05-30 13:17:56 -07:00
Mike Crute
a0cc4d8a12 Don't require copying scripts to build 2020-05-30 13:17:56 -07:00
Mike Crute
5ca05bfb46 Remove explicit build subnet 2020-05-30 13:17:56 -07:00
Mike Crute
812eba9597 Remove release vars from packer 2020-05-30 13:17:56 -07:00
Mike Crute
b804d174b3 Allow building without broker 2020-05-30 12:14:48 -07:00
Mike Crute
df53323de9 Add some more python docs 2020-05-29 21:11:25 -07:00
Mike Crute
b53492723d Migrate full ami build to builder script 2020-05-29 20:58:53 -07:00
Mike Crute
5b2f32c9c8 Allow builder to be run by itself 2020-05-29 20:58:11 -07:00
Mike Crute
41f127d77b Authenticate per-region for make-amis 2020-05-28 17:57:13 -07:00
Mike Crute
bfc4bf99bf Convert packer.json builder to python 2020-05-28 17:55:46 -07:00
Mike Crute
7e60c7fb6a Combine all commands into a meta-command
There is an increasing need to share components among the various
commands, especially with the introduction of the identity broker API.
Rather than trying to assemble an importable python library of code for
the build process I think we can just combine everything into one file
and use argparse sub-commands to integrate them into a set of
individually callable scripts. This change does that integration.
2020-05-28 17:55:36 -07:00
Mike Crute
1241cb5aaf Better model make dependencies on build files 2020-05-28 17:55:26 -07:00
Mike Crute
a36d0616bf Convert python scripts to argparse
This removes the manual command line handling and reformats the scripts
into main methods. This is paving the way for a more unified build tool.
2020-05-26 18:10:03 -07:00
Mike Crute
d63409acce Convert make-amis to python
This is paving the way for identity broker improvements for opt-in
regions. Eventually we'll need to hook some region logic into these
scripts so having them written in python will be helpful.
2020-05-22 18:23:32 -07:00
Mike Crute
1fd42af98d Refactor resolve-profile script
This is paving the way for identity broker improvements for opt-in
regions. The output is functionally identical between the two scripts
modulo the svcs change. Hopefully this makes the transformation process
a little more clear.
2020-05-21 16:45:17 -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
def572e470 new AMIs (with metadata tags), handle ClientError in prune-amis.py 2019-07-05 12:51:09 -07:00
Jake Buchholz
bc4e1ec30f README: missing ) 2019-07-05 12:51:09 -07:00
Jake Buchholz
ed0559ef72 README: add example aws cli command for listing the latest current-x86_64 build 2019-07-05 12:51:09 -07:00
Jake Buchholz
d206223bae minor output formatting tweak to resolve-profile.py 2019-07-05 12:51:09 -07:00
Jake Buchholz
dbae752178 tag AMIs and snapshots with additional metadata 2019-07-05 12:51:09 -07:00
Jake Buchholz
b517dda7b8 remove new release detection/auto-update of version -- future feature 2019-07-05 12:51:09 -07:00
Jake Buchholz
8f563aa4f1 more changes based on review...
* Makefile - improve/fix check for required make vars
* resolve-profile.py.in
+ build a list of all regions & probe to see which ones are enabled (unknown if special subscription regions like ap-northeast-3 would show up in this list)
+ expand 'ami_regions' 'ALL' meta key to all enabled regions, 'ALL' key's value is preserved (that is, a value of None or False will disable all regions)
+ warn/remove regions in profile config that are found to be disabled.
+ improve checks for [None, False] values
2019-07-05 12:51:09 -07:00
Jake Buchholz
d28214fc50 simple updates...
* .gitignore - don't ignore whole dirs and then opt-in specific files
* Makefile
- fail if required vars aren't set
- SCRIPTS --> ALL_SCRIPTS
* profiles/README.md
- variables.yaml --> vars.json
- drop 'not possible to add/modify/remove arbitrary files' comment
* make-amis
- use -eq for integer comparison
- make shellcheck happier with printf's
- remove old bad-idea TODO
2019-07-05 12:51:09 -07:00