aws-dynamic-consul-catalog [global-config] service [service-config]
See Docker Hub - seatgeek/aws-dynamic-consul-catalog
- Consul configuration uses the normal Consul environment variables
- The project uses the official AWS Go SDK, meaning all the usual sources of credentials work (
ENV,IAM,~/aws/)
- [optional]
--check-interval=1m/CHECK_INTERVALHow often should we check AWS RDS for changes (examples:30s, 1h, 1h10m, 1d) - [optional]
--consul-service-prefix/CONSUL_SERVICE_PREFIXPrefix your Consul service name with this string. - [optional]
--consul-service-suffix/CONSUL_SERVICE_SUFFIXSuffix your Consul service name with this string. - [optional]
--instance-filter key=value/INSTANCE_FILTERService dependent key/value for filtering on instance properties - Can be used multiple times as CLI argument - [optional]
--tag-filter key=value/TAG_FILTERService dependent key/value for filtering on instance tags - Can be used multiple times as CLI argument - [optional]
--log-level=info/LOG_LEVELLog verbosity (debug, info, warning, error, fatal) - [optional]
--on-duplicate-service=ignore-skip-last/ON_DUPLICATE_SERVICEWhat to do if duplicate services are found in RDS (e.g. multiple instances with same DB name orconsul_service_nametag and same RDS Replication Role. (quit,ignore,ignore-skip-last)
Will every check-interval check AWS RDS for changes in the topologies and instances and update the Consul service catalog accordingly
- [optional]
--consul-node-name=rds/CONSUL_NODE_NAMEName the Consul catalog node that all checks will belong to - [optional]
--consul-master-tag=master/CONSUL_MASTER_TAGThe Consul Service tag to use for RDS master instances - [optional]
--consul-replica-tag=replica/CONSUL_REPLICA_TAGThe Consul service tag to use for RDS replica instances - [optional]
--rds-tag-cache-time=30m/RDS_TAG_CACHE_TIMEThe time RDS tags should be cached (examples:30s, 1h, 1h10m, 1d)
--instance-filter AvailabilityZone=us-east-1e--instance-filter DBInstanceArn=arn:aws:rds:us-east-1:12345678:db:rds-instance-name--instance-filter DBInstanceClass=db.m4.large--instance-filter DBInstanceIdentifier=rds-instance-identifier--instance-filter DBInstanceStatus=available--instance-filter Engine=mysql--instance-filter EngineVersion=5.5.53--instance-filter VpcID=vpc-12345
--tag-filter environment=production
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1455741011000",
"Effect": "Allow",
"Action": [
"rds:DescribeDBInstances",
"rds:ListTagsForResource"
],
"Resource": "*"
}
]
}