Giter VIP home page Giter VIP logo

infrastructure-plane-poc's Introduction

Infrastructure Plane PoC

The goal of this PoC was to give a small overview of how to use Crossplane to define a PostgreSQL DB ressource with multiple flavours, that could later be used inside some service's code.

Requirements

  • Crossplane v0.12 or more installed in your k8s cluster

Install & configure providers

To install providers you should use the:

kubectl crossplane package install --cluster --namespace crossplane-system <your_provider:version>

You should then follow their documentation to configure them (setting up credentials, etc)

Install definitions + compositions

To install any file in this project you can use the kubectl apply -f and precising the namespace where you want the ressource to be installed

Architecture

  • providers defines the needed Cloud/Infrastructure providers that will be used to create ressources
  • postgresql-instance directory contains everything related to the postgresql database definition and its flavours
  • publication.yaml is the file that defines which ressource is discoverable/usable by services

Usage

To use the postgresql ressource in your service, you would have to add :

apiVersion: database.example.org/v1alpha1
kind: PostgreSQLInstanceRequirement
metadata:
  name: my-test-db
spec:
  parameters:
    storageGB: 20
    dbName: my-test-db
    username: testuser
  compositionSelector:
    matchLabels:
      tier: dev # possible values: (dev, bronze) or anything defined in compositions
  writeConnectionSecretToRef:
    name: validation-service-pg

infrastructure-plane-poc's People

Contributors

lucchmielowski avatar

Watchers

 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.