Skip to content

nil-scan/easyaas

Repository files navigation

EasyAaas

EasyAaas (Easy Anything As-A-Service) is a framework to easily create self-service infrastructure resources. It lets Platform Engineers create Resources that Developers can instanciate at will.

A Resource is a composed of a few elements:

  • A kubernetes CRD that defines a name and the configuration parameters available for the Resource.
  • A terraform module that defines what needs to be done when applying the resource
  • A TerraformResource yaml that instanciates a new kubernetes controller to watch over the Resource and that will apply the terraform module
  • Optionally, OPA policies and version conversion functions can be provided to handle complex validation and migration scenarios

Setup

Install Easyaas

pip install poetry
poetry shell
poetry install

Install opa-kubemgmt

Validation of the CRDs can be done by any admission controller. This is an example using open-policy-agent/kube-mgmt

helm repo add opa https://open-policy-agent.github.io/kube-mgmt/charts
helm repo update
helm upgrade --install --namespace opa-kubemgmt --create-namespace opa-kubemgmt opa/opa-kube-mgmt --set admissionController.enabled=true --set mgmt.namespaces=easyaas-policies --set admissionController.failurePolicy=Fail

Run

EasyAas uses just to define and run project-related commands

just run

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published