Giter VIP home page Giter VIP logo

daas-demo's Introduction

Database-as-a-Service demo

A quick-and-dirty PaaS implementation using SQL Server in Linux containers on Kubernetes.

Requirements

  • .NET Core 2.0
  • A private Docker registry
    e.g. Azure Container Registry, or quay.io
  • A Kubernetes cluster
    If you don't have one yet, see the deploy/terraform/ddcloud and deploy/ansible directories for some scripts you can use to bring up a cluster managed by Rancher in Dimension Data's cloud.
  • A server for storage
    This server will need to export an NFS volume unless you have your own options for storage
  • A DNS A wildcard record pointing to your cluster nodes' public IPs

Deployment

Images

Run .\Build-Images.ps1 or ./build-images.sh.

Kubernetes Resources

Customise the files in deploy/k8s as required, and run kubectl create -f deploy/k8s/XXX, where XXX is:

  • rook
  • ravendb
  • elasticsearch
  • prometheus

Then run deploy/k8s/consul/install.sh, deploy/k8s/vault/install-vault.sh, and kubectl create -f deploy/k8s/vault/vault-svc.yml.

Configure Vault:

  • vault mount -path=/daas/pki pki
  • vault mount-tune -max-lease-ttl=87600h /daas/pki
  • vault write /daas/pki/root/generate/internal common_name=vault.<cluster-fqdn> ttl=87600h
  • vault write /daas/pki/roles/daas.server.database allowed_domains=database.<cluster-fqdn> allow_subdomains=true allow_bare_domains=true max_ttl=672h
  • vault write /daas/pki/roles/daas.user.database allowed_domains=database.<cluster-fqdn> allow_subdomains=true max_ttl=672h

Finally, run kubectl create -f deploy/k8s.

daas-demo's People

Contributors

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