All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning and Keep a Changelog.
- adding support for module-type spec on init of new module
seedfarmer init module -mt cdkv2
- skip destroy of managed-project-policy if it has roles attached
- updating
urllib~=1.26.17
for http-cookie vulnerability - update
aws-codeseeder~=0.10.1
- corecting urllib hard dependency version
- global and regional param resolution should usse account_alias instead of account_id
- forcing
certifi~=2023.7.22
in all references due to e-Tugra security notification HERE - adding
concurrency
definition to the docs - updating
urllib==1.26.5
in docs/requirements-docs.in - adding in seedkit redeploy information in the
Architecture
section of the docs - allow non-json compliant ssm parameters to be parsed when using module-specifics paths (
/<project>/<dep>/<mod>/databaseinfo
)
- removing pyjq library dependency (installation issues with library)
- raising error if an env variable specified by parameter is not found
- correct the arn generation of inline policy for docker secrets policy
- added support for other partitions (
aws-cn
andaws-us-gov
) - added CLI commands to be used as boilerplate code in deployspec for managing metadata
- updated aws-codeseeder depenedency to 0.10.0
- updated how remote repos are created and pulled to support code-commit
- adding support for gitpath sourced modules based on commit hash
- applying local path eval consistently, updating patch release 2.9.1 chnage for modulestack.yaml eval
- handle exceptions when cloned repo based off tags is in a detached HEAD state
- proper parsing of modulestack.yaml path if sourced from git
- adding qualifier support for bootstrap roles
- adding support to attach policies to target role when bootstrapping
- raise error if a metadata parameter or value_from parameter is not available
- added
forceDependencyRedeploy
feature to codebase
- updated
requests~=2.31.0
in requirements-dev.* to align to dependabot
- implement custom error classes, remove all
exit()
commands - added debug component to print all codebuild urls, regardless of status
- allow for SSM parameter to be either string or json-compliant when a single value
- adding HTTP-Proxy (this is a backward-compatible change)
- adding
seedfarmer list allmoduledata
to fetch all the metadata in a deployment in a single call - adding Network configuration support from SSM and EnvVariables
- refactored deployment_commands
- added python upper limit versioning (to
<3.12
)
- typo in messaging about errored manifest
- removed overriding build image from seedfarmer which defaults the codebuild image to ubuntu 6.0 (which comes from codeseeder as default)
- updated codeseeder to 0.9.0
- adding synth for both bootstrap templates when issuing
--as-target
- addind
dataFile
support for local files and from git - changed default codebuild image base to 3.0.0
- adding support for evaluating the version of SSM and secretsmanager when calculating md5 of code (for redeploy)
- update gitparser version to be 3.1.30
- removed modules as they now are in
https://github.com/awslabs/seedfarmer-modules
- fix for
gitpython
assuming that codecommit repos are unsafe - fix resolution of parameters that have a False value
- fix adding verbose error messages when a manifest cannot be loaded
- fix destroy of modules sourced from git via disparate (non-cached) cli invocations
- Adding support for customer codebuild image overrides. This IS backward-compatible
- Enable use of generic SEEDFARMER prefixed Env Variables in CodeBuild
- Example modules demonstrate use of SEEDFARMER generic Env Variables
- Adding
SeedFarmerProject
SeedFarmerModule
SeedFarmerDeployment
tags to module role - Adding CLI support to synthesize the project policy for modification
- Add
projectPolicyPath
suppprt toseedfarmer.yaml
to allow override of default project policy
- {ProjectName}_PROJECT_NAME and SEEDFARMER_PROJECT_NAME Env Variables added to CodeBuild
- ProjectName Parameter passed to modulestack.yaml CFN Template
- Adding more descriptions in the README with links to read-the-docs
- Fix codebuild role name reference
- Fix support for project names with
-
characters - Error handling around
list
commands when a module is not found - Force seedfarmer to ingore project policies in module projects unless configred to use it
- Safe_load all yaml files (ref: V741010817)
- added VPC support of isolated subnets for
seedkit
- flow thru to codeseeder
- updated manifest docs for isolated subnet support
- implemented Global and Regional Parameter name/value pair lookups
- updated manifest docs for Global and Regional Parameter support
- added module metadata to environment parameters on destroy of module
- forced the
apply
of a deployment to respect thetoolchainRegion
parameter - allow fetch of build info of modules not successfully deployed
- exit code of failed deleted modules changed from
0
to1
- Added intra-group validation of parameter references (prevent any intra-group dependencies)
- Added validation of module deletion to prevent deleting modules that have dependencies
- Added CLI lookup
seedfarmer list dependencies
to provide dependencies of a module - Added CLI lookup
seedfarmer list buildparams
to provide the build env params of an existing build (based on build-id) of a module - Added support for gitignore when getting MD5 for module bundles
- catch exceptions when deleting a deployment but the project policy (stack) is still in use elewhere
- respect group ordering when destroying modules in an existing deployment
- in
module_info
changed alias of import fromstore
tossm
- modifiled bundle md5: removed
checksumdir
, added custom alg to respect directories and gitignore - include module reference info to
Source version
of Codebuild console - added documentation on how to use manifest parameters in the modulestack
- updating version of
aws-codeseeder
dependency to 0.7.0
- updated pip library to
certifi~=2022.12.7
in requirements-dev (ref dependabot #4)
- removed the serialized deployspec from the module manifest ssm to prevent bloat (Issue #186)
- corrected logic for mutating SSM for each module deployment (Issue #188)
- new
generateName
attribute on DeploymentManifest for dynamic creation of the deploymentname
- added documentation for git sourcing of modules
- new --enable-session-timeout and --session-timeout-interval CLI options on apply and destroy
- unable to destroy when module sourced from remote git repository
- seedfarmer apply was not picking up .env at same level as
seedfarmer.yaml
- all
list
functions did not respect the .env path relative toseedfarmer.yaml
- new --env-file CLI parameter on apply and destroy enabling specific declaration of the dotenv file to use
- modified output messaging to use logger instead of bolded print when loading project configs
- exit code on on failed modules changed from 0 1o 1
- changed typo
Deployemnt
toDeployment
everywhere - improved validation and error handling when AccountId is not resolvable from EnvVariable
- truncate and generate unique role and stack names when identifier is too long
- added updated multi-account diagram source for docs
- added support for git repositories as source for module code
- updated architecture diagram and verbiage in docs
- new CLI bootstrap commands for Toolchain and Target accounts
- create SessionManager class for supporting multi-account, multi-region
- bootstrap command support to generate CFN templates for Toolchain and Target accounts
- added deployment for toolchain and target accounts via CFN
- support for cross-account and cross-region deployments
- support for envVariable as valueFrom via .env and python-dotenv
- threaded the priming of accounts on create and destroy
- added destroy of managed polices when destroying deployments
- threaded module info fetching
- added account and region to module list output
- added region and profile support for CLI commands
- added multi-region support for list moduledata
- support ParameterStore and SecretsManager as sources for module parameters (new valueFrom types)
- added region adn profile support for all cli commands where needed
- update DeploymentManifest to support targetAccountMappings and regionMappings
- update ModuleManifest to support targetAccount and targetRegion with defaults
- move deployment level Parameters (dockerCredentialsSecret, permissionsBoundaryName) to mappings
- refactor cli commands/groups to reduce line count in
__main__.py
- moved projectpolicy.yaml into resources/.
- added profile and region support for session in
_session_utils.py
- convertd
session_manager.py
to only use_session_utils.py
- refactored deployment_command objects and signatures for threadding
- fix import failure of seedfarmer top-level module if seedfarmer.yaml doesn't exist
- enable basic CLI functions by lazy loading seedfarmer.yaml and boto3.Session
- ensure get_account_id() and get_regin() always use correct boto3.Session
- ensure bootstrap functions look for roles and cfn templates when updating/deploying roles
- honed back deployment role permissions
- modified session manager to support threadding with the toolchain session
- rename manifest parameter permissionBoundaryArn -> permissionsBoundaryName to align on AWS naming and hide account ids in ARNs
- ensure we find a deploymed manifest when listing/printing module metadata
- updated user-friendly messages for invalid credentials / sessions
- added version support for CLI
seedfarmer version
- updated dependency aws_codeseeder==0.4.0
- corrected import of CodeSeederRuntimeError
- allow CLI to return when exporting moduledata that is None
- remove table and short url for errored codebuild urls
- removed architecture diagram from Git README - it is in
readthedocs
- support logging output and url gereration from codebuild output / codeseeder
- added use of CodeSeederRuntimeError
- added ModuleDeploymentResponse object
- added export of moduledata (metadata) in UNIX format from CLI (--export-local-env)
- moved Parameter support to its own script
- removed arch diagram from README on git repo (the image does not translate on pypi). It is in the readthedocs site
- eventual consistency of IAM policy to module-spcific role (issue 43)
- added example modules for buckets and networking
- use HTTPS instead off SSH for git cloning
- feature - added CLI ability to list deployspec of deployed module
- feature - added CLI ability to store new deployspec of deployed module
- change - enforce runtime versions of CodeSeeder
- lock versions in requirements-dev.in
- updating CLI output to discern changes to manifest, intended deployment
- lazy-load seedkit (version 0.3.2 of codeseeder)
- improve logging messages from codeseeder
- align message output / tables listing modules requested, modified, deleted for deployment
- update repo for project initialization
- update repo for module initalizaton
- optimize intialization (remove interactive input, require seedfarmer.yaml)
- initial commit and release of public SeedFarmer