library 'first-class-pipeline'

executeFreeleapsPipeline {
  serviceName = 'freeleaps'
  environmentSlug = 'prod'
  serviceGitBranch = 'master'
  serviceGitRepo = "https://gitea.freeleaps.mathmast.com/freeleaps/freeleaps-service-hub.git"
  serviceGitRepoType = 'monorepo'
  serviceGitCredentialsId = 'freeleaps-repos-gitea-credentails'
  executeMode = 'fully'
  commitMessageLintEnabled = false
  components = [
    [
      name: 'metrics',
      root: 'apps/metrics',
      language: 'python',
      dependenciesManager: 'pip',
      requirementsFile: 'requirements.txt',
      buildCacheEnabled: true,
      buildAgentImage: 'python:3.12-slim',
      buildArtifacts: ['.'],
      lintEnabled: false,
      sastEnabled: false,
      imageRegistry: 'docker.io',
      imageRepository: 'freeleaps',
      imageName: 'metrics',
      imageBuilder: 'dind',
      dockerfilePath: 'Dockerfile',
      imageBuildRoot: '.',
      imageReleaseArchitectures: ['linux/amd64', 'linux/arm64/v8'],
      registryCredentialsId: 'freeleaps-devops-docker-hub-credentials',
      semanticReleaseEnabled: true
    ],
    [
      name: 'authentication',
      root: 'apps/authentication',
      language: 'python',
      dependenciesManager: 'pip',
      requirementsFile: 'requirements.txt',
      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: 'centralStorage',
      root: 'apps/central_storage',
      language: 'python',
      dependenciesManager: 'pip',
      requirementsFile: 'requirements.txt',
      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',
      requirementsFile: 'requirements.txt',
      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',
      requirementsFile: 'requirements.txt',
      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',
      requirementsFile: 'requirements.txt',
      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
    ],
    [
      name: 'devops',
      root: 'apps/devops',
      language: 'python',
      dependenciesManager: 'pip',
      requirementsFile: 'requirements.txt',
      buildCacheEnabled: true,
      buildAgentImage: 'python:3.12-slim',
      buildArtifacts: ['.'],
      lintEnabled: false,
      sastEnabled: false,
      imageRegistry: 'docker.io',
      imageRepository: 'freeleaps',
      imageName: 'devops',
      imageBuilder: 'dind',
      dockerfilePath: 'Dockerfile',
      imageBuildRoot: '.',
      imageReleaseArchitectures: ['linux/amd64', 'linux/arm64/v8'],
      registryCredentialsId: 'freeleaps-devops-docker-hub-credentials',
      semanticReleaseEnabled: true
    ]
  ]
}