Skip to content

Latest commit

 

History

History
90 lines (68 loc) · 1.73 KB

private-saas.md

File metadata and controls

90 lines (68 loc) · 1.73 KB

Private-SaaS Flow

Cloud: AWS

  1. git clone the baaz server locally
$ git clone [email protected]:baazhq/baaz.git
$ cd baaz
  1. Create a EKS cluster from AWS UI to use it as the Provider Cluster

  2. Install baaz chart into the Provider Cluster with the service type as LoadBalancer.

$ cd chart/baaz
$ helm install baaz . --namespace=baaz --create-namespace \
            --set service.type=LoadBalancer \
            --set image.repository=pkbhowmick/baaz \
            --set image.tag=latest

Note: Edit baaz deployment and add the KUBERNETES_CONFIG_SERVER_URL as the EKS host

  1. Create a Kind Cluster for the provider cluster
$ kind create cluster
  1. Export the Baaz URL and create the customer
$ export BAAZ_URL=http://<LB_URL>:8000

Sample customer yaml

customer:
  name: foo
  saas_type: private
  cloud_type: aws
  labels: 
    tier: business
    region: us-east-1
$ bz create customer --private_mode=true -f <yaml_file_path>
  1. Run baaz init with the cloud auth
$ bz init --private_mode=true --customer=foo --aws_access_key=<aws_access_key> \
                       --aws_secret_key=<aws_secret_key>
  1. Create dataplane in private saas

Sample dataplane yaml

dataplane:
  cloudType: aws
  cloudRegion: us-east-1
  saasType: private
  customerName: foo
  provisionNetwork: true
  kubernetesConfig:
    eks:
      version: '1.27'
  applicationConfig:
  - name: "nginx"
    namespace: nginx-ingress
    chartName: "ingress-nginx"
    repoName: "ingress-nginx"
    repoUrl: "https://kubernetes.github.io/ingress-nginx"
    version: "1.9.4"
    values:
    - controller.nodeSelector.nodeType=system
$ bz create dataplane -f <yaml_file_path>