Giter Site home page Giter Site logo

patro1322 / awesome-cloudops-automation Goto Github PK

View Code? Open in Web Editor NEW

This project forked from unskript/awesome-cloudops-automation

0.0 0.0 0.0 9.56 MB

Ready to use cloud-ops templates, organized by connectors to jumpstart your runbook automation in minutes. ๐Ÿ˜Ž published by the unSkript community.

License: Apache License 2.0

Python 8.24% Jupyter Notebook 91.76%

awesome-cloudops-automation's Introduction

Contributors Forks Stargazers Issues Twitter awesome-cloudops


Logo

Awesome CloudOps Automation

CloudOps automation made simpler!
Explore the docs ยป

Visit our blog ยท Report Bug ยท Request Feature

About the project

Mission

To make CloudOps automation simpler for developers and DevOps engineers.

Vision

A single repository to satisfy all your day-to-day CloudOps automation needs. Are you looking for a script to automate your Kubernetes management? Or do you need a script to restart the pod that is OOMkilled? We will cover that for you.

Quick start

Get started with docker

Linux/Mac/Windows (x86-64/arm64)

docker run -it -p 8888:8888 \
 -v $HOME/.unskript:/data \
 --user root \
 docker.io/unskript/awesome-runbooks:latest

Inside the docker there is /data folder that is where we store the credentials and runbooks. So if you would like to retain the connectors and runbooks you can use the docker's -v option to retain the changes done on the docker.

Note: New files are created inside the docker and will persist unless --rm option is used.

Open the Runbook

Once you run the above command, here's the table which will help you find the URL for runbook of your choice.

Category Runbooks URL
MongoDB MongoDB Server Connectivity Runbook Open in browser
K8S Pod Stuck in ImagePullBackOff State Open in browser
Pod Stuck in Terminating State Open in browser
Pod Stuck in CrashLoopback State Open in browser
Get Kube System Config Map Open in browser
Get K8S Candidate Nodes For a given config Open in browser
AWS Configure Url Endpoint on Cloudwatch Alarm Open in browser
Delete Unattached EBS Volumes Open in browser
Detect ECS Failed Deployment Open in browser
EC2 Disk Cleanup Open in browser
Get AWS ELB Unhealthy Instances Open in browser
Resize EBS Volume Open in browser
Resize List of PVCs Open in browser
Resize EKS PVC Open in browser
Restart AWS EC2 Instance Open in browser
Restart AWS EC2 Instance by Tag Open in browser
Restart UnHealthy Services Target Group Open in browser
Stop Untagged EC2 Instances Open in browser
Jenkins Fetch Jenkins Build Logs Open in browser
Postgresql Display Long-running Queries Open in browser

Community

Join the CloudOps Community Workspace on Slack to connect with other users, contributors and awesome people behind awesome CloudOps automation project.

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

Contributions are what make the open community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated. Check out our Contribution Guidelines for more details.

Here is the Link for the Developer Guide

How to contribute?

Pre-requisites:

  1. You can use the docker environment (see instructions above) with your infrastructure credentials for validating your changes. We also have a sandbox where you can do testing : open a free account on unSkript to access the sandbox.
  2. Join our Slack Community so you can present yourself and get support

Step by step process for Hacktoberfest

  1. Find or propose an issue you want to work on.
  2. Prepare the issue before you start working on it.
    • Make sure the description is clear.
    • Tag yourself in Assignees section.
  3. If using Docker On your Host machine:
    1. git clone https://github.com/unskript/Awesome-CloudOps-Automation
    2. cd Awesome-CloudOps-Automation
    3. CONTAINER=docker ps -l | grep awesome-runbooks | awk '{print $1}'
    4. docker cp templates/runbooks/GCP.ipynb $CONTAINER:/home/jovyan/runbooks/<YOUR_RUNBOOK_NAME.ipynb>
  • Point your browser to http://127.0.0.1:8888/lab/tree/<YOUR_RUNBOOK_NAME.ipynb>
  1. If using unSkript sandbox
    • Onboarding will drop you into runbook creation with sandbox credentials
    • Start building your lego from the proposed handle (GCP, k8s et al)
  2. Create a branch
  3. Copy over the template directory
cp -r templates/legos your_connector/legos/your_lego_name e.g. cp -r templates/legos GCP/legos/gcp_filter_instance_by_label
  1. You need to populate 4 files
    • lego.json : add the description, headline and function_name
    • lego.py : copy over the code you wrote inside the Jupyter interface into this file
    • README.md : some description about what the lego does
    • 1.png : a screenshot of the output of your code
  2. Open a Pull Request and add a member of the core team as Reviewer (Jayasimha, Shloka, Amit, Abhishek)
  3. Expect a feedback and merge in the next 48h-72h
  4. Once merged, promote your work on LinkedIn, Twitter and other social media channels! (Optional, but people need to know you are awesome ๐Ÿ˜‰)

An example run for the above can be seen in the screencast

Anatomy of a Runbook

You can read about the Anatomy of a Runbook

HacktoberFest 2022 Resource

The resource that are avilable for testing for our hacktoberfest is here

License

Except as otherwise noted this project is licensed under the Apache License, Version 2.0 .

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 .

Unless required by applicable law or agreed to in writing, project distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

awesome-cloudops-automation's People

Contributors

harshal-netserv avatar jayasimha-raghavan-unskript avatar amit-chandak-unskript avatar abhishek-unskript avatar jbahire avatar shloka-bhalgat-unskript avatar twishek avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.