function verifyYaml()

in src/utilities/fileUtils.ts [182:211]


function verifyYaml(filepath: string, url: string): Errorable<K8sObject[]> {
   const fileContents = fs.readFileSync(filepath).toString()
   let inputObjects
   try {
      inputObjects = yaml.loadAll(fileContents)
   } catch (e) {
      return {
         succeeded: false,
         error: `failed to parse manifest from url ${url}: ${e}`
      }
   }

   if (!inputObjects || inputObjects.length == 0) {
      return {
         succeeded: false,
         error: `failed to parse manifest from url ${url}: no objects detected in manifest`
      }
   }

   for (const obj of inputObjects) {
      if (!obj.kind || !obj.apiVersion || !obj.metadata) {
         return {
            succeeded: false,
            error: `failed to parse manifest from ${url}: missing fields`
         }
      }
   }

   return {succeeded: true, result: inputObjects}
}