All Projects → getninjas → spot-ninja

getninjas / spot-ninja

Licence: Apache-2.0 license
auto spot curator for AWS

Programming Languages

go
31211 projects - #10 most used programming language
Dockerfile
14818 projects

Projects that are alternatives of or similar to spot-ninja

Deploykit
A toolkit for creating and managing declarative, self-healing infrastructure.
Stars: ✭ 2,237 (+8185.19%)
Mutual labels:  autoscaling-groups
Autospotting
Saves up to 90% of AWS EC2 costs by automating the use of spot instances on existing AutoScaling groups. Installs in minutes using CloudFormation or Terraform. Convenient to deploy at scale using StackSets. Uses tagging to avoid launch configuration changes. Automated spot termination handling. Reliable fallback to on-demand instances.
Stars: ✭ 2,014 (+7359.26%)
Mutual labels:  autoscaling-groups
terraform-aws-rabbitmq
A terraform module to deploy a rabbitmq cluster with AutoScaling Group and Load Balancer
Stars: ✭ 25 (-7.41%)
Mutual labels:  autoscaling-groups
awsm
AWS Automation Tools
Stars: ✭ 18 (-33.33%)
Mutual labels:  autoscaling-groups
upgrade-manager
Reliable, extensible rolling-upgrades of Autoscaling groups in Kubernetes
Stars: ✭ 132 (+388.89%)
Mutual labels:  autoscaling-groups
deploykit
A toolkit for creating and managing declarative, self-healing infrastructure.
Stars: ✭ 2,246 (+8218.52%)
Mutual labels:  autoscaling-groups
AutoSpotting
Saves up to 90% of AWS EC2 costs by automating the use of spot instances on existing AutoScaling groups. Installs in minutes using CloudFormation or Terraform. Convenient to deploy at scale using StackSets. Uses tagging to avoid launch configuration changes. Automated spot termination handling. Reliable fallback to on-demand instances.
Stars: ✭ 2,058 (+7522.22%)
Mutual labels:  autoscaling-groups
lifecycle-manager
Graceful AWS scaling event on Kubernetes using lifecycle hooks
Stars: ✭ 89 (+229.63%)
Mutual labels:  autoscaling-groups
amazon-ec2-auto-scaling-group-examples
This repository contains code samples, learning activities, and best-practices for scaling and elasticity with Amazon EC2 Auto Scaling groups.
Stars: ✭ 27 (+0%)
Mutual labels:  autoscaling-groups
terraform-aws-ecs-cluster
Creates an ECS cluster backed by an Auto Scaling Group
Stars: ✭ 57 (+111.11%)
Mutual labels:  autoscaling-groups

spot-ninja

Go Report Card Build Status GoDoc

Available translations:

This software is responsible for all the intelligence in increasing and decreasing AutoScalingGroups size based on Spotfleet health.

License

spot ninja is released under the terms of the Apache License. See LICENSE file for more information or see apache.

Requirements

  • Docker >=v1.13.1
  • Docker Compose >=1.23.1
  • Go >= 1.12.7
  • aws-sdk-go Module
  • yaml.v2 Module
  • Polices:
    • CloudWatchReadOnlyAccess
    • AmazonEC2SpotFleetAutoscaleRole
    • AutoScalingConsoleFullAccess

Architecture

spot-ninja

ENVs configuration

To configure the spot-ninja, you need to configure some environment variables. The variables are:

  • AWS_REGION
    • Default us-east-1
  • DATA_POINT_CONFIG
    • Default 30
  • STATISTIC_CONFIG
    • Default Average
  • FLEET_TYPE_CONFIG
    • Default FleetRequestId
  • ID_METRIC_CONFIG
    • Default metric
  • SCAN_TYPE_CONFIG
    • Default TimestampDescending
  • METRIC_NAME_CONFIG
    • Default PendingCapacity
  • NAMESPACE_CONFIG
    • Default AWS/EC2Spot
  • UNIT_CONFIG
    • Default Count
  • TIME_TO_CONFIG
    • Default 5
  • SPEED_CONFIG
    • Default 10
  • DIVIDER_CONFIG
    • Default 4
  • FLEET_IGNORED
    • Default none
  • ENABLE_EVENTS_ON_SQS
    • Default false
  • SQS_URL
    • Default none
  • PREFIX
    • Default ecs-
  • TIME_TO_LIVE
    • In seconds Default 15 min.

Installing with docker-compose

1 - Build

docker-compose build

2 - Run spot-ninja

docker-compose up

Project Structure

  • cmd/
    • main spot-ninja
  • config/
    • general configs to spot ninja
  • pkg/
    • general libs

References

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].