mongodb/atlas-osb

[FR] Enhance Plans to support third party integration

Closed this issue · 4 comments

based on the API documentation located here: https://docs.atlas.mongodb.com/reference/api/third-party-integration-settings/

We would like to be able to add third party integration settings (more specifically New relic integration) into the plan templates. For each service instance that is created for each plan, third party configuration should be configured as part of the cluster creation.

There should be a path to update the state schema for existing instances as well and apply the third party integration (we can potentially configure existing clusters through the API out of band from the broker).

hi @vasilevp any updates to this enhancement?

Hi @tanjoht
The plan was to start looking into this work when our team comes back from New Year's break.

We wanted to describe a scenario of how it will work:
Example of a full plan. For Integration, we will add a new parameter "integrations" as follows

name: basic-plan
description: This is the `Basic Plan` template for 1 project, 1 cluster, 1 dbuser, and 1 secure connection.
free: true
apiKey: {{ keyByAlias .credentials "testKey" }}
project:
  name: {{ .instance_name }}
  desc: Created from a template
cluster:
  name: {{ .instance_name }}
  providerBackupEnabled: {{ default "true" .backups }}
  providerSettings:
    providerName: {{ default "AWS" .provider }}
    instanceSizeName: {{ default "M10" .instance_size }}
    regionName: {{ default "US_EAST_1" .region }}
  labels:
    - key: Infrastructure Tool
      value: MongoDB Atlas Service Broker
databaseUsers:
- username: {{ default "test-user" .username }}
  password: {{ default "test-password" .password }}
  databaseName: {{ default "admin" .auth_db }}
  roles:
  - roleName: {{ default "readWrite" .role }}
    databaseName: {{ default "default" .role_db }}
ipAccessLists:
- ipAddress: "0.0.0.0/1"
  comment: "everything"
- ipAddress: "128.0.0.0/1
integrations:
- type: NEW_RELIC
  licenseKey: "dfkldfjlk"
  accounted: "<account id>"
  writeToken: ""
  readToken: ""

integrations parameter will follow API specification https://docs.atlas.mongodb.com/reference/api/third-party-integration-settings and will work similarly to ipAccessLists and databaseUsers.
Integrations will be created at project creation and will support all types defined in API.

Yes that would work. please let us know when this is available.