All Projects â†’ epam â†’ aws-syndicate

epam / aws-syndicate

Licence: Apache-2.0 license
Syndicate deployment framework

Programming Languages

python
139335 projects - #7 most used programming language
java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to aws-syndicate

gitpack
Git-based package manager written in POSIX shell
Stars: ✭ 72 (+50%)
Mutual labels:  deployment
monitoring-rancher
🤠How to Set up Rancher Server Monitoring with TIG Stack?
Stars: ✭ 22 (-54.17%)
Mutual labels:  deployment
FAST-Pathology
âš¡ Open-source software for deep learning-based digital pathology
Stars: ✭ 54 (+12.5%)
Mutual labels:  deployment
buffalo-heroku
Archived use github.com/gobuffalo/buffalo-heroku
Stars: ✭ 16 (-66.67%)
Mutual labels:  deployment
extensiveautomation-server
Extensive Automation server
Stars: ✭ 19 (-60.42%)
Mutual labels:  deployment
starter-NodeJS
Recast.AI official starter-kit for NodeJS
Stars: ✭ 22 (-54.17%)
Mutual labels:  deployment
deployadactyl
Make deployment downtime extinct
Stars: ✭ 81 (+68.75%)
Mutual labels:  deployment
base
base tool yamls (logging, monitoring, oauth, certificates, DNS)
Stars: ✭ 33 (-31.25%)
Mutual labels:  deployment
deploying-with-now
A simple node server demo for deploying with https://zeit.co/now.
Stars: ✭ 20 (-58.33%)
Mutual labels:  deployment
example-deployer-slim
Example project for deployment PHP project (Slim Framwork) by Deployer
Stars: ✭ 32 (-33.33%)
Mutual labels:  deployment
deployer
a Go docker-compose multi-stages deployer.
Stars: ✭ 24 (-50%)
Mutual labels:  deployment
cdk-ecr-deployment
A CDK construct to deploy docker image to Amazon ECR
Stars: ✭ 51 (+6.25%)
Mutual labels:  deployment
learn
The best path to .Net Microservices Udemy Learning Path. .Net world evolving to the microservices and Cloud-native systems to provide rapid change, large scale, and resilience cutting-edge systems. Cloud-native microservices empower organizations to build and run scalable applications in modern, dynamic environments such as public, private, and …
Stars: ✭ 24 (-50%)
Mutual labels:  deployment
useful-playbooks
🚚 Useful Ansible playbooks for easily deploy your website or webapp to absolutely fresh remote virtual server and automation many processes. Only 3 minutes from the playbook run to complete setup server and start it.
Stars: ✭ 52 (+8.33%)
Mutual labels:  deployment
swift-buildpack
IBM Cloud buildpack for Swift
Stars: ✭ 33 (-31.25%)
Mutual labels:  deployment
server-instant-start
Spin up a fully configured Ubuntu/Debian-based web server in under 10 minutes with Nginx (w/ HTTPS), PHP FPM, Postfix, OpenDKIM, MySQL/MariaDB, PostgreSQL, and more. Deploy your web application too.
Stars: ✭ 17 (-64.58%)
Mutual labels:  deployment
SwarmManagement
Swarm Management is a python application, installed with pip. The application makes it easy to manage a Docker Swarm by configuring a single *.yml file describing which stacks to deploy, and which networks, configs or secrets to create.
Stars: ✭ 25 (-47.92%)
Mutual labels:  deployment
ionic-workflow-guide
Create a full and powerful worflow with Ionic (Unit Testing, Environment variables, Automatic documentation, Production App Server, Automatic deployment)
Stars: ✭ 46 (-4.17%)
Mutual labels:  deployment
workflow-webhook
A Github workflow action to call a webhook with payload data from the event. Support for JSON or URL encoded endpoints.
Stars: ✭ 90 (+87.5%)
Mutual labels:  deployment
misp-vagrant
Deploy MISP Project software with Vagrant.
Stars: ✭ 37 (-22.92%)
Mutual labels:  deployment

Quality gate

  • Security Rating
  • Maintainability Rating
  • Bugs
  • Vulnerabilities

AWS deployment framework for serverless applications

aws-syndicate is an Amazon Web Services deployment framework written in Python, which allows to easily deploy serverless applications using resource descriptions. The framework allows to work with applications that engage the following AWS services:

  • API Gateway

  • CloudWatch Events

  • Cognito

  • DynamoDB

  • Elastic Beanstalk

  • Elastic Compute Cloud

  • Identity and Access Management

  • Kinesis

  • Lambda

  • Lambda Layers

  • Simple Notification Service

  • Simple Queue Service

  • Simple Storage Service

  • Step Functions

Changelog

See CHANGELOG here.

Installing

Install aws-syndicate from PyPI

Installation from sources

Prerequisites

  1. Installed Python 3.7 or higher version;
  2. Installed package manager PIP 9.0 or higher version;
  3. Installed Apache Maven 3.3.9 or higher version.

macOS

Detailed guide how to install Python you can find here. Also here you can find detailed guild how to install Apache Maven 3.3.9.

  1. Create virtual environment: python3 -m venv syndicate_venv

  2. Activate your virtual environment: source syndicate_venv/bin/activate

  3. Install Syndicate framework with pip from GitHub: pip3 install git+https://github.com/epam/aws-syndicate.git@master

  4. Set up a Syndicate Java plugin: mvn install /aws-syndicate/plugin/

  5. Go to the Common configuration.

Linux

Detailed guide how to install Python you can find here. Also here you can find detailed guild how to install Apache Maven 3.3.9.

  1. Create virtual environment: python3 -m venv syndicate_venv

  2. Activate your virtual environment: source syndicate_venv/bin/activate

  3. Install Syndicate framework with pip from GitHub: pip3 install git+https://github.com/epam/aws-syndicate.git@master

  4. Set up a Syndicate Java plugin: mvn install /aws-syndicate/plugin/

  5. Go to the Common configuration.

Common prerequisites

  1. Installed Python 3.7 or higher version;

    Windows: Detailed guide how to install Python you can find here.

    Linux: Detailed guide how to install Python you can find here.

    macOS: Detailed guide how to install Python you can find here. If you use Ubuntu 16.04 or earlier here you can find installation guide.

  2. Installed package manager PIP 9.0 or higher version;

  3. Installed virtualenv;

  4. Installed Apache Maven 3.3.9 or higher version.

    Windows: Here you can find detailed guild how to install Apache Maven 3.3.9.

    Linux: Here you can find detailed guild how to install Apache Maven 3.3.9.

    macOS: Here you can find detailed guild how to install Apache Maven 3.3.9.

Installation guide

  1. Create virtual environment:

    virtualenv -p python3 syndicate_venv

  2. Activate your virtual environment:

    Linux/macOS: source syndicate_venv/bin/activate

    Windows: \syndicate_venv\Scripts\activate.bat

  3. Install Syndicate framework with pip from GitHub:

    pip3 install git+https://github.com/epam/aws-syndicate.git@master

Common configuration

It's time to configure aws-syndicate. Execute syndicate init command and provide all the required parameters. Command example:

syndicate init 
--project_path $project_path 
--region $region_name 
--account_id $account_id 
--access_key $access_key 
--secret_key $secret_key
--bundle_bucket_name $bundle_bucket_name 
--python_build_mapping $relative_path_to_python_proj
--java_build_mapping $relative_path_to_java_proj 
--nodejs_build_mapping $relative_path_to_nodejs_proj
--prefix $prefix 
--suffix $suffix 
--config_path $path_to_store_config

All the provided information is validated. After the configuration files will be generated the command will return the following message:

Syndicate initialization has been completed. Set SDCT_CONF:
export SDCT_CONF=$path_to_store_config

Just copy the last line of commands output and execute the command. The commands sets the environment variable SDCT_CONF required by aws-syndicate to operate.

Pay attention that the default syndicate_aliases.yaml file has been generated. Your application may require additional aliases to be deployed - please add them to the file.

For more details please execute syndicate init --help

Deployment

The demo application consists of the following infrastructure:

  • 2 IAM roles
  • 3 IAM policies
  • 1 DynamoDB table
  • 1 S3 bucket
  • 2 lambdas
  • 1 API Gateway

Create an S3 bucket for aws-syndicate artifacts:

$ syndicate create_deploy_target_bucket

Next, build aws-syndicate bundle with artifacts to be deployed:

$ syndicate build_bundle --bundle_name demo-deploy

Then, deploy AWS resources:

$ syndicate deploy --bundle_name demo-deploy --deploy_name sdct-example

We have done it!

The demo serverless application is ready to be used.

If you need to clean AWS resources:

$ syndicate clean --bundle_name demo-deploy --deploy_name sdct-example

Documentation

You can find a detailed documentation here

Getting Help

We use GitHub issues for tracking bugs and feature requests. You can find our public backlog here. If it turns out that you may have found a bug, please open an issue with some of existing templates.

Default label for bugs, improvements and feature requests is To-Think-About, it defines that ticket requires additional information about what should be done in scope of this issue. To-Do label should be added only for tickets with clear and reviwed issue scope.

But before creating new issues - check existing, it may cover you problem or question. For increasing issue priority - just add "+1" comment.

Would like to contribute?

Please, check contributor guide before starting.

SonarCloud

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].