Getting Started
Installs a catalog scraper that:
- Scrapes AWS Resources and detects changes in the resource definition
 - Ingests changes from CloudTrail
 - Ingests cost data from AWS Cost & Usage Reporting
 - Links AWS EKS resources to the corresponding Kubernetes resources
 
Prerequisites
- IAM Role for scraping AWS API's
 - Mission Control configured to use Pod Identity/IRSA or an AWS access key
 
For Cost & Usage Reporting
- Cost and Usage Reports are configured with an Athena table
 - The 
AWSQuicksightAthenaAccesspolicy or similar is attached to config-db IAM role 
- Pod Identity
 - Access Keys
 
- Configure the 
config-db-saservice account with a AWS IAM Pod Identity / Role - Install the mission-control-aws chart
 
- Helm
 - Flux
 
helm install mission-control-aws flanksource/mission-control-aws \
 -n mission-control --wait 
apiVersion:  helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
  name: mission-control-aws
  namespace: mission-control
spec:
  chart:
    spec:
      chart: mission-control-aws
      sourceRef:
        kind: HelmRepository
        name: flanksource
        namespace: mission-control
  interval: 5m
values:
values.yaml
- accessKey: (default: "null")
 - assumeRole: - Name of an IAM role to assume
 - cloudtrail: - Import and correlate cloudtrail events with AWS resources
Import and correlate cloudtrail events with AWS resources
- exclude[]: - list of events to to exclude
list of events to to exclude
 - maxAge: (default: "7d") - Maximum lookback age when querying cloudtrail
 
 - exclude[]: 
 - compliance: (default: "true") - Import AWS Config Rule failures as insights
 - connection: string
 - costReporting: - Scrape cost reports and match them with catalog items
Scrape cost reports and match them with catalog items
- database: string
 - enabled: boolean
 - region: string
 - s3BucketPath: string
 - table: string
 
 - endpoint: - Custom AWS endpoint e.g. for testing with LocalStack
 - excludeResources[]: 
 - global: - Global values are values that can be accessed from any chart or subchart by exactly the same name.
Global values are values that can be accessed from any chart or subchart by exactly the same name.
 - includeResources[]: 
 - labels: - yaml-language-server: $schema=values.schema.json
 - region[]: - AWS regions to pull from
AWS regions to pull from
 - scraper: 
- name: string (default: "aws")
 
 - secretKey: (default: "null")
 - skipTLSVerify: (default: "false") - Skip TLS verification
 - topology: 
- name: string (default: "aws")
 
 - transform: 
- changes: 
- exclude[]: 
 - mapping[]: 
 
 - exclude[]: 
 - relationship[]: 
 
 - changes: 
 
- Create a new connection for an AWS Access Key
 - Install the mission-control-aws chart
 
- Helm
 - Flux
 
helm install mission-control-aws flanksource/mission-control-aws \
 --set connection=connection://mission-control/aws \
 -n mission-control --wait 
apiVersion:  helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
  name: mission-control-aws
  namespace: mission-control
spec:
  chart:
    spec:
      chart: mission-control-aws
      sourceRef:
        kind: HelmRepository
        name: flanksource
        namespace: mission-control
  interval: 5m
values:
  connection: connection://mission-control/aws
values.yaml
- accessKey: (default: "null")
 - assumeRole: - Name of an IAM role to assume
 - cloudtrail: - Import and correlate cloudtrail events with AWS resources
Import and correlate cloudtrail events with AWS resources
- exclude[]: - list of events to to exclude
list of events to to exclude
 - maxAge: (default: "7d") - Maximum lookback age when querying cloudtrail
 
 - exclude[]: 
 - compliance: (default: "true") - Import AWS Config Rule failures as insights
 - connection: string
 - costReporting: - Scrape cost reports and match them with catalog items
Scrape cost reports and match them with catalog items
- database: string
 - enabled: boolean
 - region: string
 - s3BucketPath: string
 - table: string
 
 - endpoint: - Custom AWS endpoint e.g. for testing with LocalStack
 - excludeResources[]: 
 - global: - Global values are values that can be accessed from any chart or subchart by exactly the same name.
Global values are values that can be accessed from any chart or subchart by exactly the same name.
 - includeResources[]: 
 - labels: - yaml-language-server: $schema=values.schema.json
 - region[]: - AWS regions to pull from
AWS regions to pull from
 - scraper: 
- name: string (default: "aws")
 
 - secretKey: (default: "null")
 - skipTLSVerify: (default: "false") - Skip TLS verification
 - topology: 
- name: string (default: "aws")
 
 - transform: 
- changes: 
- exclude[]: 
 - mapping[]: 
 
 - exclude[]: 
 - relationship[]: 
 
 - changes: 
 
When you go to the catalog now, you can now see all the AWS Resources
