-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: add mlflow
modules
#5
Conversation
Signed-off-by: Anton Kukushkin <[email protected]>
Signed-off-by: Anton Kukushkin <[email protected]>
Signed-off-by: Anton Kukushkin <[email protected]>
Signed-off-by: Anton Kukushkin <[email protected]>
Signed-off-by: Anton Kukushkin <[email protected]>
Signed-off-by: Anton Kukushkin <[email protected]>
Signed-off-by: Anton Kukushkin <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A couple of things:
- unit tests?
- you need to add a change log to the repo and begin to track all PR's (see the other module repos)
- looks like we need to add in the git workflows to executing the linting checks and the pytest
environment={ | ||
"BUCKET": f"s3://{artifacts_bucket_name}", | ||
# TODO: Add persistence | ||
# "HOST": database.db_instance_endpoint_address, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will this be configurable (i.e. add in RDS persistence if configured)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yep. Also in case user wants to use the default file store for persistence we probably need an EBS volume -- checking this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added EFS by default
Signed-off-by: Anton Kukushkin <[email protected]>
Signed-off-by: Anton Kukushkin <[email protected]>
Signed-off-by: Anton Kukushkin <[email protected]>
Signed-off-by: Anton Kukushkin <[email protected]>
Signed-off-by: Anton Kukushkin <[email protected]>
Signed-off-by: Anton Kukushkin <[email protected]>
Signed-off-by: Anton Kukushkin <[email protected]>
Signed-off-by: Anton Kukushkin <[email protected]>
Signed-off-by: Anton Kukushkin <[email protected]>
|
||
Tags.of(scope=cast(IConstruct, self)).add(key="Deployment", value=app_prefix[:64]) | ||
|
||
role = iam.Role( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you want to name this role and prefix with the dep spec name to allow multiple instances of deployment of same module?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am relying on the autogenerated name that will be unique across stacks/deployments. Does that work?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Did you test multiple instances of this module deployment?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, just did.
container.add_port_mappings(port_mapping) | ||
|
||
# Add EFS | ||
fs = efs.FileSystem( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it a good idea to externalize EFS from this module and consume from IDF kind of a generic repo?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah I think it s a good idea, but only after we have a second use case for it, to make sure we actually have a generalized version of it
Signed-off-by: Anton Kukushkin <[email protected]>
Signed-off-by: Anton Kukushkin <[email protected]>
Signed-off-by: Anton Kukushkin <[email protected]>
Signed-off-by: Anton Kukushkin <[email protected]>
vpc=vpc, | ||
encrypted=True, | ||
throughput_mode=efs.ThroughputMode.ELASTIC, | ||
performance_mode=efs.PerformanceMode.GENERAL_PURPOSE, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what is the retain policy? will we have efs volumes out there when the module destroys?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes it's RETAIN
by default
Description of changes:
mlflow-image
module that builds mlflow container image and pushes to ECR.mlflow-fargate
module to run mlflow on AWS Fargate from the image above. By default, uses EFS for persistence.Refer to the architecture and module README.MD for details.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.