jasonmimick / atlas-osb

DEPRECATED: See https://github.com/mongodb/atlas-osb
https://github.com/mongodb/atlas-osb
Apache License 2.0
0 stars 2 forks source link

Review Multi-Key and Plan Template Spec - Sprint 1 Review #12

Closed jasonmimick closed 4 years ago

jasonmimick commented 4 years ago

This issue will track getting LGMT from the stakeholders for https://github.com/jasonmimick/atlas-osb/wiki/Atlas-Service-Broker-Custom-Plans-with-Resource-Templates

DOCS ARE HERE NOW https://github.com/jasonmimick/atlas-osb/blob/ymlplans/docs/custom-plans.md

Required LGTM

jasonmimick commented 4 years ago

Sprint 1 Review & Demonstration

Atlas Service Broker - Dynamic Plan Templates

What's working

Demonstration For this demonstration, we're just running the broker locally as an HTTP Service with it's usual digest authentication as per OSB.

#!/usr/bin/env bash
export BROKER_LOG_LEVEL=DEBUG
export BROKER_HOST=0.0.0.0
export BROKER_APIKEYS=$(cat ./my-creds.json)
export ATLAS_BROKER_TEMPLATEDIR=$(pwd)/samples/active.plans
echo ${BROKER_APIKEYS}
#go run *.go
./dev/scripts/build-production-binary.sh .
./mongodb-atlas-service-broker

For testing purposes, we're utilizing the K8's SIG go-open-service-broker-client and built a simple test cli. This allows us to build more advanced test case scenarios which directly exercise the broker in exact same fashion as it will be used when deployed into Kubernetes or Cloud Foundry.

We're showing 2 operations - /catalog and /provision.

./broker-tester -op catalog | jq '.'

This command will create an instance of the "minimal-plan" called whatever we wish. Here is our sample plan template:

name: minimal-plan
description: This is a minimal plan for a cluster
free: true
apiKey: {{ json (index .Credentials.Orgs "5ea0477597999053a5f9cbec") }}
project:
  name: {{ .InstanceID }}
  desc: "{{ .InstanceID }} description"
cluster:
  name: {{ .InstanceID }} 
  providerSettings:
    regionName: "US_EAST_1"
    providerName: "AWS"
    instanceSizeName: M20

Command to test:

create-service minimal-plan <your_instance_name>

Remaining investigations

Sprint 2 Goals

Note: For these sprints, we concentrate all our testing efforts around main user-case of the "basic main plan" which is "1 project, 1 cluster, 1 user, 1 whitelist"

Current Timelines

jasonmimick commented 4 years ago

Sprint 1 Complete :candy: See Sprint 2