From 3e14ef2782253f8b77a425337a1b639b17e15ee5 Mon Sep 17 00:00:00 2001 From: Karen <64801825+karenc-bq@users.noreply.github.com> Date: Thu, 29 Feb 2024 13:02:41 -0800 Subject: [PATCH] chore: enable dependabot updates (#1) --- .github/dependabot.yml | 6 ++++++ CODE_OF_CONDUCT.md | 1 + CONTRIBUTING.md | 20 +++++++++----------- README.md | 15 +++++++++++++++ 4 files changed, 31 insertions(+), 11 deletions(-) create mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 00000000..951c66c6 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,6 @@ +version: 2 +updates: + - package-ecosystem: "" # See documentation for possible values + directory: "/" # Location of package manifests + schedule: + interval: "weekly" diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 5b627cfa..ec98f2b7 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -1,4 +1,5 @@ ## Code of Conduct + This project has adopted the [Amazon Open Source Code of Conduct](https://aws.github.io/code-of-conduct). For more information see the [Code of Conduct FAQ](https://aws.github.io/code-of-conduct-faq) or contact opensource-codeofconduct@amazon.com with any additional questions or comments. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c4b6a1c5..d0649a77 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -6,7 +6,6 @@ documentation, we greatly value feedback and contributions from our community. Please read through this document before submitting any issues or pull requests to ensure we have all the necessary information to effectively respond to your bug report or contribution. - ## Reporting Bugs/Feature Requests We welcome you to use the GitHub issue tracker to report bugs or suggest features. @@ -14,16 +13,16 @@ We welcome you to use the GitHub issue tracker to report bugs or suggest feature When filing an issue, please check existing open, or recently closed, issues to make sure somebody else hasn't already reported the issue. Please try to include as much information as you can. Details like these are incredibly useful: -* A reproducible test case or series of steps -* The version of our code being used -* Any modifications you've made relevant to the bug -* Anything unusual about your environment or deployment - +- A reproducible test case or series of steps +- The version of our code being used +- Any modifications you've made relevant to the bug +- Anything unusual about your environment or deployment ## Contributing via Pull Requests + Contributions via pull requests are much appreciated. Before sending us a pull request, please ensure that: -1. You are working against the latest source on the *main* branch. +1. You are working against the latest source on the _main_ branch. 2. You check existing open, and recently merged, pull requests to make sure someone else hasn't addressed the problem already. 3. You open an issue to discuss any significant work - we would hate for your time to be wasted. @@ -39,20 +38,19 @@ To send us a pull request, please: GitHub provides additional document on [forking a repository](https://help.github.com/articles/fork-a-repo/) and [creating a pull request](https://help.github.com/articles/creating-a-pull-request/). - ## Finding contributions to work on -Looking at the existing issues is a great way to find something to contribute on. As our projects, by default, use the default GitHub issue labels (enhancement/bug/duplicate/help wanted/invalid/question/wontfix), looking at any 'help wanted' issues is a great place to start. +Looking at the existing issues is a great way to find something to contribute on. As our projects, by default, use the default GitHub issue labels (enhancement/bug/duplicate/help wanted/invalid/question/wontfix), looking at any 'help wanted' issues is a great place to start. ## Code of Conduct + This project has adopted the [Amazon Open Source Code of Conduct](https://aws.github.io/code-of-conduct). For more information see the [Code of Conduct FAQ](https://aws.github.io/code-of-conduct-faq) or contact opensource-codeofconduct@amazon.com with any additional questions or comments. - ## Security issue notifications -If you discover a potential security issue in this project we ask that you notify AWS/Amazon Security via our [vulnerability reporting page](http://aws.amazon.com/security/vulnerability-reporting/). Please do **not** create a public github issue. +If you discover a potential security issue in this project we ask that you notify AWS/Amazon Security via our [vulnerability reporting page](http://aws.amazon.com/security/vulnerability-reporting/). Please do **not** create a public github issue. ## Licensing diff --git a/README.md b/README.md index e34ce185..79d0f8d2 100644 --- a/README.md +++ b/README.md @@ -1,25 +1,31 @@ # Amazon Web Services (AWS) Advanced NodeJS Wrapper + [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE) The wrapper is complementary to an existing NodeJS driver and aims to extend the functionality of the driver to enable applications to take full advantage of the features of clustered databases such as Amazon Aurora. In other words, the AWS Advanced NodeJS Wrapper does not connect directly to any database, but enables support of AWS and Aurora functionalities on top of an underlying NodeJS driver of the user's choice. ## About the Wrapper + Hosting a database cluster in the cloud via Aurora is able to provide users with sets of features and configurations to obtain maximum performance and availability, such as database failover. However, at the moment, most existing drivers do not currently support those functionalities or are not able to entirely take advantage of it. The main idea behind the AWS Advanced NodeJS Wrapper is to add a software layer on top of an existing NodeJS driver that would enable all the enhancements brought by Aurora, without requiring users to change their workflow with their databases and existing NodeJS drivers. ### What is Failover? + In an Amazon Aurora database cluster, **failover** is a mechanism by which Aurora automatically repairs the cluster status when a primary DB instance becomes unavailable. It achieves this goal by electing an Aurora Replica to become the new primary DB instance, so that the DB cluster can provide maximum availability to a primary read-write DB instance. The AWS Advanced NodeJS Wrapper is designed to understand the situation and coordinate with the cluster in order to provide minimal downtime and allow connections to be very quickly restored in the event of a DB instance failure. ### Benefits of the AWS Advanced NodeJS Wrapper + Although Aurora is able to provide maximum availability through the use of failover, existing client drivers do not currently support this functionality. This is partially due to the time required for the DNS of the new primary DB instance to be fully resolved in order to properly direct the connection. The AWS Advanced NodeJS Wrapper allows customers to continue using their existing community drivers in addition to having the AWS Advanced NodeJS Wrapper fully exploit failover behavior by maintaining a cache of the Aurora cluster topology and each DB instance's role (Aurora Replica or primary DB instance). This topology is provided via a direct query to the Aurora DB, essentially providing a shortcut to bypass the delays caused by DNS resolution. With this knowledge, the AWS Advanced NodeJS Wrapper can more closely monitor the Aurora DB cluster status so that a connection to the new primary DB instance can be established as fast as possible. ### Enhanced Failure Monitoring + Since a database failover is usually identified by reaching a network or a connection timeout, the AWS Advanced NodeJS Wrapper introduces an enhanced and customizable manner to faster identify a database outage. Enhanced Failure Monitoring (EFM) is a feature available from the [Host Monitoring Connection Plugin](./docs/using-the-nodejs-wrapper/using-plugins/UsingTheHostMonitoringPlugin.md#enhanced-failure-monitoring) that periodically checks the connected database node's health and availability. If a database node is determined to be unhealthy, the connection is aborted (and potentially routed to another healthy node in the cluster). ### Using the AWS Advanced NodeJS Wrapper with RDS Multi-AZ DB Clusters + The [AWS RDS Multi-AZ DB Clusters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/multi-az-db-clusters-concepts.html) are capable of switching over the current writer node to another node in the cluster within approximately 1 second or less, in case of minor engine version upgrade or OS maintenance operations. The AWS Advanced NodeJS Wrapper has been optimized for such fast failover when working with AWS RDS Multi-AZ DB Clusters. @@ -28,22 +34,27 @@ With the `failover` plugin, the downtime during certain DB cluster operations, s Visit [this page](./docs/using-the-nodejs-wrapper/SupportForRDSMultiAzDBCluster.md) for more details. ### Using the AWS Advanced NodeJS Wrapper with plain RDS databases + The AWS Advanced NodeJS Wrapper also works with RDS provided databases that are not Aurora. Please visit [this page](./docs/using-the-nodejs-wrapper/UsingTheNodeJSWrapper.md#using-the-aws-advanced-nodejs-wrapper-with-plain-rds-databases) for more information. ## Getting Started + For more information on how to download the AWS Advanced NodeJS Wrapper, minimum requirements to use it, and how to integrate it within your project and with your NodeJS driver of choice, please visit the [Getting Started page](./docs/GettingStarted.md). ## Documentation + Technical documentation regarding the functionality of the AWS Advanced NodeJS Wrapper will be maintained in this GitHub repository. Since the AWS Advanced NodeJS Wrapper requires an underlying NodeJS driver, please refer to the individual driver's documentation for driver-specific information. ### Using the AWS Advanced NodeJS Wrapper + To find all the documentation and concrete examples on how to use the AWS Advanced NodeJS Wrapper, please refer to the [AWS Advanced NodeJS Wrapper Documentation](./docs/Documentation.md) page. ## Getting Help and Opening Issues + If you encounter a bug with the AWS Advanced NodeJS Wrapper, we would like to hear about it. Please search the [existing issues](https://github.com/awslabs/aws-advanced-nodejs-wrapper/issues) to see if others are also experiencing the issue before reporting the problem in a new issue. GitHub issues are intended for bug reports and feature requests. @@ -52,6 +63,7 @@ When opening a new issue, please fill in all required fields in the issue templa For all other questions, please use [GitHub discussions](https://github.com/awslabs/aws-advanced-nodejs-wrapper/discussions). ## How to Contribute + 1. Set up your environment by following the directions in the [Development Guide](./docs/development-guide/DevelopmentGuide.md). 2. To contribute, first make a fork of this project. 3. Make any changes on your fork. Make sure you are aware of the requirements for the project. @@ -60,6 +72,9 @@ For all other questions, please use [GitHub discussions](https://github.com/awsl **Note:** Before making a pull request, [run all tests](./docs/development-guide/DevelopmentGuide.md#running-the-tests) and verify everything is passing. ## Releases + The `aws-advanced-nodejs-wrapper` has a regular monthly release cadence. A new release will occur during the last week of each month. However, if there are no changes since the latest release, then a release will not occur. + ## License + This software is released under the Apache 2.0 license.