newrelic / docs-website

Source code for @newrelic docs. We welcome pull requests and questions on our docs!
https://docs.newrelic.com
Other
173 stars 1.25k forks source link

[Config] Manual process to support YAML automation #160

Closed zstix closed 4 years ago

zstix commented 4 years ago

Description

No matter what approach we take to automate building YAML config files, we will need to do some manual work to define the rules that drive the automation. We will need to define all of the collections of pages (each "leaf") in the whimsical diagram and what existing-docs-site pages that collection represents.

This is the "busy-work" part of #159

Acceptance Criteria

Screenshots

Screen Shot 2020-10-16 at 6 01 01 PM

jerelmiller commented 4 years ago

Here is the instruction set for the new IA starting with the Agents section and including everything to its right:

export const instructions = [
  { type: 'REMOVE', path: ['Agents', 'C SDK', 'Get started'] },
  { type: 'REMOVE', path: ['Agents', 'Go agent', 'Get started'] },
  { type: 'REMOVE', path: ['Agents', 'Java agent', 'Get started'] },
  { type: 'REMOVE', path: ['Agents', 'NET agent', 'Get started'] },
  { type: 'REMOVE', path: ['Agents', 'Node.js agent', 'Get started'] },
  { type: 'REMOVE', path: ['Agents', 'PHP agent', 'Get started'] },
  { type: 'REMOVE', path: ['Agents', 'Python agent', 'Get started'] },
  { type: 'REMOVE', path: ['Agents', 'Ruby agent', 'Get started'] },
  { type: 'REMOVE', path: ['Agents', 'Open-source licensed agents'] },
  { type: 'REMOVE', path: ['Create integrations'] },
  {
    type: 'REMOVE',
    path: ['Integrations', 'Intro to integrations', 'Get started'],
  },
  {
    type: 'REMOVE',
    path: [
      'Integrations',
      'Open source telemetry integration list',
      'Get started',
    ],
  },
  {
    type: 'REMOVE',
    path: ['Integrations', 'Infrastructure integrations', 'Get started'],
  },
  {
    type: 'REMOVE',
    path: ['Integrations', 'Amazon integrations', 'Get started'],
  },
  {
    type: 'REMOVE',
    path: [
      'Integrations',
      'Google Cloud Platforms integrations',
      'Get started',
    ],
  },
  {
    type: 'REMOVE',
    path: ['Integrations', 'Microsoft Azure integrations', 'Get started'],
  },
  {
    type: 'REMOVE',
    path: ['Integrations', 'On-host integrations', 'Get started'],
  },
  {
    type: 'REMOVE',
    path: ['Integrations', 'Kubernetes integrations', 'Get started'],
  },
  {
    type: 'REMOVE',
    path: ['Integrations', 'Prometheus integrations', 'Get started'],
  },
  {
    type: 'REMOVE',
    path: ['Integrations', 'Grafana integrations', 'Get started'],
  },
  {
    type: 'REMOVE',
    path: [
      'Integrations',
      'Elastic Container Service integration',
      'Get started',
    ],
  },
  {
    type: 'MOVE',
    from: ['Security', 'New Relic security', 'Data privacy'],
    to: ['Security'],
  },
  {
    type: 'MOVE',
    from: ['Security', 'New Relic security', 'Compliance'],
    to: ['Security'],
  },
  {
    type: 'MOVE',
    from: ['Security', 'New Relic security', 'Security bulletins'],
    to: ['Security'],
  },
  { type: 'RENAME', path: ['Security'], name: 'New Relic security' },
];
roadlittledawn commented 4 years ago

Here's JSON instructions for Telemetry Data Platform thru Full-Stack Observability. I still have to add the removes for the Get started sections that have been removed in the new IA map / folded into categories above them.

https://gist.github.com/roadlittledawn/4be60e17b2d5d3b5df213f9b20f63c50

zstix commented 4 years ago

Here is a JS file for the instructions from Alerts and Applied Intelligence to the right of the new structure: https://gist.github.com/zstix/7d7f06fb5c6beba9228e80f551343f22

I was unable to confirm a few things regarding casing, so we'll want to spot check everything once we have all the instructions in place.

zstix commented 4 years ago

Oh, one thing I forgot to note about the instructions I created: one of the types was DUPLICATE which took the new path and copied it. This means that the move will need to occur before the duplicate happens.

Basically: instruction order is important and I assumed we would work "left to right" along the IA diagram.