{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "spotify": {
      "type": "object",
      "properties": {
        "apiToken": {
          "type": "string",
          "description": "Api token for Spotify plugins",
          "visibility": "secret"
        }
      },
      "required": [
        "apiToken"
      ]
    },
    "backstageInsights": {
      "type": "object",
      "properties": {
        "captureEntityFields": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Entity fields that can be used for filtering and grouping data in the Insights dashboard. The default fields that are captured are `kind`, `metadata.namespace`, `spec.type`, `spec.lifecycle`, and `spec.owner`. Additional fields can be supplied here.\n\nSee ['extra entity metadata capture'](https://backstage.spotify.com/docs/plugins/insights/setup-and-installation#extra-entity-metadata-capture) documentation for more information.",
          "visibility": "backend"
        },
        "captureIdentityFields": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Similar to `captureEntityFields`, but for capturing fields from the signed-in user's identity. The default fields that are captured are 'metadata.namespace' and 'spec.memberOf'. Additional fields can be supplied here.\n\nSee ['extra entity metadata capture'](https://backstage.spotify.com/docs/plugins/insights/setup-and-installation#extra-identity-metadata-capture) documentation for more information.",
          "visibility": "backend"
        },
        "captureIdentityGroupsFilter": {
          "type": "object",
          "additionalProperties": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "description": "Membership groups are captured to filter and group data in the Insights dashboard, however some groups may not be relevant to the Insights dashboard. This configuration allows for filtering out groups that should not be captured.\n\nSee ['identity groups filter'](https://backstage.spotify.com/docs/plugins/insights/setup-and-installation#identity-groups-filter) documentation for more information.",
          "visibility": "backend"
        },
        "totalUsersEntityQueryFilter": {
          "type": "object",
          "additionalProperties": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "description": "The dashboard uses the Software Catalog to determine the total number of users for various calculations. This configuration allows for filtering out user entities that should not be counted towards the total number of users.\n\nSee ['total users count filter'](https://backstage.spotify.com/docs/plugins/insights/setup-and-installation#total-users-count-filter) documentation for more information.",
          "visibility": "backend"
        },
        "envOverride": {
          "type": "string",
          "visibility": "backend"
        },
        "salt": {
          "type": "string",
          "description": "A salt value that's concatenated with the userEntityRef when it's being hashed. This is not meant to be cryptographically secure; it is merely here for peace of mind that Spotify is unable to unmask hashed userEntityRef values from adopters.\n\nNote: Changing this value after deploying the app would inflate or otherwise affect metrics like MAU/WAU/DAU and retention.",
          "visibility": "backend"
        },
        "hostFilter": {
          "type": "string",
          "description": "Set this property to a specific hostname to filter data from Insights dashboard to only show data from that host. Note: it's recommended that, in local and pre-production environments, you set `backstageInsights.debug` to true rather than use this property.\n\nSee ['host filter'](https://backstage.spotify.com/docs/plugins/insights/setup-and-installation#host-filter) documentation for more information.",
          "visibility": "backend"
        },
        "experimentalFlags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Flags for toggling experimental features.",
          "visibility": "backend"
        }
      }
    }
  }
}
