TransWikia.com

What's in THIS environment?

DevOps Asked by DaveTX on August 22, 2021

We work on multiple java web projects going on at the same time and those are all being tested on several different QA environments. I’d like to show on our support portal what projects are in what environments without having to manually update it all the time. I was thinking of some way to tag the builds so I could just query tomcat or those linux servers themselves and show the results. The tags would be something like "August Release", "Project 1", "Project 2", etc.. Has anyone done something similar? I’m looking for different options.

One Answer

I've done this before, normally in the form of having a /.well-known/info endpoint available on every microservice that then returns a JSON payload with what's in it:

{
    "service_name": "token_exchange",
    "server_id": "RD1717628373",
    "commit_hash": "f72a28",
    "branch": "feature/content-security-policy",
    "version": "v2.8.12-f72a28-prerelease1",
    "dependencies": [
        {
            "id": "db",
            "type": "database",
            "endpoint": "db.mysite.com"
        },
        {
            "id": "service",
            "type": "microservice",
            "endpoint": "RD661872834"
        }
    ]
}

I then have a cron job and custom dashboard that queries all of the services that it knows about and then walks the dependency tree to add any newly added dependencies.

Considerations

  1. Agree a Standard - The first step is to agree on a standard across services that you want to report on, then get them implemented. It's hard to show the value of this kind of thing when only 1% of your estate implements it.
  2. Start Small - I created a command-line interface that went and queried it at first.
  3. Security - It could be an attack surface from an information security perspective, so test it and possibly add some authentication component to it and turn it off in production.

Answered by Richard Slater on August 22, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP