package
0.11.0
Repository: https://github.com/raystack/meteor.git
Documentation: pkg.go.dev

# README

application_yaml

Extractor for Application from YAML file.

Usage

source:
  name: application_yaml
  scope: applications-stg
  config:
    file: "./path/to/meteor.app.yaml"
    env_prefix: CI

Inputs

KeyValueExampleDescriptionRequired?
filestringmeteor.app.yamlFile path of application.yaml
env_prefixstringCIPrefix for environment variables. These are made available as variables in application.yaml with the prefix trimmed.

application.yaml format

name: "string" # REQUIRED
id: "string" # REQUIRED
team:
  id: "string"
  name: "string"
  email: "string"
description: "string"
url: "string"
version: "string"
inputs: # OPTIONAL
  # Format: "urn:{service}:{scope}:{type}:{name}"
  - urn:bigquery:bq-raw-internal:table:bq-raw-internal:dagstream.production_feast09_s2id13_30min_demand
  - urn:kafka:int-dagstream-kafka.yonkou.io:topic:staging_feast09_s2id13_30min_demand
outputs: # OPTIONAL
  # Format: "urn:{service}:{scope}:{type}:{name}"
  - urn:kafka:1-my-kafka.com:topic:staging_feast09_mixed_granularity_demand_forecast_3es
create_time: "2006-01-02T15:04:05Z"
update_time: "2006-01-02T15:04:05Z"
labels:
  x: "y"

For an example, see application.detailed.yaml

Environment variables that are commonly available in CI can be used for populating the fields. The default prefix for environment variables is CI but this can be overridden using env_prefix config.

For an example, see application.envvars.yaml. The following env vars are utilised for it:

  • CI_PROJECT_NAME
  • CI_PROJECT_URL
  • CI_COMMIT_SHORT_SHA

Outputs

The application is mapped to an Asset with model specific metadata stored using Application. Please refer the proto definitions for more information.

FieldValueSample Value
resource.urnurn:application_yaml:{scope}:application:{application.name}urn:application_yaml:integration:application:order-manager
resource.name{application.name}order-manager
resource.serviceapplication_yamlapplication_yaml
resource.typeapplicationapplication
resource.url{application.url}https://github.com/mycompany/order-manager
resource.description{application.descriptionOrder-Manager is the order management system for MyCompany
application_idapplication.id0adf3214-676c-4a74-ab37-9d4a4b8ade0e
versionapplication.versiond6ec883
create_time{application.create_time}2022-08-08T03:17:54Z
update_time{application.update_time}2022-08-08T03:57:54Z
ownership.owners[0].urn{application.team.id}9ebcc2f8-5894-47c6-83a9-160b7eaa3f6b
ownership.owners[0].name{application.team.name}Search
ownership.owners[0].email{application.team.email}[email protected]
lineage.upstreams[].urn{application.inputs[]}urn:kafka:int-kafka.yonkou.io:topic:staging_30min_demand
lineage.downstreams[].urn{application.outputs[]}urn:bigquery:bq-internal:table:bq-internal:dagstream.production_30min_demand
resource.labelsmap[string]string{"team": "Booking Experience"}

Contributing

Refer to the contribution guidelines for information on contributing to this module.