Application configuration

This document describes how to leverage the frontend service’s application configuration to configure particular features. After modifying the AppConfigCustom object in config-custom.ts in the ways described in this document, be sure to rebuild your application with these changes.

NOTE: This document is a work in progress and does not include 100% of features. We welcome PRs to complete this document

Badge Config

Badges are a special type of tag that cannot be edited through the UI.

BadgeConfig can be used to customize the text and color of badges. This config defines a mapping of badge name to a BadgeStyle and optional displayName. Badges that are not defined will default to use the BadgeStyle.default style and displayName use the badge name with any _ or - characters replaced with a space.

Browse Tags Feature

TODO: Please add doc

  1. Add your logo to the folder in amundsen_application/static/images/.
  2. Set the the logoPath key on the to the location of your image.

Date

This config allows you to specify various date formats across the app. There are three date formats in use shown below. These correspond to the formatDate, formatDateTimeShort and formatDateTimeLong utility functions.

1
2
3
default: 'MMM DD, YYYY'
dateTimeShort: 'MMM DD, YYYY ha z'
dateTimeLong: 'MMMM Do YYYY [at] h:mm:ss a'

Reference for formatting: https://devhints.io/datetime#momentjs-format

Google Analytics

TODO: Please add doc

Index Users

In Amundsen, users themselves are data resources and user metadata helps to facilitate network based discovery. When users are indexed they will show up in search results, and selecting a user surfaces a profile page that displays that user’s relationships with different data resources.

After ingesting user metadata into the search and metadata services, set IndexUsersConfig.enabled to true on the application configuration to display the UI for the aforementioned features.

Mail Client Features

Amundsen has two features that leverage the custom mail client – the feedback tool and notifications.

As these are optional features, our MailClientFeaturesConfig can be used to hide/display any UI related to these features: 1. Set MailClientFeaturesConfig.feedbackEnabled to true in order to display the Feedback component in the UI. 2. Set MailClientFeaturesConfig.notificationsEnabled to true in order to display the optional UI for users to request more information about resources on the TableDetail page.

For information about how to configure a custom mail client, please see this entry in our flask configuration doc.

TODO: Please add doc

Resource Configurations

This configuration drives resource specific aspects of the application’s user interface. Each supported resource should be mapped to an object that matches or extends the BaseResourceConfig.

Base Configuration

All resource configurations must match or extend the BaseResourceConfig. This configuration supports the following options: 1. displayName: The name displayed throughout the application to refer to this resource type. 2. filterCategories: An optional FilterConfig object. When set for a given resource, that resource will display filter options in the search page UI.

Filter Categories

The FilterConfig is an array of objects that match any of the supported filter options. We currently support a MultiSelectFilterCategory and a SingleFilterCategory. See our config-types for more information about each option.

Table Configuration

TableResourceConfig extends BaseResourceConfig with a supportedDatabases option. This can be used for the following customizations:

Custom Icons

You can configure custom icons to be used throughout the UI when representing datasets from particular sources/databases. On the TableResourceConfig.supportedDatabases object, add an entry with the id used to reference that database and map to an object that specifies the iconClass for that database. This iconClass should be defined in icons.scss.

Display Names

You can configure a specific display name to be used throughout the UI when representing datasets from particular sources/databases. On the TableResourceConfig.supportedDatabases object, add an entry with the id used to reference that database and map to an object that specified the displayName for that database.

Table Lineage

TODO: Please add doc

Table Profile

TODO: Please add doc*

Issue Tracking Features

In order to enable Issue Tracking set IssueTrackingConfig.enabled to true to see UI features. Further configuration is required to fully enable the feature, please see this entry