AWS Provider Overview
Smarter uses these AWS services:
Route53, for DNS: the zones and records of the platform’s domains, of LLMClients’ hosts, and of customers’ custom domains.
AWS Certificate Manager (ACM), for the TLS certificates of custom domains.
EKS, the Kubernetes cluster that Smarter runs on, and the node groups of self-hosted LLMs.
Simple Email Service (SES), as the SMTP server of the platform’s email.
The platform does not call these services directly. It uses the
infrastructure services, which the AWS provider,
AWSProvider, implements when
SMARTER_CLOUD_PROVIDER is aws, the default:
from smarter.apps.infrastructure.services import infrastructure
zone, created = infrastructure.dns.get_or_create_zone("example.com")
print(zone.id, zone.name_servers)
The AWS provider is built on low-level helpers, one per AWS service, which wrap the boto3 clients. Only the AWS provider uses them:
AWSBaseauthenticates with AWS, with an IAM role inside AWS, an AWS profile, or an access key pair, and gives the boto3 session and the account’s identity.AWSRoute53manages hosted zones and their record sets.AWSCertificateManagerrequests, describes and deletes DNS-validated certificates.AWSEksdescribes the EKS cluster, and writes its kubeconfig.