All Projects → kube-green → kube-green

kube-green / kube-green

Licence: MIT license
A K8s operator to reduce CO2 footprint of your clusters

Programming Languages

go
31211 projects - #10 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to kube-green

MySoftwareList
My top picks of software I use everyday. | WIP 🚧
Stars: ✭ 24 (-94.26%)
Mutual labels:  resources
my-favorite-resources
A Repository that showcases developers' favorite resources to learn a technology
Stars: ✭ 27 (-93.54%)
Mutual labels:  resources
CPP-Questions
Competitive Programming Questions
Stars: ✭ 52 (-87.56%)
Mutual labels:  resources
guide-to-cloud-native-app
Guide to Cloud Native Application/云原生应用白皮书 - https://jimmysong.io/guide-to-cloud-native-app
Stars: ✭ 21 (-94.98%)
Mutual labels:  cloud-native
apimachinery
KubeDB API
Stars: ✭ 57 (-86.36%)
Mutual labels:  cloud-native
Blue-Baron
Automate creating resilient, disposable, secure and agile monitoring infrastructure for Blue Teams.
Stars: ✭ 23 (-94.5%)
Mutual labels:  cloud-native
quarkus-micrometer-extension
This is a quarkus extension that performs build time initialization, configuration, and injection of MeterRegistry, MeterBinder, and MeterFilter instances for micrometer.
Stars: ✭ 12 (-97.13%)
Mutual labels:  cloud-native
devopsish.com
DevOps, Cloud Native, Hybrid Cloud, Open Source, industry news, culture, and the ‘ish between.
Stars: ✭ 33 (-92.11%)
Mutual labels:  cloud-native
h-war3
已迁移到 https://github.com/hunzsig-warcraft3
Stars: ✭ 16 (-96.17%)
Mutual labels:  resources
KubeCube
KubeCube is an open source enterprise-level container platform
Stars: ✭ 355 (-15.07%)
Mutual labels:  cloud-native
nats-surveyor
NATS Monitoring, Simplified.
Stars: ✭ 150 (-64.11%)
Mutual labels:  cloud-native
awesome-authentication
Resources to learn and implement authentication in your application
Stars: ✭ 116 (-72.25%)
Mutual labels:  resources
site
Enqueue Zero is creating code principles.
Stars: ✭ 64 (-84.69%)
Mutual labels:  cloud-native
UI-UX-Resources
Find all the resources📘📙📕📗 related to UI/UX🎨, Html Templates, Fonts🖋, Icons, Photos Gallery📷, React⚛, Angular🅰, etc.
Stars: ✭ 60 (-85.65%)
Mutual labels:  resources
awesome-design
A collection of open resources for web designers
Stars: ✭ 87 (-79.19%)
Mutual labels:  resources
wtm-udacity-scholars-nanodegree-resources
A List of Resources for Udacity Nanodegrees
Stars: ✭ 15 (-96.41%)
Mutual labels:  resources
go-zero
A cloud-native Go microservices framework with cli tool for productivity.
Stars: ✭ 23,294 (+5472.73%)
Mutual labels:  cloud-native
hera-workflows
Hera is an Argo Workflows Python SDK. Hera aims to make workflow construction and submission easy and accessible to everyone! Hera abstracts away workflow setup details while still maintaining a consistent vocabulary with Argo Workflows.
Stars: ✭ 252 (-39.71%)
Mutual labels:  cloud-native
cloud-native-notes
☁️ 云原生技术面试必备基础知识
Stars: ✭ 48 (-88.52%)
Mutual labels:  cloud-native
cloud-native-hexagonal-node
A cloud native node microservice boilerplate based on the hexagonal architecture
Stars: ✭ 26 (-93.78%)
Mutual labels:  cloud-native

Go Report Card Coverage Security Coverage Status Documentations Adopters

Dark kube-green logo

How many of your dev/preview pods stay on during weekends? Or at night? It's a waste of resources! And money! But fear not, kube-green is here to the rescue.

kube-green is a simple k8s addon that automatically shuts down (some of) your resources when you don't need them.

If you already use kube-green, add you as an adopter!

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See how to install the project on a live system in our docs.

Prerequisites

Make sure you have Go installed (download). Version 1.19 or higher is required.

Installation

To have kube-green running locally just clone this repository and install the dependencies running:

go get

Running the tests

There are different types of tests in this repository.

It is possible to run all the unit tests with

make test

To run integration tests:

make e2e-test

Deployment

To deploy kube-green in live systems, follow the docs.

To run kube-green for development purpose, you can use ko to deploy in a KinD cluster. It is possible to start a KinD cluster running kind create cluster --name kube-green-development. To deploy kube-green using ko, run:

make local-run clusterName=kube-green-development

Usage

The use of this operator is very simple. Once installed on the cluster, configure the desired CRD to make it works.

See here the documentation about the configuration of the CRD.

CRD Examples

Pods running during working hours with Europe/Rome timezone, suspend CronJobs and exclude a deployment named api-gateway:

apiVersion: kube-green.com/v1alpha1
kind: SleepInfo
metadata:
  name: working-hours
spec:
  weekdays: "1-5"
  sleepAt: "20:00"
  wakeUpAt: "08:00"
  timeZone: "Europe/Rome"
  suspendCronJobs: true
  excludeRef:
    - apiVersion: "apps/v1"
      kind:       Deployment
      name:       api-gateway

Pods sleep every night without restore:

apiVersion: kube-green.com/v1alpha1
kind: SleepInfo
metadata:
  name: working-hours-no-wakeup
spec:
  sleepAt: "20:00"
  timeZone: Europe/Rome
  weekdays: "*"

To see other examples, go to our docs.

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Versioning

We use SemVer for versioning. For the versions available, see the release on this repository.

How to upgrade the version

To upgrade the version:

  1. make release version=v{{NEW_VERSION_TO_TAG}} where {{NEW_VERSION_TO_TAG}} should be replaced with the next version to upgrade. N.B.: version should include v as first char.
  2. git push --tags origin v{{NEW_VERSION_TO_TAG}}

API Reference documentation

API reference is automatically generated with this tool. To generate it automatically, are added in api versioned folder a file doc.go with the content of file groupversion_info.go and a comment with +genclient in the sleepinfo_types.go file for the resource type.

License

This project is licensed under the MIT License - see the LICENSE file for details

Acknowledgement

Special thanks to JGiola for the tech review.

Give a Star!

If you like or are using this project, please give it a star. Thanks!

Adopters

Here the list of adopters of kube-green.

If you already use kube-green, add you as an adopter!

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