Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
64 changes: 64 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# Contributing to Project Name

We love your input! We want to make contributing to this project as easy and transparent as possible, whether it's:

- Reporting a bug
- Discussing the current state of the code
- Submitting a fix
- Proposing new features
- Becoming a maintainer

## We Develop with Github

We use github to host code, to track issues and feature requests, as well as accept pull requests.

## We Use [Github Flow](https://guides.github.com/introduction/flow/index.html), So All Code Changes Happen Through Pull Requests

Pull requests are the best way to propose changes to the codebase. We actively welcome your pull requests:

1. Fork the repo and create your branch from `main`.
2. If you've added code that should be tested, add tests.
3. If you've changed APIs, update the documentation.
4. Ensure the test suite passes.
5. Make sure your code lints.
6. Issue that pull request!

## Any contributions you make will be under the MIT Software License

In short, when you submit code changes, your submissions are understood to be under the same Apache License 2.0 that covers the project. Feel free to contact the maintainers if that's a concern.

## Report bugs using Github's [issues](https://github.com/briandk/transcriptase-atom/issues)

We use GitHub issues to track public bugs. Report a bug by [opening a new issue](https://github.com/infinitePi-io/ecs-graphql-api/issues); it's that easy!

## Write bug reports with detail, background, and sample code

Here are few example of bug report:

- [Example1](http://www.openradar.me/11905408)
- [Example2](https://stackoverflow.com/questions/12488905/why-wont-the-ggplot2-legend-combine-manual-fill-and-scale-values)

**Great Bug Reports** tend to have:

- A quick summary and/or background
- Steps to reproduce
- Be specific!
- Give sample code if you can.
- What you expected would happen
- What actually happens
- Notes (possibly including why you think this might be happening, or stuff you tried that didn't work)

People *love* thorough bug reports. I'm not even kidding.

## Use a Consistent Coding Style

* 2 spaces for indentation rather than tabs
* You can try running `npx standard --fix` for style unification

## License

By contributing, you agree that your contributions will be licensed under its Apache License 2.0 License.

## References

This document was adapted from the open-source contribution guidelines for [Facebook's Draft](https://github.com/facebook/draft-js)
91 changes: 90 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,90 @@
# ecs-graphql-api
# aws-graphql-api

This is a[ GraphQL](https://graphql.org/) API designed to retrieve service information by querying the cluster name, service name, and the region where the cluster is deployed. The long-term plan for this API is to expand its capabilities to interact with various AWS resources.

## Docs

- [Install](#install)
- [Quick Start](#quick-start)
- [Running the tests](running-the-tests)
- [Examples](#examples)
- [Acknowledgements](#acknowledgements)
- [License](#license)

## Getting Started

### Install

```bash
npm install
```

### Quick Start

```bash
npm start
```

Server will be running on:

Playground:

```bash
localhost:3000/graphiql
```

API Endpoint:

```bash
localhost:3000/graphql
```

## Running the tests

```bash
npm test
```

## Examples

Query:

```graphql
query getService($serviceNames: String!, $clusterName: String!, $clusterDeployedRegion: String!){
gdsServicesInfo(serviceNames: $serviceNames, clusterName: $clusterName, clusterDeployedRegion: $clusterDeployedRegion){
clusterArn
loadBalancers{
containerName
containerPort
targetGroupArn
}
}
}

# Varables
{
"serviceNames": "my-service-1,my-service-2",
"clusterName": "my-cluster",
"clusterDeployedRegion": "us-east-1"
}
```

The AWS SDK and CLI have certain limitations when it comes to retrieving service information. For instance, the [describe-services](vscode-file://vscode-app/Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/code/electron-sandbox/workbench/workbench.html "https://docs.aws.amazon.com/cli/latest/reference/ecs/describe-services.html") command can only handle up to 10 services at a time. However, this API overcomes that limitation, allowing you to query information for as many services as you need in a single request. This makes it a more efficient and flexible tool for managing large-scale AWS environments.

More query examples will be added [here]([https://infinitepi-io.github.io/](https://github.com/your_username/repo_name)).

## Acknowledgements

[David Dai ](https://github.com/ddai1)and [Phil Hadviger](https://github.com/datfinesoul) have significantly contributed to the development of this API with their valuable suggestions and improvements.

## Contributing

Please follow the guideline [here](https://github.com/infinitePi-io/ecs-graphql-api/blob/development/CONTRIBUTING.md)

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

## License

[Apache License 2.0](https://github.com/infinitePi-io/ecs-graphql-api/blob/development/LICENSE)

## Contact
Loading