Skip to content
Snippets Groups Projects
Select Git revision
  • f20539930ec2a7db19b8d3e73a50de3d638cf2f2
  • main default protected
  • dependabot/docker/golang-1.24.5
  • lihiz_preflight
  • release/prepare-v0.10.7
  • dependabot/github_actions/golangci/golangci-lint-action-7
  • release/prepare-v0.9.1
  • gh-pages
  • aquadev
  • v0.11.1
  • v0.11.0
  • v0.10.7
  • v0.10.6
  • v0.10.5
  • v0.10.4
  • v0.10.3
  • v0.10.2
  • v0.10.1
  • v0.10.0
  • v0.9.4
  • v0.9.3
  • v0.9.2
  • v0.9.1
  • v0.9.0
  • v0.8.0
  • v0.7.3
  • v0.7.2
  • v0.7.1
  • v0.7.0
29 results

main.go

Blame
  • extract.ts 1.01 KiB
    import { logger } from '../../logger';
    import { PackageDependency, PackageFile } from '../common';
    import { getDep } from '../dockerfile/extract';
    
    export function extractPackageFile(content: string): PackageFile | null {
      logger.trace('kubernetes.extractPackageFile()');
      let deps: PackageDependency[] = [];
    
      const isKubernetesManifest =
        /\s*apiVersion\s*:/.test(content) && /\s*kind\s*:/.test(content);
      if (!isKubernetesManifest) {
        return null;
      }
    
      for (const line of content.split('\n')) {
        const match = /^\s*-?\s*image:\s*'?"?([^\s'"]+)'?"?\s*$/.exec(line);
        if (match) {
          const currentFrom = match[1];
          const dep = getDep(currentFrom);
          logger.debug(
            {
              depName: dep.depName,
              currentValue: dep.currentValue,
              currentDigest: dep.currentDigest,
            },
            'Kubernetes image'
          );
          deps.push(dep);
        }
      }
      deps = deps.filter((dep) => !dep.currentValue?.includes('${'));
      if (!deps.length) {
        return null;
      }
      return { deps };
    }