Wed Nov 29 06:44:45 2023 Rob Lauer [1.1.24]: * VERSION: bump * README.md: generated * NEWS.md: updated * src/main/perl/lib/Amazon/Credentials.pm.in (help): tweaks (main): ec2 => 'role' Wed Nov 29 06:08:40 2023 Rob Lauer [1.1.23]: * VERSION: bump * README.md: generated * NEWS.md: update * src/main/perl/lib/Amazon/Credentials.pm.in (help): added version (get_creds_from_role) - avoid uninitialized warning - use safe_dumper for logging (get_creds_from_container) - croak on error, don't just log message (main): minor refactoring Tue Oct 10 07:06:00 2023 Rob Lauer [1.1.22]: * VERSION: bump * cpan/requires: min version for Test::Output = 1.033 * README.md: generated Sat Jul 22 09:22:11 2023 Rob Lauer [1.1.21]: * VERSION: bump * NEWS.md: updated * README.md: generated * src/main/perl/t/07-encryption.t: typo (add n to regxp options) Mon Jul 17 08:54:07 2023 Rob Lauer [1.1.20]: * VERSION: bump * NEWS.md: updated * README.md: generated * src/main/perl/lib/Amazon/Credentials.pm.in - ditch the ## end stuff, it wasn't that helpful - remove the quotes in hash keys (get_creds_from_ini_file) - no 'profile' variable in default section - set aws_session_token from file and 'token' - refactor to use populate_creds (populate_creds): new (get_creds_from_env): refactored to use populate_creds (get_creds_from_process): likewise (get_creds_from_role): likewise (set_sso_credentials): refactored for clarity (get_role_credentials): likewise (export_credentials): likewise (main): use above * t/14-utils.t: new * src/main/perl/UnitTestSetup.pm - package - export nothing by default - remove useless ## end comments (12-error.t) - remove 'profile=foo', no profile in default section * t/00-credentials.t: refactored, import methods from UnitTestSetup * t/01-credentials.t: likewise * t/02-credentials.t: likewise * t/03-container.t: likewise * t/04-process.t: likewise * t/05-format.t: likewise * t/06-security.t: likewise * t/07-encryption.t: likewise * t/08-imdsv2.t: likewise * t/09-live-credentials.t: likewise * t/10-logging.t: likewise * t/11-order.t: likewise * t/12-error.t: likewise * t/13-env.t: likewise Mon May 22 16:45:25 2023 Rob Lauer [1.1.19]: * VERSION: bump * NEWS.md: updated * README.md: generated * src/main/perl/lib/Amazon/Credentials.pm.in (new): provide hint for 'no_passskey_warning' Tue Jan 24 13:53:18 2023 Rob Lauer [1.1.18]: * VERSION: bump * README.md: generated * cpan/Makefile.am: PROJECT_ROOT * cpan/test-requires: rm Log::Log4perl as a requirement Mon Jan 9 05:48:08 2023 Rob Lauer [1.1.17]: * VERSION: bump * src/main/perl/lib/FOO.pm: removed from distribution Sun Jan 8 15:50:03 2023 Rob Lauer [1.1.16]: * VERSION: bump * src/main/perl/lib/Amazon/Credentials.pm.in * cpan/extra-files: use path's relative to project root * cpan/buildspec.yml: likewise * src/main/perl/lib/Amazon/Credentials.pm.in - use q() instead of q{} for lists * src/main/bash/bin/amazon-credentials.sh.in - implement generic modulino pattern for scripts - use qw() instead of qw{} for lists (get_role_credentials): missing arg in sprintf * NEWS.md - update Mon Nov 21 18:41:11 2022 Rob Lauer [1.1.15]: * VERSION: bump * src/main/perl/lib/Amazon/Credentials.pm.in (get_creds_from_env): 4 args, not 3 - avoid uninitialized warning Sun Nov 13 14:09:59 2022 Rob Lauer [1.1.14]: * VERSION: bump * perl-Amazon-Credentials.spec.in: add scripts to libexecdir Fri Aug 19 11:21:48 2022 Rob Lauer [1.1.13 - SSO error message]: * VERSION bump * src/main/perl/lib/Amazon/Credentials - minor refactoring (decode_json) (new): debug statement (get_creds_from_container): decode_json (_get_access_token): likewise (get_role_credential) - debug statements - better error handling/messages * Makefile.am: don't rm README.md Tue Aug 16 16:48:23 2022 Rob Lauer [1.1.12 - reusing passkeys]: * VERSION: bump * src/main/perl/t/01-credentials.t: no_passkey_warning * src/main/perl/t/07-encryption.t: likewise * src/main/perl/t/12-error.t: likewise * src/main/perl/t/13-env.t: likewise * src/main/bash/bin/Makefile.am - amazon-credentials, get-sso-credentials * src/main/perl/lib/Amazon/Credential.pm.in - pod tweaks and additions - no_passkey_warnings (new): warnings (get_creds_from_env): clear %ENV of credentials (_get_access_token): restore current working directory Wed Aug 10 11:54:11 2022 Rob Lauer [1.1.11 - SSO]: * VERSION: bump * src/main/perl/lib/Amazon/Credentials.pm.in (new) - sso_role_name, sso_account_id, sso_region (get_region_from_env): new * src/main/perl/t/13-env.t: delete AWS_REGION from env * NEWS.md: update Tue Jul 12 12:27:30 2022 Rob Lauer [1.1.10 - unit tests, passkey, GetRoleCredentials]: * VERSION: bump * NEWS.md: updates * README.md: generated * src/main/perl/lib/Amazon/Credentials.pm.in - pod for new subs - remove passkey from hash, store as lexical (get_passkey): new (set_passkey): new (main): new (help): new (set_sso_credentials): new (get_role_credentials): new (_get_access_token): new * src/main/perl/t/*: qw{ . lib } * configure.ac - add JSON::PP, et.al. - add src/main/bash/bin/Makefile * src/main/bash/bin/get-role-credentials.sh.in: new * src/main/bash/Makefile.am: new * src/main/bash/bin/Makefile.am: new * src/main/Makefile.am: add above to SUBDIRS * cpan/buildspec.yml: exe_files (added shell scripts) Fri Jun 3 12:45:37 2022 Rob Lauer [1.1.9 - get region from .aws/config]: * configure.ac: dependencies File::chdir, Test::Output * src/main/perl/lib/Amazon/Credentials.pm.in - set default timeout for metadata to 2 from 3s (get_default_region): read .aws/config if found for default region (create_config_path): new (get_region_from_config): new (get_creds_from_ini_file) - get region from [default] section regardless * VERSION: bump * README.md: version * src/main/perl/UnitTestSetup.pm (create_config_file): new (init_test) - set default if undef only - create .aws/config w/us-east-2 as default region * src/main/perl/t/13-env.t - test for default region from.aws/config Thu Apr 28 18:04:16 2022 Rob Lauer [1.1.8 - new README.md]: * README-BUILD.md: renamed from README.md * README.md: new * Makefile.am: build rule for above Mon Apr 25 09:55:14 2022 Rob Lauer [1.1.7 - unit test fails on perl >= 5.17]: * src/main/perl/lib/Amazon/Credentials.pm.in (safe_dumper): less greedy to get all instances of credentials (get_creds_from_env): @ENV{@env} * src/main/perl/UnitTestSetup.pm (__DATA__): add more profiles * src/main/perl/t/13-env.t Sun Apr 24 06:51:16 2022 Rob Lauer [1.1.6 - more unit test fun]: * VERSION: bump * src/main/perl/lib/Amazon/Credentials.pm.in (_init_encryption): test for Crypt::Cipher::AES too! * .gitignore: just *.pm in src/main/perl/lib * bootstrap: rebuild on version bump * src/main/perl/lib/Amazon/Credentials/UnitTests.pm.in: new * configure.ac: do not treat warnings as errors (pattern rule) * cpan/test-requires: add Test::Without::Module * src/main/perl/UnitTestSetup.pm: new * src/main/perl/t/00-credentials.t: use UnitTestSetup * src/main/perl/t/01-credentials.t: likewise * src/main/perl/t/02-credentials.t: likewise * src/main/perl/t/03-container.t: likewise * src/main/perl/t/04-process.t: likewise * src/main/perl/t/05-format.t: likewise * src/main/perl/t/06-security.t: likewise * src/main/perl/t/07-encryption.t: likewise * src/main/perl/t/09-live-credentials.t: likewise * src/main/perl/t/10-logging.t: likewise * src/main/perl/t/11-order.t: likewise * src/main/perl/t/12-error.t: likewise Sun Apr 24 05:01:18 2022 Rob Lauer [1.1.5 - CPAN only release, no changes]: Wed Apr magit20 14:55:50 2022 Rob Lauer [1.1.4 - missing unit tests]: * VERSION: bump * src/main/perl/lib/Amazon/Credentials.pm.in - print_error, raise_error, error - use our instead of use vars - re-arrange subs in logical sections - some refactoring for code clarity (formatting) - use decode_json, encode_json - minor refactoring, more constants (get_creds_from_env):new (set_credentials) - respect print_error, raise_error setting * src/main/perl/t/12-error.t: new * .gitignore: +prove.sh.*, test-suite.log Mon Apr 18 14:41:29 2022 Rob Lauer [1.1.3 - unit test fixes]: * VERSION: bump * bootstrap: configure after bump * .gitignore: -test-requires * cpan/test-requires: new (Module::Loaded) * cpan/buildspec.yml - test-requires * cpan/Makefile.am (CLEANFILES): -test-requires Sun Apr 17 09:18:12 2022 Rob Lauer [1.1.2 - unit test fixes]: * VERSION: bump * src/main/perl/t/07-encryption.t - use Test::Without::Module instead of Devel::Hide - skip all tests if no Crypt::CBC available - use -key or -pass to support older Crypt::CBC modules * src/main/perl/t/01-credentials.t: bail on error * src/main/perl/lib/Amazon::Credentials.pm.in - pod tweaks (_crypt): use -key -pass to support older Crypt::CBC versions * cpan/requires: new * cpan/buildspec.yml: core_modules: no Thu Apr 14 09:48:53 2022 Rob Lauer [1.1.1 - pod fixes]: * NEWS.md: update * src/main/perl/lib/Amazon/Credentials.pm.in - pod fixes Thu Apr 14 08:18:59 2022 Rob Lauer [1.1.0 - credential encryption, IMDSv2 support]: * src/main/perl/t/11-order.t: new * src/main/perl/get-creds-from-process - create more realistic payload * src/main/perl/lib/Amazon/Credentials.pm.in - pod improvements - export create_passkey (set_default_logger): new (_init_logger): use above (_set_defaults) - set default order from split string - make sure order is array ref - validate search order - do not use debug flag to set insecure flag (get_creds_from_ini_file) - test 'aws_access_key_id', not keys (reset_credentials) - add flag to regenerate credentials * src/main/perl/t/01-credentials.t - add test for region - refactored * src/main/perl/t/02-credentials.t - refactored - perltidy * src/main/perl/t/03-container.t: likewise * src/main/perl/t/04-process.t: likewise * src/main/perl/t/05-format.t: likewise * src/main/perl/t/06-security.t: likewise * src/main/perl/t/07-encryption.t - likewise - breakout subtest 'do not cache credentials' - add test for rotating credentials w/custom passkey - order tests logically - test default and custom ciphers * src/main/perl/t/08-imdsv2.t - use instance role * src/main/perl/t/09-live-credentials.t - subtest 'get real credentials from role' - subtest 'get real credentials from profile' * src/main/perl/t/11-order.t: new * src/main/perl/t/100logging.t: test for default message changed * README-TESTING.md: new * src/main/perl/Makefile.am (CLEANFILES): +prove.sh Thu Apr 7 08:46:59 2022 Rob Lauer [1.1.0 - credential encryption, IMDSv2 support]: * NEWS.md: notes on enhancements in this release * VERSION: bump minor version * src/main/perl/lib/Amazon/Credentials.pm.in - pod updates - update encrypted keys with prefix '_' (new) - use debug flag set insecure mode for full debug output - default mode is to encrypt credentials if Crypt::CBC installed - add cache attribute to enable/disable cacheing behavior - just check if logger is ref, not 'CODE' (credential_keys) - fetch credentials if cacheing disabled - delete token related members if no token (get_default_region) - use container metadata if executing in container - add IMDSv2 token for EC2 (find_credentials) - log message - use new setter/getters to enforce encryption (get_creds_from_container) - don't store serialized credentials ($creds->{serialized}) (get_creds_from_role) - likewise - add headers for IMDSv2 (get_creds_from_process) - refactored (get_creds_from_ini_file) - refactored - set region from section * src/main/perl/t/01-credentials.t - use new getters * src/main/perl/t/03-container.t - perltidy - set ECS_CONTAINER_METADATA_URI_V4 (src/main/perl/t/04-process.t): test region (get_aws_access_key_id): new (get_aws_secret_access_key): new (get_creds_from_file): removed (reset_credentials): new (rotate_credentials): new (safe_dumper): renamed from dump_ini_file (set_aws_access_key_id): new (set_aws_secret_access_key): new (set_token): new (create_passkey): new (_create_metadata_url): new (_crypt): new (_decrypt): new (_encrypt): new (_fetch_passkey): new (_init_encryption): new * src/main/perl/t/07-encryption.t: new * src/main/perl/t/08-imdsv2.t: new * src/main/perl/t/09-live-credentials.t: new * src/main/perl/t/10-logging.t: new * README-TESTING.md: new * cpan/requires: new * src/main/perl/get-credentials-from-process - use real expiration date Mon Feb 7 08:00:07 2022 Rob Lauer [1.0.19: log security]: * VERSION: bump * src/main/perl/lib/Amazon/Credentials.pm.in - pod tweaks and additions (SECURITY) - only need perl 5.10? - + insecure option (new): output warning if insecure mode (dump_ini_file): new (get_creds_from_ini_file): use above method (dump_response): new (get_creds_from_role): use above (get_creds_from_container): likewise (format_credentials): q{} * src/main/perl/t/06-security.t: new Tue Feb 1 16:23:26 2022 Rob Lauer [1.0.18: debugging]: * VERSION: bump * src/main/perl/lib/Amazon/Credentials.pm.in - add more debug messages (new): use DEBUG environment variable as documented (get_creds_from_ini_file): .aws/config * src/main/perl/t/04-process.t: [profile foo] Tue Feb 1 12:06:36 2022 Rob Lauer [1.0.17: unit tests for new methods]: * src/main/perl/lib/Amazon/Credentials.pm.in (format_credentials): don't join on "\n" * src/main/perl/t/05-format.t - new unit test for formattingmethods Tue Feb 1 08:41:42 2022 Rob Lauer [1.0.17: perlcritic, format, as_string, credential_keys]: * src/main/perl/lib/Amazon/Credentials.pm.in - varioius "suggestions" from perlcritic (as_string): new (format): new (credential_keys): new (find_credentials): refactor (get_creds_from_ini_file): refactor * VERSION: bump * .perlcriticrc: new * README.md: update build docs * .gitigmore: + cpan/upload-instructions [distcheck]: * Makefile.am: distcheck * src/main/perl/Makefile.am: likewise * cpan/Makefile.am: added buildspec.yml to dist Mon Jan 31 07:06:15 2022 Rob Lauer [1.0.16]: * cpan/extra-files: get-creds-from-process * src/main/perl/Makefile.am - add 03-, 04- tests to list - fix make check from root * src/main/perl/lib/Makefile.am: tests moved up one dir * Makefile.am: make cpan Sun Jan 30 10:06:07 2022 Rob Lauer [1.0.16]: * VERSION: bump Sat Jan 29 11:53:12 2022 Rob Lauer [1.0.16 Config::Tiny]: * src/main/perl/lib/Amazon/Credentials.pm.in - some refactoring - use Config::Tiny (find_credentials) - use Config::Tiny (get_creds_from_ini_file): new (get_creds_from_file): moved to sub from inline (deprecated) (get_creds_from_process): rename from get_credentials_from_process * src/main/perl/t/01-credentials.t: add default profile * src/main/perl/t/02-credentials.t: use profile for test * src/main/perl/t/04-process.t: new * src/main/perl/get-creds-from-process: new Sat Jan 29 06:53:47 2022 Rob Lauer [1.0.15 credential process]: * VERSION: bump * src/main/perl/lib/Amazon/Credentials.pm.in - use English; - move pod to bottom (find_credentials) - set source if creds found in environment - add check for credentials from process (credential_process=) Sat Jan 15 05:52:08 2022 Rob Lauer [1.0.14]: - no commit, pushed to CPAN, 1.0.13 as new version Sat Jan 15 05:37:48 2022 Rob Lauer [1.0.13: log cleanup]: * src/main/perl/lib/Amazon/Credentials.pm.in - remove some log messages (new) - add warning if debug and no logger - check if passed logger is code ref Mon Jan 10 18:20:27 2022 Rob Lauer [1.0.12: refactoring]: * VERSION: bump * src/main/perl/Amazon/Credentials.pm.in - refactoring, remove buggy foreach () case construct - perlcritic mitigations (Amazon::Credentials:Logger::debug): return if ! debug level (new): use AWS_DEFAULT_REGION * src/main/perl/t/03-container.t: new test for container Sat Jan 8 09:44:57 2022 Rob Lauer [1.0.11]: * .gitignore: add cpan/local * configure.ac: use VERSION file * VERSION: new * bootstrap: bump [get_creds_from_container]: * src/main/perl/lib/Amazon/Credentials.pm.in (get_creds_from_container): $@ used but not in eval (refresh_token): check for ref AND keys Wed Sep 15 16:09:27 2021 Rob Lauer [1.0.10-5]: * configure.ac: bump release * src/main/perl/lib/Amazon/Credentials.pm.in - pod - default order (find_credentials): check if profile defined and true Fri Mar 5 14:54:01 2021 Rob Lauer [1.0.10-4]: * buildspec.yml - 0.2 - add YRB_EXTRA for repo update notification * README.md: badge Sun Jan 27 04:03:28 2019 Rob Lauer [1.0.10-3]: * src/main/perl/lib/Amazon/Credentials.pm.in: pod changes * configure.ac: bump minor version Sun Jan 27 03:27:22 2019 Rob Lauer [1.0.10-2]: * cpan/Makfile.am: .PHONY * src/main/perl/lib/Amazon/Credentials.pm.in: pod changes * configure.ac: bump minor version Tue Dec 11 12:53:58 2018 Rob Lauer [1.0.10-1]: * configure.ac: bump release * cpan/Makefile.am: rename tarball for minor release only * src/main/perl/t/02-credentials.t: GMT, not UTC * README.md: mention 'make cpan' * cpan/extra-files: new Mon Dec 10 13:44:31 2018 Rob Lauer [1.0.10]: * ChangeLog: new * bootstrap: new * configure.ac - bump minor release - add cpan/Makefile * cpan/Makefile.am: new * Makfile.am: add path above * cpan/buildspec.yml - don't build from git repo, build local - use relative path for above * src/main/perl/lib/Amazon/Credentials.pm.in (_iso8601_to_time): always run strptime() in GMT