Skip to content

observeinc/aws-sam-apps

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

415 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AWS SAM Applications for Observe Inc

Welcome to the repository for AWS Serverless Application Model (SAM) applications used by Observe Inc. This suite of applications is designed to ingest metrics, monitoring logs, spans, traces, and events from AWS accounts into Observe for comprehensive observability.

Overview

This repository contains multiple SAM applications, each fulfilling a specific role in the observability pipeline. For detailed documentation on each application, please refer to the docs folder.

Cloudformation Quick-Create Links

Stack Config Forwarder
Static Badge Static Badge Static Badge
Static Badge Static Badge Static Badge
Static Badge Static Badge Static Badge
Static Badge Static Badge Static Badge
Static Badge Static Badge Static Badge
Static Badge Static Badge Static Badge
Static Badge Static Badge Static Badge
Static Badge Static Badge Static Badge
Static Badge Static Badge Static Badge
Static Badge Static Badge Static Badge
Static Badge Static Badge Static Badge
Static Badge Static Badge Static Badge
Static Badge Static Badge Static Badge
Static Badge Static Badge Static Badge
Static Badge Static Badge Static Badge
Static Badge Static Badge Static Badge
Static Badge Static Badge Static Badge
Static Badge Static Badge Static Badge
Static Badge Static Badge Static Badge
Static Badge Static Badge Static Badge
Static Badge Static Badge Static Badge
Static Badge Static Badge Static Badge
Static Badge Static Badge Static Badge
Static Badge Static Badge Static Badge

Deployment Modes

This repository supports two deployment modes:

Single-stack deployment

Deploy individual applications to a single AWS account. Use the Quick Create links above, sam deploy, or Terraform. Each packaged template is self-contained with Lambda code defaults pre-populated.

StackSet deployment (AWS Organizations)

Deploy across multiple accounts and regions using CloudFormation StackSets. The repository includes StackSet wrapper templates:

  • logwriter-stackset -- deploys LogWriter across member accounts
  • metricstream-stackset -- deploys MetricStream across member accounts
  • externalrole-stackset -- deploys the external IAM role and PollerConfigurator

Each StackSet template references the underlying app template via a TemplateURL parameter pointing to the packaged template on S3.

Getting Started

To begin using these applications, you'll need to have the AWS CLI and SAM CLI installed and configured. See below for quick instructions on building and deploying an application. For a full development guide, check out the DEVELOPER.md file.

Prerequisites

  • AWS CLI
  • SAM CLI
  • Docker (optional, for linting and local testing)

Building and Deploying an Application

Package and deploy any application:

make sam-package-forwarder
# deploy the packaged template
sam deploy \
  --template .aws-sam/build/regions/${AWS_REGION}/forwarder.yaml \
  --stack-name my-forwarder \
  --capabilities CAPABILITY_IAM CAPABILITY_AUTO_EXPAND

To deploy the full collection stack (apps/stack), all three CloudFormation capabilities are required because the parent template uses the SAM transform, nested stacks, and named IAM resources:

sam build --template apps/stack/template.yaml
sam deploy \
  --template apps/stack/template.yaml \
  --stack-name observe-collection \
  --capabilities CAPABILITY_IAM CAPABILITY_NAMED_IAM CAPABILITY_AUTO_EXPAND \
  --resolve-s3 \
  --parameter-overrides DestinationUri=... DataAccessPointArn=...

For more detailed instructions on building, deploying, and publishing applications, please see the corresponding documentation in the docs folder.

Testing

To run tests, use the Go tooling:

go test ./...

For more comprehensive testing instructions, please refer to DEVELOPER.md.

Documentation

Each SAM application has its own documentation, providing specific details and usage instructions:

For development practices, build and release processes, and testing workflows, see the DEVELOPER.md file.

Contributing

We welcome contributions from the community. For more information on the contribution process, commit message standards, and branch naming conventions, please see our CONTRIBUTING.md. For information on how to develop, please read through the DEVELOPER.md file and the documentation for the specific application you are interested in.

About

No description, website, or topics provided.

Resources

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors