All Projects → novakov-alexey → freya

novakov-alexey / freya

Licence: Apache-2.0 license
Scala Kubernetes Operator library

Programming Languages

scala
5932 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to freya

pulp-operator
Kubernetes Operator for Pulp 3. Under active development.
Stars: ✭ 32 (-20%)
Mutual labels:  kubernetes-operator
k8s-rmq-autoscaler
Kubernetes autoscaler for deployments that consume queue in RMQ
Stars: ✭ 19 (-52.5%)
Mutual labels:  kubernetes-operator
tutorials
🎥 Source code of the examples shown in the video tutorials
Stars: ✭ 18 (-55%)
Mutual labels:  cats-effect
cats-effect-testing
Integration between cats-effect and test frameworks
Stars: ✭ 155 (+287.5%)
Mutual labels:  cats-effect
kubegres
Kubegres is a Kubernetes operator allowing to deploy one or many clusters of PostgreSql instances and manage databases replication, failover and backup.
Stars: ✭ 1,107 (+2667.5%)
Mutual labels:  kubernetes-operator
netris-operator
The Kubernetes Operator for Netris
Stars: ✭ 28 (-30%)
Mutual labels:  kubernetes-operator
Docker Maven Plugin
Maven plugin for running and creating Docker images
Stars: ✭ 1,535 (+3737.5%)
Mutual labels:  fabric8
tinyweb
Simple and lightweight HTTP async server for micropython
Stars: ✭ 182 (+355%)
Mutual labels:  cats-effect
microcks-ansible-operator
Kubernetes Operator for easy setup and management of Microcks installs
Stars: ✭ 21 (-47.5%)
Mutual labels:  kubernetes-operator
cmak-operator
CMAK (prev. Kafka Manager) for Kubernetes
Stars: ✭ 45 (+12.5%)
Mutual labels:  kubernetes-operator
akrobateo
Akrobateo is a simple Kubernetes operator to expose in-cluster LoadBalancer services as node hostPorts using DaemonSets.
Stars: ✭ 111 (+177.5%)
Mutual labels:  kubernetes-operator
spotify-next
Small CLI app for filtering out music on Spotify.
Stars: ✭ 45 (+12.5%)
Mutual labels:  cats-effect
typelevel-stack.g8
📚 Unofficial Giter8 template for the Typelevel Stack (Http4s / Doobie / Circe / Cats Effect / Fs2) based on Cats v1.x.x
Stars: ✭ 63 (+57.5%)
Mutual labels:  cats-effect
ship-it
Wattpad's tool for continuously deploying code to Kubernetes quickly, safely, and observably.
Stars: ✭ 14 (-65%)
Mutual labels:  kubernetes-operator
stackgres
StackGres Operator, Full Stack PostgreSQL on Kubernetes // !! Mirror repository of https://gitlab.com/ongresinc/stackgres, only accept Merge Requests there.
Stars: ✭ 479 (+1097.5%)
Mutual labels:  kubernetes-operator
sops-operator
A Kubernetes operator for Mozilla SOPS
Stars: ✭ 23 (-42.5%)
Mutual labels:  kubernetes-operator
influencer-stats
Playground for measuring performance of functional programming tools in Scala. Gathers statistics about videos.
Stars: ✭ 24 (-40%)
Mutual labels:  cats-effect
sieve
Automatic Reliability Testing for Kubernetes Controllers
Stars: ✭ 183 (+357.5%)
Mutual labels:  kubernetes-operator
percona-postgresql-operator
Percona Operator for PostgreSQL
Stars: ✭ 132 (+230%)
Mutual labels:  kubernetes-operator
classy-optics
🔎 Source code shown at my talks at Scale by the Bay 2018 and Scalar 2019
Stars: ✭ 25 (-37.5%)
Mutual labels:  cats-effect

[ARCHIVED] Freya

Pleasue use kubernetes-client to do the same

See this blog-post as an example k8s-operator

Build Status Codacy Badge Maven Central Cats friendly

freya_logo

Freya is a Scala library to implement custom controllers for Kubernetes (K8s) easily. An implementation of custom controller is also known as Operator Pattern. Freya based on fabric8 kubernetes client and inspired by abstract-operator Java library.

Freya main features:

  1. Two options to implement your Kubernetes Operator:
    • Custom Resource Definition (CRD) based
    • ConfigMap based
  2. Scala Case Classes as Kubernetes resource specification. Serialization and deserialization of case classes is done by Freya using Circe or Jackson Scala Module library.
  3. Auto-restart of custom controller upon k8s api-server disconnect.
  4. Auto-deployment of CRDs, no YAML files to be written.
  5. Auto-deployment of JSON Schema for CRD validation.
  6. Effect management and Functional Programming powered by Cats-Effect.

Examples

SBT dependency

Freya supports Scala 2.13 only at the moment. Main dependency:

"io.github.novakov-alexey" %% "freya-core" % "@VERSION@" 

Second module has two options: circe or jackson. One of them needs to be added into your dependencies to be able to read custom resource JSON/YAML text or write resource status as JSON

Circe:

"io.github.novakov-alexey" %% "freya-circe" % "@VERSION@" 

Jackson:

"io.github.novakov-alexey" %% "freya-jackson" % "@VERSION@"

Documentation

Microsite: https://novakov-alexey.github.io/freya/docs/

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