Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

stayontop

Development instances on AWS EC2 need to be shutdown off-hours.

This small project tries to address this need providing a clear config file in yaml.

  • You can specify which instances must be stopped/running all the time.

  • By default all instances are set to be stopped off-hours

  • You can set all instances with a specific project tag to be open

  • Assumes office hours are between 07:00 - 19:00

  • Assumes EC2 instance tags: “project”

  • Assumes EC2 instance name matches instance tag “Name”

A sample config file:

global:
   restricted:
      projects:
            - BI
            - CRM
            - PUSHAPP
   keep_running:
      instances:
            - sybase.acme.com
            - hana01.acme.com
   keep_stopped:
      instances:
            - sybase.acme.com
            - hanadyn.acme.com
            - apush.acme.com
   weekend_on:
      projects:
            - BI
   aws_boto_profile: SYS
Use case #1: Please keep FMS project stopped at weekends
  • Do not put it on weekend_on anywhere in the config

  • By default all projects are stopped unless stated otherwise

  • With the following config SAP project instances will be running during weekends

global:
   weekend_on:
      projects:
           - SAP

Use case #2: I want webdev01 instance to be running this night

date_of_today:
   keep_running:
       instances:
          - webdev01
Use case #3: Please keep webdev01 instance stopped on off-hours
  • Unless stated otherwise all instances are stopped on off-hours

Use case #4: Please keep dbdev01 instance stopped on working hours

global:
    keep_stopped:
         instances:
             - dbdev01
Use case #5: Please keep dbdev01 instance stopped on 29.12.2015
  • Add the following to the config

  • Remove from the global config if necessary

29.12.2015:
    keep_stopped:
         instances:
             - dbdev01

Running

$ git clone stayontop.git
$ cd stayontop
$ python setup.py install

$ sudo -u jenkins /usr/bin/stayontop --dryrun project.yml
Parsed config: {'restricted': ['sky'], 'weekend_on': [], 'keep_running': [], 'keep_stopped':[], 'is_holiday': False, 'aws_boto_profile': 'ecom'}``
        prj-front: running -> stopped
        prj-staged: running -> stopped
        prj-test: running -> stopped
Nothing is changed(dryrun mode)

$ sudo -u jenkins /usr/bin/stayontop project.yml
Parsed config: {'restricted': ['sky'], 'weekend_on': [], 'keep_running': [], 'keep_stopped': [], 'is_holiday': False, 'aws_boto_profile': 'ecom'}
        prj-front: running -> stopped
        ....Stopping....
        prj-staged: running -> stopped
        ....Stopping....
        prj-test: running -> stopped
        ....Stopping....

$ sudo -u jenkins /usr/bin/stayontop project.yml
Parsed config: {'restricted': ['sky'], 'weekend_on': [], 'keep_running': [], 'keep_stopped':   [], 'is_holiday': False, 'aws_boto_profile': 'ecom'}
        prj-front: stopped -> stopped
        prj-staged: stopped -> stopped
        prj-test: stopped -> stopped

News

additional restriction with instance environment environment value will be case-insensitive

restrict:
projects:
  • FMS

environment:
  • dev

  • staged

  • stage

  • test

Release files for stayontop 0.1a0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for stayontop 0.1a0
File Size Uploaded
stayontop-0.1a0.tar.gz 4.7 kB Details

Release files / stayontop-0.1a0.tar.gz

Download URL stayontop-0.1a0.tar.gz
Size 4.7 kB
Tags Source
SHA-256 checksum
How to use checksums
d0ed784bec4e23e69bf7a14b2960e746c48c6ef32269b9a9582bd38ebb5fa172
BLAKE2b-256 checksum
How to use checksums
57dc3c9095c7b763248a799044201a2e1c2cb3026cf3c829bf80c78510e65cd1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.1a0 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page