Krateo Platformops: Run your Resources on Every Cloud

Overview

Krateo Platformops

Krateo Platformops is an open source tool, based on CNCF projects such as Kubernetes and Crossplane, that gives users the capability to create any desired resource on basically any infrastructure they'd like. Be it a K8s cluster, microservice, application, pipeline, database or anything else, Krateo has got your back. The only requirement is for the resource to be descriptible via a YAML file representing the resource's desired state (rings a bell? 😉 ).

Krateo allows for:

  • Creating any kind of resources within and outside the Kubernetes cluster it runs on: whilst Krateo runs as a Deployment in a Kubernetes cluster, it can also create resources outside the cluster. You can use Krateo to create anything from new Kubernetes clusters, Logstash pipelines, Docker registries, API gateways, and many others.
  • Focusing on the management of services: thanks to Crossplane and to Backstage, Krateo frees the user from most of the burden of cluster management, giving them the ability to entirely focus on the services that must be run. While the infrastructure is managed by Crossplane, the resources to be deployed can be easily found and configured in Backstage's UI, which acts as a catalog of ready-to-use services. This results a phenomenal user experience that drastically reduces wastes of time.
  • Single-handedly monitoring and controlling resources: Krateo also acts as a centralized controlplane, letting users monitor anything ranging from CI/CD pipelines to pod statuses and open tickets on your JIRA. All the information you need is present on a single page -- you'll never have to guess the correct dashboard ever again.

Our mission

With Krateo, we aim at putting together many awesome tools from the CNCF landscape to provide our users with a simple-to-use, complete and modular platform that allows for creating resources on any infrastructure. We see Krateo as a powerful tool that improves the workflow of teams by defining clear roles in which the infrastructure team creates the resource templates needed by the developers, and the developers are the final users that use those templates and can manage the lifecycle of the created resources from a simple, unified dashboard.

In our vision, Krateo is:

  • a self-service platform, where users can autonomously choose what to create and where;
  • a complete controlplane that eases and centralizes many processes, putting all the relevant information in a single page rather than distributing it on tens of different locations;
  • a multi-cloud provider tool: it works with all the major cloud providers and with on-prem installations;
  • either managed or easily installable on your existing Kubernetes cluster.

Getting started

Before install Krateo, please verify our requirements.

Getting started with Krateo is as easy as following its installation instructions.

Reference architecture

We are aware we have mentioned many different software components so far, thus we see why you may be a tad confused. In summary, Krateo' reference architecture can be depicted as follows:

Reference architecture

How does it work?

How does it work

Issues
  • RBAC permission missing after krateo and installation of module-core

    RBAC permission missing after krateo and installation of module-core

    Hi, as the title says, after initializing the cluster through krateo init via CLI i tried to install Krateo-module-core (development branch; which includes argo-cd) and when the module tries to deploy the required objects to deploy an instance of ArgoCD I got the following RBAC permissions errors:

    Events:
      Type     Reason                   Age                From                                                             Message
      ----     ------                   ----               ----                                                             -------
      Warning  ComposeResources         78s (x3 over 79s)  defined/compositeresourcedefinition.apiextensions.crossplane.io  cannot render composed resource from resource template at index 4: cannot use dry-run create to name composed resource: tokens.argocd.krateoplatformops.io is forbidden: User "system:serviceaccount:crossplane-system:crossplane" cannot create resource "tokens" in API group "argocd.krateoplatformops.io" at the cluster scope
      Warning  ComposeResources         78s (x3 over 79s)  defined/compositeresourcedefinition.apiextensions.crossplane.io  cannot apply composed resource: cannot get object: providerconfigs.argocd.krateoplatformops.io "krateo-module-core-6j7tt-provider-argocd-providerconfig" is forbidden: User "system:serviceaccount:crossplane-system:crossplane" cannot get resource "providerconfigs" in API group "argocd.krateoplatformops.io" at the cluster scope
    

    To reproduce this situation please run the following 3 steps:

    • $ krateo init
    • $ kubectl apply -f https://github.com/krateoplatformops/krateo-module-core/tree/development/defaults/krateo-package-module-core.yaml
    • $ kubectl apply -f https://github.com/krateoplatformops/krateo-module-core/tree/development/defaults/krateo-module-core.yaml
    opened by EttoreFoti 3
  • krateo installation fails with error author field is required

    krateo installation fails with error author field is required

    installing krateo on a local kubernetes cluste the core installation fails with following output the github repository is empty

    [email protected]:/krateo# krateo install core -r https://github.com/xxx -t xxxxx [debug] pulled 'krateo-package-module-core.yaml' (rev: 0b54fa87) [debug] [debug] apiVersion: pkg.crossplane.io/v1 [debug] kind: Configuration [debug] metadata: [debug] name: krateo-module-core [debug] spec: [debug] package: ghcr.io/krateoplatformops/krateo-module-core:latest [debug] packagePullPolicy: Always [debug] revisionActivationPolicy: Automatic [debug] revisionHistoryLimit: 1 [debug] [error] author field is required

    opened by fabiopax 1
  • default values + config file name

    default values + config file name

    • [ ] krateo config core saves the file with name "module-core.cfg", but krateo install core search a file named "krateo-module-core.cfg"
    • [ ] krateo config core wants the explicit tag -t for the repo Url, if it is not specified must be use the default https://github.com/krateoplatformops
    opened by maurosala 1
Releases(v0.6.2)
Owner
Krateo PlatformOps
Self-service platform for multi-cloud native resources
Krateo PlatformOps
Cloud-Z gathers information and perform benchmarks on cloud instances in multiple cloud providers.

Cloud-Z Cloud-Z gathers information and perform benchmarks on cloud instances in multiple cloud providers. Cloud type, instance id, and type CPU infor

CloudSnorkel 16 Jun 8, 2022
A minimal Go project with user authentication ready out of the box. All frontend assets should be less than 100 kB on every page load

Golang Base Project A minimal Golang project with user authentication ready out of the box. All frontend assets should be less than 100 kB on every pa

Markus Tenghamn 213 Jun 17, 2022
Kusk makes your OpenAPI definition the source of truth for API resources in your cluster

Kusk - use OpenAPI to configure Kubernetes What is Kusk? Developers deploying their REST APIs in Kubernetes shouldn't have to worry about managing res

kubeshop 6 Jun 27, 2022
Easily run your Compose application to the cloud with compose-cli

This CLI tool makes it easy to run Docker containers and Docker Compose applications in the cloud using either Amazon Elastic Container Service (ECS) or Microsoft Azure Container Instances (ACI) using the Docker commands you already know.

Docker 823 Jun 24, 2022
Knative Controller which emits cloud events when Knative Resources change state

Knative Sample Controller Knative sample-controller defines a few simple resources that are validated by webhook and managed by a controller to demons

salaboy 2 Oct 2, 2021
A cli that exposes your local resources to kubernetes

ktunnel Expose your local resources to kubernetes ?? Table of Contents About Getting Started Usage Documentation Contributing Authors Acknowledgments

Omri Eival 511 Jun 21, 2022
A Terraform module that creates AWS alerts billing for your resources.

terraform-aws-billing-alarms terraform-aws-billing-alarms for project Replace name project to New Project agr 'terraform-aws-billing-alarms' 'new-pr

hadenlabs 1 Oct 20, 2021
Docker-NodeJS - Creating a CI/CD Environment for Serverless Containers on Google Cloud Run

Creating a CI/CD Environment for Serverless Containers on Google Cloud Run Archi

David 1 Jan 8, 2022
The GCP Enterprise Cloud Cost Optimiser, or gecco for short, helps teams optimise their cloud project costs.

gecco helps teams optimise their cloud resource costs. Locate abandoned, idle, and inefficiently configured resources quickly. gecco helps teams build

aeihr. 2 Jan 9, 2022
An open-source, distributed, cloud-native CD (Continuous Delivery) product designed for developersAn open-source, distributed, cloud-native CD (Continuous Delivery) product designed for developers

Developer-oriented Continuous Delivery Product ⁣ English | 简体中文 Table of Contents Zadig Table of Contents What is Zadig Quick start How to use? How to

null 0 Oct 19, 2021
Cloud-gaming-operator - The one that manages VMs for cloud gaming built on GCE

cloud-gaming-operator GCE上に建てたクラウドゲーミング用のVMを管理するやつ 事前準備 GCEのインスタンスかマシンイメージを作成してお

Naoki Kishi 1 Jan 22, 2022
Cloud-on-k8s- - Elastic Cloud on Kubernetes (ECK)

Elastic Cloud on Kubernetes (ECK) Elastic Cloud on Kubernetes automates the depl

null 1 Jan 29, 2022
Testcontainers is a Golang library that providing a friendly API to run Docker container. It is designed to create runtime environment to use during your automatic tests.

When I was working on a Zipkin PR I discovered a nice Java library called Testcontainers. It provides an easy and clean API over the go docker sdk to

null 1.4k Jun 26, 2022
ginko-volkswagen detects when your tests are being run in a CI server, and reports them as passing

detects when your ginkgo-based tests are being run in a CI server, and reports them as passing

Christoph Blecker 7 Dec 4, 2021
Run Amazon EKS on your own infrastructure 🚀

Amazon EKS Anywhere Conformance test status: Amazon EKS Anywhere is a new deployment option for Amazon EKS that enables you to easily create and opera

Amazon Web Services 1.5k Jun 28, 2022
OpenAPI Terraform Provider that configures itself at runtime with the resources exposed by the service provider (defined in a swagger file)

Terraform Provider OpenAPI This terraform provider aims to minimise as much as possible the efforts needed from service providers to create and mainta

Daniel I. Khan Ramiro 207 Jun 26, 2022
A kubernetes plugin which enables dynamically add or remove GPU resources for a running Pod

GPU Mounter GPU Mounter is a kubernetes plugin which enables add or remove GPU resources for running Pods. This Introduction(In Chinese) is recommende

XinYuan 72 Jun 22, 2022
A curated list of awesome Kubernetes tools and resources.

Awesome Kubernetes Resources A curated list of awesome Kubernetes tools and resources. Inspired by awesome list and donnemartin/awesome-aws. The Fiery

Tom Huang 1.3k Jun 25, 2022
Annotated and kubez-autoscaler-controller will maintain the HPA automatically for kubernetes resources.

Kubez-autoscaler Overview kubez-autoscaler 通过为 deployment / statefulset 添加 annotations 的方式,自动维护对应 HorizontalPodAutoscaler 的生命周期. Prerequisites 在 kuber

null 115 May 29, 2022