Skip to content
This repository has been archived by the owner on Mar 14, 2023. It is now read-only.

Hosting an internal Amundsen instance at Earnest

Daniel Mateus Pires edited this page May 7, 2020 · 1 revision

Adding the application to Kubernetes

First step of running Amundsen was to deploy it on our Kubernetes infrastructure.

We were able to get up and running very quickly thanks to the Helm chart. We added the application in one of our existing Argocd projects, the Dhall code looks like this:

let imports = ../../imports.dhall

let AppConfig = imports.AppConfig

let makeApp = imports.makeApp

let makeAppConfig =
          \(config : ../Config.dhall)
      ->  AppConfig.HelmAppConfig
            imports.HelmAppConfig::{
            , name = "amundsen"
            , project = ../projectName.dhall
            , source =
                imports.sources.<redacted> "amundsen" (None Text)
            , namespace = imports.namespaces.<redacted>
            , valueFiles = Some
              [ "earnest-values.yaml"
              , "earnest-values.${imports.envToText config.environment}.yaml"
              ]
            , parameters = Some
              [ <some environment variables, not relevant>
              ]
            }

in  \(config : ../Config.dhall) -> makeApp (makeAppConfig config)

We adjusted the helm structure to follow the structure we have in other helm based projects

├── Chart.yaml
├── README.md
├── earnest-values.dev.yaml
├── earnest-values.prod.yaml
├── earnest-values.yaml
├── neo4j-restore-s3-backup
│   ├── README.md
│   └── restore-neo4j-pod.yaml
├── requirements.yaml
├── templates
│   ├── _helpers.tpl
│   ├── configmap-neo4j.yaml
...
└── values.yaml

Using a shared domain

We use a shared domain for internal tools, so our applications are configured with specific URL roots and mapping is done through Ambassador, we found out that Amundsen currently does not support running on a different url root than the base (for example /amundsen instead of /).

We created an issue on the main repository: here

And started a PR we won't have time to complete by the end of the hackaton: here