Publicly available templates and other resources to assist customers with onboarding and using the platform.
Monte Carlo's agent template for customer-hosted agent & object storage deployments in AWS (source)
This template deploys Monte Carlo's containerized agent on AWS Lambda, along with storage, and roles:
See here for platform details and here for how to create and register an agent on AWS. A Terraform variant can be found here.
For any developers of the agent this simple script can be handy in testing basic execution of the agent.
S3 Data Store for customer-hosted object storage deployments in AWS (source)
This sample template creates a S3 bucket and assumable IAM role for the cloud with customer-hosted object storage deployment model.
See here for platform details and here for how to create and register a data store on AWS.
Basic VPC (source)
This template creates a VPC with 2 public and private subnets. Includes a NAT, IGW, and S3 VPCE. Can be used to connect an Agent to a VPC for peering and/or IP whitelisting.
This example demonstrates how you can deploy an agent with this connected VPC in one stack.
GCS Data Store for customer-hosted object storage deployments in GCP (source)
This sample config file creates a GCS bucket, role, service account, and key for the cloud with customer-hosted object storage deployment model on GCP.
Note that this will persist a key in the remote state used by Terraform. Please take appropriate measures to protect your remote state.
See here for platform details and here for how to create and register a data store on GCP.
-
Install any dependencies and pre-commit hooks
pyenv activate mcd-iac-resources pip install -r requirements-dev.txt; pre-commit install
This hook will lint all CloudFormation templates in the
templates/
directory using cfn-lint.
Any CloudFormation templates can be created using commands like deploy or the console. Similarly, any Terraform config files can be deployed using terraform apply (and plan).
During development, you might want to configure Terraform Cloud as the backend. To do so you can add the following snippet:
terraform {
cloud {
organization = "<org>"
workspaces {
name = "<workspace>"
}
}
}
This also requires you to execute terraform login
before initializing. You will also have to set the execution mode
to "Local".
After merging to dev
CircleCI will lint, validate, and publish any templates or resources in the templates/
directory to s3://mcd-dev-public-resources
.
Note that any files in this bucket are considered experimental and are not intended for production use.
After merging to main
CircleCI will publish any templates or resources in the templates/
directory
to s3://mcd-public-resources
(requires review, linting, validation, and approval).
Description | Link |
---|---|
Monte Carlo's containerized agent | https://github.com/monte-carlo-data/apollo-agent |
Monte Carlo's agent module for customer-hosted deployments in GCP | https://github.com/monte-carlo-data/terraform-google-mcd-agent |
Monte Carlo's agent module for customer-hosted deployments in AWS | https://github.com/monte-carlo-data/terraform-aws-mcd-agent |
Monte Carlo's agent module for customer-hosted deployments in Azure | https://github.com/monte-carlo-data/terraform-azurerm-mcd-agent |
The scripts that live here are scripts that are meant to interact with external resources (e.g. Databricks) that will connect with Monte Carlo, but not with Monte Carlo directly.
Add Monte Carlo Webhook Notifications(source)
This script interacts with your Databricks jobs by adding the configured Monte Carlo Webhook as a Notification on job failures,
and giving CAN_VIEW
permissions to the Monte Carlo Service Principal.
See LICENSE for more information.
See SECURITY for more information.