library 'first-class-pipeline'

executeFreeleapsPipeline {
  serviceName = 'freeleaps'
  environmentSlug = 'alpha'
  serviceGitBranch = 'develop'
  serviceGitRepo = "https://freeleaps@dev.azure.com/freeleaps/freeleaps-service-hub/_git/freeleaps-service-hub"
  serviceGitRepoType = 'monorepo'
  serviceGitCredentialsId = 'freeleaps-azure-devops-credentials'
  executeMode = 'on-demand'
  commitMessageLintEnabled = false
  components = [
    [
      name: 'authentication',
      root: 'apps/authentication',
      language: 'python',
      dependenciesManager: 'pip',
      buildCacheEnabled: true,
      buildAgentImage: 'python:3.10-slim-buster',
      buildArtifacts: ['.'],
      lintEnabled: false,
      sastEnabled: false,
      imageRegistry: 'docker.io',
      imageRepository: 'freeleaps',
      imageName: 'authentication',
      imageBuilder: 'dind',
      dockerfilePath: 'Dockerfile',
      imageBuildRoot: '.',
      imageReleaseArchitectures: ['linux/amd64', 'linux/arm64/v8'],
      registryCredentialsId: 'freeleaps-devops-docker-hub-credentials',
      semanticReleaseEnabled: true
    ],
    [
      name: 'central-storage',
      root: 'apps/central_storage',
      language: 'python',
      dependenciesManager: 'pip',
      buildAgentImage: 'python:3.10-slim-buster',
      buildArtifacts: ['.'],
      buildCacheEnabled: true,
      lintEnabled: false,
      sastEnabled: false,
      imageRegistry: 'docker.io',
      imageRepository: 'freeleaps',
      imageName: 'central_storage',
      imageBuilder: 'dind',
      dockerfilePath: 'Dockerfile',
      imageBuildRoot: '.',
      imageReleaseArchitectures: ['linux/amd64', 'linux/arm64/v8'],
      registryCredentialsId: 'freeleaps-devops-docker-hub-credentials',
      semanticReleaseEnabled: true
    ],
    [
      name: 'content',
      root: 'apps/content',
      language: 'python',
      dependenciesManager: 'pip',
      buildAgentImage: 'python:3.10-slim-buster',
      buildArtifacts: ['.'],
      buildCacheEnabled: true,
      lintEnabled: false,
      sastEnabled: false,
      imageRegistry: 'docker.io',
      imageRepository: 'freeleaps',
      imageName: 'content',
      imageBuilder: 'dind',
      dockerfilePath: 'Dockerfile',
      imageBuildRoot: '.',
      imageReleaseArchitectures: ['linux/amd64', 'linux/arm64/v8'],
      registryCredentialsId: 'freeleaps-devops-docker-hub-credentials',
      semanticReleaseEnabled: true
    ],
    [
      name: 'notification',
      root: 'apps/notification',
      language: 'python',
      dependenciesManager: 'pip',
      buildAgentImage: 'python:3.10-slim-buster',
      buildArtifacts: ['.'],
      buildCacheEnabled: true,
      lintEnabled: false,
      sastEnabled: false,
      imageRegistry: 'docker.io',
      imageRepository: 'freeleaps',
      imageName: 'notification',
      imageBuilder: 'dind',
      dockerfilePath: 'Dockerfile',
      imageBuildRoot: '.',
      imageReleaseArchitectures: ['linux/amd64', 'linux/arm64/v8'],
      registryCredentialsId: 'freeleaps-devops-docker-hub-credentials',
      semanticReleaseEnabled: true
    ],
    [
      name: 'payment',
      root: 'apps/payment',
      language: 'python',
      dependenciesManager: 'pip',
      buildAgentImage: 'python:3.10-slim-buster',
      buildArtifacts: ['.'],
      buildCacheEnabled: true,
      lintEnabled: false,
      sastEnabled: false,
      imageRegistry: 'docker.io',
      imageRepository: 'freeleaps',
      imageName: 'payment',
      imageBuilder: 'dind',
      dockerfilePath: 'Dockerfile',
      imageBuildRoot: '.',
      imageReleaseArchitectures: ['linux/amd64', 'linux/arm64/v8'],
      registryCredentialsId: 'freeleaps-devops-docker-hub-credentials',
      semanticReleaseEnabled: true
    ]
  ]
}