-
Notifications
You must be signed in to change notification settings - Fork 3.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implements AWS SNS notification support for webhook #15184
Implements AWS SNS notification support for webhook #15184
Conversation
Wow @ethemcemozkan amazing PR! thanks for the contribution |
Signed-off-by: Ethem Cem Ozkan <ethemcem.ozkan@gmail.com>
Signed-off-by: Ethem Cem Ozkan <ethemcem.ozkan@gmail.com>
Signed-off-by: Ethem Cem Ozkan <ethemcem.ozkan@gmail.com>
Signed-off-by: Ethem Cem Ozkan <ethemcem.ozkan@gmail.com>
7b5e863
to
0d138c5
Compare
CI failure due to recent ansible 2.17 release and podman 5 release. Rebasing the PR to pick up CI fixes |
@TheRealHaoLiu Thanks for yourquick reply, let me know if you have additions or fixes I have to make for builds |
Signed-off-by: Ethem Cem Ozkan <ethemcem.ozkan@gmail.com>
Signed-off-by: Ethem Cem Ozkan <ethemcem.ozkan@gmail.com>
@jbradberry and @TheRealHaoLiu thanks for the approvals, I can fix the SNS test case, but if you can help me with the api-schema and the RBAC test failures, that would be great. |
Fix lint error
push a commit up to fix UI lint error lets see if anything else fails |
api-schema failure is expected since this PR does introduce a new notification type and it won't block the PR |
btw before we merge this PR (once the CI runs green) can you squash the PR and provide a good commit message? it will make it prettier in our git history. Thanks~ |
cool the RBAC failure went away its just the failure in |
Signed-off-by: Ethem Cem Ozkan <ethemcem.ozkan@gmail.com>
@TheRealHaoLiu yeap my upstream merge took care of that, the latest commit should also take care of my test case issue. Could you approve latest CI jobs? |
Fantastic, thanks @ethemcemozkan, I enabled auto-merge once the CI pass it should be merged. Again thank you for this awesome feature contribution! |
If you would like to share a short video demo of this feature we would be honored to inclue it on our YouTube channel and in our next AWX community meeting |
Push up an additional commit to fix liniting failure |
@TheRealHaoLiu thanks for merging it. I would like to create a short video but can you send an example for me? |
@ethemcemozkan check out our community YouTube channel on https://www.youtube.com/@ansible-awx |
Support for AWS SNS notifications. SNS is a widespread service that is used to integrate with other AWS services(EG lambdas). This support would unlock use cases like triggering lambda functions, especially when AWX is deployed on EKS. Decisions: Data Structure - I preferred using the same structure as Webhook for message body data because it contains all job details. For now, I directly linked to Webhook to avoid duplication, but I am open to suggestions. AWS authentication - To support non-AWS native environments, I added configuration options for AWS secret key, ID, and session tokens. When entered, these values are supplied to the underlining boto3 SNS client. If not entered, it falls back to the default authentication chain to support the native AWS environment. Properly configured EKS pods are created with temporary credentials that the default authentication chain can pick automatically. --------- Signed-off-by: Ethem Cem Ozkan <ethemcem.ozkan@gmail.com>
Support for AWS SNS notifications. SNS is a widespread service that is used to integrate with other AWS services(EG lambdas). This support would unlock use cases like triggering lambda functions, especially when AWX is deployed on EKS. Decisions: Data Structure - I preferred using the same structure as Webhook for message body data because it contains all job details. For now, I directly linked to Webhook to avoid duplication, but I am open to suggestions. AWS authentication - To support non-AWS native environments, I added configuration options for AWS secret key, ID, and session tokens. When entered, these values are supplied to the underlining boto3 SNS client. If not entered, it falls back to the default authentication chain to support the native AWS environment. Properly configured EKS pods are created with temporary credentials that the default authentication chain can pick automatically. --------- Signed-off-by: Ethem Cem Ozkan <ethemcem.ozkan@gmail.com>
SUMMARY
closes #15183.
Support for AWS SNS notifications. SNS is a widespread service that is used to integrate with other AWS services(EG lambdas). This support would unlock use cases like triggering lambda functions, especially when AWX is deployed on EKS.
Decisions:
I preferred using the same structure as Webhook for message body data because it contains all job details. For now, I directly linked to Webhook to avoid duplication, but I am open to suggestions.
To support non-AWS native environments, I added configuration options for AWS secret key, ID, and session tokens. When entered, these values are supplied to the underlining boto3 SNS client. If not entered, it falls back to the default authentication chain to support the native AWS environment. Properly configured EKS pods are created with temporary credentials that the default authentication chain can pick automatically.
ISSUE TYPE
COMPONENT NAME
AWX VERSION
ADDITIONAL INFORMATION
Implementation for #15183.