Skip to content

Latest commit

 

History

History
132 lines (93 loc) · 6.31 KB

README.md

File metadata and controls

132 lines (93 loc) · 6.31 KB

CloudWedge is an AWS Cloudwatch monitoring framework that accelerates your ability to get up and running with native AWS monitoring services.

How it works

CloudWedge

View Documentation: https://cloudwedge.1strategy.com

Roadmap Ideas

  • Add more AWS services (app/src/cloudwedge/services)
  • Add multi account and multi region dashboard views
  • Review permissions
  • Provide custom dashboard that is deployed into local dns
  • Streamline performance, maybe a way to minimally track state

Project structure

|-- app
|   |-- cloudwedge-spoke.yaml                 # Spoke template, deloyed from stackset resource in cloudwedge.yaml file
|   |-- cloudwedge.yaml                       # Core template. This is the magic.
|   |-- resources                             # Step function json configurations
|   `-- src                                   # CloudWedge lambda functions and logc
|-- package.json                              # Standard use, look here for all the scripts you can run
|-- publishing
|   |-- media                                 # Various images and media assests used in the app, published to s3
|   |-- publishing.yaml                       # Template file to setup some of the resources needed to provide this to the public
|   `-- scripts                               # Bash scripts for publishing the application
|-- docs/                                     # Markdown files for the documentation page
`-- mkdocs.yml                                # Configurations for making the documentation page

Developing

The application is orchestrated with a step function, so to run it locally requires providing the inputs to each lambda function. The /app/src folder has each function, and its input.json file. That can be used for simulating the input it would receive from the step function. You can progress through the functions locally by taking the output of one, and then putting it in the input of the next. Review the step functions to understand the flow between the input and outputs.

Run a lambda locally

Check out the package.json file for running the functions. You can see the AWS SAM resource listed under the script. Such as

npm run local:get runs the lambda resource defined in the cloudwedge.yaml file called GetResourcesFunction

Debug locally

You can use the built in vscode debugger to get the step through debugging experience.

  • Drop this in the code

    # 🐛🐛🐛 #
    import debugpy; debugpy.listen(('0.0.0.0', 5858)); debugpy.wait_for_client(); debugpy.breakpoint()
    # 🐛🐛🐛 #
  • run the function via the npm scripts

    npm run local:get
  • Active the vscode debug file for the given function. Check out the .vscode/launch.json for configuration details.

📚 Developer Reference

Misc

AWS

Docs



🧃 0% Fruit Juice || 🍞 Gluten Free || 🇺🇸 Made In America