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)
| 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 |