aws-ia / cloudformation-pagerduty-resource-providers

PagerDuty CFN Registry resource
Apache License 2.0
7 stars 11 forks source link

Add support for pager duty services #42

Closed softprops closed 5 months ago

softprops commented 10 months ago

I would love to be able to manage pagerduty services using this tool. Are there any plans for this?

LucasQChen commented 10 months ago

Hi @softprops thanks for the input. We'll take a look at adding that resource type. Are there any other 3rd party resource types you'd like to see (both PagerDuty and non-PagerDuty)?

softprops commented 9 months ago

For completeness, there might need to be a way to configure pd cw integration

Here's a common usecase at my company when setting up a new service for completeness

in a service template...

then separately...

then come back and...

the end result looking something like

  SnsTopic:
    Type: AWS::SNS::Topic
    Properties:
      # topic definition
      Subscription:
        - Protocol: https
          Endpoint: PAGER_DUTY_INTEGRATION_URL

  Alarm:
    Type: 'AWS::CloudWatch::Alarm'
    Properties:
      # alarm definition
      OKActions:
        - !Ref SnsTopic
      AlarmActions:
        - !Ref SnsTopic

What'd I'd love to be able to do is to set up the all of this in one infra template and not have to go manage pager duty service to get that integration url separately.

  SnsTopic:
    Type: AWS::SNS::Topic
    Properties:
      # topic definition
      Subscription:
        - Protocol: https
          Endpoint: !GetAtt MyPDService.IntegrationURL // or something similar
LucasQChen commented 9 months ago

Thanks for the additional context, we'll explore what's possible with exposing the integration URL for reference in a template. Makes complete sense to want to automate this end-to-end.

Is PagerDuty the only third-party provider you're interested in? Any other ones that you'd like to see?

softprops commented 9 months ago

For us PagerDuty is how aws alarms reach our oncall engineers. We don't have need for others atm.

LucasQChen commented 9 months ago

We're planning to introduce an Integration resource type that you can use to create integrations in PagerDuty and reference it in other parts of your template. Will provide more updates here as development progresses.

softprops commented 9 months ago

Excellent!

softprops commented 9 months ago

Also to be clear I’d love to provision of services themselves in my templates. They represent the logical extension of the application. Application foo has a foo pd service with an cw integration whose url I attach to a sns topic subscription attached to a topic associated with ok/error alarms so that when an oncall engineer gets pages in pd there’s a clear mental map for which application is impacted

LucasQChen commented 9 months ago

We're planning to add 2 PagerDuty resources. One for services and one for integrations.

softprops commented 9 months ago

I also wanted to note I did something like this a while ago for a serverless framework plugin (which I no longer use)

one parameter I’d like to have for the cf is service escalation policy. These tend to be shared across services so it doesn’t really fit with the stack but would need to be a service property to make the service useful. The escalation policy attached to the service determines who gets notified

https://github.com/softprops/serverless-oncall/blob/18c35d1afe72e52d83c3636dd75e555226244261/src/index.ts#L92

LucasQChen commented 9 months ago

Thanks for the input @softprops. There will be an EscalationPolicyId property in the Service resource. Is this what you're looking for?

Also the PR for the Service resource has been opened if you care to take a look :)

https://github.com/aws-ia/cloudformation-pagerduty-resource-providers/pull/43/files#diff-d13ae449bc38cff2ee4e8b2245ad2f3340eae2c9bedba6d2c966069b7b51b334

softprops commented 9 months ago

@LucasQChen this looks perfect!

softprops commented 8 months ago

@LucasQChen I saw the pr was approved. Do you know when this might be available for use?

LucasQChen commented 8 months ago

@softprops We're aiming for some time in November. The team has to finish up some contract tests on these resources in order to publish it to the public Registry. There are some other pressing items that need to be taken up first priority-wise, but should be good to get these published after that.

softprops commented 8 months ago

Sounds great 👍

softprops commented 8 months ago

Just checking in to see how things are progressing

LucasQChen commented 8 months ago

Running into some delays due to other tasks, but still aiming to get these published by end of the month.

softprops commented 8 months ago

Great to hear and thanks!

softprops commented 7 months ago

Sorry to bother folks but I was wondering if there was an update here?

LucasQChen commented 7 months ago

Unfortunately, not yet. Some other emerging work had to be prioritized, but this is still planned. I will circle back with the team to get a new ETA.

softprops commented 7 months ago

No worries. I know the feeling

rjmackay commented 6 months ago

Looks like this landed in #43

softprops commented 6 months ago

I’m not sure how publishing works. Does a merge mean this is available to the registry now?

softprops commented 6 months ago

I checked but could find it listed under https://us-east-1.console.aws.amazon.com/cloudformation/home?region=us-east-1#/registry/public-extensions?visibility=PUBLIC&type=RESOURCE&category=AWS_TYPES

LucasQChen commented 6 months ago

The PR is merged, but publishing hasn't been done yet. The team started picking this back up (hence the merged the PR), but ran into some issues during the publishing process so they've been working to resolve.

softprops commented 6 months ago

Happy new years folks. Just checking in to see if there's an estimation when when these might be published and to show my support because I'm here to cheer you on

softprops commented 5 months ago

Hi @LucasQChen just checking in on how things are going.

LucasQChen commented 5 months ago

Hey @softprops, our team is still working on this and plan to get this out. There are some test failures that are taking more time to resolve.

LucasQChen commented 5 months ago

Great news! Both the PagerDuty Service and Integration resource are now published on the CloudFormation registry. Apologies for the delays on this and thank you everyone for your patience.

softprops commented 5 months ago

That's great new.

Sadly, I just lost the opportunity to take immediate advantage of feature as most of my company has just been laid off, but I'm going to keep this feature in mind at my next gig. This will definitely streamline the process of wiring up important monitoring notifications for essential services.