Skip to content

loader: Configure logging to output logs as json

Antoine R. Dumont requested to merge ardumont/swh-charts:staging into staging

This provides the minimal logging setup for logger to output their logs as json. The current deployed images are impervious to this for now. They'd need a new release with the latest scheduler [1] to actually use it.

Manual tests are happy [2]

Refs. swh/infra/sysadm-environment#4524 (closed)

[1] swh/devel/swh-scheduler!338 (merged)

[2]

Click to expand
helm install --values values-swh-application-versions.yaml  --values swh/values/default.yaml --values swh/values/staging.yaml swh-test swh --dry-run --debug --set namespace=test 2>&1
install.go:192: [debug] Original chart version: ""
install.go:209: [debug] CHART PATH: /home/tony/work/swh/sysadm-environment/swh-charts/swh

NAME: swh-test LAST DEPLOYED: Mon Jan 30 17:43:16 2023 NAMESPACE: default STATUS: pending-install REVISION: 1 TEST SUITE: None USER-SUPPLIED VALUES: checker_deposit: amqp: host: scheduler0.internal.staging.swh.network autoScaling: maxReplicaCount: 2 deposit: host: deposit-rp.internal.staging.swh.network enabled: true storage: host: storage1.internal.staging.swh.network port: 5002 cookers: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: swh/cooker operator: In values: - "true" amqp: host: scheduler0.internal.staging.swh.network deployments: batch: autoScaling: maxReplicaCount: 2 queues: - swh.vault.cooking_tasks.SWHBatchCookingTask simple: autoScaling: maxReplicaCount: 2 queues: - swh.vault.cooking_tasks.SWHCookingTask enabled: true storage: host: storage1.internal.staging.swh.network port: 5002 vault: host: vault.internal.staging.swh.network port: 5005 graphql: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: swh/rpc operator: In values: - "true" backends: search: host: search0.internal.staging.swh.network port: 5010 storage: host: webapp.internal.staging.swh.network port: 5002 enabled: true gunicorn: threads: 4 timeout: 3600 workers: 2 ingress: enabled: true host: graphql.internal.staging.swh.network httpPath: / logLevel: DEBUG replicas: 1 sentry_enabled: true indexers: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: swh/indexer operator: In values: - "true" deployments: content-fossology-license: autoScaling: maxReplicaCount: 2 consumerGroup: swh.indexer.journal_client.content_fossology_license extraConfig: tools: configuration: command_line: nomossa name: nomos version: 3.1-1bpo9swh+1 workdir: /tmp/swh/indexer.fossology.license/ write_batch_size: 1000 indexer_type: content_fossology_license prefix: swh.journal.objects content-mimetype: autoScaling: maxReplicaCount: 2 consumerGroup: swh.indexer.journal_client.content_mimetype extraConfig: tools: configuration: debian-package: python3-magic type: library name: file version: 2:0.4.15-2 write_batch_size: 1000 indexer_type: content_mimetype prefix: swh.journal.objects origin-extrinsic: autoScaling: maxReplicaCount: 2 consumerGroup: swh.indexer.journal_client.extrinsic_metadata extraConfig: tools: configuration: {} name: swh-metadata-detector version: 0.0.2 indexer_type: extrinsic_metadata prefix: swh.journal.objects origin-intrinsic: autoScaling: maxReplicaCount: 6 batch_size: 200 consumerGroup: swh.indexer.journal_client.origin_intrinsic_metadata extraConfig: tools: configuration: {} name: swh-metadata-detector version: 0.0.2 indexer_type: origin_intrinsic_metadata prefix: swh.journal.objects enabled: true indexer_storage: host: storage1.internal.staging.swh.network port: 5007 journalBrokers: hosts: - journal1.internal.staging.swh.network:9092 objstorage: host: storage1.internal.staging.swh.network port: 5003 scheduler: host: scheduler0.internal.staging.swh.network port: 5008 sentrySwhPackage: swh.indexer storage: host: storage1.internal.staging.swh.network port: 5002 listers: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: swh/lister operator: In values: - "true" amqp: host: scheduler0.internal.staging.swh.network deployments: all: autoScaling: maxReplicaCount: 2 maxTasksperchild: 3 queues: - swh.lister.cgit.tasks.CGitListerTask - swh.lister.cran.tasks.CRANListerTask - swh.lister.debian.tasks.DebianListerTask - swh.lister.gitea.tasks.IncrementalGiteaLister - swh.lister.gitea.tasks.RangeGiteaLister - swh.lister.gitea.tasks.FullGiteaRelister - swh.lister.gitlab.tasks.IncrementalGitLabLister - swh.lister.gitlab.tasks.RangeGitLabLister - swh.lister.gitlab.tasks.FullGitLabRelister - swh.lister.npm.tasks.NpmListerTask - swh.lister.phabricator.tasks.FullPhabricatorLister - swh.lister.pypi.tasks.PyPIListerTask requestedCpu: 500m requestedMemory: 512Mi bitbucket: autoScaling: maxReplicaCount: 1 queues: - swh.lister.bitbucket.tasks.IncrementalBitBucketLister - swh.lister.bitbucket.tasks.FullBitBucketRelister bower: autoScaling: maxReplicaCount: 1 queues: - swh.lister.bower.tasks.BowerListerTask gnu-full: autoScaling: maxReplicaCount: 1 queues: - swh.lister.gnu.tasks.GNUListerTask gogs-full: autoScaling: maxReplicaCount: 1 queues: - swh.lister.gogs.tasks.FullGogsRelister golang: autoScaling: maxReplicaCount: 1 queues: - swh.lister.golang.tasks.FullGolangLister - swh.lister.golang.tasks.IncrementalGolangLister launchpad: autoScaling: maxReplicaCount: 1 queues: - swh.lister.launchpad.tasks.FullLaunchpadLister - swh.lister.launchpad.tasks.IncrementalLaunchpadLister maven: autoScaling: maxReplicaCount: 1 queues: - swh.lister.maven.tasks.FullMavenLister - swh.lister.maven.tasks.IncrementalMavenLister requestedCpu: 1000m requestedMemory: 1024Mi nixguix: autoScaling: maxReplicaCount: 1 extraConfig: extensions_to_ignore: - rock queues: - swh.lister.nixguix.tasks.NixGuixListerTask opam: autoScaling: maxReplicaCount: 1 queues: - swh.lister.opam.tasks.OpamListerTask pubdev: autoScaling: maxReplicaCount: 1 queues: - swh.lister.pubdev.tasks.PubDevListerTask sourceforge: autoScaling: maxReplicaCount: 1 queues: - swh.lister.sourceforge.tasks.FullSourceForgeLister - swh.lister.sourceforge.tasks.IncrementalSourceForgeLister enabled: true scheduler: host: scheduler0.internal.staging.swh.network port: 5008 sentrySwhPackage: swh.lister storage: host: storage1.internal.staging.swh.network port: 5002 loaders: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: swh/loader operator: In values: - "true" amqp: host: scheduler0.internal.staging.swh.network port: 5672 deployments: addforgenow: ackLate: true autoScaling: maxReplicaCount: 2 queueThreshold: 1 image: swh_loader_git_image queues: - add_forge_now:swh.loader.git.tasks.UpdateGitRepository requestedCpu: 200m requestedMemory: 256Mi sentrySwhPackage: swh.loader.git archive: autoScaling: maxReplicaCount: 1 image: swh_loader_package_image queues: - swh.loader.package.archive.tasks.LoadArchive requestedCpu: 200m requestedMemory: 256Mi sentrySwhPackage: swh.loader.core bzr: autoScaling: maxReplicaCount: 1 queues: - swh.loader.bzr.tasks.LoadBazaar requestedCpu: 200m requestedMemory: 256Mi sentrySwhPackage: swh.loader.bzr content: autoScaling: maxReplicaCount: 1 image: swh_loader_package_image queues: - swh.loader.core.tasks.LoadContent requestedCpu: 200m requestedMemory: 256Mi sentrySwhPackage: swh.loader.core cran: autoScaling: maxReplicaCount: 1 image: swh_loader_package_image queues: - swh.loader.package.cran.tasks.LoadCRAN requestedCpu: 200m requestedMemory: 256Mi sentrySwhPackage: swh.loader.core cvs: autoScaling: maxReplicaCount: 1 queues: - swh.loader.cvs.tasks.LoadCvsRepository requestedCpu: 200m requestedMemory: 256Mi sentrySwhPackage: swh.loader.cvs debian: autoScaling: maxReplicaCount: 1 image: swh_loader_package_image queues: - swh.loader.package.debian.tasks.LoadDebian requestedCpu: 200m requestedMemory: 256Mi sentrySwhPackage: swh.loader.core deposit: autoScaling: maxReplicaCount: 2 queueThreshold: 1 extraConfig: default_filename: archive.tar deposit: auth: password: ${DEPOSIT_PASSWORD} username: ${DEPOSIT_USERNAME} url: https://deposit-rp.internal.staging.swh.network/1/private image: swh_loader_package_image queues: - swh.loader.package.deposit.tasks.LoadDeposit requestedCpu: 200m requestedMemory: 256Mi sentrySwhPackage: swh.loader.core directory: autoScaling: maxReplicaCount: 1 image: swh_loader_package_image queues: - swh.loader.core.tasks.LoadDirectory requestedCpu: 200m requestedMemory: 256Mi sentrySwhPackage: swh.loader.core git: autoScaling: maxReplicaCount: 3 queues: - swh.loader.git.tasks.UpdateGitRepository - swh.loader.git.tasks.LoadDiskGitRepository - swh.loader.git.tasks.UncompressAndLoadDiskGitRepository requestedCpu: 200m requestedMemory: 256Mi sentrySwhPackage: swh.loader.git golang: autoScaling: maxReplicaCount: 1 image: swh_loader_package_image queues: - swh.loader.package.golang.tasks.LoadGolang requestedCpu: 200m requestedMemory: 256Mi sentrySwhPackage: swh.loader.core highpriority: ackLate: true autoScaling: maxReplicaCount: 3 queueThreshold: 1 queues: - save_code_now:swh.loader.bzr.tasks.LoadBazaar - save_code_now:swh.loader.cvs.tasks.LoadCvsRepository - save_code_now:swh.loader.git.tasks.UpdateGitRepository - save_code_now:swh.loader.git.tasks.LoadDiskGitRepository - save_code_now:swh.loader.git.tasks.UncompressAndLoadDiskGitRepository - save_code_now:swh.loader.mercurial.tasks.LoadArchiveMercurial - save_code_now:swh.loader.mercurial.tasks.LoadMercurial - save_code_now:swh.loader.svn.tasks.LoadSvnRepository - save_code_now:swh.loader.svn.tasks.MountAndLoadSvnRepository - save_code_now:swh.loader.svn.tasks.DumpMountAndLoadSvnRepository - save_code_now:swh.loader.package.archive.tasks.LoadArchive requestedCpu: 200m requestedMemory: 256Mi sentrySwhPackage: swh.loader.highpriority maven: autoScaling: maxReplicaCount: 1 image: swh_loader_package_image queues: - swh.loader.package.maven.tasks.LoadMaven requestedCpu: 200m requestedMemory: 256Mi sentrySwhPackage: swh.loader.core mercurial: autoScaling: maxReplicaCount: 1 queues: - swh.loader.mercurial.tasks.LoadArchiveMercurial - swh.loader.mercurial.tasks.LoadMercurial requestedCpu: 200m requestedMemory: 256Mi sentrySwhPackage: swh.loader.mercurial npm: autoScaling: maxReplicaCount: 1 image: swh_loader_package_image queues: - swh.loader.package.npm.tasks.LoadNpm requestedCpu: 200m requestedMemory: 256Mi sentrySwhPackage: swh.loader.core opam: autoScaling: maxReplicaCount: 1 extraConfig: initialize_opam_root: true image: swh_loader_package_image queues: - swh.loader.package.opam.tasks.LoadOpam requestedCpu: 200m requestedMemory: 256Mi sentrySwhPackage: swh.loader.core pubdev: autoScaling: maxReplicaCount: 1 image: swh_loader_package_image queues: - swh.loader.package.pubdev.tasks.LoadPubDev requestedCpu: 200m requestedMemory: 256Mi sentrySwhPackage: swh.loader.core pypi: autoScaling: maxReplicaCount: 1 image: swh_loader_package_image queues: - swh.loader.package.pypi.tasks.LoadPyPI requestedCpu: 200m requestedMemory: 256Mi sentrySwhPackage: swh.loader.core svn: autoScaling: maxReplicaCount: 1 queues: - swh.loader.svn.tasks.LoadSvnRepository - swh.loader.svn.tasks.MountAndLoadSvnRepository - swh.loader.svn.tasks.DumpMountAndLoadSvnRepository requestedCpu: 200m requestedMemory: 256Mi sentrySwhPackage: swh.loader.svn enabled: true storage: host: storage1.internal.staging.swh.network port: 5002 namespace: test sentry: environment: staging statsd_exporter: enabled: true storage_replayer: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: node-role.kubernetes.io/etcd operator: NotIn values: - "true" cassandra: consistencyLevel: LOCAL_QUORUM keySpace: swh journalBrokers: secretName: storage-replayer-broker-secret maxMessagesBytes: "524288000" storageClass: cassandra swh_checker_deposit_image: softwareheritage/deposit_checkers swh_checker_deposit_image_version: "20220927.2" swh_cookers_image: container-registry.softwareheritage.org/swh/infra/swh-apps/vault_cookers swh_cookers_image_version: "20221107.1" swh_graphql_image: softwareheritage/graphql swh_graphql_image_version: "20221006.2" swh_indexer_image: container-registry.softwareheritage.org/swh/infra/swh-apps/indexer swh_indexer_image_version: "20221130.1" swh_listers_image: container-registry.softwareheritage.org/swh/infra/swh-apps/lister swh_listers_image_version: "20221214.1" swh_loader_bzr_image: softwareheritage/loader_bzr swh_loader_bzr_image_version: "20220926.1" swh_loader_cvs_image: softwareheritage/loader_cvs swh_loader_cvs_image_version: "20220926.1" swh_loader_git_image: container-registry.softwareheritage.org/swh/infra/swh-apps/loader_git swh_loader_git_image_version: "20221104.2" swh_loader_highpriority_image: container-registry.softwareheritage.org/swh/infra/swh-apps/loader_highpriority swh_loader_highpriority_image_version: "20221214.1" swh_loader_mercurial_image: softwareheritage/loader_mercurial swh_loader_mercurial_image_version: "20220926.1" swh_loader_package_image: softwareheritage/loader_package swh_loader_package_image_version: "20221026.1" swh_loader_svn_image: container-registry.softwareheritage.org/swh/infra/swh-apps/loader_svn swh_loader_svn_image_version: "20221214.1" swh_loaders_image: softwareheritage/loaders swh_loaders_image_version: "20220826.1" swh_storage_replayer_image: container-registry.softwareheritage.org/swh/infra/swh-apps/storage-replayer swh_storage_replayer_image_version: "20221227.1" tmpEphemeralStorage: claimTemplate: ephemeral: volumeClaimTemplate: metadata: labels: type: ephemeral-volume spec: accessModes: - ReadWriteOnce resources: requests: storage: 100Gi storageClassName: local-path

COMPUTED VALUES: checker_deposit: amqp: host: scheduler0.internal.staging.swh.network autoScaling: maxReplicaCount: 2 deposit: host: deposit-rp.internal.staging.swh.network enabled: true storage: host: storage1.internal.staging.swh.network port: 5002 cookers: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: swh/cooker operator: In values: - "true" amqp: host: scheduler0.internal.staging.swh.network deployments: batch: autoScaling: maxReplicaCount: 2 queues: - swh.vault.cooking_tasks.SWHBatchCookingTask simple: autoScaling: maxReplicaCount: 2 queues: - swh.vault.cooking_tasks.SWHCookingTask enabled: true storage: host: storage1.internal.staging.swh.network port: 5002 vault: host: vault.internal.staging.swh.network port: 5005 graphql: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: swh/rpc operator: In values: - "true" backends: search: host: search0.internal.staging.swh.network port: 5010 storage: host: webapp.internal.staging.swh.network port: 5002 enabled: true gunicorn: threads: 4 timeout: 3600 workers: 2 ingress: enabled: true host: graphql.internal.staging.swh.network httpPath: / logLevel: DEBUG replicas: 1 sentry_enabled: true indexers: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: swh/indexer operator: In values: - "true" deployments: content-fossology-license: autoScaling: maxReplicaCount: 2 consumerGroup: swh.indexer.journal_client.content_fossology_license extraConfig: tools: configuration: command_line: nomossa name: nomos version: 3.1-1bpo9swh+1 workdir: /tmp/swh/indexer.fossology.license/ write_batch_size: 1000 indexer_type: content_fossology_license prefix: swh.journal.objects content-mimetype: autoScaling: maxReplicaCount: 2 consumerGroup: swh.indexer.journal_client.content_mimetype extraConfig: tools: configuration: debian-package: python3-magic type: library name: file version: 2:0.4.15-2 write_batch_size: 1000 indexer_type: content_mimetype prefix: swh.journal.objects origin-extrinsic: autoScaling: maxReplicaCount: 2 consumerGroup: swh.indexer.journal_client.extrinsic_metadata extraConfig: tools: configuration: {} name: swh-metadata-detector version: 0.0.2 indexer_type: extrinsic_metadata prefix: swh.journal.objects origin-intrinsic: autoScaling: maxReplicaCount: 6 batch_size: 200 consumerGroup: swh.indexer.journal_client.origin_intrinsic_metadata extraConfig: tools: configuration: {} name: swh-metadata-detector version: 0.0.2 indexer_type: origin_intrinsic_metadata prefix: swh.journal.objects enabled: true indexer_storage: host: storage1.internal.staging.swh.network port: 5007 journalBrokers: hosts: - journal1.internal.staging.swh.network:9092 objstorage: host: storage1.internal.staging.swh.network port: 5003 scheduler: host: scheduler0.internal.staging.swh.network port: 5008 sentrySwhPackage: swh.indexer storage: host: storage1.internal.staging.swh.network port: 5002 listers: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: swh/lister operator: In values: - "true" amqp: host: scheduler0.internal.staging.swh.network deployments: all: autoScaling: maxReplicaCount: 2 maxTasksperchild: 3 queues: - swh.lister.cgit.tasks.CGitListerTask - swh.lister.cran.tasks.CRANListerTask - swh.lister.debian.tasks.DebianListerTask - swh.lister.gitea.tasks.IncrementalGiteaLister - swh.lister.gitea.tasks.RangeGiteaLister - swh.lister.gitea.tasks.FullGiteaRelister - swh.lister.gitlab.tasks.IncrementalGitLabLister - swh.lister.gitlab.tasks.RangeGitLabLister - swh.lister.gitlab.tasks.FullGitLabRelister - swh.lister.npm.tasks.NpmListerTask - swh.lister.phabricator.tasks.FullPhabricatorLister - swh.lister.pypi.tasks.PyPIListerTask requestedCpu: 500m requestedMemory: 512Mi bitbucket: autoScaling: maxReplicaCount: 1 queues: - swh.lister.bitbucket.tasks.IncrementalBitBucketLister - swh.lister.bitbucket.tasks.FullBitBucketRelister bower: autoScaling: maxReplicaCount: 1 queues: - swh.lister.bower.tasks.BowerListerTask gnu-full: autoScaling: maxReplicaCount: 1 queues: - swh.lister.gnu.tasks.GNUListerTask gogs-full: autoScaling: maxReplicaCount: 1 queues: - swh.lister.gogs.tasks.FullGogsRelister golang: autoScaling: maxReplicaCount: 1 queues: - swh.lister.golang.tasks.FullGolangLister - swh.lister.golang.tasks.IncrementalGolangLister launchpad: autoScaling: maxReplicaCount: 1 queues: - swh.lister.launchpad.tasks.FullLaunchpadLister - swh.lister.launchpad.tasks.IncrementalLaunchpadLister maven: autoScaling: maxReplicaCount: 1 queues: - swh.lister.maven.tasks.FullMavenLister - swh.lister.maven.tasks.IncrementalMavenLister requestedCpu: 1000m requestedMemory: 1024Mi nixguix: autoScaling: maxReplicaCount: 1 extraConfig: extensions_to_ignore: - rock queues: - swh.lister.nixguix.tasks.NixGuixListerTask opam: autoScaling: maxReplicaCount: 1 queues: - swh.lister.opam.tasks.OpamListerTask pubdev: autoScaling: maxReplicaCount: 1 queues: - swh.lister.pubdev.tasks.PubDevListerTask sourceforge: autoScaling: maxReplicaCount: 1 queues: - swh.lister.sourceforge.tasks.FullSourceForgeLister - swh.lister.sourceforge.tasks.IncrementalSourceForgeLister enabled: true scheduler: host: scheduler0.internal.staging.swh.network port: 5008 sentrySwhPackage: swh.lister storage: host: storage1.internal.staging.swh.network port: 5002 loaders: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: swh/loader operator: In values: - "true" amqp: host: scheduler0.internal.staging.swh.network port: 5672 deployments: addforgenow: ackLate: true autoScaling: maxReplicaCount: 2 queueThreshold: 1 image: swh_loader_git_image queues: - add_forge_now:swh.loader.git.tasks.UpdateGitRepository requestedCpu: 200m requestedMemory: 256Mi sentrySwhPackage: swh.loader.git archive: autoScaling: maxReplicaCount: 1 image: swh_loader_package_image queues: - swh.loader.package.archive.tasks.LoadArchive requestedCpu: 200m requestedMemory: 256Mi sentrySwhPackage: swh.loader.core bzr: autoScaling: maxReplicaCount: 1 queues: - swh.loader.bzr.tasks.LoadBazaar requestedCpu: 200m requestedMemory: 256Mi sentrySwhPackage: swh.loader.bzr content: autoScaling: maxReplicaCount: 1 image: swh_loader_package_image queues: - swh.loader.core.tasks.LoadContent requestedCpu: 200m requestedMemory: 256Mi sentrySwhPackage: swh.loader.core cran: autoScaling: maxReplicaCount: 1 image: swh_loader_package_image queues: - swh.loader.package.cran.tasks.LoadCRAN requestedCpu: 200m requestedMemory: 256Mi sentrySwhPackage: swh.loader.core cvs: autoScaling: maxReplicaCount: 1 queues: - swh.loader.cvs.tasks.LoadCvsRepository requestedCpu: 200m requestedMemory: 256Mi sentrySwhPackage: swh.loader.cvs debian: autoScaling: maxReplicaCount: 1 image: swh_loader_package_image queues: - swh.loader.package.debian.tasks.LoadDebian requestedCpu: 200m requestedMemory: 256Mi sentrySwhPackage: swh.loader.core deposit: autoScaling: maxReplicaCount: 2 queueThreshold: 1 extraConfig: default_filename: archive.tar deposit: auth: password: ${DEPOSIT_PASSWORD} username: ${DEPOSIT_USERNAME} url: https://deposit-rp.internal.staging.swh.network/1/private image: swh_loader_package_image queues: - swh.loader.package.deposit.tasks.LoadDeposit requestedCpu: 200m requestedMemory: 256Mi sentrySwhPackage: swh.loader.core directory: autoScaling: maxReplicaCount: 1 image: swh_loader_package_image queues: - swh.loader.core.tasks.LoadDirectory requestedCpu: 200m requestedMemory: 256Mi sentrySwhPackage: swh.loader.core git: autoScaling: maxReplicaCount: 3 queues: - swh.loader.git.tasks.UpdateGitRepository - swh.loader.git.tasks.LoadDiskGitRepository - swh.loader.git.tasks.UncompressAndLoadDiskGitRepository requestedCpu: 200m requestedMemory: 256Mi sentrySwhPackage: swh.loader.git golang: autoScaling: maxReplicaCount: 1 image: swh_loader_package_image queues: - swh.loader.package.golang.tasks.LoadGolang requestedCpu: 200m requestedMemory: 256Mi sentrySwhPackage: swh.loader.core highpriority: ackLate: true autoScaling: maxReplicaCount: 3 queueThreshold: 1 queues: - save_code_now:swh.loader.bzr.tasks.LoadBazaar - save_code_now:swh.loader.cvs.tasks.LoadCvsRepository - save_code_now:swh.loader.git.tasks.UpdateGitRepository - save_code_now:swh.loader.git.tasks.LoadDiskGitRepository - save_code_now:swh.loader.git.tasks.UncompressAndLoadDiskGitRepository - save_code_now:swh.loader.mercurial.tasks.LoadArchiveMercurial - save_code_now:swh.loader.mercurial.tasks.LoadMercurial - save_code_now:swh.loader.svn.tasks.LoadSvnRepository - save_code_now:swh.loader.svn.tasks.MountAndLoadSvnRepository - save_code_now:swh.loader.svn.tasks.DumpMountAndLoadSvnRepository - save_code_now:swh.loader.package.archive.tasks.LoadArchive requestedCpu: 200m requestedMemory: 256Mi sentrySwhPackage: swh.loader.highpriority maven: autoScaling: maxReplicaCount: 1 image: swh_loader_package_image queues: - swh.loader.package.maven.tasks.LoadMaven requestedCpu: 200m requestedMemory: 256Mi sentrySwhPackage: swh.loader.core mercurial: autoScaling: maxReplicaCount: 1 queues: - swh.loader.mercurial.tasks.LoadArchiveMercurial - swh.loader.mercurial.tasks.LoadMercurial requestedCpu: 200m requestedMemory: 256Mi sentrySwhPackage: swh.loader.mercurial npm: autoScaling: maxReplicaCount: 1 image: swh_loader_package_image queues: - swh.loader.package.npm.tasks.LoadNpm requestedCpu: 200m requestedMemory: 256Mi sentrySwhPackage: swh.loader.core opam: autoScaling: maxReplicaCount: 1 extraConfig: initialize_opam_root: true image: swh_loader_package_image queues: - swh.loader.package.opam.tasks.LoadOpam requestedCpu: 200m requestedMemory: 256Mi sentrySwhPackage: swh.loader.core pubdev: autoScaling: maxReplicaCount: 1 image: swh_loader_package_image queues: - swh.loader.package.pubdev.tasks.LoadPubDev requestedCpu: 200m requestedMemory: 256Mi sentrySwhPackage: swh.loader.core pypi: autoScaling: maxReplicaCount: 1 image: swh_loader_package_image queues: - swh.loader.package.pypi.tasks.LoadPyPI requestedCpu: 200m requestedMemory: 256Mi sentrySwhPackage: swh.loader.core svn: autoScaling: maxReplicaCount: 1 queues: - swh.loader.svn.tasks.LoadSvnRepository - swh.loader.svn.tasks.MountAndLoadSvnRepository - swh.loader.svn.tasks.DumpMountAndLoadSvnRepository requestedCpu: 200m requestedMemory: 256Mi sentrySwhPackage: swh.loader.svn enabled: true storage: host: storage1.internal.staging.swh.network port: 5002 namespace: test sentry: environment: staging statsd_exporter: enabled: true image: prom/statsd-exporter imageVersion: v0.22.7 storage_replayer: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: node-role.kubernetes.io/etcd operator: NotIn values: - "true" cassandra: consistencyLevel: LOCAL_QUORUM initKeyspace: false keySpace: swh seeds: - seed1 - seed2 deployments: null enabled: false journalBrokers: hosts: - broker1 - broker2 secretName: storage-replayer-broker-secret user: myuser maxMessagesBytes: "524288000" storageClass: cassandra swh_checker_deposit_image: softwareheritage/deposit_checkers swh_checker_deposit_image_version: "20220927.2" swh_cookers_image: container-registry.softwareheritage.org/swh/infra/swh-apps/vault_cookers swh_cookers_image_version: "20221107.1" swh_graphql_image: softwareheritage/graphql swh_graphql_image_version: "20221006.2" swh_indexer_image: container-registry.softwareheritage.org/swh/infra/swh-apps/indexer swh_indexer_image_version: "20221130.1" swh_listers_image: container-registry.softwareheritage.org/swh/infra/swh-apps/lister swh_listers_image_version: "20221214.1" swh_loader_bzr_image: softwareheritage/loader_bzr swh_loader_bzr_image_version: "20220926.1" swh_loader_cvs_image: softwareheritage/loader_cvs swh_loader_cvs_image_version: "20220926.1" swh_loader_git_image: container-registry.softwareheritage.org/swh/infra/swh-apps/loader_git swh_loader_git_image_version: "20221104.2" swh_loader_highpriority_image: container-registry.softwareheritage.org/swh/infra/swh-apps/loader_highpriority swh_loader_highpriority_image_version: "20221214.1" swh_loader_mercurial_image: softwareheritage/loader_mercurial swh_loader_mercurial_image_version: "20220926.1" swh_loader_package_image: softwareheritage/loader_package swh_loader_package_image_version: "20221026.1" swh_loader_svn_image: container-registry.softwareheritage.org/swh/infra/swh-apps/loader_svn swh_loader_svn_image_version: "20221214.1" swh_loaders_image: softwareheritage/loaders swh_loaders_image_version: "20220826.1" swh_storage_replayer_image: container-registry.softwareheritage.org/swh/infra/swh-apps/storage-replayer swh_storage_replayer_image_version: "20221227.1" tmpEphemeralStorage: claimTemplate: ephemeral: volumeClaimTemplate: metadata: labels: type: ephemeral-volume spec: accessModes: - ReadWriteOnce resources: requests: storage: 100Gi storageClassName: local-path default: emptyDir: {}

HOOKS: MANIFEST:

Source: swh/templates/checker-deposit/configmap.yaml

apiVersion: v1 kind: ConfigMap metadata: name: checker-deposit-utils namespace: test data: pre-stop-idempotent.sh: | #!/bin/bash

# pre-stop hook can be triggered multiple times but we want it to be applied only
# once so container can warm-shutdown properly.

# When celery receives multiple times the sigterm signal, this ends up doing an
# immediate shutdown which prevents long-standing tasks to finish properly.

set -ex

WITNESS_FILE=/tmp/already-stopped

# Seed awk with the number of nanoseconds since epoch
# and have it generate a number between 0 and 1
sleep $(date +%s%N | awk '{srand($1); print rand()}')

if [ ! -e $WITNESS_FILE ]; then
  touch $WITNESS_FILE
  kill 1
fi

Source: swh/templates/checker-deposit/configmap.yaml

apiVersion: v1 kind: ConfigMap metadata: name: checker-deposit-template namespace: test data: config.yml.template: | extraction_dir: "/tmp/swh.checker.deposit/" storage: cls: remote url: http://storage1.internal.staging.swh.network:5002/ celery: task_broker: amqp://${AMQP_USERNAME}:${AMQP_PASSWORD}@scheduler0.internal.staging.swh.network:/ task_acks_late: true task_modules: - swh.deposit.loader.tasks task_queues: - swh.deposit.loader.tasks.ChecksDepositTsk deposit: url: https://deposit-rp.internal.staging.swh.network/1/private/ auth: username: ${DEPOSIT_USERNAME} password: ${DEPOSIT_PASSWORD} init-container-entrypoint.sh: | #!/bin/bash

set -e

CONFIG_FILE=/etc/swh/config.yml

# substitute environment variables when creating the default config.yml
eval echo \""$(</etc/swh/configuration-template/config.yml.template)"\" \
  > $CONFIG_FILE

exit 0

Source: swh/templates/cookers/configmap.yaml

apiVersion: v1 kind: ConfigMap metadata: name: cooker-utils namespace: test data: pre-stop-idempotent.sh: | #!/bin/bash

# pre-stop hook can be triggered multiple times but we want it to be applied only
# once so container can warm-shutdown properly.

# When celery receives multiple times the sigterm signal, this ends up doing an
# immediate shutdown which prevents long-standing tasks to finish properly.

set -ex

WITNESS_FILE=/tmp/already-stopped

# Seed awk with the number of nanoseconds since epoch
# and have it generate a number between 0 and 1
sleep $(date +%s%N | awk '{srand($1); print rand()}')

if [ ! -e $WITNESS_FILE ]; then
  touch $WITNESS_FILE
  kill 1
fi

Source: swh/templates/cookers/configmap.yaml

apiVersion: v1 kind: ConfigMap metadata: name: cooker-batch-template namespace: test data: config.yml.template: | max_bundle_size: 1073741824 storage: cls: retry storage: cls: remote url: http://storage1.internal.staging.swh.network:5002/ vault: cls: remote url: http://vault.internal.staging.swh.network:5005/ celery: task_broker: amqp://${AMQP_USERNAME}:${AMQP_PASSWORD}@scheduler0.internal.staging.swh.network:/ task_modules: - swh.vault.cooking_tasks task_queues: - swh.vault.cooking_tasks.SWHBatchCookingTask init-container-entrypoint.sh: | #!/bin/bash

set -e

CONFIG_FILE=/etc/swh/config.yml

# substitute environment variables when creating the default config.yml
eval echo \""$(</etc/swh/configuration-template/config.yml.template)"\" \
  > $CONFIG_FILE

exit 0

Source: swh/templates/cookers/configmap.yaml

apiVersion: v1 kind: ConfigMap metadata: name: cooker-simple-template namespace: test data: config.yml.template: | max_bundle_size: 1073741824 storage: cls: retry storage: cls: remote url: http://storage1.internal.staging.swh.network:5002/ vault: cls: remote url: http://vault.internal.staging.swh.network:5005/ celery: task_broker: amqp://${AMQP_USERNAME}:${AMQP_PASSWORD}@scheduler0.internal.staging.swh.network:/ task_modules: - swh.vault.cooking_tasks task_queues: - swh.vault.cooking_tasks.SWHCookingTask init-container-entrypoint.sh: | #!/bin/bash

set -e

CONFIG_FILE=/etc/swh/config.yml

# substitute environment variables when creating the default config.yml
eval echo \""$(</etc/swh/configuration-template/config.yml.template)"\" \
  > $CONFIG_FILE

exit 0

Source: swh/templates/graphql/configmap.yaml

apiVersion: v1 kind: ConfigMap metadata: name: graphql namespace: test data: config.yml: | search: cls: remote url: http://search0.internal.staging.swh.network:5010 storage: cls: remote url: http://webapp.internal.staging.swh.network:5002 debug: yes

server-type: asgi

Source: swh/templates/indexers/configmap.yaml

apiVersion: v1 kind: ConfigMap metadata: name: indexer-utils namespace: test data: pre-stop-idempotent.sh: | #!/bin/bash

# pre-stop hook can be triggered multiple times but we want it to be applied only
# once so container can warm-shutdown properly.

# When celery receives multiple times the sigterm signal, this ends up doing an
# immediate shutdown which prevents long-standing tasks to finish properly.

set -ex

WITNESS_FILE=/tmp/already-stopped

# Seed awk with the number of nanoseconds since epoch
# and have it generate a number between 0 and 1
sleep $(date +%s%N | awk '{srand($1); print rand()}')

if [ ! -e $WITNESS_FILE ]; then
  touch $WITNESS_FILE
  # journal clients expect a SIGINT, not a SIGTERM
  kill -INT 1
fi

Source: swh/templates/indexers/configmap.yaml

apiVersion: v1 kind: ConfigMap metadata: name: indexer-content-fossology-license-template namespace: test data: config.yml.template: | storage: cls: pipeline steps: - cls: retry - cls: remote url: http://storage1.internal.staging.swh.network:5002/ scheduler: cls: remote url: http://scheduler0.internal.staging.swh.network:5008/ indexer_storage: cls: remote url: http://storage1.internal.staging.swh.network:5007/ objstorage: cls: remote url: http://storage1.internal.staging.swh.network:5003/ journal: brokers: - journal1.internal.staging.swh.network:9092

  group_id: swh.indexer.journal_client.content_fossology_license
  prefix: swh.journal.objects

tools:
  configuration:
    command_line: nomossa <filepath>
  name: nomos
  version: 3.1-1~bpo9~swh+1
workdir:
  /tmp/swh/indexer.fossology.license/
write_batch_size:
  1000

init-container-entrypoint.sh: | #!/bin/bash

set -e

CONFIG_FILE=/etc/swh/config.yml

# substitute environment variables when creating the default config.yml
eval echo \""$(</etc/swh/configuration-template/config.yml.template)"\" \
  > $CONFIG_FILE

exit 0

Source: swh/templates/indexers/configmap.yaml

apiVersion: v1 kind: ConfigMap metadata: name: indexer-content-mimetype-template namespace: test data: config.yml.template: | storage: cls: pipeline steps: - cls: retry - cls: remote url: http://storage1.internal.staging.swh.network:5002/ scheduler: cls: remote url: http://scheduler0.internal.staging.swh.network:5008/ indexer_storage: cls: remote url: http://storage1.internal.staging.swh.network:5007/ objstorage: cls: remote url: http://storage1.internal.staging.swh.network:5003/ journal: brokers: - journal1.internal.staging.swh.network:9092

  group_id: swh.indexer.journal_client.content_mimetype
  prefix: swh.journal.objects

tools:
  configuration:
    debian-package: python3-magic
    type: library
  name: file
  version: 2:0.4.15-2
write_batch_size:
  1000

init-container-entrypoint.sh: | #!/bin/bash

set -e

CONFIG_FILE=/etc/swh/config.yml

# substitute environment variables when creating the default config.yml
eval echo \""$(</etc/swh/configuration-template/config.yml.template)"\" \
  > $CONFIG_FILE

exit 0

Source: swh/templates/indexers/configmap.yaml

apiVersion: v1 kind: ConfigMap metadata: name: indexer-origin-extrinsic-template namespace: test data: config.yml.template: | storage: cls: pipeline steps: - cls: retry - cls: remote url: http://storage1.internal.staging.swh.network:5002/ scheduler: cls: remote url: http://scheduler0.internal.staging.swh.network:5008/ indexer_storage: cls: remote url: http://storage1.internal.staging.swh.network:5007/ objstorage: cls: remote url: http://storage1.internal.staging.swh.network:5003/ journal: brokers: - journal1.internal.staging.swh.network:9092

  group_id: swh.indexer.journal_client.extrinsic_metadata
  prefix: swh.journal.objects

tools:
  configuration: {}
  name: swh-metadata-detector
  version: 0.0.2

init-container-entrypoint.sh: | #!/bin/bash

set -e

CONFIG_FILE=/etc/swh/config.yml

# substitute environment variables when creating the default config.yml
eval echo \""$(</etc/swh/configuration-template/config.yml.template)"\" \
  > $CONFIG_FILE

exit 0

Source: swh/templates/indexers/configmap.yaml

apiVersion: v1 kind: ConfigMap metadata: name: indexer-origin-intrinsic-template namespace: test data: config.yml.template: | storage: cls: pipeline steps: - cls: retry - cls: remote url: http://storage1.internal.staging.swh.network:5002/ scheduler: cls: remote url: http://scheduler0.internal.staging.swh.network:5008/ indexer_storage: cls: remote url: http://storage1.internal.staging.swh.network:5007/ objstorage: cls: remote url: http://storage1.internal.staging.swh.network:5003/ journal: brokers: - journal1.internal.staging.swh.network:9092

  group_id: swh.indexer.journal_client.origin_intrinsic_metadata
  prefix: swh.journal.objects

  batch_size: 200

tools:
  configuration: {}
  name: swh-metadata-detector
  version: 0.0.2

init-container-entrypoint.sh: | #!/bin/bash

set -e

CONFIG_FILE=/etc/swh/config.yml

# substitute environment variables when creating the default config.yml
eval echo \""$(</etc/swh/configuration-template/config.yml.template)"\" \
  > $CONFIG_FILE

exit 0

Source: swh/templates/listers/configmap.yaml

apiVersion: v1 kind: ConfigMap metadata: name: lister-utils namespace: test data: pre-stop-idempotent.sh: | #!/bin/bash

# pre-stop hook can be triggered multiple times but we want it to be applied only
# once so container can warm-shutdown properly.

# When celery receives multiple times the sigterm signal, this ends up doing an
# immediate shutdown which prevents long-standing tasks to finish properly.

set -ex

WITNESS_FILE=/tmp/already-stopped

# Seed awk with the number of nanoseconds since epoch
# and have it generate a number between 0 and 1
sleep $(date +%s%N | awk '{srand($1); print rand()}')

if [ ! -e $WITNESS_FILE ]; then
  touch $WITNESS_FILE
  kill 1
fi

Source: swh/templates/listers/configmap.yaml

apiVersion: v1 kind: ConfigMap metadata: name: lister-all-template namespace: test data: config.yml.template: | storage: cls: remote url: http://storage1.internal.staging.swh.network:5002/ scheduler: cls: remote url: http://scheduler0.internal.staging.swh.network:5008/

celery:
  task_broker: amqp://${AMQP_USERNAME}:${AMQP_PASSWORD}@scheduler0.internal.staging.swh.network:5672/
  task_acks_late: true
  task_queues:
  - swh.lister.cgit.tasks.CGitListerTask
  - swh.lister.cran.tasks.CRANListerTask
  - swh.lister.debian.tasks.DebianListerTask
  - swh.lister.gitea.tasks.IncrementalGiteaLister
  - swh.lister.gitea.tasks.RangeGiteaLister
  - swh.lister.gitea.tasks.FullGiteaRelister
  - swh.lister.gitlab.tasks.IncrementalGitLabLister
  - swh.lister.gitlab.tasks.RangeGitLabLister
  - swh.lister.gitlab.tasks.FullGitLabRelister
  - swh.lister.npm.tasks.NpmListerTask
  - swh.lister.phabricator.tasks.FullPhabricatorLister
  - swh.lister.pypi.tasks.PyPIListerTask
credentials:

init-container-entrypoint.sh: | #!/bin/bash

set -e

CONFIG_FILE=/etc/swh/config.yml

# substitute environment variables when creating the default config.yml
eval echo \""$(</etc/swh/configuration-template/config.yml.template)"\" \
  > $CONFIG_FILE

CREDS_LISTER_PATH=/etc/credentials/listers/credentials
[ -f $CREDS_LISTER_PATH ] && \
  sed 's/^/  /g' $CREDS_LISTER_PATH >> $CONFIG_FILE

exit 0

Source: swh/templates/listers/configmap.yaml

apiVersion: v1 kind: ConfigMap metadata: name: lister-bitbucket-template namespace: test data: config.yml.template: | storage: cls: remote url: http://storage1.internal.staging.swh.network:5002/ scheduler: cls: remote url: http://scheduler0.internal.staging.swh.network:5008/

celery:
  task_broker: amqp://${AMQP_USERNAME}:${AMQP_PASSWORD}@scheduler0.internal.staging.swh.network:5672/
  task_acks_late: true
  task_queues:
  - swh.lister.bitbucket.tasks.IncrementalBitBucketLister
  - swh.lister.bitbucket.tasks.FullBitBucketRelister
credentials:

init-container-entrypoint.sh: | #!/bin/bash

set -e

CONFIG_FILE=/etc/swh/config.yml

# substitute environment variables when creating the default config.yml
eval echo \""$(</etc/swh/configuration-template/config.yml.template)"\" \
  > $CONFIG_FILE

CREDS_LISTER_PATH=/etc/credentials/listers/credentials
[ -f $CREDS_LISTER_PATH ] && \
  sed 's/^/  /g' $CREDS_LISTER_PATH >> $CONFIG_FILE

exit 0

Source: swh/templates/listers/configmap.yaml

apiVersion: v1 kind: ConfigMap metadata: name: lister-bower-template namespace: test data: config.yml.template: | storage: cls: remote url: http://storage1.internal.staging.swh.network:5002/ scheduler: cls: remote url: http://scheduler0.internal.staging.swh.network:5008/

celery:
  task_broker: amqp://${AMQP_USERNAME}:${AMQP_PASSWORD}@scheduler0.internal.staging.swh.network:5672/
  task_acks_late: true
  task_queues:
  - swh.lister.bower.tasks.BowerListerTask
credentials:

init-container-entrypoint.sh: | #!/bin/bash

set -e

CONFIG_FILE=/etc/swh/config.yml

# substitute environment variables when creating the default config.yml
eval echo \""$(</etc/swh/configuration-template/config.yml.template)"\" \
  > $CONFIG_FILE

CREDS_LISTER_PATH=/etc/credentials/listers/credentials
[ -f $CREDS_LISTER_PATH ] && \
  sed 's/^/  /g' $CREDS_LISTER_PATH >> $CONFIG_FILE

exit 0

Source: swh/templates/listers/configmap.yaml

apiVersion: v1 kind: ConfigMap metadata: name: lister-gnu-full-template namespace: test data: config.yml.template: | storage: cls: remote url: http://storage1.internal.staging.swh.network:5002/ scheduler: cls: remote url: http://scheduler0.internal.staging.swh.network:5008/

celery:
  task_broker: amqp://${AMQP_USERNAME}:${AMQP_PASSWORD}@scheduler0.internal.staging.swh.network:5672/
  task_acks_late: true
  task_queues:
  - swh.lister.gnu.tasks.GNUListerTask
credentials:

init-container-entrypoint.sh: | #!/bin/bash

set -e

CONFIG_FILE=/etc/swh/config.yml

# substitute environment variables when creating the default config.yml
eval echo \""$(</etc/swh/configuration-template/config.yml.template)"\" \
  > $CONFIG_FILE

CREDS_LISTER_PATH=/etc/credentials/listers/credentials
[ -f $CREDS_LISTER_PATH ] && \
  sed 's/^/  /g' $CREDS_LISTER_PATH >> $CONFIG_FILE

exit 0

Source: swh/templates/listers/configmap.yaml

apiVersion: v1 kind: ConfigMap metadata: name: lister-gogs-full-template namespace: test data: config.yml.template: | storage: cls: remote url: http://storage1.internal.staging.swh.network:5002/ scheduler: cls: remote url: http://scheduler0.internal.staging.swh.network:5008/

celery:
  task_broker: amqp://${AMQP_USERNAME}:${AMQP_PASSWORD}@scheduler0.internal.staging.swh.network:5672/
  task_acks_late: true
  task_queues:
  - swh.lister.gogs.tasks.FullGogsRelister
credentials:

init-container-entrypoint.sh: | #!/bin/bash

set -e

CONFIG_FILE=/etc/swh/config.yml

# substitute environment variables when creating the default config.yml
eval echo \""$(</etc/swh/configuration-template/config.yml.template)"\" \
  > $CONFIG_FILE

CREDS_LISTER_PATH=/etc/credentials/listers/credentials
[ -f $CREDS_LISTER_PATH ] && \
  sed 's/^/  /g' $CREDS_LISTER_PATH >> $CONFIG_FILE

exit 0

Source: swh/templates/listers/configmap.yaml

apiVersion: v1 kind: ConfigMap metadata: name: lister-golang-template namespace: test data: config.yml.template: | storage: cls: remote url: http://storage1.internal.staging.swh.network:5002/ scheduler: cls: remote url: http://scheduler0.internal.staging.swh.network:5008/

celery:
  task_broker: amqp://${AMQP_USERNAME}:${AMQP_PASSWORD}@scheduler0.internal.staging.swh.network:5672/
  task_acks_late: true
  task_queues:
  - swh.lister.golang.tasks.FullGolangLister
  - swh.lister.golang.tasks.IncrementalGolangLister
credentials:

init-container-entrypoint.sh: | #!/bin/bash

set -e

CONFIG_FILE=/etc/swh/config.yml

# substitute environment variables when creating the default config.yml
eval echo \""$(</etc/swh/configuration-template/config.yml.template)"\" \
  > $CONFIG_FILE

CREDS_LISTER_PATH=/etc/credentials/listers/credentials
[ -f $CREDS_LISTER_PATH ] && \
  sed 's/^/  /g' $CREDS_LISTER_PATH >> $CONFIG_FILE

exit 0

Source: swh/templates/listers/configmap.yaml

apiVersion: v1 kind: ConfigMap metadata: name: lister-launchpad-template namespace: test data: config.yml.template: | storage: cls: remote url: http://storage1.internal.staging.swh.network:5002/ scheduler: cls: remote url: http://scheduler0.internal.staging.swh.network:5008/

celery:
  task_broker: amqp://${AMQP_USERNAME}:${AMQP_PASSWORD}@scheduler0.internal.staging.swh.network:5672/
  task_acks_late: true
  task_queues:
  - swh.lister.launchpad.tasks.FullLaunchpadLister
  - swh.lister.launchpad.tasks.IncrementalLaunchpadLister
credentials:

init-container-entrypoint.sh: | #!/bin/bash

set -e

CONFIG_FILE=/etc/swh/config.yml

# substitute environment variables when creating the default config.yml
eval echo \""$(</etc/swh/configuration-template/config.yml.template)"\" \
  > $CONFIG_FILE

CREDS_LISTER_PATH=/etc/credentials/listers/credentials
[ -f $CREDS_LISTER_PATH ] && \
  sed 's/^/  /g' $CREDS_LISTER_PATH >> $CONFIG_FILE

exit 0

Source: swh/templates/listers/configmap.yaml

apiVersion: v1 kind: ConfigMap metadata: name: lister-maven-template namespace: test data: config.yml.template: | storage: cls: remote url: http://storage1.internal.staging.swh.network:5002/ scheduler: cls: remote url: http://scheduler0.internal.staging.swh.network:5008/

celery:
  task_broker: amqp://${AMQP_USERNAME}:${AMQP_PASSWORD}@scheduler0.internal.staging.swh.network:5672/
  task_acks_late: true
  task_queues:
  - swh.lister.maven.tasks.FullMavenLister
  - swh.lister.maven.tasks.IncrementalMavenLister
credentials:

init-container-entrypoint.sh: | #!/bin/bash

set -e

CONFIG_FILE=/etc/swh/config.yml

# substitute environment variables when creating the default config.yml
eval echo \""$(</etc/swh/configuration-template/config.yml.template)"\" \
  > $CONFIG_FILE

CREDS_LISTER_PATH=/etc/credentials/listers/credentials
[ -f $CREDS_LISTER_PATH ] && \
  sed 's/^/  /g' $CREDS_LISTER_PATH >> $CONFIG_FILE

exit 0

Source: swh/templates/listers/configmap.yaml

apiVersion: v1 kind: ConfigMap metadata: name: lister-nixguix-template namespace: test data: config.yml.template: | storage: cls: remote url: http://storage1.internal.staging.swh.network:5002/ scheduler: cls: remote url: http://scheduler0.internal.staging.swh.network:5008/ extensions_to_ignore: - rock

celery:
  task_broker: amqp://${AMQP_USERNAME}:${AMQP_PASSWORD}@scheduler0.internal.staging.swh.network:5672/
  task_acks_late: true
  task_queues:
  - swh.lister.nixguix.tasks.NixGuixListerTask
credentials:

init-container-entrypoint.sh: | #!/bin/bash

set -e

CONFIG_FILE=/etc/swh/config.yml

# substitute environment variables when creating the default config.yml
eval echo \""$(</etc/swh/configuration-template/config.yml.template)"\" \
  > $CONFIG_FILE

CREDS_LISTER_PATH=/etc/credentials/listers/credentials
[ -f $CREDS_LISTER_PATH ] && \
  sed 's/^/  /g' $CREDS_LISTER_PATH >> $CONFIG_FILE

exit 0

Source: swh/templates/listers/configmap.yaml

apiVersion: v1 kind: ConfigMap metadata: name: lister-opam-template namespace: test data: config.yml.template: | storage: cls: remote url: http://storage1.internal.staging.swh.network:5002/ scheduler: cls: remote url: http://scheduler0.internal.staging.swh.network:5008/

celery:
  task_broker: amqp://${AMQP_USERNAME}:${AMQP_PASSWORD}@scheduler0.internal.staging.swh.network:5672/
  task_acks_late: true
  task_queues:
  - swh.lister.opam.tasks.OpamListerTask
credentials:

init-container-entrypoint.sh: | #!/bin/bash

set -e

CONFIG_FILE=/etc/swh/config.yml

# substitute environment variables when creating the default config.yml
eval echo \""$(</etc/swh/configuration-template/config.yml.template)"\" \
  > $CONFIG_FILE

CREDS_LISTER_PATH=/etc/credentials/listers/credentials
[ -f $CREDS_LISTER_PATH ] && \
  sed 's/^/  /g' $CREDS_LISTER_PATH >> $CONFIG_FILE

exit 0

Source: swh/templates/listers/configmap.yaml

apiVersion: v1 kind: ConfigMap metadata: name: lister-pubdev-template namespace: test data: config.yml.template: | storage: cls: remote url: http://storage1.internal.staging.swh.network:5002/ scheduler: cls: remote url: http://scheduler0.internal.staging.swh.network:5008/

celery:
  task_broker: amqp://${AMQP_USERNAME}:${AMQP_PASSWORD}@scheduler0.internal.staging.swh.network:5672/
  task_acks_late: true
  task_queues:
  - swh.lister.pubdev.tasks.PubDevListerTask
credentials:

init-container-entrypoint.sh: | #!/bin/bash

set -e

CONFIG_FILE=/etc/swh/config.yml

# substitute environment variables when creating the default config.yml
eval echo \""$(</etc/swh/configuration-template/config.yml.template)"\" \
  > $CONFIG_FILE

CREDS_LISTER_PATH=/etc/credentials/listers/credentials
[ -f $CREDS_LISTER_PATH ] && \
  sed 's/^/  /g' $CREDS_LISTER_PATH >> $CONFIG_FILE

exit 0

Source: swh/templates/listers/configmap.yaml

apiVersion: v1 kind: ConfigMap metadata: name: lister-sourceforge-template namespace: test data: config.yml.template: | storage: cls: remote url: http://storage1.internal.staging.swh.network:5002/ scheduler: cls: remote url: http://scheduler0.internal.staging.swh.network:5008/

celery:
  task_broker: amqp://${AMQP_USERNAME}:${AMQP_PASSWORD}@scheduler0.internal.staging.swh.network:5672/
  task_acks_late: true
  task_queues:
  - swh.lister.sourceforge.tasks.FullSourceForgeLister
  - swh.lister.sourceforge.tasks.IncrementalSourceForgeLister
credentials:

init-container-entrypoint.sh: | #!/bin/bash

set -e

CONFIG_FILE=/etc/swh/config.yml

# substitute environment variables when creating the default config.yml
eval echo \""$(</etc/swh/configuration-template/config.yml.template)"\" \
  > $CONFIG_FILE

CREDS_LISTER_PATH=/etc/credentials/listers/credentials
[ -f $CREDS_LISTER_PATH ] && \
  sed 's/^/  /g' $CREDS_LISTER_PATH >> $CONFIG_FILE

exit 0

Source: swh/templates/loaders/configmap.yaml

apiVersion: v1 kind: ConfigMap metadata: name: loader-utils namespace: test data: pre-stop-idempotent.sh: | #!/bin/bash

# pre-stop hook can be triggered multiple times but we want it to be applied only
# once so container can warm-shutdown properly.

# When celery receives multiple times the sigterm signal, this ends up doing an
# immediate shutdown which prevents long-standing tasks to finish properly.

set -ex

WITNESS_FILE=/tmp/already-stopped

# Seed awk with the number of nanoseconds since epoch
# and have it generate a number between 0 and 1
sleep $(date +%s%N | awk '{srand($1); print rand()}')

if [ ! -e $WITNESS_FILE ]; then
  touch $WITNESS_FILE
  kill 1
fi

Source: swh/templates/loaders/configmap.yaml

apiVersion: v1 kind: ConfigMap metadata: name: loader-addforgenow-template namespace: test data: config.yml.template: | storage: cls: pipeline steps: - cls: buffer min_batch_size: content: 1000 content_bytes: 52428800 directory: 1000 directory_entries: 12000 revision: 1000 revision_parents: 2000 revision_bytes: 52428800 release: 1000 release_bytes: 52428800 extid: 1000 - cls: filter - cls: retry - cls: remote url: http://storage1.internal.staging.swh.network:5002/

celery:
  task_broker: amqp://${AMQP_USERNAME}:${AMQP_PASSWORD}@scheduler0.internal.staging.swh.network:5672/
  task_acks_late: true
  task_queues:
  - add_forge_now:swh.loader.git.tasks.UpdateGitRepository
metadata_fetcher_credentials:

init-container-entrypoint.sh: | #!/bin/bash

set -e

CONFIG_FILE=/etc/swh/config.yml

# substitute environment variables when creating the default config.yml
eval echo \""$(</etc/swh/configuration-template/config.yml.template)"\" \
  > $CONFIG_FILE

CREDS_LISTER_PATH=/etc/credentials/metadata-fetcher/credentials
[ -f $CREDS_LISTER_PATH ] && \
  sed 's/^/  /g' $CREDS_LISTER_PATH >> $CONFIG_FILE

exit 0

logging-configuration.yml.template: | version: 1

handlers:
  console:
    class: logging.StreamHandler
    formatter: json
    stream: ext://sys.stdout

formatters:
  json:
    class: pythonjsonlogger.jsonlogger.JsonFormatter
    # python-json-logger parses the format argument to get the variables it actually expands into the json
    format: "%(asctime)s:%(threadName)s:%(pathname)s:%(lineno)s:%(funcName)s:%(task_name)s:%(task_id)s:%(name)s:%(levelname)s:%(message)s"

loggers:
  celery:
    level: "INFO"
  amqp:
    level: WARNING
  urllib3:
    level: WARNING
  azure.core.pipeline.policies.http_logging_policy:
    level: WARNING
  swh:
    level: "INFO"
  celery.task:
    level: "INFO"

root:
  level: "INFO"
  handlers:
  - console

Source: swh/templates/loaders/configmap.yaml

apiVersion: v1 kind: ConfigMap metadata: name: loader-archive-template namespace: test data: config.yml.template: | storage: cls: pipeline steps: - cls: buffer min_batch_size: content: 1000 content_bytes: 52428800 directory: 1000 directory_entries: 12000 revision: 1000 revision_parents: 2000 revision_bytes: 52428800 release: 1000 release_bytes: 52428800 extid: 1000 - cls: filter - cls: retry - cls: remote url: http://storage1.internal.staging.swh.network:5002/

celery:
  task_broker: amqp://${AMQP_USERNAME}:${AMQP_PASSWORD}@scheduler0.internal.staging.swh.network:5672/
  task_acks_late: false
  task_queues:
  - swh.loader.package.archive.tasks.LoadArchive
metadata_fetcher_credentials:

init-container-entrypoint.sh: | #!/bin/bash

set -e

CONFIG_FILE=/etc/swh/config.yml

# substitute environment variables when creating the default config.yml
eval echo \""$(</etc/swh/configuration-template/config.yml.template)"\" \
  > $CONFIG_FILE

CREDS_LISTER_PATH=/etc/credentials/metadata-fetcher/credentials
[ -f $CREDS_LISTER_PATH ] && \
  sed 's/^/  /g' $CREDS_LISTER_PATH >> $CONFIG_FILE

exit 0

logging-configuration.yml.template: | version: 1

handlers:
  console:
    class: logging.StreamHandler
    formatter: json
    stream: ext://sys.stdout

formatters:
  json:
    class: pythonjsonlogger.jsonlogger.JsonFormatter
    # python-json-logger parses the format argument to get the variables it actually expands into the json
    format: "%(asctime)s:%(threadName)s:%(pathname)s:%(lineno)s:%(funcName)s:%(task_name)s:%(task_id)s:%(name)s:%(levelname)s:%(message)s"

loggers:
  celery:
    level: "INFO"
  amqp:
    level: WARNING
  urllib3:
    level: WARNING
  azure.core.pipeline.policies.http_logging_policy:
    level: WARNING
  swh:
    level: "INFO"
  celery.task:
    level: "INFO"

root:
  level: "INFO"
  handlers:
  - console

Source: swh/templates/loaders/configmap.yaml

apiVersion: v1 kind: ConfigMap metadata: name: loader-bzr-template namespace: test data: config.yml.template: | storage: cls: pipeline steps: - cls: buffer min_batch_size: content: 1000 content_bytes: 52428800 directory: 1000 directory_entries: 12000 revision: 1000 revision_parents: 2000 revision_bytes: 52428800 release: 1000 release_bytes: 52428800 extid: 1000 - cls: filter - cls: retry - cls: remote url: http://storage1.internal.staging.swh.network:5002/

celery:
  task_broker: amqp://${AMQP_USERNAME}:${AMQP_PASSWORD}@scheduler0.internal.staging.swh.network:5672/
  task_acks_late: false
  task_queues:
  - swh.loader.bzr.tasks.LoadBazaar
metadata_fetcher_credentials:

init-container-entrypoint.sh: | #!/bin/bash

set -e

CONFIG_FILE=/etc/swh/config.yml

# substitute environment variables when creating the default config.yml
eval echo \""$(</etc/swh/configuration-template/config.yml.template)"\" \
  > $CONFIG_FILE

CREDS_LISTER_PATH=/etc/credentials/metadata-fetcher/credentials
[ -f $CREDS_LISTER_PATH ] && \
  sed 's/^/  /g' $CREDS_LISTER_PATH >> $CONFIG_FILE

exit 0

logging-configuration.yml.template: | version: 1

handlers:
  console:
    class: logging.StreamHandler
    formatter: json
    stream: ext://sys.stdout

formatters:
  json:
    class: pythonjsonlogger.jsonlogger.JsonFormatter
    # python-json-logger parses the format argument to get the variables it actually expands into the json
    format: "%(asctime)s:%(threadName)s:%(pathname)s:%(lineno)s:%(funcName)s:%(task_name)s:%(task_id)s:%(name)s:%(levelname)s:%(message)s"

loggers:
  celery:
    level: "INFO"
  amqp:
    level: WARNING
  urllib3:
    level: WARNING
  azure.core.pipeline.policies.http_logging_policy:
    level: WARNING
  swh:
    level: "INFO"
  celery.task:
    level: "INFO"

root:
  level: "INFO"
  handlers:
  - console

Source: swh/templates/loaders/configmap.yaml

apiVersion: v1 kind: ConfigMap metadata: name: loader-content-template namespace: test data: config.yml.template: | storage: cls: pipeline steps: - cls: buffer min_batch_size: content: 1000 content_bytes: 52428800 directory: 1000 directory_entries: 12000 revision: 1000 revision_parents: 2000 revision_bytes: 52428800 release: 1000 release_bytes: 52428800 extid: 1000 - cls: filter - cls: retry - cls: remote url: http://storage1.internal.staging.swh.network:5002/

celery:
  task_broker: amqp://${AMQP_USERNAME}:${AMQP_PASSWORD}@scheduler0.internal.staging.swh.network:5672/
  task_acks_late: false
  task_queues:
  - swh.loader.core.tasks.LoadContent
metadata_fetcher_credentials:

init-container-entrypoint.sh: | #!/bin/bash

set -e

CONFIG_FILE=/etc/swh/config.yml

# substitute environment variables when creating the default config.yml
eval echo \""$(</etc/swh/configuration-template/config.yml.template)"\" \
  > $CONFIG_FILE

CREDS_LISTER_PATH=/etc/credentials/metadata-fetcher/credentials
[ -f $CREDS_LISTER_PATH ] && \
  sed 's/^/  /g' $CREDS_LISTER_PATH >> $CONFIG_FILE

exit 0

logging-configuration.yml.template: | version: 1

handlers:
  console:
    class: logging.StreamHandler
    formatter: json
    stream: ext://sys.stdout

formatters:
  json:
    class: pythonjsonlogger.jsonlogger.JsonFormatter
    # python-json-logger parses the format argument to get the variables it actually expands into the json
    format: "%(asctime)s:%(threadName)s:%(pathname)s:%(lineno)s:%(funcName)s:%(task_name)s:%(task_id)s:%(name)s:%(levelname)s:%(message)s"

loggers:
  celery:
    level: "INFO"
  amqp:
    level: WARNING
  urllib3:
    level: WARNING
  azure.core.pipeline.policies.http_logging_policy:
    level: WARNING
  swh:
    level: "INFO"
  celery.task:
    level: "INFO"

root:
  level: "INFO"
  handlers:
  - console

Source: swh/templates/loaders/configmap.yaml

apiVersion: v1 kind: ConfigMap metadata: name: loader-cran-template namespace: test data: config.yml.template: | storage: cls: pipeline steps: - cls: buffer min_batch_size: content: 1000 content_bytes: 52428800 directory: 1000 directory_entries: 12000 revision: 1000 revision_parents: 2000 revision_bytes: 52428800 release: 1000 release_bytes: 52428800 extid: 1000 - cls: filter - cls: retry - cls: remote url: http://storage1.internal.staging.swh.network:5002/

celery:
  task_broker: amqp://${AMQP_USERNAME}:${AMQP_PASSWORD}@scheduler0.internal.staging.swh.network:5672/
  task_acks_late: false
  task_queues:
  - swh.loader.package.cran.tasks.LoadCRAN
metadata_fetcher_credentials:

init-container-entrypoint.sh: | #!/bin/bash

set -e

CONFIG_FILE=/etc/swh/config.yml

# substitute environment variables when creating the default config.yml
eval echo \""$(</etc/swh/configuration-template/config.yml.template)"\" \
  > $CONFIG_FILE

CREDS_LISTER_PATH=/etc/credentials/metadata-fetcher/credentials
[ -f $CREDS_LISTER_PATH ] && \
  sed 's/^/  /g' $CREDS_LISTER_PATH >> $CONFIG_FILE

exit 0

logging-configuration.yml.template: | version: 1

handlers:
  console:
    class: logging.StreamHandler
    formatter: json
    stream: ext://sys.stdout

formatters:
  json:
    class: pythonjsonlogger.jsonlogger.JsonFormatter
    # python-json-logger parses the format argument to get the variables it actually expands into the json
    format: "%(asctime)s:%(threadName)s:%(pathname)s:%(lineno)s:%(funcName)s:%(task_name)s:%(task_id)s:%(name)s:%(levelname)s:%(message)s"

loggers:
  celery:
    level: "INFO"
  amqp:
    level: WARNING
  urllib3:
    level: WARNING
  azure.core.pipeline.policies.http_logging_policy:
    level: WARNING
  swh:
    level: "INFO"
  celery.task:
    level: "INFO"

root:
  level: "INFO"
  handlers:
  - console

Source: swh/templates/loaders/configmap.yaml

apiVersion: v1 kind: ConfigMap metadata: name: loader-cvs-template namespace: test data: config.yml.template: | storage: cls: pipeline steps: - cls: buffer min_batch_size: content: 1000 content_bytes: 52428800 directory: 1000 directory_entries: 12000 revision: 1000 revision_parents: 2000 revision_bytes: 52428800 release: 1000 release_bytes: 52428800 extid: 1000 - cls: filter - cls: retry - cls: remote url: http://storage1.internal.staging.swh.network:5002/

celery:
  task_broker: amqp://${AMQP_USERNAME}:${AMQP_PASSWORD}@scheduler0.internal.staging.swh.network:5672/
  task_acks_late: false
  task_queues:
  - swh.loader.cvs.tasks.LoadCvsRepository
metadata_fetcher_credentials:

init-container-entrypoint.sh: | #!/bin/bash

set -e

CONFIG_FILE=/etc/swh/config.yml

# substitute environment variables when creating the default config.yml
eval echo \""$(</etc/swh/configuration-template/config.yml.template)"\" \
  > $CONFIG_FILE

CREDS_LISTER_PATH=/etc/credentials/metadata-fetcher/credentials
[ -f $CREDS_LISTER_PATH ] && \
  sed 's/^/  /g' $CREDS_LISTER_PATH >> $CONFIG_FILE

exit 0

logging-configuration.yml.template: | version: 1

handlers:
  console:
    class: logging.StreamHandler
    formatter: json
    stream: ext://sys.stdout

formatters:
  json:
    class: pythonjsonlogger.jsonlogger.JsonFormatter
    # python-json-logger parses the format argument to get the variables it actually expands into the json
    format: "%(asctime)s:%(threadName)s:%(pathname)s:%(lineno)s:%(funcName)s:%(task_name)s:%(task_id)s:%(name)s:%(levelname)s:%(message)s"

loggers:
  celery:
    level: "INFO"
  amqp:
    level: WARNING
  urllib3:
    level: WARNING
  azure.core.pipeline.policies.http_logging_policy:
    level: WARNING
  swh:
    level: "INFO"
  celery.task:
    level: "INFO"

root:
  level: "INFO"
  handlers:
  - console

Source: swh/templates/loaders/configmap.yaml

apiVersion: v1 kind: ConfigMap metadata: name: loader-debian-template namespace: test data: config.yml.template: | storage: cls: pipeline steps: - cls: buffer min_batch_size: content: 1000 content_bytes: 52428800 directory: 1000 directory_entries: 12000 revision: 1000 revision_parents: 2000 revision_bytes: 52428800 release: 1000 release_bytes: 52428800 extid: 1000 - cls: filter - cls: retry - cls: remote url: http://storage1.internal.staging.swh.network:5002/

celery:
  task_broker: amqp://${AMQP_USERNAME}:${AMQP_PASSWORD}@scheduler0.internal.staging.swh.network:5672/
  task_acks_late: false
  task_queues:
  - swh.loader.package.debian.tasks.LoadDebian
metadata_fetcher_credentials:

init-container-entrypoint.sh: | #!/bin/bash

set -e

CONFIG_FILE=/etc/swh/config.yml

# substitute environment variables when creating the default config.yml
eval echo \""$(</etc/swh/configuration-template/config.yml.template)"\" \
  > $CONFIG_FILE

CREDS_LISTER_PATH=/etc/credentials/metadata-fetcher/credentials
[ -f $CREDS_LISTER_PATH ] && \
  sed 's/^/  /g' $CREDS_LISTER_PATH >> $CONFIG_FILE

exit 0

logging-configuration.yml.template: | version: 1

handlers:
  console:
    class: logging.StreamHandler
    formatter: json
    stream: ext://sys.stdout

formatters:
  json:
    class: pythonjsonlogger.jsonlogger.JsonFormatter
    # python-json-logger parses the format argument to get the variables it actually expands into the json
    format: "%(asctime)s:%(threadName)s:%(pathname)s:%(lineno)s:%(funcName)s:%(task_name)s:%(task_id)s:%(name)s:%(levelname)s:%(message)s"

loggers:
  celery:
    level: "INFO"
  amqp:
    level: WARNING
  urllib3:
    level: WARNING
  azure.core.pipeline.policies.http_logging_policy:
    level: WARNING
  swh:
    level: "INFO"
  celery.task:
    level: "INFO"

root:
  level: "INFO"
  handlers:
  - console

Source: swh/templates/loaders/configmap.yaml

apiVersion: v1 kind: ConfigMap metadata: name: loader-deposit-template namespace: test data: config.yml.template: | storage: cls: pipeline steps: - cls: buffer min_batch_size: content: 1000 content_bytes: 52428800 directory: 1000 directory_entries: 12000 revision: 1000 revision_parents: 2000 revision_bytes: 52428800 release: 1000 release_bytes: 52428800 extid: 1000 - cls: filter - cls: retry - cls: remote url: http://storage1.internal.staging.swh.network:5002/ default_filename: archive.tar deposit: auth: password: ${DEPOSIT_PASSWORD} username: ${DEPOSIT_USERNAME} url: https://deposit-rp.internal.staging.swh.network/1/private

celery:
  task_broker: amqp://${AMQP_USERNAME}:${AMQP_PASSWORD}@scheduler0.internal.staging.swh.network:5672/
  task_acks_late: false
  task_queues:
  - swh.loader.package.deposit.tasks.LoadDeposit
metadata_fetcher_credentials:

init-container-entrypoint.sh: | #!/bin/bash

set -e

CONFIG_FILE=/etc/swh/config.yml

# substitute environment variables when creating the default config.yml
eval echo \""$(</etc/swh/configuration-template/config.yml.template)"\" \
  > $CONFIG_FILE

CREDS_LISTER_PATH=/etc/credentials/metadata-fetcher/credentials
[ -f $CREDS_LISTER_PATH ] && \
  sed 's/^/  /g' $CREDS_LISTER_PATH >> $CONFIG_FILE

exit 0

logging-configuration.yml.template: | version: 1

handlers:
  console:
    class: logging.StreamHandler
    formatter: json
    stream: ext://sys.stdout

formatters:
  json:
    class: pythonjsonlogger.jsonlogger.JsonFormatter
    # python-json-logger parses the format argument to get the variables it actually expands into the json
    format: "%(asctime)s:%(threadName)s:%(pathname)s:%(lineno)s:%(funcName)s:%(task_name)s:%(task_id)s:%(name)s:%(levelname)s:%(message)s"

loggers:
  celery:
    level: "INFO"
  amqp:
    level: WARNING
  urllib3:
    level: WARNING
  azure.core.pipeline.policies.http_logging_policy:
    level: WARNING
  swh:
    level: "INFO"
  celery.task:
    level: "INFO"

root:
  level: "INFO"
  handlers:
  - console

Source: swh/templates/loaders/configmap.yaml

apiVersion: v1 kind: ConfigMap metadata: name: loader-directory-template namespace: test data: config.yml.template: | storage: cls: pipeline steps: - cls: buffer min_batch_size: content: 1000 content_bytes: 52428800 directory: 1000 directory_entries: 12000 revision: 1000 revision_parents: 2000 revision_bytes: 52428800 release: 1000 release_bytes: 52428800 extid: 1000 - cls: filter - cls: retry - cls: remote url: http://storage1.internal.staging.swh.network:5002/

celery:
  task_broker: amqp://${AMQP_USERNAME}:${AMQP_PASSWORD}@scheduler0.internal.staging.swh.network:5672/
  task_acks_late: false
  task_queues:
  - swh.loader.core.tasks.LoadDirectory
metadata_fetcher_credentials:

init-container-entrypoint.sh: | #!/bin/bash

set -e

CONFIG_FILE=/etc/swh/config.yml

# substitute environment variables when creating the default config.yml
eval echo \""$(</etc/swh/configuration-template/config.yml.template)"\" \
  > $CONFIG_FILE

CREDS_LISTER_PATH=/etc/credentials/metadata-fetcher/credentials
[ -f $CREDS_LISTER_PATH ] && \
  sed 's/^/  /g' $CREDS_LISTER_PATH >> $CONFIG_FILE

exit 0

logging-configuration.yml.template: | version: 1

handlers:
  console:
    class: logging.StreamHandler
    formatter: json
    stream: ext://sys.stdout

formatters:
  json:
    class: pythonjsonlogger.jsonlogger.JsonFormatter
    # python-json-logger parses the format argument to get the variables it actually expands into the json
    format: "%(asctime)s:%(threadName)s:%(pathname)s:%(lineno)s:%(funcName)s:%(task_name)s:%(task_id)s:%(name)s:%(levelname)s:%(message)s"

loggers:
  celery:
    level: "INFO"
  amqp:
    level: WARNING
  urllib3:
    level: WARNING
  azure.core.pipeline.policies.http_logging_policy:
    level: WARNING
  swh:
    level: "INFO"
  celery.task:
    level: "INFO"

root:
  level: "INFO"
  handlers:
  - console

Source: swh/templates/loaders/configmap.yaml

apiVersion: v1 kind: ConfigMap metadata: name: loader-git-template namespace: test data: config.yml.template: | storage: cls: pipeline steps: - cls: buffer min_batch_size: content: 1000 content_bytes: 52428800 directory: 1000 directory_entries: 12000 revision: 1000 revision_parents: 2000 revision_bytes: 52428800 release: 1000 release_bytes: 52428800 extid: 1000 - cls: filter - cls: retry - cls: remote url: http://storage1.internal.staging.swh.network:5002/

celery:
  task_broker: amqp://${AMQP_USERNAME}:${AMQP_PASSWORD}@scheduler0.internal.staging.swh.network:5672/
  task_acks_late: false
  task_queues:
  - swh.loader.git.tasks.UpdateGitRepository
  - swh.loader.git.tasks.LoadDiskGitRepository
  - swh.loader.git.tasks.UncompressAndLoadDiskGitRepository
metadata_fetcher_credentials:

init-container-entrypoint.sh: | #!/bin/bash

set -e

CONFIG_FILE=/etc/swh/config.yml

# substitute environment variables when creating the default config.yml
eval echo \""$(</etc/swh/configuration-template/config.yml.template)"\" \
  > $CONFIG_FILE

CREDS_LISTER_PATH=/etc/credentials/metadata-fetcher/credentials
[ -f $CREDS_LISTER_PATH ] && \
  sed 's/^/  /g' $CREDS_LISTER_PATH >> $CONFIG_FILE

exit 0

logging-configuration.yml.template: | version: 1

handlers:
  console:
    class: logging.StreamHandler
    formatter: json
    stream: ext://sys.stdout

formatters:
  json:
    class: pythonjsonlogger.jsonlogger.JsonFormatter
    # python-json-logger parses the format argument to get the variables it actually expands into the json
    format: "%(asctime)s:%(threadName)s:%(pathname)s:%(lineno)s:%(funcName)s:%(task_name)s:%(task_id)s:%(name)s:%(levelname)s:%(message)s"

loggers:
  celery:
    level: "INFO"
  amqp:
    level: WARNING
  urllib3:
    level: WARNING
  azure.core.pipeline.policies.http_logging_policy:
    level: WARNING
  swh:
    level: "INFO"
  celery.task:
    level: "INFO"

root:
  level: "INFO"
  handlers:
  - console

Source: swh/templates/loaders/configmap.yaml

apiVersion: v1 kind: ConfigMap metadata: name: loader-golang-template namespace: test data: config.yml.template: | storage: cls: pipeline steps: - cls: buffer min_batch_size: content: 1000 content_bytes: 52428800 directory: 1000 directory_entries: 12000 revision: 1000 revision_parents: 2000 revision_bytes: 52428800 release: 1000 release_bytes: 52428800 extid: 1000 - cls: filter - cls: retry - cls: remote url: http://storage1.internal.staging.swh.network:5002/

celery:
  task_broker: amqp://${AMQP_USERNAME}:${AMQP_PASSWORD}@scheduler0.internal.staging.swh.network:5672/
  task_acks_late: false
  task_queues:
  - swh.loader.package.golang.tasks.LoadGolang
metadata_fetcher_credentials:

init-container-entrypoint.sh: | #!/bin/bash

set -e

CONFIG_FILE=/etc/swh/config.yml

# substitute environment variables when creating the default config.yml
eval echo \""$(</etc/swh/configuration-template/config.yml.template)"\" \
  > $CONFIG_FILE

CREDS_LISTER_PATH=/etc/credentials/metadata-fetcher/credentials
[ -f $CREDS_LISTER_PATH ] && \
  sed 's/^/  /g' $CREDS_LISTER_PATH >> $CONFIG_FILE

exit 0

logging-configuration.yml.template: | version: 1

handlers:
  console:
    class: logging.StreamHandler
    formatter: json
    stream: ext://sys.stdout

formatters:
  json:
    class: pythonjsonlogger.jsonlogger.JsonFormatter
    # python-json-logger parses the format argument to get the variables it actually expands into the json
    format: "%(asctime)s:%(threadName)s:%(pathname)s:%(lineno)s:%(funcName)s:%(task_name)s:%(task_id)s:%(name)s:%(levelname)s:%(message)s"

loggers:
  celery:
    level: "INFO"
  amqp:
    level: WARNING
  urllib3:
    level: WARNING
  azure.core.pipeline.policies.http_logging_policy:
    level: WARNING
  swh:
    level: "INFO"
  celery.task:
    level: "INFO"

root:
  level: "INFO"
  handlers:
  - console

Source: swh/templates/loaders/configmap.yaml

apiVersion: v1 kind: ConfigMap metadata: name: loader-highpriority-template namespace: test data: config.yml.template: | storage: cls: pipeline steps: - cls: buffer min_batch_size: content: 1000 content_bytes: 52428800 directory: 1000 directory_entries: 12000 revision: 1000 revision_parents: 2000 revision_bytes: 52428800 release: 1000 release_bytes: 52428800 extid: 1000 - cls: filter - cls: retry - cls: remote url: http://storage1.internal.staging.swh.network:5002/

celery:
  task_broker: amqp://${AMQP_USERNAME}:${AMQP_PASSWORD}@scheduler0.internal.staging.swh.network:5672/
  task_acks_late: true
  task_queues:
  - save_code_now:swh.loader.bzr.tasks.LoadBazaar
  - save_code_now:swh.loader.cvs.tasks.LoadCvsRepository
  - save_code_now:swh.loader.git.tasks.UpdateGitRepository
  - save_code_now:swh.loader.git.tasks.LoadDiskGitRepository
  - save_code_now:swh.loader.git.tasks.UncompressAndLoadDiskGitRepository
  - save_code_now:swh.loader.mercurial.tasks.LoadArchiveMercurial
  - save_code_now:swh.loader.mercurial.tasks.LoadMercurial
  - save_code_now:swh.loader.svn.tasks.LoadSvnRepository
  - save_code_now:swh.loader.svn.tasks.MountAndLoadSvnRepository
  - save_code_now:swh.loader.svn.tasks.DumpMountAndLoadSvnRepository
  - save_code_now:swh.loader.package.archive.tasks.LoadArchive
metadata_fetcher_credentials:

init-container-entrypoint.sh: | #!/bin/bash

set -e

CONFIG_FILE=/etc/swh/config.yml

# substitute environment variables when creating the default config.yml
eval echo \""$(</etc/swh/configuration-template/config.yml.template)"\" \
  > $CONFIG_FILE

CREDS_LISTER_PATH=/etc/credentials/metadata-fetcher/credentials
[ -f $CREDS_LISTER_PATH ] && \
  sed 's/^/  /g' $CREDS_LISTER_PATH >> $CONFIG_FILE

exit 0

logging-configuration.yml.template: | version: 1

handlers:
  console:
    class: logging.StreamHandler
    formatter: json
    stream: ext://sys.stdout

formatters:
  json:
    class: pythonjsonlogger.jsonlogger.JsonFormatter
    # python-json-logger parses the format argument to get the variables it actually expands into the json
    format: "%(asctime)s:%(threadName)s:%(pathname)s:%(lineno)s:%(funcName)s:%(task_name)s:%(task_id)s:%(name)s:%(levelname)s:%(message)s"

loggers:
  celery:
    level: "INFO"
  amqp:
    level: WARNING
  urllib3:
    level: WARNING
  azure.core.pipeline.policies.http_logging_policy:
    level: WARNING
  swh:
    level: "INFO"
  celery.task:
    level: "INFO"

root:
  level: "INFO"
  handlers:
  - console

Source: swh/templates/loaders/configmap.yaml

apiVersion: v1 kind: ConfigMap metadata: name: loader-maven-template namespace: test data: config.yml.template: | storage: cls: pipeline steps: - cls: buffer min_batch_size: content: 1000 content_bytes: 52428800 directory: 1000 directory_entries: 12000 revision: 1000 revision_parents: 2000 revision_bytes: 52428800 release: 1000 release_bytes: 52428800 extid: 1000 - cls: filter - cls: retry - cls: remote url: http://storage1.internal.staging.swh.network:5002/

celery:
  task_broker: amqp://${AMQP_USERNAME}:${AMQP_PASSWORD}@scheduler0.internal.staging.swh.network:5672/
  task_acks_late: false
  task_queues:
  - swh.loader.package.maven.tasks.LoadMaven
metadata_fetcher_credentials:

init-container-entrypoint.sh: | #!/bin/bash

set -e

CONFIG_FILE=/etc/swh/config.yml

# substitute environment variables when creating the default config.yml
eval echo \""$(</etc/swh/configuration-template/config.yml.template)"\" \
  > $CONFIG_FILE

CREDS_LISTER_PATH=/etc/credentials/metadata-fetcher/credentials
[ -f $CREDS_LISTER_PATH ] && \
  sed 's/^/  /g' $CREDS_LISTER_PATH >> $CONFIG_FILE

exit 0

logging-configuration.yml.template: | version: 1

handlers:
  console:
    class: logging.StreamHandler
    formatter: json
    stream: ext://sys.stdout

formatters:
  json:
    class: pythonjsonlogger.jsonlogger.JsonFormatter
    # python-json-logger parses the format argument to get the variables it actually expands into the json
    format: "%(asctime)s:%(threadName)s:%(pathname)s:%(lineno)s:%(funcName)s:%(task_name)s:%(task_id)s:%(name)s:%(levelname)s:%(message)s"

loggers:
  celery:
    level: "INFO"
  amqp:
    level: WARNING
  urllib3:
    level: WARNING
  azure.core.pipeline.policies.http_logging_policy:
    level: WARNING
  swh:
    level: "INFO"
  celery.task:
    level: "INFO"

root:
  level: "INFO"
  handlers:
  - console

Source: swh/templates/loaders/configmap.yaml

apiVersion: v1 kind: ConfigMap metadata: name: loader-mercurial-template namespace: test data: config.yml.template: | storage: cls: pipeline steps: - cls: buffer min_batch_size: content: 1000 content_bytes: 52428800 directory: 1000 directory_entries: 12000 revision: 1000 revision_parents: 2000 revision_bytes: 52428800 release: 1000 release_bytes: 52428800 extid: 1000 - cls: filter - cls: retry - cls: remote url: http://storage1.internal.staging.swh.network:5002/

celery:
  task_broker: amqp://${AMQP_USERNAME}:${AMQP_PASSWORD}@scheduler0.internal.staging.swh.network:5672/
  task_acks_late: false
  task_queues:
  - swh.loader.mercurial.tasks.LoadArchiveMercurial
  - swh.loader.mercurial.tasks.LoadMercurial
metadata_fetcher_credentials:

init-container-entrypoint.sh: | #!/bin/bash

set -e

CONFIG_FILE=/etc/swh/config.yml

# substitute environment variables when creating the default config.yml
eval echo \""$(</etc/swh/configuration-template/config.yml.template)"\" \
  > $CONFIG_FILE

CREDS_LISTER_PATH=/etc/credentials/metadata-fetcher/credentials
[ -f $CREDS_LISTER_PATH ] && \
  sed 's/^/  /g' $CREDS_LISTER_PATH >> $CONFIG_FILE

exit 0

logging-configuration.yml.template: | version: 1

handlers:
  console:
    class: logging.StreamHandler
    formatter: json
    stream: ext://sys.stdout

formatters:
  json:
    class: pythonjsonlogger.jsonlogger.JsonFormatter
    # python-json-logger parses the format argument to get the variables it actually expands into the json
    format: "%(asctime)s:%(threadName)s:%(pathname)s:%(lineno)s:%(funcName)s:%(task_name)s:%(task_id)s:%(name)s:%(levelname)s:%(message)s"

loggers:
  celery:
    level: "INFO"
  amqp:
    level: WARNING
  urllib3:
    level: WARNING
  azure.core.pipeline.policies.http_logging_policy:
    level: WARNING
  swh:
    level: "INFO"
  celery.task:
    level: "INFO"

root:
  level: "INFO"
  handlers:
  - console

Source: swh/templates/loaders/configmap.yaml

apiVersion: v1 kind: ConfigMap metadata: name: loader-npm-template namespace: test data: config.yml.template: | storage: cls: pipeline steps: - cls: buffer min_batch_size: content: 1000 content_bytes: 52428800 directory: 1000 directory_entries: 12000 revision: 1000 revision_parents: 2000 revision_bytes: 52428800 release: 1000 release_bytes: 52428800 extid: 1000 - cls: filter - cls: retry - cls: remote url: http://storage1.internal.staging.swh.network:5002/

celery:
  task_broker: amqp://${AMQP_USERNAME}:${AMQP_PASSWORD}@scheduler0.internal.staging.swh.network:5672/
  task_acks_late: false
  task_queues:
  - swh.loader.package.npm.tasks.LoadNpm
metadata_fetcher_credentials:

init-container-entrypoint.sh: | #!/bin/bash

set -e

CONFIG_FILE=/etc/swh/config.yml

# substitute environment variables when creating the default config.yml
eval echo \""$(</etc/swh/configuration-template/config.yml.template)"\" \
  > $CONFIG_FILE

CREDS_LISTER_PATH=/etc/credentials/metadata-fetcher/credentials
[ -f $CREDS_LISTER_PATH ] && \
  sed 's/^/  /g' $CREDS_LISTER_PATH >> $CONFIG_FILE

exit 0

logging-configuration.yml.template: | version: 1

handlers:
  console:
    class: logging.StreamHandler
    formatter: json
    stream: ext://sys.stdout

formatters:
  json:
    class: pythonjsonlogger.jsonlogger.JsonFormatter
    # python-json-logger parses the format argument to get the variables it actually expands into the json
    format: "%(asctime)s:%(threadName)s:%(pathname)s:%(lineno)s:%(funcName)s:%(task_name)s:%(task_id)s:%(name)s:%(levelname)s:%(message)s"

loggers:
  celery:
    level: "INFO"
  amqp:
    level: WARNING
  urllib3:
    level: WARNING
  azure.core.pipeline.policies.http_logging_policy:
    level: WARNING
  swh:
    level: "INFO"
  celery.task:
    level: "INFO"

root:
  level: "INFO"
  handlers:
  - console

Source: swh/templates/loaders/configmap.yaml

apiVersion: v1 kind: ConfigMap metadata: name: loader-opam-template namespace: test data: config.yml.template: | storage: cls: pipeline steps: - cls: buffer min_batch_size: content: 1000 content_bytes: 52428800 directory: 1000 directory_entries: 12000 revision: 1000 revision_parents: 2000 revision_bytes: 52428800 release: 1000 release_bytes: 52428800 extid: 1000 - cls: filter - cls: retry - cls: remote url: http://storage1.internal.staging.swh.network:5002/ initialize_opam_root: true

celery:
  task_broker: amqp://${AMQP_USERNAME}:${AMQP_PASSWORD}@scheduler0.internal.staging.swh.network:5672/
  task_acks_late: false
  task_queues:
  - swh.loader.package.opam.tasks.LoadOpam
metadata_fetcher_credentials:

init-container-entrypoint.sh: | #!/bin/bash

set -e

CONFIG_FILE=/etc/swh/config.yml

# substitute environment variables when creating the default config.yml
eval echo \""$(</etc/swh/configuration-template/config.yml.template)"\" \
  > $CONFIG_FILE

CREDS_LISTER_PATH=/etc/credentials/metadata-fetcher/credentials
[ -f $CREDS_LISTER_PATH ] && \
  sed 's/^/  /g' $CREDS_LISTER_PATH >> $CONFIG_FILE

exit 0

logging-configuration.yml.template: | version: 1

handlers:
  console:
    class: logging.StreamHandler
    formatter: json
    stream: ext://sys.stdout

formatters:
  json:
    class: pythonjsonlogger.jsonlogger.JsonFormatter
    # python-json-logger parses the format argument to get the variables it actually expands into the json
    format: "%(asctime)s:%(threadName)s:%(pathname)s:%(lineno)s:%(funcName)s:%(task_name)s:%(task_id)s:%(name)s:%(levelname)s:%(message)s"

loggers:
  celery:
    level: "INFO"
  amqp:
    level: WARNING
  urllib3:
    level: WARNING
  azure.core.pipeline.policies.http_logging_policy:
    level: WARNING
  swh:
    level: "INFO"
  celery.task:
    level: "INFO"

root:
  level: "INFO"
  handlers:
  - console

Source: swh/templates/loaders/configmap.yaml

apiVersion: v1 kind: ConfigMap metadata: name: loader-pubdev-template namespace: test data: config.yml.template: | storage: cls: pipeline steps: - cls: buffer min_batch_size: content: 1000 content_bytes: 52428800 directory: 1000 directory_entries: 12000 revision: 1000 revision_parents: 2000 revision_bytes: 52428800 release: 1000 release_bytes: 52428800 extid: 1000 - cls: filter - cls: retry - cls: remote url: http://storage1.internal.staging.swh.network:5002/

celery:
  task_broker: amqp://${AMQP_USERNAME}:${AMQP_PASSWORD}@scheduler0.internal.staging.swh.network:5672/
  task_acks_late: false
  task_queues:
  - swh.loader.package.pubdev.tasks.LoadPubDev
metadata_fetcher_credentials:

init-container-entrypoint.sh: | #!/bin/bash

set -e

CONFIG_FILE=/etc/swh/config.yml

# substitute environment variables when creating the default config.yml
eval echo \""$(</etc/swh/configuration-template/config.yml.template)"\" \
  > $CONFIG_FILE

CREDS_LISTER_PATH=/etc/credentials/metadata-fetcher/credentials
[ -f $CREDS_LISTER_PATH ] && \
  sed 's/^/  /g' $CREDS_LISTER_PATH >> $CONFIG_FILE

exit 0

logging-configuration.yml.template: | version: 1

handlers:
  console:
    class: logging.StreamHandler
    formatter: json
    stream: ext://sys.stdout

formatters:
  json:
    class: pythonjsonlogger.jsonlogger.JsonFormatter
    # python-json-logger parses the format argument to get the variables it actually expands into the json
    format: "%(asctime)s:%(threadName)s:%(pathname)s:%(lineno)s:%(funcName)s:%(task_name)s:%(task_id)s:%(name)s:%(levelname)s:%(message)s"

loggers:
  celery:
    level: "INFO"
  amqp:
    level: WARNING
  urllib3:
    level: WARNING
  azure.core.pipeline.policies.http_logging_policy:
    level: WARNING
  swh:
    level: "INFO"
  celery.task:
    level: "INFO"

root:
  level: "INFO"
  handlers:
  - console

Source: swh/templates/loaders/configmap.yaml

apiVersion: v1 kind: ConfigMap metadata: name: loader-pypi-template namespace: test data: config.yml.template: | storage: cls: pipeline steps: - cls: buffer min_batch_size: content: 1000 content_bytes: 52428800 directory: 1000 directory_entries: 12000 revision: 1000 revision_parents: 2000 revision_bytes: 52428800 release: 1000 release_bytes: 52428800 extid: 1000 - cls: filter - cls: retry - cls: remote url: http://storage1.internal.staging.swh.network:5002/

celery:
  task_broker: amqp://${AMQP_USERNAME}:${AMQP_PASSWORD}@scheduler0.internal.staging.swh.network:5672/
  task_acks_late: false
  task_queues:
  - swh.loader.package.pypi.tasks.LoadPyPI
metadata_fetcher_credentials:

init-container-entrypoint.sh: | #!/bin/bash

set -e

CONFIG_FILE=/etc/swh/config.yml

# substitute environment variables when creating the default config.yml
eval echo \""$(</etc/swh/configuration-template/config.yml.template)"\" \
  > $CONFIG_FILE

CREDS_LISTER_PATH=/etc/credentials/metadata-fetcher/credentials
[ -f $CREDS_LISTER_PATH ] && \
  sed 's/^/  /g' $CREDS_LISTER_PATH >> $CONFIG_FILE

exit 0

logging-configuration.yml.template: | version: 1

handlers:
  console:
    class: logging.StreamHandler
    formatter: json
    stream: ext://sys.stdout

formatters:
  json:
    class: pythonjsonlogger.jsonlogger.JsonFormatter
    # python-json-logger parses the format argument to get the variables it actually expands into the json
    format: "%(asctime)s:%(threadName)s:%(pathname)s:%(lineno)s:%(funcName)s:%(task_name)s:%(task_id)s:%(name)s:%(levelname)s:%(message)s"

loggers:
  celery:
    level: "INFO"
  amqp:
    level: WARNING
  urllib3:
    level: WARNING
  azure.core.pipeline.policies.http_logging_policy:
    level: WARNING
  swh:
    level: "INFO"
  celery.task:
    level: "INFO"

root:
  level: "INFO"
  handlers:
  - console

Source: swh/templates/loaders/configmap.yaml

apiVersion: v1 kind: ConfigMap metadata: name: loader-svn-template namespace: test data: config.yml.template: | storage: cls: pipeline steps: - cls: buffer min_batch_size: content: 1000 content_bytes: 52428800 directory: 1000 directory_entries: 12000 revision: 1000 revision_parents: 2000 revision_bytes: 52428800 release: 1000 release_bytes: 52428800 extid: 1000 - cls: filter - cls: retry - cls: remote url: http://storage1.internal.staging.swh.network:5002/

celery:
  task_broker: amqp://${AMQP_USERNAME}:${AMQP_PASSWORD}@scheduler0.internal.staging.swh.network:5672/
  task_acks_late: false
  task_queues:
  - swh.loader.svn.tasks.LoadSvnRepository
  - swh.loader.svn.tasks.MountAndLoadSvnRepository
  - swh.loader.svn.tasks.DumpMountAndLoadSvnRepository
metadata_fetcher_credentials:

init-container-entrypoint.sh: | #!/bin/bash

set -e

CONFIG_FILE=/etc/swh/config.yml

# substitute environment variables when creating the default config.yml
eval echo \""$(</etc/swh/configuration-template/config.yml.template)"\" \
  > $CONFIG_FILE

CREDS_LISTER_PATH=/etc/credentials/metadata-fetcher/credentials
[ -f $CREDS_LISTER_PATH ] && \
  sed 's/^/  /g' $CREDS_LISTER_PATH >> $CONFIG_FILE

exit 0

logging-configuration.yml.template: | version: 1

handlers:
  console:
    class: logging.StreamHandler
    formatter: json
    stream: ext://sys.stdout

formatters:
  json:
    class: pythonjsonlogger.jsonlogger.JsonFormatter
    # python-json-logger parses the format argument to get the variables it actually expands into the json
    format: "%(asctime)s:%(threadName)s:%(pathname)s:%(lineno)s:%(funcName)s:%(task_name)s:%(task_id)s:%(name)s:%(levelname)s:%(message)s"

loggers:
  celery:
    level: "INFO"
  amqp:
    level: WARNING
  urllib3:
    level: WARNING
  azure.core.pipeline.policies.http_logging_policy:
    level: WARNING
  swh:
    level: "INFO"
  celery.task:
    level: "INFO"

root:
  level: "INFO"
  handlers:
  - console

Source: swh/templates/statsd-exporter/configmap.yaml

apiVersion: v1 kind: ConfigMap metadata: name: prometheus-statsd-exporter namespace: test data: config.yml: | defaults: timer_type: histogram buckets: - .005 - .01 - .025 - .05 - .1 - .25 - .5 - .75 - 1 - 2 - 5 - 10 - 15 - 30 - 45 - 60 - 120 - 300 - 600 - 900 - 1800 - 2700 - 3600 - 7200 mappings: - match: "(.*_percent)" name: "${1}" match_type: regex observer_type: histogram histogram_options: buckets: - 0.0 - 0.05 - 0.1 - 0.15 - 0.2 - 0.25 - 0.3 - 0.35 - 0.4 - 0.45 - 0.5 - 0.55 - 0.6 - 0.65 - 0.7 - 0.75 - 0.8 - 0.85 - 0.9 - 0.95 - 1.

Source: swh/templates/graphql/service.yaml

apiVersion: v1 kind: Service metadata: name: graphql namespace: test spec: type: ClusterIP selector: app: graphql ports: - port: 5013 targetPort: 5013

Source: swh/templates/statsd-exporter/service.yaml

apiVersion: v1 kind: Service metadata: name: prometheus-statsd-exporter namespace: test labels: app: prometheus-statsd-exporter spec: type: ClusterIP selector: app: prometheus-statsd-exporter ports: - name: statsd port: 9125 targetPort: 9125 protocol: UDP - name: http port: 9102 targetPort: 9102

Source: swh/templates/checker-deposit/deployment.yaml

apiVersion: apps/v1 kind: Deployment metadata: name: checker-deposit namespace: test labels: app: checker-deposit spec: revisionHistoryLimit: 2 selector: matchLabels: app: checker-deposit strategy: type: RollingUpdate rollingUpdate: maxSurge: 1 template: metadata: labels: app: checker-deposit annotations: # Force a rollout upgrade if the configuration changes checksum/config: c0539e3142fda2e23b46c7c654cdba88f40c94f4f8422db888af337b7746ed87 spec: initContainers: - name: prepare-configuration image: debian:bullseye imagePullPolicy: Always env: - name: AMQP_USERNAME valueFrom: secretKeyRef: name: common-secrets key: rabbitmq-amqp-username # 'name' secret must exist & include that ^ key optional: false - name: AMQP_PASSWORD valueFrom: secretKeyRef: name: common-secrets key: rabbitmq-amqp-password # 'name' secret must exist & include that ^ key optional: false - name: DEPOSIT_USERNAME valueFrom: secretKeyRef: name: common-secrets key: deposit-username # 'name' secret must exist & include key "host" optional: false - name: DEPOSIT_PASSWORD valueFrom: secretKeyRef: name: common-secrets key: deposit-password # 'name' secret must exist & include key "host" optional: false command: - /entrypoint.sh volumeMounts: - name: configuration-template mountPath: /entrypoint.sh subPath: "init-container-entrypoint.sh" readOnly: true - name: configuration mountPath: /etc/swh - name: configuration-template mountPath: /etc/swh/configuration-template containers: - name: checker-deposit resources: requests: memory: 512Mi cpu: 500m limits: memory: "4000Mi" cpu: "1200m" image: softwareheritage/deposit_checkers:20220927.2 imagePullPolicy: Always command: - /bin/bash args: - -c - /opt/swh/entrypoint.sh lifecycle: preStop: exec: command: ["/pre-stop.sh"] env: - name: STATSD_HOST value: prometheus-statsd-exporter - name: STATSD_PORT value: "9125" - name: MAX_TASKS_PER_CHILD value: "1" - name: LOGLEVEL value: "INFO" - name: SWH_CONFIG_FILENAME value: /etc/swh/config.yml - name: SWH_SENTRY_ENVIRONMENT value: staging - name: SWH_MAIN_PACKAGE value: swh.vault - name: SWH_SENTRY_DSN valueFrom: secretKeyRef: name: common-secrets key: checker-deposit-sentry-dsn # 'name' secret must exist & include key "host" optional: false volumeMounts: - name: checker-deposit-utils mountPath: /pre-stop.sh subPath: "pre-stop.sh" - name: configuration mountPath: /etc/swh volumes: - name: configuration emptyDir: {} - name: configuration-template configMap: name: checker-deposit-template defaultMode: 0777 items: - key: "config.yml.template" path: "config.yml.template" - key: "init-container-entrypoint.sh" path: "init-container-entrypoint.sh" - name: checker-deposit-utils configMap: name: checker-deposit-utils defaultMode: 0777 items: - key: "pre-stop-idempotent.sh" path: "pre-stop.sh"

Source: swh/templates/cookers/deployment.yaml

apiVersion: apps/v1 kind: Deployment metadata: name: cooker-batch namespace: test labels: app: cooker-batch spec: revisionHistoryLimit: 2 selector: matchLabels: app: cooker-batch strategy: type: RollingUpdate rollingUpdate: maxSurge: 1 template: metadata: labels: app: cooker-batch annotations: # Force a rollout upgrade if the configuration changes checksum/config: 6f4120a583334ebad55546ebc51e7c539b90480ac40660fa724c5123ea28a066 spec: affinity:

    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        nodeSelectorTerms:
        - matchExpressions:
          - key: swh/cooker
            operator: In
            values:
            - "true"
  initContainers:
    - name: prepare-configuration
      image: debian:bullseye
      imagePullPolicy: Always
      env:
      - name: AMQP_USERNAME
        valueFrom:
          secretKeyRef:
            name: common-secrets
            key: rabbitmq-amqp-username
            # 'name' secret must exist & include that ^ key
            optional: false
      - name: AMQP_PASSWORD
        valueFrom:
          secretKeyRef:
            name: common-secrets
            key: rabbitmq-amqp-password
            # 'name' secret must exist & include that ^ key
            optional: false
      command:
        - /entrypoint.sh
      volumeMounts:
      - name: configuration-template
        mountPath: /entrypoint.sh
        subPath: "init-container-entrypoint.sh"
        readOnly: true
      - name: configuration
        mountPath: /etc/swh
      - name: configuration-template
        mountPath: /etc/swh/configuration-template
  containers:
  - name: cookers
    resources:
      requests:
        memory: 512Mi
        cpu: 500m
    image: container-registry.softwareheritage.org/swh/infra/swh-apps/vault_cookers:20221107.1
    imagePullPolicy: Always
    command:
    - /bin/bash
    args:
    - -c
    - /opt/swh/entrypoint.sh
    lifecycle:
      preStop:
        exec:
          command: ["/pre-stop.sh"]
    env:
    - name: STATSD_HOST
      value: prometheus-statsd-exporter
    - name: STATSD_PORT
      value: "9125"
    - name: MAX_TASKS_PER_CHILD
      value: "1"
    - name: LOGLEVEL
      value: "INFO"
    - name: SWH_CONFIG_FILENAME
      value: /etc/swh/config.yml
    - name: SWH_SENTRY_ENVIRONMENT
      value: staging
    - name: SWH_MAIN_PACKAGE
      value: swh.vault
    - name: SWH_SENTRY_DSN
      valueFrom:
        secretKeyRef:
          name: common-secrets
          key: vault-cookers-sentry-dsn
          # 'name' secret must exist & include key "host"
          optional: false
    volumeMounts:
      - name: cooker-utils
        mountPath: /pre-stop.sh
        subPath: "pre-stop.sh"
      - name: configuration
        mountPath: /etc/swh
  volumes:
  - name: configuration
    emptyDir: {}
  - name: configuration-template
    configMap:
      name: cooker-batch-template
      defaultMode: 0777
      items:
      - key: "config.yml.template"
        path: "config.yml.template"
      - key: "init-container-entrypoint.sh"
        path: "init-container-entrypoint.sh"
  - name: cooker-utils
    configMap:
      name: cooker-utils
      defaultMode: 0777
      items:
      - key: "pre-stop-idempotent.sh"
        path: "pre-stop.sh"

Source: swh/templates/cookers/deployment.yaml

apiVersion: apps/v1 kind: Deployment metadata: name: cooker-simple namespace: test labels: app: cooker-simple spec: revisionHistoryLimit: 2 selector: matchLabels: app: cooker-simple strategy: type: RollingUpdate rollingUpdate: maxSurge: 1 template: metadata: labels: app: cooker-simple annotations: # Force a rollout upgrade if the configuration changes checksum/config: 6f4120a583334ebad55546ebc51e7c539b90480ac40660fa724c5123ea28a066 spec: affinity:

    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        nodeSelectorTerms:
        - matchExpressions:
          - key: swh/cooker
            operator: In
            values:
            - "true"
  initContainers:
    - name: prepare-configuration
      image: debian:bullseye
      imagePullPolicy: Always
      env:
      - name: AMQP_USERNAME
        valueFrom:
          secretKeyRef:
            name: common-secrets
            key: rabbitmq-amqp-username
            # 'name' secret must exist & include that ^ key
            optional: false
      - name: AMQP_PASSWORD
        valueFrom:
          secretKeyRef:
            name: common-secrets
            key: rabbitmq-amqp-password
            # 'name' secret must exist & include that ^ key
            optional: false
      command:
        - /entrypoint.sh
      volumeMounts:
      - name: configuration-template
        mountPath: /entrypoint.sh
        subPath: "init-container-entrypoint.sh"
        readOnly: true
      - name: configuration
        mountPath: /etc/swh
      - name: configuration-template
        mountPath: /etc/swh/configuration-template
  containers:
  - name: cookers
    resources:
      requests:
        memory: 512Mi
        cpu: 500m
    image: container-registry.softwareheritage.org/swh/infra/swh-apps/vault_cookers:20221107.1
    imagePullPolicy: Always
    command:
    - /bin/bash
    args:
    - -c
    - /opt/swh/entrypoint.sh
    lifecycle:
      preStop:
        exec:
          command: ["/pre-stop.sh"]
    env:
    - name: STATSD_HOST
      value: prometheus-statsd-exporter
    - name: STATSD_PORT
      value: "9125"
    - name: MAX_TASKS_PER_CHILD
      value: "1"
    - name: LOGLEVEL
      value: "INFO"
    - name: SWH_CONFIG_FILENAME
      value: /etc/swh/config.yml
    - name: SWH_SENTRY_ENVIRONMENT
      value: staging
    - name: SWH_MAIN_PACKAGE
      value: swh.vault
    - name: SWH_SENTRY_DSN
      valueFrom:
        secretKeyRef:
          name: common-secrets
          key: vault-cookers-sentry-dsn
          # 'name' secret must exist & include key "host"
          optional: false
    volumeMounts:
      - name: cooker-utils
        mountPath: /pre-stop.sh
        subPath: "pre-stop.sh"
      - name: configuration
        mountPath: /etc/swh
  volumes:
  - name: configuration
    emptyDir: {}
  - name: configuration-template
    configMap:
      name: cooker-simple-template
      defaultMode: 0777
      items:
      - key: "config.yml.template"
        path: "config.yml.template"
      - key: "init-container-entrypoint.sh"
        path: "init-container-entrypoint.sh"
  - name: cooker-utils
    configMap:
      name: cooker-utils
      defaultMode: 0777
      items:
      - key: "pre-stop-idempotent.sh"
        path: "pre-stop.sh"

Source: swh/templates/graphql/deployment.yaml

apiVersion: apps/v1 kind: Deployment metadata: name: graphql namespace: test labels: app: graphql spec: revisionHistoryLimit: 2 replicas: 1 selector: matchLabels: app: graphql strategy: type: RollingUpdate rollingUpdate: maxSurge: 1 template: metadata: labels: app: graphql annotations: # Force a rollout upgrade if the configuration changes checksum/config: 8361faa2910eb580ee9935bfb0e8244b60b3de491bafbd2e90cd85f1d11b6583 spec: containers: - name: graphql image: softwareheritage/graphql:20221006.2 imagePullPolicy: Always ports: - containerPort: 5013 name: rpc startupProbe: httpGet: path: / port: rpc failureThreshold: 30 periodSeconds: 5 livenessProbe: httpGet: path: / port: rpc initialDelaySeconds: 10 periodSeconds: 5 env: - name: PORT value: "5013" - name: THREADS value: "4" - name: WORKERS value: "2" - name: LOG_LEVEL value: "DEBUG" - name: TIMEOUT value: "3600" - name: SWH_SENTRY_ENVIRONMENT value: staging - name: SWH_MAIN_PACKAGE value: swh.graphql - name: SWH_SENTRY_DSN valueFrom: secretKeyRef: name: common-secrets key: graphql-sentry-dsn # 'name' secret should exist & include key "host" # if the setting doesn't exist, sentry pushes will be disabled optional: true

      volumeMounts:
        - name: config
          mountPath: /etc/swh/config.yml
          subPath: config.yml
          readOnly: true
  volumes:
    - name: config
      configMap:
        name: graphql
        defaultMode: 0444

Source: swh/templates/indexers/deployment.yaml

apiVersion: apps/v1 kind: Deployment metadata: name: indexer-content-fossology-license namespace: test labels: app: indexer-content-fossology-license spec: revisionHistoryLimit: 2 selector: matchLabels: app: indexer-content-fossology-license strategy: type: RollingUpdate rollingUpdate: maxSurge: 1 template: metadata: labels: app: indexer-content-fossology-license annotations: # Force a rollout upgrade if the configuration changes checksum/config: 1ae75c914dcb0774f95790ea5374cfc47f44bc16343cb543924b41b6f099fb1d spec: affinity:

    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        nodeSelectorTerms:
        - matchExpressions:
          - key: swh/indexer
            operator: In
            values:
            - "true"
  terminationGracePeriodSeconds: 3600
  initContainers:
    - name: prepare-configuration
      image: debian:bullseye
      imagePullPolicy: Always
      env:
      - name: JOURNAL_PASSWORD
        valueFrom:
          secretKeyRef:
            name: common-secrets
            key: journal-password
            optional: true
      command:
        - /entrypoint.sh
      volumeMounts:
      - name: configuration-template
        mountPath: /entrypoint.sh
        subPath: "init-container-entrypoint.sh"
        readOnly: true
      - name: configuration
        mountPath: /etc/swh
      - name: configuration-template
        mountPath: /etc/swh/configuration-template
  containers:
  - name: indexers
    image: container-registry.softwareheritage.org/swh/infra/swh-apps/indexer:20221130.1
    imagePullPolicy: Always
    command:
      - /opt/swh/entrypoint.sh
    resources:
      requests:
        memory: 512Mi
        cpu: 500m
    lifecycle:
      preStop:
        exec:
          command: ["/pre-stop.sh"]
    env:
    - name: STATSD_HOST
      value: prometheus-statsd-exporter
    - name: STATSD_PORT
      value: "9125"
    - name: MAX_TASKS_PER_CHILD
      value: "10"
    - name: LOGLEVEL
      value: "INFO"
    - name: SWH_CONFIG_FILENAME
      value: /etc/swh/config.yml
    - name: SWH_INDEXER_TYPE
      value: content_fossology_license
    - name: SWH_SENTRY_ENVIRONMENT
      value: staging
    - name: SWH_MAIN_PACKAGE
      value: swh.indexer
    - name: SWH_SENTRY_DSN
      valueFrom:
        secretKeyRef:
          name: common-secrets
          key: indexer-sentry-dsn
          # 'name' secret must exist & include key "host"
          optional: false
    volumeMounts:
      - name: indexer-utils
        mountPath: /pre-stop.sh
        subPath: "pre-stop.sh"
      - name: configuration
        mountPath: /etc/swh
      - name: localstorage
        mountPath: /tmp
  volumes:
  - name: localstorage
    ephemeral:
      volumeClaimTemplate:
        metadata:
          labels:
            type: ephemeral-volume
        spec:
          accessModes:
          - ReadWriteOnce
          resources:
            requests:
              storage: 100Gi
          storageClassName: local-path
  - name: configuration
    emptyDir: {}
  - name: configuration-template
    configMap:
      name: indexer-content-fossology-license-template
      defaultMode: 0777
      items:
      - key: "config.yml.template"
        path: "config.yml.template"
      - key: "init-container-entrypoint.sh"
        path: "init-container-entrypoint.sh"
  - name: indexer-utils
    configMap:
      name: indexer-utils
      defaultMode: 0777
      items:
      - key: "pre-stop-idempotent.sh"
        path: "pre-stop.sh"

Source: swh/templates/indexers/deployment.yaml

apiVersion: apps/v1 kind: Deployment metadata: name: indexer-content-mimetype namespace: test labels: app: indexer-content-mimetype spec: revisionHistoryLimit: 2 selector: matchLabels: app: indexer-content-mimetype strategy: type: RollingUpdate rollingUpdate: maxSurge: 1 template: metadata: labels: app: indexer-content-mimetype annotations: # Force a rollout upgrade if the configuration changes checksum/config: 1ae75c914dcb0774f95790ea5374cfc47f44bc16343cb543924b41b6f099fb1d spec: affinity:

    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        nodeSelectorTerms:
        - matchExpressions:
          - key: swh/indexer
            operator: In
            values:
            - "true"
  terminationGracePeriodSeconds: 3600
  initContainers:
    - name: prepare-configuration
      image: debian:bullseye
      imagePullPolicy: Always
      env:
      - name: JOURNAL_PASSWORD
        valueFrom:
          secretKeyRef:
            name: common-secrets
            key: journal-password
            optional: true
      command:
        - /entrypoint.sh
      volumeMounts:
      - name: configuration-template
        mountPath: /entrypoint.sh
        subPath: "init-container-entrypoint.sh"
        readOnly: true
      - name: configuration
        mountPath: /etc/swh
      - name: configuration-template
        mountPath: /etc/swh/configuration-template
  containers:
  - name: indexers
    image: container-registry.softwareheritage.org/swh/infra/swh-apps/indexer:20221130.1
    imagePullPolicy: Always
    command:
      - /opt/swh/entrypoint.sh
    resources:
      requests:
        memory: 512Mi
        cpu: 500m
    lifecycle:
      preStop:
        exec:
          command: ["/pre-stop.sh"]
    env:
    - name: STATSD_HOST
      value: prometheus-statsd-exporter
    - name: STATSD_PORT
      value: "9125"
    - name: MAX_TASKS_PER_CHILD
      value: "10"
    - name: LOGLEVEL
      value: "INFO"
    - name: SWH_CONFIG_FILENAME
      value: /etc/swh/config.yml
    - name: SWH_INDEXER_TYPE
      value: content_mimetype
    - name: SWH_SENTRY_ENVIRONMENT
      value: staging
    - name: SWH_MAIN_PACKAGE
      value: swh.indexer
    - name: SWH_SENTRY_DSN
      valueFrom:
        secretKeyRef:
          name: common-secrets
          key: indexer-sentry-dsn
          # 'name' secret must exist & include key "host"
          optional: false
    volumeMounts:
      - name: indexer-utils
        mountPath: /pre-stop.sh
        subPath: "pre-stop.sh"
      - name: configuration
        mountPath: /etc/swh
      - name: localstorage
        mountPath: /tmp
  volumes:
  - name: localstorage
    ephemeral:
      volumeClaimTemplate:
        metadata:
          labels:
            type: ephemeral-volume
        spec:
          accessModes:
          - ReadWriteOnce
          resources:
            requests:
              storage: 100Gi
          storageClassName: local-path
  - name: configuration
    emptyDir: {}
  - name: configuration-template
    configMap:
      name: indexer-content-mimetype-template
      defaultMode: 0777
      items:
      - key: "config.yml.template"
        path: "config.yml.template"
      - key: "init-container-entrypoint.sh"
        path: "init-container-entrypoint.sh"
  - name: indexer-utils
    configMap:
      name: indexer-utils
      defaultMode: 0777
      items:
      - key: "pre-stop-idempotent.sh"
        path: "pre-stop.sh"

Source: swh/templates/indexers/deployment.yaml

apiVersion: apps/v1 kind: Deployment metadata: name: indexer-origin-extrinsic namespace: test labels: app: indexer-origin-extrinsic spec: revisionHistoryLimit: 2 selector: matchLabels: app: indexer-origin-extrinsic strategy: type: RollingUpdate rollingUpdate: maxSurge: 1 template: metadata: labels: app: indexer-origin-extrinsic annotations: # Force a rollout upgrade if the configuration changes checksum/config: 1ae75c914dcb0774f95790ea5374cfc47f44bc16343cb543924b41b6f099fb1d spec: affinity:

    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        nodeSelectorTerms:
        - matchExpressions:
          - key: swh/indexer
            operator: In
            values:
            - "true"
  terminationGracePeriodSeconds: 3600
  initContainers:
    - name: prepare-configuration
      image: debian:bullseye
      imagePullPolicy: Always
      env:
      - name: JOURNAL_PASSWORD
        valueFrom:
          secretKeyRef:
            name: common-secrets
            key: journal-password
            optional: true
      command:
        - /entrypoint.sh
      volumeMounts:
      - name: configuration-template
        mountPath: /entrypoint.sh
        subPath: "init-container-entrypoint.sh"
        readOnly: true
      - name: configuration
        mountPath: /etc/swh
      - name: configuration-template
        mountPath: /etc/swh/configuration-template
  containers:
  - name: indexers
    image: container-registry.softwareheritage.org/swh/infra/swh-apps/indexer:20221130.1
    imagePullPolicy: Always
    command:
      - /opt/swh/entrypoint.sh
    resources:
      requests:
        memory: 512Mi
        cpu: 500m
    lifecycle:
      preStop:
        exec:
          command: ["/pre-stop.sh"]
    env:
    - name: STATSD_HOST
      value: prometheus-statsd-exporter
    - name: STATSD_PORT
      value: "9125"
    - name: MAX_TASKS_PER_CHILD
      value: "10"
    - name: LOGLEVEL
      value: "INFO"
    - name: SWH_CONFIG_FILENAME
      value: /etc/swh/config.yml
    - name: SWH_INDEXER_TYPE
      value: extrinsic_metadata
    - name: SWH_SENTRY_ENVIRONMENT
      value: staging
    - name: SWH_MAIN_PACKAGE
      value: swh.indexer
    - name: SWH_SENTRY_DSN
      valueFrom:
        secretKeyRef:
          name: common-secrets
          key: indexer-sentry-dsn
          # 'name' secret must exist & include key "host"
          optional: false
    volumeMounts:
      - name: indexer-utils
        mountPath: /pre-stop.sh
        subPath: "pre-stop.sh"
      - name: configuration
        mountPath: /etc/swh
      - name: localstorage
        mountPath: /tmp
  volumes:
  - name: localstorage
    ephemeral:
      volumeClaimTemplate:
        metadata:
          labels:
            type: ephemeral-volume
        spec:
          accessModes:
          - ReadWriteOnce
          resources:
            requests:
              storage: 100Gi
          storageClassName: local-path
  - name: configuration
    emptyDir: {}
  - name: configuration-template
    configMap:
      name: indexer-origin-extrinsic-template
      defaultMode: 0777
      items:
      - key: "config.yml.template"
        path: "config.yml.template"
      - key: "init-container-entrypoint.sh"
        path: "init-container-entrypoint.sh"
  - name: indexer-utils
    configMap:
      name: indexer-utils
      defaultMode: 0777
      items:
      - key: "pre-stop-idempotent.sh"
        path: "pre-stop.sh"

Source: swh/templates/indexers/deployment.yaml

apiVersion: apps/v1 kind: Deployment metadata: name: indexer-origin-intrinsic namespace: test labels: app: indexer-origin-intrinsic spec: revisionHistoryLimit: 2 selector: matchLabels: app: indexer-origin-intrinsic strategy: type: RollingUpdate rollingUpdate: maxSurge: 1 template: metadata: labels: app: indexer-origin-intrinsic annotations: # Force a rollout upgrade if the configuration changes checksum/config: 1ae75c914dcb0774f95790ea5374cfc47f44bc16343cb543924b41b6f099fb1d spec: affinity:

    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        nodeSelectorTerms:
        - matchExpressions:
          - key: swh/indexer
            operator: In
            values:
            - "true"
  terminationGracePeriodSeconds: 3600
  initContainers:
    - name: prepare-configuration
      image: debian:bullseye
      imagePullPolicy: Always
      env:
      - name: JOURNAL_PASSWORD
        valueFrom:
          secretKeyRef:
            name: common-secrets
            key: journal-password
            optional: true
      command:
        - /entrypoint.sh
      volumeMounts:
      - name: configuration-template
        mountPath: /entrypoint.sh
        subPath: "init-container-entrypoint.sh"
        readOnly: true
      - name: configuration
        mountPath: /etc/swh
      - name: configuration-template
        mountPath: /etc/swh/configuration-template
  containers:
  - name: indexers
    image: container-registry.softwareheritage.org/swh/infra/swh-apps/indexer:20221130.1
    imagePullPolicy: Always
    command:
      - /opt/swh/entrypoint.sh
    resources:
      requests:
        memory: 512Mi
        cpu: 500m
    lifecycle:
      preStop:
        exec:
          command: ["/pre-stop.sh"]
    env:
    - name: STATSD_HOST
      value: prometheus-statsd-exporter
    - name: STATSD_PORT
      value: "9125"
    - name: MAX_TASKS_PER_CHILD
      value: "10"
    - name: LOGLEVEL
      value: "INFO"
    - name: SWH_CONFIG_FILENAME
      value: /etc/swh/config.yml
    - name: SWH_INDEXER_TYPE
      value: origin_intrinsic_metadata
    - name: SWH_SENTRY_ENVIRONMENT
      value: staging
    - name: SWH_MAIN_PACKAGE
      value: swh.indexer
    - name: SWH_SENTRY_DSN
      valueFrom:
        secretKeyRef:
          name: common-secrets
          key: indexer-sentry-dsn
          # 'name' secret must exist & include key "host"
          optional: false
    volumeMounts:
      - name: indexer-utils
        mountPath: /pre-stop.sh
        subPath: "pre-stop.sh"
      - name: configuration
        mountPath: /etc/swh
      - name: localstorage
        mountPath: /tmp
  volumes:
  - name: localstorage
    ephemeral:
      volumeClaimTemplate:
        metadata:
          labels:
            type: ephemeral-volume
        spec:
          accessModes:
          - ReadWriteOnce
          resources:
            requests:
              storage: 100Gi
          storageClassName: local-path
  - name: configuration
    emptyDir: {}
  - name: configuration-template
    configMap:
      name: indexer-origin-intrinsic-template
      defaultMode: 0777
      items:
      - key: "config.yml.template"
        path: "config.yml.template"
      - key: "init-container-entrypoint.sh"
        path: "init-container-entrypoint.sh"
  - name: indexer-utils
    configMap:
      name: indexer-utils
      defaultMode: 0777
      items:
      - key: "pre-stop-idempotent.sh"
        path: "pre-stop.sh"

Source: swh/templates/listers/deployment.yaml

apiVersion: apps/v1 kind: Deployment metadata: name: lister-all namespace: test labels: app: lister-all spec: revisionHistoryLimit: 2 selector: matchLabels: app: lister-all strategy: type: RollingUpdate rollingUpdate: maxSurge: 1 template: metadata: labels: app: lister-all annotations: # Force a rollout upgrade if the configuration changes checksum/config: 7807cd60dae2e004d13f68162a2ba33f690fd89608933c428f07cf128eef3dd8 spec: affinity:

    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        nodeSelectorTerms:
        - matchExpressions:
          - key: swh/lister
            operator: In
            values:
            - "true"
  initContainers:
    - name: prepare-configuration
      image: debian:bullseye
      imagePullPolicy: Always
      env:
      - name: AMQP_USERNAME
        valueFrom:
          secretKeyRef:
            name: common-secrets
            key: rabbitmq-amqp-username
            # 'name' secret must exist & include that ^ key
            optional: false
      - name: AMQP_PASSWORD
        valueFrom:
          secretKeyRef:
            name: common-secrets
            key: rabbitmq-amqp-password
            # 'name' secret must exist & include that ^ key
            optional: false
      command:
        - /entrypoint.sh
      volumeMounts:
      - name: configuration-template
        mountPath: /entrypoint.sh
        subPath: "init-container-entrypoint.sh"
        readOnly: true
      - name: configuration
        mountPath: /etc/swh
      - name: configuration-template
        mountPath: /etc/swh/configuration-template
      - name: lister-credentials-secrets
        mountPath: /etc/credentials/listers
        readOnly: true
  containers:
  - name: listers
    resources:
      requests:
        memory: 512Mi
        cpu: 500m
    image: container-registry.softwareheritage.org/swh/infra/swh-apps/lister:20221214.1
    imagePullPolicy: Always
    command:
    - /bin/bash
    args:
    - -c
    - /opt/swh/entrypoint.sh
    lifecycle:
      preStop:
        exec:
          command: ["/pre-stop.sh"]
    env:
    - name: STATSD_HOST
      value: prometheus-statsd-exporter
    - name: STATSD_PORT
      value: "9125"
    - name: MAX_TASKS_PER_CHILD
      value: "1"
    - name: LOGLEVEL
      value: "INFO"
    - name: SWH_CONFIG_FILENAME
      value: /etc/swh/config.yml
    - name: SWH_SENTRY_ENVIRONMENT
      value: staging
    - name: SWH_MAIN_PACKAGE
      value: swh.lister
    - name: SWH_SENTRY_DSN
      valueFrom:
        secretKeyRef:
          name: common-secrets
          key: lister-sentry-dsn
          # 'name' secret must exist & include key "host"
          optional: false
    volumeMounts:
      - name: lister-utils
        mountPath: /pre-stop.sh
        subPath: "pre-stop.sh"
      - name: configuration
        mountPath: /etc/swh
  volumes:
  - name: configuration
    ephemeral:
      volumeClaimTemplate:
        metadata:
          labels:
            type: ephemeral-volume
        spec:
          accessModes:
          - ReadWriteOnce
          resources:
            requests:
              storage: 100Gi
          storageClassName: local-path
  - name: configuration-template
    configMap:
      name: lister-all-template
      defaultMode: 0777
      items:
      - key: "config.yml.template"
        path: "config.yml.template"
      - key: "init-container-entrypoint.sh"
        path: "init-container-entrypoint.sh"
  - name: lister-utils
    configMap:
      name: lister-utils
      defaultMode: 0777
      items:
      - key: "pre-stop-idempotent.sh"
        path: "pre-stop.sh"
  - name: lister-credentials-secrets
    secret:
      secretName: lister-credentials-secrets
      optional: true

Source: swh/templates/listers/deployment.yaml

apiVersion: apps/v1 kind: Deployment metadata: name: lister-bitbucket namespace: test labels: app: lister-bitbucket spec: revisionHistoryLimit: 2 selector: matchLabels: app: lister-bitbucket strategy: type: RollingUpdate rollingUpdate: maxSurge: 1 template: metadata: labels: app: lister-bitbucket annotations: # Force a rollout upgrade if the configuration changes checksum/config: 7807cd60dae2e004d13f68162a2ba33f690fd89608933c428f07cf128eef3dd8 spec: affinity:

    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        nodeSelectorTerms:
        - matchExpressions:
          - key: swh/lister
            operator: In
            values:
            - "true"
  initContainers:
    - name: prepare-configuration
      image: debian:bullseye
      imagePullPolicy: Always
      env:
      - name: AMQP_USERNAME
        valueFrom:
          secretKeyRef:
            name: common-secrets
            key: rabbitmq-amqp-username
            # 'name' secret must exist & include that ^ key
            optional: false
      - name: AMQP_PASSWORD
        valueFrom:
          secretKeyRef:
            name: common-secrets
            key: rabbitmq-amqp-password
            # 'name' secret must exist & include that ^ key
            optional: false
      command:
        - /entrypoint.sh
      volumeMounts:
      - name: configuration-template
        mountPath: /entrypoint.sh
        subPath: "init-container-entrypoint.sh"
        readOnly: true
      - name: configuration
        mountPath: /etc/swh
      - name: configuration-template
        mountPath: /etc/swh/configuration-template
      - name: lister-credentials-secrets
        mountPath: /etc/credentials/listers
        readOnly: true
  containers:
  - name: listers
    resources:
      requests:
        memory: 256Mi
        cpu: 250m
    image: container-registry.softwareheritage.org/swh/infra/swh-apps/lister:20221214.1
    imagePullPolicy: Always
    command:
    - /bin/bash
    args:
    - -c
    - /opt/swh/entrypoint.sh
    lifecycle:
      preStop:
        exec:
          command: ["/pre-stop.sh"]
    env:
    - name: STATSD_HOST
      value: prometheus-statsd-exporter
    - name: STATSD_PORT
      value: "9125"
    - name: MAX_TASKS_PER_CHILD
      value: "1"
    - name: LOGLEVEL
      value: "INFO"
    - name: SWH_CONFIG_FILENAME
      value: /etc/swh/config.yml
    - name: SWH_SENTRY_ENVIRONMENT
      value: staging
    - name: SWH_MAIN_PACKAGE
      value: swh.lister
    - name: SWH_SENTRY_DSN
      valueFrom:
        secretKeyRef:
          name: common-secrets
          key: lister-sentry-dsn
          # 'name' secret must exist & include key "host"
          optional: false
    volumeMounts:
      - name: lister-utils
        mountPath: /pre-stop.sh
        subPath: "pre-stop.sh"
      - name: configuration
        mountPath: /etc/swh
  volumes:
  - name: configuration
    ephemeral:
      volumeClaimTemplate:
        metadata:
          labels:
            type: ephemeral-volume
        spec:
          accessModes:
          - ReadWriteOnce
          resources:
            requests:
              storage: 100Gi
          storageClassName: local-path
  - name: configuration-template
    configMap:
      name: lister-bitbucket-template
      defaultMode: 0777
      items:
      - key: "config.yml.template"
        path: "config.yml.template"
      - key: "init-container-entrypoint.sh"
        path: "init-container-entrypoint.sh"
  - name: lister-utils
    configMap:
      name: lister-utils
      defaultMode: 0777
      items:
      - key: "pre-stop-idempotent.sh"
        path: "pre-stop.sh"
  - name: lister-credentials-secrets
    secret:
      secretName: lister-credentials-secrets
      optional: true

Source: swh/templates/listers/deployment.yaml

apiVersion: apps/v1 kind: Deployment metadata: name: lister-bower namespace: test labels: app: lister-bower spec: revisionHistoryLimit: 2 selector: matchLabels: app: lister-bower strategy: type: RollingUpdate rollingUpdate: maxSurge: 1 template: metadata: labels: app: lister-bower annotations: # Force a rollout upgrade if the configuration changes checksum/config: 7807cd60dae2e004d13f68162a2ba33f690fd89608933c428f07cf128eef3dd8 spec: affinity:

    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        nodeSelectorTerms:
        - matchExpressions:
          - key: swh/lister
            operator: In
            values:
            - "true"
  initContainers:
    - name: prepare-configuration
      image: debian:bullseye
      imagePullPolicy: Always
      env:
      - name: AMQP_USERNAME
        valueFrom:
          secretKeyRef:
            name: common-secrets
            key: rabbitmq-amqp-username
            # 'name' secret must exist & include that ^ key
            optional: false
      - name: AMQP_PASSWORD
        valueFrom:
          secretKeyRef:
            name: common-secrets
            key: rabbitmq-amqp-password
            # 'name' secret must exist & include that ^ key
            optional: false
      command:
        - /entrypoint.sh
      volumeMounts:
      - name: configuration-template
        mountPath: /entrypoint.sh
        subPath: "init-container-entrypoint.sh"
        readOnly: true
      - name: configuration
        mountPath: /etc/swh
      - name: configuration-template
        mountPath: /etc/swh/configuration-template
      - name: lister-credentials-secrets
        mountPath: /etc/credentials/listers
        readOnly: true
  containers:
  - name: listers
    resources:
      requests:
        memory: 256Mi
        cpu: 250m
    image: container-registry.softwareheritage.org/swh/infra/swh-apps/lister:20221214.1
    imagePullPolicy: Always
    command:
    - /bin/bash
    args:
    - -c
    - /opt/swh/entrypoint.sh
    lifecycle:
      preStop:
        exec:
          command: ["/pre-stop.sh"]
    env:
    - name: STATSD_HOST
      value: prometheus-statsd-exporter
    - name: STATSD_PORT
      value: "9125"
    - name: MAX_TASKS_PER_CHILD
      value: "1"
    - name: LOGLEVEL
      value: "INFO"
    - name: SWH_CONFIG_FILENAME
      value: /etc/swh/config.yml
    - name: SWH_SENTRY_ENVIRONMENT
      value: staging
    - name: SWH_MAIN_PACKAGE
      value: swh.lister
    - name: SWH_SENTRY_DSN
      valueFrom:
        secretKeyRef:
          name: common-secrets
          key: lister-sentry-dsn
          # 'name' secret must exist & include key "host"
          optional: false
    volumeMounts:
      - name: lister-utils
        mountPath: /pre-stop.sh
        subPath: "pre-stop.sh"
      - name: configuration
        mountPath: /etc/swh
  volumes:
  - name: configuration
    ephemeral:
      volumeClaimTemplate:
        metadata:
          labels:
            type: ephemeral-volume
        spec:
          accessModes:
          - ReadWriteOnce
          resources:
            requests:
              storage: 100Gi
          storageClassName: local-path
  - name: configuration-template
    configMap:
      name: lister-bower-template
      defaultMode: 0777
      items:
      - key: "config.yml.template"
        path: "config.yml.template"
      - key: "init-container-entrypoint.sh"
        path: "init-container-entrypoint.sh"
  - name: lister-utils
    configMap:
      name: lister-utils
      defaultMode: 0777
      items:
      - key: "pre-stop-idempotent.sh"
        path: "pre-stop.sh"
  - name: lister-credentials-secrets
    secret:
      secretName: lister-credentials-secrets
      optional: true

Source: swh/templates/listers/deployment.yaml

apiVersion: apps/v1 kind: Deployment metadata: name: lister-gnu-full namespace: test labels: app: lister-gnu-full spec: revisionHistoryLimit: 2 selector: matchLabels: app: lister-gnu-full strategy: type: RollingUpdate rollingUpdate: maxSurge: 1 template: metadata: labels: app: lister-gnu-full annotations: # Force a rollout upgrade if the configuration changes checksum/config: 7807cd60dae2e004d13f68162a2ba33f690fd89608933c428f07cf128eef3dd8 spec: affinity:

    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        nodeSelectorTerms:
        - matchExpressions:
          - key: swh/lister
            operator: In
            values:
            - "true"
  initContainers:
    - name: prepare-configuration
      image: debian:bullseye
      imagePullPolicy: Always
      env:
      - name: AMQP_USERNAME
        valueFrom:
          secretKeyRef:
            name: common-secrets
            key: rabbitmq-amqp-username
            # 'name' secret must exist & include that ^ key
            optional: false
      - name: AMQP_PASSWORD
        valueFrom:
          secretKeyRef:
            name: common-secrets
            key: rabbitmq-amqp-password
            # 'name' secret must exist & include that ^ key
            optional: false
      command:
        - /entrypoint.sh
      volumeMounts:
      - name: configuration-template
        mountPath: /entrypoint.sh
        subPath: "init-container-entrypoint.sh"
        readOnly: true
      - name: configuration
        mountPath: /etc/swh
      - name: configuration-template
        mountPath: /etc/swh/configuration-template
      - name: lister-credentials-secrets
        mountPath: /etc/credentials/listers
        readOnly: true
  containers:
  - name: listers
    resources:
      requests:
        memory: 256Mi
        cpu: 250m
    image: container-registry.softwareheritage.org/swh/infra/swh-apps/lister:20221214.1
    imagePullPolicy: Always
    command:
    - /bin/bash
    args:
    - -c
    - /opt/swh/entrypoint.sh
    lifecycle:
      preStop:
        exec:
          command: ["/pre-stop.sh"]
    env:
    - name: STATSD_HOST
      value: prometheus-statsd-exporter
    - name: STATSD_PORT
      value: "9125"
    - name: MAX_TASKS_PER_CHILD
      value: "1"
    - name: LOGLEVEL
      value: "INFO"
    - name: SWH_CONFIG_FILENAME
      value: /etc/swh/config.yml
    - name: SWH_SENTRY_ENVIRONMENT
      value: staging
    - name: SWH_MAIN_PACKAGE
      value: swh.lister
    - name: SWH_SENTRY_DSN
      valueFrom:
        secretKeyRef:
          name: common-secrets
          key: lister-sentry-dsn
          # 'name' secret must exist & include key "host"
          optional: false
    volumeMounts:
      - name: lister-utils
        mountPath: /pre-stop.sh
        subPath: "pre-stop.sh"
      - name: configuration
        mountPath: /etc/swh
  volumes:
  - name: configuration
    ephemeral:
      volumeClaimTemplate:
        metadata:
          labels:
            type: ephemeral-volume
        spec:
          accessModes:
          - ReadWriteOnce
          resources:
            requests:
              storage: 100Gi
          storageClassName: local-path
  - name: configuration-template
    configMap:
      name: lister-gnu-full-template
      defaultMode: 0777
      items:
      - key: "config.yml.template"
        path: "config.yml.template"
      - key: "init-container-entrypoint.sh"
        path: "init-container-entrypoint.sh"
  - name: lister-utils
    configMap:
      name: lister-utils
      defaultMode: 0777
      items:
      - key: "pre-stop-idempotent.sh"
        path: "pre-stop.sh"
  - name: lister-credentials-secrets
    secret:
      secretName: lister-credentials-secrets
      optional: true

Source: swh/templates/listers/deployment.yaml

apiVersion: apps/v1 kind: Deployment metadata: name: lister-gogs-full namespace: test labels: app: lister-gogs-full spec: revisionHistoryLimit: 2 selector: matchLabels: app: lister-gogs-full strategy: type: RollingUpdate rollingUpdate: maxSurge: 1 template: metadata: labels: app: lister-gogs-full annotations: # Force a rollout upgrade if the configuration changes checksum/config: 7807cd60dae2e004d13f68162a2ba33f690fd89608933c428f07cf128eef3dd8 spec: affinity:

    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        nodeSelectorTerms:
        - matchExpressions:
          - key: swh/lister
            operator: In
            values:
            - "true"
  initContainers:
    - name: prepare-configuration
      image: debian:bullseye
      imagePullPolicy: Always
      env:
      - name: AMQP_USERNAME
        valueFrom:
          secretKeyRef:
            name: common-secrets
            key: rabbitmq-amqp-username
            # 'name' secret must exist & include that ^ key
            optional: false
      - name: AMQP_PASSWORD
        valueFrom:
          secretKeyRef:
            name: common-secrets
            key: rabbitmq-amqp-password
            # 'name' secret must exist & include that ^ key
            optional: false
      command:
        - /entrypoint.sh
      volumeMounts:
      - name: configuration-template
        mountPath: /entrypoint.sh
        subPath: "init-container-entrypoint.sh"
        readOnly: true
      - name: configuration
        mountPath: /etc/swh
      - name: configuration-template
        mountPath: /etc/swh/configuration-template
      - name: lister-credentials-secrets
        mountPath: /etc/credentials/listers
        readOnly: true
  containers:
  - name: listers
    resources:
      requests:
        memory: 256Mi
        cpu: 250m
    image: container-registry.softwareheritage.org/swh/infra/swh-apps/lister:20221214.1
    imagePullPolicy: Always
    command:
    - /bin/bash
    args:
    - -c
    - /opt/swh/entrypoint.sh
    lifecycle:
      preStop:
        exec:
          command: ["/pre-stop.sh"]
    env:
    - name: STATSD_HOST
      value: prometheus-statsd-exporter
    - name: STATSD_PORT
      value: "9125"
    - name: MAX_TASKS_PER_CHILD
      value: "1"
    - name: LOGLEVEL
      value: "INFO"
    - name: SWH_CONFIG_FILENAME
      value: /etc/swh/config.yml
    - name: SWH_SENTRY_ENVIRONMENT
      value: staging
    - name: SWH_MAIN_PACKAGE
      value: swh.lister
    - name: SWH_SENTRY_DSN
      valueFrom:
        secretKeyRef:
          name: common-secrets
          key: lister-sentry-dsn
          # 'name' secret must exist & include key "host"
          optional: false
    volumeMounts:
      - name: lister-utils
        mountPath: /pre-stop.sh
        subPath: "pre-stop.sh"
      - name: configuration
        mountPath: /etc/swh
  volumes:
  - name: configuration
    ephemeral:
      volumeClaimTemplate:
        metadata:
          labels:
            type: ephemeral-volume
        spec:
          accessModes:
          - ReadWriteOnce
          resources:
            requests:
              storage: 100Gi
          storageClassName: local-path
  - name: configuration-template
    configMap:
      name: lister-gogs-full-template
      defaultMode: 0777
      items:
      - key: "config.yml.template"
        path: "config.yml.template"
      - key: "init-container-entrypoint.sh"
        path: "init-container-entrypoint.sh"
  - name: lister-utils
    configMap:
      name: lister-utils
      defaultMode: 0777
      items:
      - key: "pre-stop-idempotent.sh"
        path: "pre-stop.sh"
  - name: lister-credentials-secrets
    secret:
      secretName: lister-credentials-secrets
      optional: true

Source: swh/templates/listers/deployment.yaml

apiVersion: apps/v1 kind: Deployment metadata: name: lister-golang namespace: test labels: app: lister-golang spec: revisionHistoryLimit: 2 selector: matchLabels: app: lister-golang strategy: type: RollingUpdate rollingUpdate: maxSurge: 1 template: metadata: labels: app: lister-golang annotations: # Force a rollout upgrade if the configuration changes checksum/config: 7807cd60dae2e004d13f68162a2ba33f690fd89608933c428f07cf128eef3dd8 spec: affinity:

    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        nodeSelectorTerms:
        - matchExpressions:
          - key: swh/lister
            operator: In
            values:
            - "true"
  initContainers:
    - name: prepare-configuration
      image: debian:bullseye
      imagePullPolicy: Always
      env:
      - name: AMQP_USERNAME
        valueFrom:
          secretKeyRef:
            name: common-secrets
            key: rabbitmq-amqp-username
            # 'name' secret must exist & include that ^ key
            optional: false
      - name: AMQP_PASSWORD
        valueFrom:
          secretKeyRef:
            name: common-secrets
            key: rabbitmq-amqp-password
            # 'name' secret must exist & include that ^ key
            optional: false
      command:
        - /entrypoint.sh
      volumeMounts:
      - name: configuration-template
        mountPath: /entrypoint.sh
        subPath: "init-container-entrypoint.sh"
        readOnly: true
      - name: configuration
        mountPath: /etc/swh
      - name: configuration-template
        mountPath: /etc/swh/configuration-template
      - name: lister-credentials-secrets
        mountPath: /etc/credentials/listers
        readOnly: true
  containers:
  - name: listers
    resources:
      requests:
        memory: 256Mi
        cpu: 250m
    image: container-registry.softwareheritage.org/swh/infra/swh-apps/lister:20221214.1
    imagePullPolicy: Always
    command:
    - /bin/bash
    args:
    - -c
    - /opt/swh/entrypoint.sh
    lifecycle:
      preStop:
        exec:
          command: ["/pre-stop.sh"]
    env:
    - name: STATSD_HOST
      value: prometheus-statsd-exporter
    - name: STATSD_PORT
      value: "9125"
    - name: MAX_TASKS_PER_CHILD
      value: "1"
    - name: LOGLEVEL
      value: "INFO"
    - name: SWH_CONFIG_FILENAME
      value: /etc/swh/config.yml
    - name: SWH_SENTRY_ENVIRONMENT
      value: staging
    - name: SWH_MAIN_PACKAGE
      value: swh.lister
    - name: SWH_SENTRY_DSN
      valueFrom:
        secretKeyRef:
          name: common-secrets
          key: lister-sentry-dsn
          # 'name' secret must exist & include key "host"
          optional: false
    volumeMounts:
      - name: lister-utils
        mountPath: /pre-stop.sh
        subPath: "pre-stop.sh"
      - name: configuration
        mountPath: /etc/swh
  volumes:
  - name: configuration
    ephemeral:
      volumeClaimTemplate:
        metadata:
          labels:
            type: ephemeral-volume
        spec:
          accessModes:
          - ReadWriteOnce
          resources:
            requests:
              storage: 100Gi
          storageClassName: local-path
  - name: configuration-template
    configMap:
      name: lister-golang-template
      defaultMode: 0777
      items:
      - key: "config.yml.template"
        path: "config.yml.template"
      - key: "init-container-entrypoint.sh"
        path: "init-container-entrypoint.sh"
  - name: lister-utils
    configMap:
      name: lister-utils
      defaultMode: 0777
      items:
      - key: "pre-stop-idempotent.sh"
        path: "pre-stop.sh"
  - name: lister-credentials-secrets
    secret:
      secretName: lister-credentials-secrets
      optional: true

Source: swh/templates/listers/deployment.yaml

apiVersion: apps/v1 kind: Deployment metadata: name: lister-launchpad namespace: test labels: app: lister-launchpad spec: revisionHistoryLimit: 2 selector: matchLabels: app: lister-launchpad strategy: type: RollingUpdate rollingUpdate: maxSurge: 1 template: metadata: labels: app: lister-launchpad annotations: # Force a rollout upgrade if the configuration changes checksum/config: 7807cd60dae2e004d13f68162a2ba33f690fd89608933c428f07cf128eef3dd8 spec: affinity:

    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        nodeSelectorTerms:
        - matchExpressions:
          - key: swh/lister
            operator: In
            values:
            - "true"
  initContainers:
    - name: prepare-configuration
      image: debian:bullseye
      imagePullPolicy: Always
      env:
      - name: AMQP_USERNAME
        valueFrom:
          secretKeyRef:
            name: common-secrets
            key: rabbitmq-amqp-username
            # 'name' secret must exist & include that ^ key
            optional: false
      - name: AMQP_PASSWORD
        valueFrom:
          secretKeyRef:
            name: common-secrets
            key: rabbitmq-amqp-password
            # 'name' secret must exist & include that ^ key
            optional: false
      command:
        - /entrypoint.sh
      volumeMounts:
      - name: configuration-template
        mountPath: /entrypoint.sh
        subPath: "init-container-entrypoint.sh"
        readOnly: true
      - name: configuration
        mountPath: /etc/swh
      - name: configuration-template
        mountPath: /etc/swh/configuration-template
      - name: lister-credentials-secrets
        mountPath: /etc/credentials/listers
        readOnly: true
  containers:
  - name: listers
    resources:
      requests:
        memory: 256Mi
        cpu: 250m
    image: container-registry.softwareheritage.org/swh/infra/swh-apps/lister:20221214.1
    imagePullPolicy: Always
    command:
    - /bin/bash
    args:
    - -c
    - /opt/swh/entrypoint.sh
    lifecycle:
      preStop:
        exec:
          command: ["/pre-stop.sh"]
    env:
    - name: STATSD_HOST
      value: prometheus-statsd-exporter
    - name: STATSD_PORT
      value: "9125"
    - name: MAX_TASKS_PER_CHILD
      value: "1"
    - name: LOGLEVEL
      value: "INFO"
    - name: SWH_CONFIG_FILENAME
      value: /etc/swh/config.yml
    - name: SWH_SENTRY_ENVIRONMENT
      value: staging
    - name: SWH_MAIN_PACKAGE
      value: swh.lister
    - name: SWH_SENTRY_DSN
      valueFrom:
        secretKeyRef:
          name: common-secrets
          key: lister-sentry-dsn
          # 'name' secret must exist & include key "host"
          optional: false
    volumeMounts:
      - name: lister-utils
        mountPath: /pre-stop.sh
        subPath: "pre-stop.sh"
      - name: configuration
        mountPath: /etc/swh
  volumes:
  - name: configuration
    ephemeral:
      volumeClaimTemplate:
        metadata:
          labels:
            type: ephemeral-volume
        spec:
          accessModes:
          - ReadWriteOnce
          resources:
            requests:
              storage: 100Gi
          storageClassName: local-path
  - name: configuration-template
    configMap:
      name: lister-launchpad-template
      defaultMode: 0777
      items:
      - key: "config.yml.template"
        path: "config.yml.template"
      - key: "init-container-entrypoint.sh"
        path: "init-container-entrypoint.sh"
  - name: lister-utils
    configMap:
      name: lister-utils
      defaultMode: 0777
      items:
      - key: "pre-stop-idempotent.sh"
        path: "pre-stop.sh"
  - name: lister-credentials-secrets
    secret:
      secretName: lister-credentials-secrets
      optional: true

Source: swh/templates/listers/deployment.yaml

apiVersion: apps/v1 kind: Deployment metadata: name: lister-maven namespace: test labels: app: lister-maven spec: revisionHistoryLimit: 2 selector: matchLabels: app: lister-maven strategy: type: RollingUpdate rollingUpdate: maxSurge: 1 template: metadata: labels: app: lister-maven annotations: # Force a rollout upgrade if the configuration changes checksum/config: 7807cd60dae2e004d13f68162a2ba33f690fd89608933c428f07cf128eef3dd8 spec: affinity:

    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        nodeSelectorTerms:
        - matchExpressions:
          - key: swh/lister
            operator: In
            values:
            - "true"
  initContainers:
    - name: prepare-configuration
      image: debian:bullseye
      imagePullPolicy: Always
      env:
      - name: AMQP_USERNAME
        valueFrom:
          secretKeyRef:
            name: common-secrets
            key: rabbitmq-amqp-username
            # 'name' secret must exist & include that ^ key
            optional: false
      - name: AMQP_PASSWORD
        valueFrom:
          secretKeyRef:
            name: common-secrets
            key: rabbitmq-amqp-password
            # 'name' secret must exist & include that ^ key
            optional: false
      command:
        - /entrypoint.sh
      volumeMounts:
      - name: configuration-template
        mountPath: /entrypoint.sh
        subPath: "init-container-entrypoint.sh"
        readOnly: true
      - name: configuration
        mountPath: /etc/swh
      - name: configuration-template
        mountPath: /etc/swh/configuration-template
      - name: lister-credentials-secrets
        mountPath: /etc/credentials/listers
        readOnly: true
  containers:
  - name: listers
    resources:
      requests:
        memory: 1024Mi
        cpu: 1000m
    image: container-registry.softwareheritage.org/swh/infra/swh-apps/lister:20221214.1
    imagePullPolicy: Always
    command:
    - /bin/bash
    args:
    - -c
    - /opt/swh/entrypoint.sh
    lifecycle:
      preStop:
        exec:
          command: ["/pre-stop.sh"]
    env:
    - name: STATSD_HOST
      value: prometheus-statsd-exporter
    - name: STATSD_PORT
      value: "9125"
    - name: MAX_TASKS_PER_CHILD
      value: "1"
    - name: LOGLEVEL
      value: "INFO"
    - name: SWH_CONFIG_FILENAME
      value: /etc/swh/config.yml
    - name: SWH_SENTRY_ENVIRONMENT
      value: staging
    - name: SWH_MAIN_PACKAGE
      value: swh.lister
    - name: SWH_SENTRY_DSN
      valueFrom:
        secretKeyRef:
          name: common-secrets
          key: lister-sentry-dsn
          # 'name' secret must exist & include key "host"
          optional: false
    volumeMounts:
      - name: lister-utils
        mountPath: /pre-stop.sh
        subPath: "pre-stop.sh"
      - name: configuration
        mountPath: /etc/swh
  volumes:
  - name: configuration
    ephemeral:
      volumeClaimTemplate:
        metadata:
          labels:
            type: ephemeral-volume
        spec:
          accessModes:
          - ReadWriteOnce
          resources:
            requests:
              storage: 100Gi
          storageClassName: local-path
  - name: configuration-template
    configMap:
      name: lister-maven-template
      defaultMode: 0777
      items:
      - key: "config.yml.template"
        path: "config.yml.template"
      - key: "init-container-entrypoint.sh"
        path: "init-container-entrypoint.sh"
  - name: lister-utils
    configMap:
      name: lister-utils
      defaultMode: 0777
      items:
      - key: "pre-stop-idempotent.sh"
        path: "pre-stop.sh"
  - name: lister-credentials-secrets
    secret:
      secretName: lister-credentials-secrets
      optional: true

Source: swh/templates/listers/deployment.yaml

apiVersion: apps/v1 kind: Deployment metadata: name: lister-nixguix namespace: test labels: app: lister-nixguix spec: revisionHistoryLimit: 2 selector: matchLabels: app: lister-nixguix strategy: type: RollingUpdate rollingUpdate: maxSurge: 1 template: metadata: labels: app: lister-nixguix annotations: # Force a rollout upgrade if the configuration changes checksum/config: 7807cd60dae2e004d13f68162a2ba33f690fd89608933c428f07cf128eef3dd8 spec: affinity:

    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        nodeSelectorTerms:
        - matchExpressions:
          - key: swh/lister
            operator: In
            values:
            - "true"
  initContainers:
    - name: prepare-configuration
      image: debian:bullseye
      imagePullPolicy: Always
      env:
      - name: AMQP_USERNAME
        valueFrom:
          secretKeyRef:
            name: common-secrets
            key: rabbitmq-amqp-username
            # 'name' secret must exist & include that ^ key
            optional: false
      - name: AMQP_PASSWORD
        valueFrom:
          secretKeyRef:
            name: common-secrets
            key: rabbitmq-amqp-password
            # 'name' secret must exist & include that ^ key
            optional: false
      command:
        - /entrypoint.sh
      volumeMounts:
      - name: configuration-template
        mountPath: /entrypoint.sh
        subPath: "init-container-entrypoint.sh"
        readOnly: true
      - name: configuration
        mountPath: /etc/swh
      - name: configuration-template
        mountPath: /etc/swh/configuration-template
      - name: lister-credentials-secrets
        mountPath: /etc/credentials/listers
        readOnly: true
  containers:
  - name: listers
    resources:
      requests:
        memory: 256Mi
        cpu: 250m
    image: container-registry.softwareheritage.org/swh/infra/swh-apps/lister:20221214.1
    imagePullPolicy: Always
    command:
    - /bin/bash
    args:
    - -c
    - /opt/swh/entrypoint.sh
    lifecycle:
      preStop:
        exec:
          command: ["/pre-stop.sh"]
    env:
    - name: STATSD_HOST
      value: prometheus-statsd-exporter
    - name: STATSD_PORT
      value: "9125"
    - name: MAX_TASKS_PER_CHILD
      value: "1"
    - name: LOGLEVEL
      value: "INFO"
    - name: SWH_CONFIG_FILENAME
      value: /etc/swh/config.yml
    - name: SWH_SENTRY_ENVIRONMENT
      value: staging
    - name: SWH_MAIN_PACKAGE
      value: swh.lister
    - name: SWH_SENTRY_DSN
      valueFrom:
        secretKeyRef:
          name: common-secrets
          key: lister-sentry-dsn
          # 'name' secret must exist & include key "host"
          optional: false
    volumeMounts:
      - name: lister-utils
        mountPath: /pre-stop.sh
        subPath: "pre-stop.sh"
      - name: configuration
        mountPath: /etc/swh
  volumes:
  - name: configuration
    ephemeral:
      volumeClaimTemplate:
        metadata:
          labels:
            type: ephemeral-volume
        spec:
          accessModes:
          - ReadWriteOnce
          resources:
            requests:
              storage: 100Gi
          storageClassName: local-path
  - name: configuration-template
    configMap:
      name: lister-nixguix-template
      defaultMode: 0777
      items:
      - key: "config.yml.template"
        path: "config.yml.template"
      - key: "init-container-entrypoint.sh"
        path: "init-container-entrypoint.sh"
  - name: lister-utils
    configMap:
      name: lister-utils
      defaultMode: 0777
      items:
      - key: "pre-stop-idempotent.sh"
        path: "pre-stop.sh"
  - name: lister-credentials-secrets
    secret:
      secretName: lister-credentials-secrets
      optional: true

Source: swh/templates/listers/deployment.yaml

apiVersion: apps/v1 kind: Deployment metadata: name: lister-opam namespace: test labels: app: lister-opam spec: revisionHistoryLimit: 2 selector: matchLabels: app: lister-opam strategy: type: RollingUpdate rollingUpdate: maxSurge: 1 template: metadata: labels: app: lister-opam annotations: # Force a rollout upgrade if the configuration changes checksum/config: 7807cd60dae2e004d13f68162a2ba33f690fd89608933c428f07cf128eef3dd8 spec: affinity:

    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        nodeSelectorTerms:
        - matchExpressions:
          - key: swh/lister
            operator: In
            values:
            - "true"
  initContainers:
    - name: prepare-configuration
      image: debian:bullseye
      imagePullPolicy: Always
      env:
      - name: AMQP_USERNAME
        valueFrom:
          secretKeyRef:
            name: common-secrets
            key: rabbitmq-amqp-username
            # 'name' secret must exist & include that ^ key
            optional: false
      - name: AMQP_PASSWORD
        valueFrom:
          secretKeyRef:
            name: common-secrets
            key: rabbitmq-amqp-password
            # 'name' secret must exist & include that ^ key
            optional: false
      command:
        - /entrypoint.sh
      volumeMounts:
      - name: configuration-template
        mountPath: /entrypoint.sh
        subPath: "init-container-entrypoint.sh"
        readOnly: true
      - name: configuration
        mountPath: /etc/swh
      - name: configuration-template
        mountPath: /etc/swh/configuration-template
      - name: lister-credentials-secrets
        mountPath: /etc/credentials/listers
        readOnly: true
  containers:
  - name: listers
    resources:
      requests:
        memory: 256Mi
        cpu: 250m
    image: container-registry.softwareheritage.org/swh/infra/swh-apps/lister:20221214.1
    imagePullPolicy: Always
    command:
    - /bin/bash
    args:
    - -c
    - /opt/swh/entrypoint.sh
    lifecycle:
      preStop:
        exec:
          command: ["/pre-stop.sh"]
    env:
    - name: STATSD_HOST
      value: prometheus-statsd-exporter
    - name: STATSD_PORT
      value: "9125"
    - name: MAX_TASKS_PER_CHILD
      value: "1"
    - name: LOGLEVEL
      value: "INFO"
    - name: SWH_CONFIG_FILENAME
      value: /etc/swh/config.yml
    - name: SWH_SENTRY_ENVIRONMENT
      value: staging
    - name: SWH_MAIN_PACKAGE
      value: swh.lister
    - name: SWH_SENTRY_DSN
      valueFrom:
        secretKeyRef:
          name: common-secrets
          key: lister-sentry-dsn
          # 'name' secret must exist & include key "host"
          optional: false
    volumeMounts:
      - name: lister-utils
        mountPath: /pre-stop.sh
        subPath: "pre-stop.sh"
      - name: configuration
        mountPath: /etc/swh
  volumes:
  - name: configuration
    ephemeral:
      volumeClaimTemplate:
        metadata:
          labels:
            type: ephemeral-volume
        spec:
          accessModes:
          - ReadWriteOnce
          resources:
            requests:
              storage: 100Gi
          storageClassName: local-path
  - name: configuration-template
    configMap:
      name: lister-opam-template
      defaultMode: 0777
      items:
      - key: "config.yml.template"
        path: "config.yml.template"
      - key: "init-container-entrypoint.sh"
        path: "init-container-entrypoint.sh"
  - name: lister-utils
    configMap:
      name: lister-utils
      defaultMode: 0777
      items:
      - key: "pre-stop-idempotent.sh"
        path: "pre-stop.sh"
  - name: lister-credentials-secrets
    secret:
      secretName: lister-credentials-secrets
      optional: true

Source: swh/templates/listers/deployment.yaml

apiVersion: apps/v1 kind: Deployment metadata: name: lister-pubdev namespace: test labels: app: lister-pubdev spec: revisionHistoryLimit: 2 selector: matchLabels: app: lister-pubdev strategy: type: RollingUpdate rollingUpdate: maxSurge: 1 template: metadata: labels: app: lister-pubdev annotations: # Force a rollout upgrade if the configuration changes checksum/config: 7807cd60dae2e004d13f68162a2ba33f690fd89608933c428f07cf128eef3dd8 spec: affinity:

    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        nodeSelectorTerms:
        - matchExpressions:
          - key: swh/lister
            operator: In
            values:
            - "true"
  initContainers:
    - name: prepare-configuration
      image: debian:bullseye
      imagePullPolicy: Always
      env:
      - name: AMQP_USERNAME
        valueFrom:
          secretKeyRef:
            name: common-secrets
            key: rabbitmq-amqp-username
            # 'name' secret must exist & include that ^ key
            optional: false
      - name: AMQP_PASSWORD
        valueFrom:
          secretKeyRef:
            name: common-secrets
            key: rabbitmq-amqp-password
            # 'name' secret must exist & include that ^ key
            optional: false
      command:
        - /entrypoint.sh
      volumeMounts:
      - name: configuration-template
        mountPath: /entrypoint.sh
        subPath: "init-container-entrypoint.sh"
        readOnly: true
      - name: configuration
        mountPath: /etc/swh
      - name: configuration-template
        mountPath: /etc/swh/configuration-template
      - name: lister-credentials-secrets
        mountPath: /etc/credentials/listers
        readOnly: true
  containers:
  - name: listers
    resources:
      requests:
        memory: 256Mi
        cpu: 250m
    image: container-registry.softwareheritage.org/swh/infra/swh-apps/lister:20221214.1
    imagePullPolicy: Always
    command:
    - /bin/bash
    args:
    - -c
    - /opt/swh/entrypoint.sh
    lifecycle:
      preStop:
        exec:
          command: ["/pre-stop.sh"]
    env:
    - name: STATSD_HOST
      value: prometheus-statsd-exporter
    - name: STATSD_PORT
      value: "9125"
    - name: MAX_TASKS_PER_CHILD
      value: "1"
    - name: LOGLEVEL
      value: "INFO"
    - name: SWH_CONFIG_FILENAME
      value: /etc/swh/config.yml
    - name: SWH_SENTRY_ENVIRONMENT
      value: staging
    - name: SWH_MAIN_PACKAGE
      value: swh.lister
    - name: SWH_SENTRY_DSN
      valueFrom:
        secretKeyRef:
          name: common-secrets
          key: lister-sentry-dsn
          # 'name' secret must exist & include key "host"
          optional: false
    volumeMounts:
      - name: lister-utils
        mountPath: /pre-stop.sh
        subPath: "pre-stop.sh"
      - name: configuration
        mountPath: /etc/swh
  volumes:
  - name: configuration
    ephemeral:
      volumeClaimTemplate:
        metadata:
          labels:
            type: ephemeral-volume
        spec:
          accessModes:
          - ReadWriteOnce
          resources:
            requests:
              storage: 100Gi
          storageClassName: local-path
  - name: configuration-template
    configMap:
      name: lister-pubdev-template
      defaultMode: 0777
      items:
      - key: "config.yml.template"
        path: "config.yml.template"
      - key: "init-container-entrypoint.sh"
        path: "init-container-entrypoint.sh"
  - name: lister-utils
    configMap:
      name: lister-utils
      defaultMode: 0777
      items:
      - key: "pre-stop-idempotent.sh"
        path: "pre-stop.sh"
  - name: lister-credentials-secrets
    secret:
      secretName: lister-credentials-secrets
      optional: true

Source: swh/templates/listers/deployment.yaml

apiVersion: apps/v1 kind: Deployment metadata: name: lister-sourceforge namespace: test labels: app: lister-sourceforge spec: revisionHistoryLimit: 2 selector: matchLabels: app: lister-sourceforge strategy: type: RollingUpdate rollingUpdate: maxSurge: 1 template: metadata: labels: app: lister-sourceforge annotations: # Force a rollout upgrade if the configuration changes checksum/config: 7807cd60dae2e004d13f68162a2ba33f690fd89608933c428f07cf128eef3dd8 spec: affinity:

    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        nodeSelectorTerms:
        - matchExpressions:
          - key: swh/lister
            operator: In
            values:
            - "true"
  initContainers:
    - name: prepare-configuration
      image: debian:bullseye
      imagePullPolicy: Always
      env:
      - name: AMQP_USERNAME
        valueFrom:
          secretKeyRef:
            name: common-secrets
            key: rabbitmq-amqp-username
            # 'name' secret must exist & include that ^ key
            optional: false
      - name: AMQP_PASSWORD
        valueFrom:
          secretKeyRef:
            name: common-secrets
            key: rabbitmq-amqp-password
            # 'name' secret must exist & include that ^ key
            optional: false
      command:
        - /entrypoint.sh
      volumeMounts:
      - name: configuration-template
        mountPath: /entrypoint.sh
        subPath: "init-container-entrypoint.sh"
        readOnly: true
      - name: configuration
        mountPath: /etc/swh
      - name: configuration-template
        mountPath: /etc/swh/configuration-template
      - name: lister-credentials-secrets
        mountPath: /etc/credentials/listers
        readOnly: true
  containers:
  - name: listers
    resources:
      requests:
        memory: 256Mi
        cpu: 250m
    image: container-registry.softwareheritage.org/swh/infra/swh-apps/lister:20221214.1
    imagePullPolicy: Always
    command:
    - /bin/bash
    args:
    - -c
    - /opt/swh/entrypoint.sh
    lifecycle:
      preStop:
        exec:
          command: ["/pre-stop.sh"]
    env:
    - name: STATSD_HOST
      value: prometheus-statsd-exporter
    - name: STATSD_PORT
      value: "9125"
    - name: MAX_TASKS_PER_CHILD
      value: "1"
    - name: LOGLEVEL
      value: "INFO"
    - name: SWH_CONFIG_FILENAME
      value: /etc/swh/config.yml
    - name: SWH_SENTRY_ENVIRONMENT
      value: staging
    - name: SWH_MAIN_PACKAGE
      value: swh.lister
    - name: SWH_SENTRY_DSN
      valueFrom:
        secretKeyRef:
          name: common-secrets
          key: lister-sentry-dsn
          # 'name' secret must exist & include key "host"
          optional: false
    volumeMounts:
      - name: lister-utils
        mountPath: /pre-stop.sh
        subPath: "pre-stop.sh"
      - name: configuration
        mountPath: /etc/swh
  volumes:
  - name: configuration
    ephemeral:
      volumeClaimTemplate:
        metadata:
          labels:
            type: ephemeral-volume
        spec:
          accessModes:
          - ReadWriteOnce
          resources:
            requests:
              storage: 100Gi
          storageClassName: local-path
  - name: configuration-template
    configMap:
      name: lister-sourceforge-template
      defaultMode: 0777
      items:
      - key: "config.yml.template"
        path: "config.yml.template"
      - key: "init-container-entrypoint.sh"
        path: "init-container-entrypoint.sh"
  - name: lister-utils
    configMap:
      name: lister-utils
      defaultMode: 0777
      items:
      - key: "pre-stop-idempotent.sh"
        path: "pre-stop.sh"
  - name: lister-credentials-secrets
    secret:
      secretName: lister-credentials-secrets
      optional: true

Source: swh/templates/loaders/deployment.yaml

apiVersion: apps/v1 kind: Deployment metadata: name: loader-addforgenow namespace: test labels: app: loader-addforgenow spec: revisionHistoryLimit: 2 selector: matchLabels: app: loader-addforgenow strategy: type: RollingUpdate rollingUpdate: maxSurge: 1 template: metadata: labels: app: loader-addforgenow annotations: # Force a rollout upgrade if the configuration changes checksum/config: 2dbf16d98f175a2891d1216dd27165f1a3fb35e82442be0d5d4e237a1b7e748a spec: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: swh/loader operator: In values: - "true" terminationGracePeriodSeconds: 3600 initContainers: - name: prepare-configuration image: debian:bullseye imagePullPolicy: Always env: - name: AMQP_USERNAME valueFrom: secretKeyRef: name: common-secrets key: rabbitmq-amqp-username # 'name' secret must exist & include that ^ key optional: false - name: AMQP_PASSWORD valueFrom: secretKeyRef: name: common-secrets key: rabbitmq-amqp-password # 'name' secret must exist & include that ^ key optional: false

      command:
        - /entrypoint.sh
      volumeMounts:
      - name: configuration-template
        mountPath: /entrypoint.sh
        subPath: "init-container-entrypoint.sh"
        readOnly: true
      - name: configuration
        mountPath: /etc/swh
      - name: configuration-template
        mountPath: /etc/swh/configuration-template
      - name: metadata-fetcher-credentials
        mountPath: /etc/credentials/metadata-fetcher
        readOnly: true
  containers:
  - name: loaders
    image: container-registry.softwareheritage.org/swh/infra/swh-apps/loader_git:20221104.2

    imagePullPolicy: Always
    command:
      - /opt/swh/entrypoint.sh
    resources:
      requests:
        memory: 256Mi
        cpu: 200m
    lifecycle:
      preStop:
        exec:
          command: ["/pre-stop.sh"]
    env:
    - name: STATSD_HOST
      value: prometheus-statsd-exporter
    - name: STATSD_PORT
      value: "9125"
    - name: MAX_TASKS_PER_CHILD
      value: "10"
    - name: LOGLEVEL
      value: "INFO"
    - name: SWH_CONFIG_FILENAME
      value: /etc/swh/config.yml
    - name: SWH_LOG_CONFIG
      value: /logging-configuration.yml
    - name: SWH_SENTRY_ENVIRONMENT
      value: staging
    - name: SWH_MAIN_PACKAGE
      value: swh.loader.git
    - name: SWH_SENTRY_DSN
      valueFrom:
        secretKeyRef:
          name: common-secrets
          key: loader-addforgenow-sentry-dsn
          # 'name' secret must exist & include key "host"
          optional: false
    volumeMounts:
      - name: loader-utils
        mountPath: /pre-stop.sh
        subPath: "pre-stop.sh"
      - name: configuration
        mountPath: /etc/swh
      - name: localstorage
        mountPath: /tmp
      - name: configuration-template
        mountPath: /logging-configuration.yml
        subPath: "logging-configuration.yml.template"
        readOnly: true
  volumes:
  - name: localstorage
    ephemeral:
      volumeClaimTemplate:
        metadata:
          labels:
            type: ephemeral-volume
        spec:
          accessModes:
          - ReadWriteOnce
          resources:
            requests:
              storage: 100Gi
          storageClassName: local-path
  - name: configuration
    emptyDir: {}
  - name: configuration-template
    configMap:
      name: loader-addforgenow-template
      defaultMode: 0777
      items:
      - key: "config.yml.template"
        path: "config.yml.template"
      - key: "init-container-entrypoint.sh"
        path: "init-container-entrypoint.sh"
      - key: "logging-configuration.yml.template"
        path: "logging-configuration.yml.template"
  - name: loader-utils
    configMap:
      name: loader-utils
      defaultMode: 0777
      items:
      - key: "pre-stop-idempotent.sh"
        path: "pre-stop.sh"
  - name: metadata-fetcher-credentials
    secret:
      secretName: metadata-fetcher-credentials
      optional: true

if defined at the "typed" loader level

otherwise if the global image is defined


Source: swh/templates/loaders/deployment.yaml

apiVersion: apps/v1 kind: Deployment metadata: name: loader-archive namespace: test labels: app: loader-archive spec: revisionHistoryLimit: 2 selector: matchLabels: app: loader-archive strategy: type: RollingUpdate rollingUpdate: maxSurge: 1 template: metadata: labels: app: loader-archive annotations: # Force a rollout upgrade if the configuration changes checksum/config: 2dbf16d98f175a2891d1216dd27165f1a3fb35e82442be0d5d4e237a1b7e748a spec: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: swh/loader operator: In values: - "true" terminationGracePeriodSeconds: 3600 initContainers: - name: prepare-configuration image: debian:bullseye imagePullPolicy: Always env: - name: AMQP_USERNAME valueFrom: secretKeyRef: name: common-secrets key: rabbitmq-amqp-username # 'name' secret must exist & include that ^ key optional: false - name: AMQP_PASSWORD valueFrom: secretKeyRef: name: common-secrets key: rabbitmq-amqp-password # 'name' secret must exist & include that ^ key optional: false

      command:
        - /entrypoint.sh
      volumeMounts:
      - name: configuration-template
        mountPath: /entrypoint.sh
        subPath: "init-container-entrypoint.sh"
        readOnly: true
      - name: configuration
        mountPath: /etc/swh
      - name: configuration-template
        mountPath: /etc/swh/configuration-template
      - name: metadata-fetcher-credentials
        mountPath: /etc/credentials/metadata-fetcher
        readOnly: true
  containers:
  - name: loaders
    image: softwareheritage/loader_package:20221026.1

    imagePullPolicy: Always
    command:
      - /opt/swh/entrypoint.sh
    resources:
      requests:
        memory: 256Mi
        cpu: 200m
    lifecycle:
      preStop:
        exec:
          command: ["/pre-stop.sh"]
    env:
    - name: STATSD_HOST
      value: prometheus-statsd-exporter
    - name: STATSD_PORT
      value: "9125"
    - name: MAX_TASKS_PER_CHILD
      value: "10"
    - name: LOGLEVEL
      value: "INFO"
    - name: SWH_CONFIG_FILENAME
      value: /etc/swh/config.yml
    - name: SWH_LOG_CONFIG
      value: /logging-configuration.yml
    - name: SWH_SENTRY_ENVIRONMENT
      value: staging
    - name: SWH_MAIN_PACKAGE
      value: swh.loader.core
    - name: SWH_SENTRY_DSN
      valueFrom:
        secretKeyRef:
          name: common-secrets
          key: loader-archive-sentry-dsn
          # 'name' secret must exist & include key "host"
          optional: false
    volumeMounts:
      - name: loader-utils
        mountPath: /pre-stop.sh
        subPath: "pre-stop.sh"
      - name: configuration
        mountPath: /etc/swh
      - name: localstorage
        mountPath: /tmp
      - name: configuration-template
        mountPath: /logging-configuration.yml
        subPath: "logging-configuration.yml.template"
        readOnly: true
  volumes:
  - name: localstorage
    ephemeral:
      volumeClaimTemplate:
        metadata:
          labels:
            type: ephemeral-volume
        spec:
          accessModes:
          - ReadWriteOnce
          resources:
            requests:
              storage: 100Gi
          storageClassName: local-path
  - name: configuration
    emptyDir: {}
  - name: configuration-template
    configMap:
      name: loader-archive-template
      defaultMode: 0777
      items:
      - key: "config.yml.template"
        path: "config.yml.template"
      - key: "init-container-entrypoint.sh"
        path: "init-container-entrypoint.sh"
      - key: "logging-configuration.yml.template"
        path: "logging-configuration.yml.template"
  - name: loader-utils
    configMap:
      name: loader-utils
      defaultMode: 0777
      items:
      - key: "pre-stop-idempotent.sh"
        path: "pre-stop.sh"
  - name: metadata-fetcher-credentials
    secret:
      secretName: metadata-fetcher-credentials
      optional: true

if defined at the "typed" loader level

otherwise if the global image is defined


Source: swh/templates/loaders/deployment.yaml

apiVersion: apps/v1 kind: Deployment metadata: name: loader-bzr namespace: test labels: app: loader-bzr spec: revisionHistoryLimit: 2 selector: matchLabels: app: loader-bzr strategy: type: RollingUpdate rollingUpdate: maxSurge: 1 template: metadata: labels: app: loader-bzr annotations: # Force a rollout upgrade if the configuration changes checksum/config: 2dbf16d98f175a2891d1216dd27165f1a3fb35e82442be0d5d4e237a1b7e748a spec: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: swh/loader operator: In values: - "true" terminationGracePeriodSeconds: 3600 initContainers: - name: prepare-configuration image: debian:bullseye imagePullPolicy: Always env: - name: AMQP_USERNAME valueFrom: secretKeyRef: name: common-secrets key: rabbitmq-amqp-username # 'name' secret must exist & include that ^ key optional: false - name: AMQP_PASSWORD valueFrom: secretKeyRef: name: common-secrets key: rabbitmq-amqp-password # 'name' secret must exist & include that ^ key optional: false

      command:
        - /entrypoint.sh
      volumeMounts:
      - name: configuration-template
        mountPath: /entrypoint.sh
        subPath: "init-container-entrypoint.sh"
        readOnly: true
      - name: configuration
        mountPath: /etc/swh
      - name: configuration-template
        mountPath: /etc/swh/configuration-template
      - name: metadata-fetcher-credentials
        mountPath: /etc/credentials/metadata-fetcher
        readOnly: true
  containers:
  - name: loaders
    image: softwareheritage/loader_bzr:20220926.1

    imagePullPolicy: Always
    command:
      - /opt/swh/entrypoint.sh
    resources:
      requests:
        memory: 256Mi
        cpu: 200m
    lifecycle:
      preStop:
        exec:
          command: ["/pre-stop.sh"]
    env:
    - name: STATSD_HOST
      value: prometheus-statsd-exporter
    - name: STATSD_PORT
      value: "9125"
    - name: MAX_TASKS_PER_CHILD
      value: "10"
    - name: LOGLEVEL
      value: "INFO"
    - name: SWH_CONFIG_FILENAME
      value: /etc/swh/config.yml
    - name: SWH_LOG_CONFIG
      value: /logging-configuration.yml
    - name: SWH_SENTRY_ENVIRONMENT
      value: staging
    - name: SWH_MAIN_PACKAGE
      value: swh.loader.bzr
    - name: SWH_SENTRY_DSN
      valueFrom:
        secretKeyRef:
          name: common-secrets
          key: loader-bzr-sentry-dsn
          # 'name' secret must exist & include key "host"
          optional: false
    volumeMounts:
      - name: loader-utils
        mountPath: /pre-stop.sh
        subPath: "pre-stop.sh"
      - name: configuration
        mountPath: /etc/swh
      - name: localstorage
        mountPath: /tmp
      - name: configuration-template
        mountPath: /logging-configuration.yml
        subPath: "logging-configuration.yml.template"
        readOnly: true
  volumes:
  - name: localstorage
    ephemeral:
      volumeClaimTemplate:
        metadata:
          labels:
            type: ephemeral-volume
        spec:
          accessModes:
          - ReadWriteOnce
          resources:
            requests:
              storage: 100Gi
          storageClassName: local-path
  - name: configuration
    emptyDir: {}
  - name: configuration-template
    configMap:
      name: loader-bzr-template
      defaultMode: 0777
      items:
      - key: "config.yml.template"
        path: "config.yml.template"
      - key: "init-container-entrypoint.sh"
        path: "init-container-entrypoint.sh"
      - key: "logging-configuration.yml.template"
        path: "logging-configuration.yml.template"
  - name: loader-utils
    configMap:
      name: loader-utils
      defaultMode: 0777
      items:
      - key: "pre-stop-idempotent.sh"
        path: "pre-stop.sh"
  - name: metadata-fetcher-credentials
    secret:
      secretName: metadata-fetcher-credentials
      optional: true

if defined at the "typed" loader level

otherwise if the global image is defined


Source: swh/templates/loaders/deployment.yaml

apiVersion: apps/v1 kind: Deployment metadata: name: loader-content namespace: test labels: app: loader-content spec: revisionHistoryLimit: 2 selector: matchLabels: app: loader-content strategy: type: RollingUpdate rollingUpdate: maxSurge: 1 template: metadata: labels: app: loader-content annotations: # Force a rollout upgrade if the configuration changes checksum/config: 2dbf16d98f175a2891d1216dd27165f1a3fb35e82442be0d5d4e237a1b7e748a spec: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: swh/loader operator: In values: - "true" terminationGracePeriodSeconds: 3600 initContainers: - name: prepare-configuration image: debian:bullseye imagePullPolicy: Always env: - name: AMQP_USERNAME valueFrom: secretKeyRef: name: common-secrets key: rabbitmq-amqp-username # 'name' secret must exist & include that ^ key optional: false - name: AMQP_PASSWORD valueFrom: secretKeyRef: name: common-secrets key: rabbitmq-amqp-password # 'name' secret must exist & include that ^ key optional: false

      command:
        - /entrypoint.sh
      volumeMounts:
      - name: configuration-template
        mountPath: /entrypoint.sh
        subPath: "init-container-entrypoint.sh"
        readOnly: true
      - name: configuration
        mountPath: /etc/swh
      - name: configuration-template
        mountPath: /etc/swh/configuration-template
      - name: metadata-fetcher-credentials
        mountPath: /etc/credentials/metadata-fetcher
        readOnly: true
  containers:
  - name: loaders
    image: softwareheritage/loader_package:20221026.1

    imagePullPolicy: Always
    command:
      - /opt/swh/entrypoint.sh
    resources:
      requests:
        memory: 256Mi
        cpu: 200m
    lifecycle:
      preStop:
        exec:
          command: ["/pre-stop.sh"]
    env:
    - name: STATSD_HOST
      value: prometheus-statsd-exporter
    - name: STATSD_PORT
      value: "9125"
    - name: MAX_TASKS_PER_CHILD
      value: "10"
    - name: LOGLEVEL
      value: "INFO"
    - name: SWH_CONFIG_FILENAME
      value: /etc/swh/config.yml
    - name: SWH_LOG_CONFIG
      value: /logging-configuration.yml
    - name: SWH_SENTRY_ENVIRONMENT
      value: staging
    - name: SWH_MAIN_PACKAGE
      value: swh.loader.core
    - name: SWH_SENTRY_DSN
      valueFrom:
        secretKeyRef:
          name: common-secrets
          key: loader-content-sentry-dsn
          # 'name' secret must exist & include key "host"
          optional: false
    volumeMounts:
      - name: loader-utils
        mountPath: /pre-stop.sh
        subPath: "pre-stop.sh"
      - name: configuration
        mountPath: /etc/swh
      - name: localstorage
        mountPath: /tmp
      - name: configuration-template
        mountPath: /logging-configuration.yml
        subPath: "logging-configuration.yml.template"
        readOnly: true
  volumes:
  - name: localstorage
    ephemeral:
      volumeClaimTemplate:
        metadata:
          labels:
            type: ephemeral-volume
        spec:
          accessModes:
          - ReadWriteOnce
          resources:
            requests:
              storage: 100Gi
          storageClassName: local-path
  - name: configuration
    emptyDir: {}
  - name: configuration-template
    configMap:
      name: loader-content-template
      defaultMode: 0777
      items:
      - key: "config.yml.template"
        path: "config.yml.template"
      - key: "init-container-entrypoint.sh"
        path: "init-container-entrypoint.sh"
      - key: "logging-configuration.yml.template"
        path: "logging-configuration.yml.template"
  - name: loader-utils
    configMap:
      name: loader-utils
      defaultMode: 0777
      items:
      - key: "pre-stop-idempotent.sh"
        path: "pre-stop.sh"
  - name: metadata-fetcher-credentials
    secret:
      secretName: metadata-fetcher-credentials
      optional: true

if defined at the "typed" loader level

otherwise if the global image is defined


Source: swh/templates/loaders/deployment.yaml

apiVersion: apps/v1 kind: Deployment metadata: name: loader-cran namespace: test labels: app: loader-cran spec: revisionHistoryLimit: 2 selector: matchLabels: app: loader-cran strategy: type: RollingUpdate rollingUpdate: maxSurge: 1 template: metadata: labels: app: loader-cran annotations: # Force a rollout upgrade if the configuration changes checksum/config: 2dbf16d98f175a2891d1216dd27165f1a3fb35e82442be0d5d4e237a1b7e748a spec: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: swh/loader operator: In values: - "true" terminationGracePeriodSeconds: 3600 initContainers: - name: prepare-configuration image: debian:bullseye imagePullPolicy: Always env: - name: AMQP_USERNAME valueFrom: secretKeyRef: name: common-secrets key: rabbitmq-amqp-username # 'name' secret must exist & include that ^ key optional: false - name: AMQP_PASSWORD valueFrom: secretKeyRef: name: common-secrets key: rabbitmq-amqp-password # 'name' secret must exist & include that ^ key optional: false

      command:
        - /entrypoint.sh
      volumeMounts:
      - name: configuration-template
        mountPath: /entrypoint.sh
        subPath: "init-container-entrypoint.sh"
        readOnly: true
      - name: configuration
        mountPath: /etc/swh
      - name: configuration-template
        mountPath: /etc/swh/configuration-template
      - name: metadata-fetcher-credentials
        mountPath: /etc/credentials/metadata-fetcher
        readOnly: true
  containers:
  - name: loaders
    image: softwareheritage/loader_package:20221026.1

    imagePullPolicy: Always
    command:
      - /opt/swh/entrypoint.sh
    resources:
      requests:
        memory: 256Mi
        cpu: 200m
    lifecycle:
      preStop:
        exec:
          command: ["/pre-stop.sh"]
    env:
    - name: STATSD_HOST
      value: prometheus-statsd-exporter
    - name: STATSD_PORT
      value: "9125"
    - name: MAX_TASKS_PER_CHILD
      value: "10"
    - name: LOGLEVEL
      value: "INFO"
    - name: SWH_CONFIG_FILENAME
      value: /etc/swh/config.yml
    - name: SWH_LOG_CONFIG
      value: /logging-configuration.yml
    - name: SWH_SENTRY_ENVIRONMENT
      value: staging
    - name: SWH_MAIN_PACKAGE
      value: swh.loader.core
    - name: SWH_SENTRY_DSN
      valueFrom:
        secretKeyRef:
          name: common-secrets
          key: loader-cran-sentry-dsn
          # 'name' secret must exist & include key "host"
          optional: false
    volumeMounts:
      - name: loader-utils
        mountPath: /pre-stop.sh
        subPath: "pre-stop.sh"
      - name: configuration
        mountPath: /etc/swh
      - name: localstorage
        mountPath: /tmp
      - name: configuration-template
        mountPath: /logging-configuration.yml
        subPath: "logging-configuration.yml.template"
        readOnly: true
  volumes:
  - name: localstorage
    ephemeral:
      volumeClaimTemplate:
        metadata:
          labels:
            type: ephemeral-volume
        spec:
          accessModes:
          - ReadWriteOnce
          resources:
            requests:
              storage: 100Gi
          storageClassName: local-path
  - name: configuration
    emptyDir: {}
  - name: configuration-template
    configMap:
      name: loader-cran-template
      defaultMode: 0777
      items:
      - key: "config.yml.template"
        path: "config.yml.template"
      - key: "init-container-entrypoint.sh"
        path: "init-container-entrypoint.sh"
      - key: "logging-configuration.yml.template"
        path: "logging-configuration.yml.template"
  - name: loader-utils
    configMap:
      name: loader-utils
      defaultMode: 0777
      items:
      - key: "pre-stop-idempotent.sh"
        path: "pre-stop.sh"
  - name: metadata-fetcher-credentials
    secret:
      secretName: metadata-fetcher-credentials
      optional: true

if defined at the "typed" loader level

otherwise if the global image is defined


Source: swh/templates/loaders/deployment.yaml

apiVersion: apps/v1 kind: Deployment metadata: name: loader-cvs namespace: test labels: app: loader-cvs spec: revisionHistoryLimit: 2 selector: matchLabels: app: loader-cvs strategy: type: RollingUpdate rollingUpdate: maxSurge: 1 template: metadata: labels: app: loader-cvs annotations: # Force a rollout upgrade if the configuration changes checksum/config: 2dbf16d98f175a2891d1216dd27165f1a3fb35e82442be0d5d4e237a1b7e748a spec: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: swh/loader operator: In values: - "true" terminationGracePeriodSeconds: 3600 initContainers: - name: prepare-configuration image: debian:bullseye imagePullPolicy: Always env: - name: AMQP_USERNAME valueFrom: secretKeyRef: name: common-secrets key: rabbitmq-amqp-username # 'name' secret must exist & include that ^ key optional: false - name: AMQP_PASSWORD valueFrom: secretKeyRef: name: common-secrets key: rabbitmq-amqp-password # 'name' secret must exist & include that ^ key optional: false

      command:
        - /entrypoint.sh
      volumeMounts:
      - name: configuration-template
        mountPath: /entrypoint.sh
        subPath: "init-container-entrypoint.sh"
        readOnly: true
      - name: configuration
        mountPath: /etc/swh
      - name: configuration-template
        mountPath: /etc/swh/configuration-template
      - name: metadata-fetcher-credentials
        mountPath: /etc/credentials/metadata-fetcher
        readOnly: true
  containers:
  - name: loaders
    image: softwareheritage/loader_cvs:20220926.1

    imagePullPolicy: Always
    command:
      - /opt/swh/entrypoint.sh
    resources:
      requests:
        memory: 256Mi
        cpu: 200m
    lifecycle:
      preStop:
        exec:
          command: ["/pre-stop.sh"]
    env:
    - name: STATSD_HOST
      value: prometheus-statsd-exporter
    - name: STATSD_PORT
      value: "9125"
    - name: MAX_TASKS_PER_CHILD
      value: "10"
    - name: LOGLEVEL
      value: "INFO"
    - name: SWH_CONFIG_FILENAME
      value: /etc/swh/config.yml
    - name: SWH_LOG_CONFIG
      value: /logging-configuration.yml
    - name: SWH_SENTRY_ENVIRONMENT
      value: staging
    - name: SWH_MAIN_PACKAGE
      value: swh.loader.cvs
    - name: SWH_SENTRY_DSN
      valueFrom:
        secretKeyRef:
          name: common-secrets
          key: loader-cvs-sentry-dsn
          # 'name' secret must exist & include key "host"
          optional: false
    volumeMounts:
      - name: loader-utils
        mountPath: /pre-stop.sh
        subPath: "pre-stop.sh"
      - name: configuration
        mountPath: /etc/swh
      - name: localstorage
        mountPath: /tmp
      - name: configuration-template
        mountPath: /logging-configuration.yml
        subPath: "logging-configuration.yml.template"
        readOnly: true
  volumes:
  - name: localstorage
    ephemeral:
      volumeClaimTemplate:
        metadata:
          labels:
            type: ephemeral-volume
        spec:
          accessModes:
          - ReadWriteOnce
          resources:
            requests:
              storage: 100Gi
          storageClassName: local-path
  - name: configuration
    emptyDir: {}
  - name: configuration-template
    configMap:
      name: loader-cvs-template
      defaultMode: 0777
      items:
      - key: "config.yml.template"
        path: "config.yml.template"
      - key: "init-container-entrypoint.sh"
        path: "init-container-entrypoint.sh"
      - key: "logging-configuration.yml.template"
        path: "logging-configuration.yml.template"
  - name: loader-utils
    configMap:
      name: loader-utils
      defaultMode: 0777
      items:
      - key: "pre-stop-idempotent.sh"
        path: "pre-stop.sh"
  - name: metadata-fetcher-credentials
    secret:
      secretName: metadata-fetcher-credentials
      optional: true

if defined at the "typed" loader level

otherwise if the global image is defined


Source: swh/templates/loaders/deployment.yaml

apiVersion: apps/v1 kind: Deployment metadata: name: loader-debian namespace: test labels: app: loader-debian spec: revisionHistoryLimit: 2 selector: matchLabels: app: loader-debian strategy: type: RollingUpdate rollingUpdate: maxSurge: 1 template: metadata: labels: app: loader-debian annotations: # Force a rollout upgrade if the configuration changes checksum/config: 2dbf16d98f175a2891d1216dd27165f1a3fb35e82442be0d5d4e237a1b7e748a spec: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: swh/loader operator: In values: - "true" terminationGracePeriodSeconds: 3600 initContainers: - name: prepare-configuration image: debian:bullseye imagePullPolicy: Always env: - name: AMQP_USERNAME valueFrom: secretKeyRef: name: common-secrets key: rabbitmq-amqp-username # 'name' secret must exist & include that ^ key optional: false - name: AMQP_PASSWORD valueFrom: secretKeyRef: name: common-secrets key: rabbitmq-amqp-password # 'name' secret must exist & include that ^ key optional: false

      command:
        - /entrypoint.sh
      volumeMounts:
      - name: configuration-template
        mountPath: /entrypoint.sh
        subPath: "init-container-entrypoint.sh"
        readOnly: true
      - name: configuration
        mountPath: /etc/swh
      - name: configuration-template
        mountPath: /etc/swh/configuration-template
      - name: metadata-fetcher-credentials
        mountPath: /etc/credentials/metadata-fetcher
        readOnly: true
  containers:
  - name: loaders
    image: softwareheritage/loader_package:20221026.1

    imagePullPolicy: Always
    command:
      - /opt/swh/entrypoint.sh
    resources:
      requests:
        memory: 256Mi
        cpu: 200m
    lifecycle:
      preStop:
        exec:
          command: ["/pre-stop.sh"]
    env:
    - name: STATSD_HOST
      value: prometheus-statsd-exporter
    - name: STATSD_PORT
      value: "9125"
    - name: MAX_TASKS_PER_CHILD
      value: "10"
    - name: LOGLEVEL
      value: "INFO"
    - name: SWH_CONFIG_FILENAME
      value: /etc/swh/config.yml
    - name: SWH_LOG_CONFIG
      value: /logging-configuration.yml
    - name: SWH_SENTRY_ENVIRONMENT
      value: staging
    - name: SWH_MAIN_PACKAGE
      value: swh.loader.core
    - name: SWH_SENTRY_DSN
      valueFrom:
        secretKeyRef:
          name: common-secrets
          key: loader-debian-sentry-dsn
          # 'name' secret must exist & include key "host"
          optional: false
    volumeMounts:
      - name: loader-utils
        mountPath: /pre-stop.sh
        subPath: "pre-stop.sh"
      - name: configuration
        mountPath: /etc/swh
      - name: localstorage
        mountPath: /tmp
      - name: configuration-template
        mountPath: /logging-configuration.yml
        subPath: "logging-configuration.yml.template"
        readOnly: true
  volumes:
  - name: localstorage
    ephemeral:
      volumeClaimTemplate:
        metadata:
          labels:
            type: ephemeral-volume
        spec:
          accessModes:
          - ReadWriteOnce
          resources:
            requests:
              storage: 100Gi
          storageClassName: local-path
  - name: configuration
    emptyDir: {}
  - name: configuration-template
    configMap:
      name: loader-debian-template
      defaultMode: 0777
      items:
      - key: "config.yml.template"
        path: "config.yml.template"
      - key: "init-container-entrypoint.sh"
        path: "init-container-entrypoint.sh"
      - key: "logging-configuration.yml.template"
        path: "logging-configuration.yml.template"
  - name: loader-utils
    configMap:
      name: loader-utils
      defaultMode: 0777
      items:
      - key: "pre-stop-idempotent.sh"
        path: "pre-stop.sh"
  - name: metadata-fetcher-credentials
    secret:
      secretName: metadata-fetcher-credentials
      optional: true

if defined at the "typed" loader level

otherwise if the global image is defined


Source: swh/templates/loaders/deployment.yaml

apiVersion: apps/v1 kind: Deployment metadata: name: loader-deposit namespace: test labels: app: loader-deposit spec: revisionHistoryLimit: 2 selector: matchLabels: app: loader-deposit strategy: type: RollingUpdate rollingUpdate: maxSurge: 1 template: metadata: labels: app: loader-deposit annotations: # Force a rollout upgrade if the configuration changes checksum/config: 2dbf16d98f175a2891d1216dd27165f1a3fb35e82442be0d5d4e237a1b7e748a spec: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: swh/loader operator: In values: - "true" terminationGracePeriodSeconds: 3600 initContainers: - name: prepare-configuration image: debian:bullseye imagePullPolicy: Always env: - name: AMQP_USERNAME valueFrom: secretKeyRef: name: common-secrets key: rabbitmq-amqp-username # 'name' secret must exist & include that ^ key optional: false - name: AMQP_PASSWORD valueFrom: secretKeyRef: name: common-secrets key: rabbitmq-amqp-password # 'name' secret must exist & include that ^ key optional: false - name: DEPOSIT_USERNAME valueFrom: secretKeyRef: name: common-secrets key: deposit-username # 'name' secret must exist & include key "host" optional: false - name: DEPOSIT_PASSWORD valueFrom: secretKeyRef: name: common-secrets key: deposit-password # 'name' secret must exist & include key "host" optional: false

      command:
        - /entrypoint.sh
      volumeMounts:
      - name: configuration-template
        mountPath: /entrypoint.sh
        subPath: "init-container-entrypoint.sh"
        readOnly: true
      - name: configuration
        mountPath: /etc/swh
      - name: configuration-template
        mountPath: /etc/swh/configuration-template
      - name: metadata-fetcher-credentials
        mountPath: /etc/credentials/metadata-fetcher
        readOnly: true
  containers:
  - name: loaders
    image: softwareheritage/loader_package:20221026.1

    imagePullPolicy: Always
    command:
      - /opt/swh/entrypoint.sh
    resources:
      requests:
        memory: 256Mi
        cpu: 200m
    lifecycle:
      preStop:
        exec:
          command: ["/pre-stop.sh"]
    env:
    - name: STATSD_HOST
      value: prometheus-statsd-exporter
    - name: STATSD_PORT
      value: "9125"
    - name: MAX_TASKS_PER_CHILD
      value: "10"
    - name: LOGLEVEL
      value: "INFO"
    - name: SWH_CONFIG_FILENAME
      value: /etc/swh/config.yml
    - name: SWH_LOG_CONFIG
      value: /logging-configuration.yml
    - name: SWH_SENTRY_ENVIRONMENT
      value: staging
    - name: SWH_MAIN_PACKAGE
      value: swh.loader.core
    - name: SWH_SENTRY_DSN
      valueFrom:
        secretKeyRef:
          name: common-secrets
          key: loader-deposit-sentry-dsn
          # 'name' secret must exist & include key "host"
          optional: false
    volumeMounts:
      - name: loader-utils
        mountPath: /pre-stop.sh
        subPath: "pre-stop.sh"
      - name: configuration
        mountPath: /etc/swh
      - name: localstorage
        mountPath: /tmp
      - name: configuration-template
        mountPath: /logging-configuration.yml
        subPath: "logging-configuration.yml.template"
        readOnly: true
  volumes:
  - name: localstorage
    ephemeral:
      volumeClaimTemplate:
        metadata:
          labels:
            type: ephemeral-volume
        spec:
          accessModes:
          - ReadWriteOnce
          resources:
            requests:
              storage: 100Gi
          storageClassName: local-path
  - name: configuration
    emptyDir: {}
  - name: configuration-template
    configMap:
      name: loader-deposit-template
      defaultMode: 0777
      items:
      - key: "config.yml.template"
        path: "config.yml.template"
      - key: "init-container-entrypoint.sh"
        path: "init-container-entrypoint.sh"
      - key: "logging-configuration.yml.template"
        path: "logging-configuration.yml.template"
  - name: loader-utils
    configMap:
      name: loader-utils
      defaultMode: 0777
      items:
      - key: "pre-stop-idempotent.sh"
        path: "pre-stop.sh"
  - name: metadata-fetcher-credentials
    secret:
      secretName: metadata-fetcher-credentials
      optional: true

if defined at the "typed" loader level

otherwise if the global image is defined


Source: swh/templates/loaders/deployment.yaml

apiVersion: apps/v1 kind: Deployment metadata: name: loader-directory namespace: test labels: app: loader-directory spec: revisionHistoryLimit: 2 selector: matchLabels: app: loader-directory strategy: type: RollingUpdate rollingUpdate: maxSurge: 1 template: metadata: labels: app: loader-directory annotations: # Force a rollout upgrade if the configuration changes checksum/config: 2dbf16d98f175a2891d1216dd27165f1a3fb35e82442be0d5d4e237a1b7e748a spec: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: swh/loader operator: In values: - "true" terminationGracePeriodSeconds: 3600 initContainers: - name: prepare-configuration image: debian:bullseye imagePullPolicy: Always env: - name: AMQP_USERNAME valueFrom: secretKeyRef: name: common-secrets key: rabbitmq-amqp-username # 'name' secret must exist & include that ^ key optional: false - name: AMQP_PASSWORD valueFrom: secretKeyRef: name: common-secrets key: rabbitmq-amqp-password # 'name' secret must exist & include that ^ key optional: false

      command:
        - /entrypoint.sh
      volumeMounts:
      - name: configuration-template
        mountPath: /entrypoint.sh
        subPath: "init-container-entrypoint.sh"
        readOnly: true
      - name: configuration
        mountPath: /etc/swh
      - name: configuration-template
        mountPath: /etc/swh/configuration-template
      - name: metadata-fetcher-credentials
        mountPath: /etc/credentials/metadata-fetcher
        readOnly: true
  containers:
  - name: loaders
    image: softwareheritage/loader_package:20221026.1

    imagePullPolicy: Always
    command:
      - /opt/swh/entrypoint.sh
    resources:
      requests:
        memory: 256Mi
        cpu: 200m
    lifecycle:
      preStop:
        exec:
          command: ["/pre-stop.sh"]
    env:
    - name: STATSD_HOST
      value: prometheus-statsd-exporter
    - name: STATSD_PORT
      value: "9125"
    - name: MAX_TASKS_PER_CHILD
      value: "10"
    - name: LOGLEVEL
      value: "INFO"
    - name: SWH_CONFIG_FILENAME
      value: /etc/swh/config.yml
    - name: SWH_LOG_CONFIG
      value: /logging-configuration.yml
    - name: SWH_SENTRY_ENVIRONMENT
      value: staging
    - name: SWH_MAIN_PACKAGE
      value: swh.loader.core
    - name: SWH_SENTRY_DSN
      valueFrom:
        secretKeyRef:
          name: common-secrets
          key: loader-directory-sentry-dsn
          # 'name' secret must exist & include key "host"
          optional: false
    volumeMounts:
      - name: loader-utils
        mountPath: /pre-stop.sh
        subPath: "pre-stop.sh"
      - name: configuration
        mountPath: /etc/swh
      - name: localstorage
        mountPath: /tmp
      - name: configuration-template
        mountPath: /logging-configuration.yml
        subPath: "logging-configuration.yml.template"
        readOnly: true
  volumes:
  - name: localstorage
    ephemeral:
      volumeClaimTemplate:
        metadata:
          labels:
            type: ephemeral-volume
        spec:
          accessModes:
          - ReadWriteOnce
          resources:
            requests:
              storage: 100Gi
          storageClassName: local-path
  - name: configuration
    emptyDir: {}
  - name: configuration-template
    configMap:
      name: loader-directory-template
      defaultMode: 0777
      items:
      - key: "config.yml.template"
        path: "config.yml.template"
      - key: "init-container-entrypoint.sh"
        path: "init-container-entrypoint.sh"
      - key: "logging-configuration.yml.template"
        path: "logging-configuration.yml.template"
  - name: loader-utils
    configMap:
      name: loader-utils
      defaultMode: 0777
      items:
      - key: "pre-stop-idempotent.sh"
        path: "pre-stop.sh"
  - name: metadata-fetcher-credentials
    secret:
      secretName: metadata-fetcher-credentials
      optional: true

if defined at the "typed" loader level

otherwise if the global image is defined


Source: swh/templates/loaders/deployment.yaml

apiVersion: apps/v1 kind: Deployment metadata: name: loader-git namespace: test labels: app: loader-git spec: revisionHistoryLimit: 2 selector: matchLabels: app: loader-git strategy: type: RollingUpdate rollingUpdate: maxSurge: 1 template: metadata: labels: app: loader-git annotations: # Force a rollout upgrade if the configuration changes checksum/config: 2dbf16d98f175a2891d1216dd27165f1a3fb35e82442be0d5d4e237a1b7e748a spec: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: swh/loader operator: In values: - "true" terminationGracePeriodSeconds: 3600 initContainers: - name: prepare-configuration image: debian:bullseye imagePullPolicy: Always env: - name: AMQP_USERNAME valueFrom: secretKeyRef: name: common-secrets key: rabbitmq-amqp-username # 'name' secret must exist & include that ^ key optional: false - name: AMQP_PASSWORD valueFrom: secretKeyRef: name: common-secrets key: rabbitmq-amqp-password # 'name' secret must exist & include that ^ key optional: false

      command:
        - /entrypoint.sh
      volumeMounts:
      - name: configuration-template
        mountPath: /entrypoint.sh
        subPath: "init-container-entrypoint.sh"
        readOnly: true
      - name: configuration
        mountPath: /etc/swh
      - name: configuration-template
        mountPath: /etc/swh/configuration-template
      - name: metadata-fetcher-credentials
        mountPath: /etc/credentials/metadata-fetcher
        readOnly: true
  containers:
  - name: loaders
    image: container-registry.softwareheritage.org/swh/infra/swh-apps/loader_git:20221104.2

    imagePullPolicy: Always
    command:
      - /opt/swh/entrypoint.sh
    resources:
      requests:
        memory: 256Mi
        cpu: 200m
    lifecycle:
      preStop:
        exec:
          command: ["/pre-stop.sh"]
    env:
    - name: STATSD_HOST
      value: prometheus-statsd-exporter
    - name: STATSD_PORT
      value: "9125"
    - name: MAX_TASKS_PER_CHILD
      value: "10"
    - name: LOGLEVEL
      value: "INFO"
    - name: SWH_CONFIG_FILENAME
      value: /etc/swh/config.yml
    - name: SWH_LOG_CONFIG
      value: /logging-configuration.yml
    - name: SWH_SENTRY_ENVIRONMENT
      value: staging
    - name: SWH_MAIN_PACKAGE
      value: swh.loader.git
    - name: SWH_SENTRY_DSN
      valueFrom:
        secretKeyRef:
          name: common-secrets
          key: loader-git-sentry-dsn
          # 'name' secret must exist & include key "host"
          optional: false
    volumeMounts:
      - name: loader-utils
        mountPath: /pre-stop.sh
        subPath: "pre-stop.sh"
      - name: configuration
        mountPath: /etc/swh
      - name: localstorage
        mountPath: /tmp
      - name: configuration-template
        mountPath: /logging-configuration.yml
        subPath: "logging-configuration.yml.template"
        readOnly: true
  volumes:
  - name: localstorage
    ephemeral:
      volumeClaimTemplate:
        metadata:
          labels:
            type: ephemeral-volume
        spec:
          accessModes:
          - ReadWriteOnce
          resources:
            requests:
              storage: 100Gi
          storageClassName: local-path
  - name: configuration
    emptyDir: {}
  - name: configuration-template
    configMap:
      name: loader-git-template
      defaultMode: 0777
      items:
      - key: "config.yml.template"
        path: "config.yml.template"
      - key: "init-container-entrypoint.sh"
        path: "init-container-entrypoint.sh"
      - key: "logging-configuration.yml.template"
        path: "logging-configuration.yml.template"
  - name: loader-utils
    configMap:
      name: loader-utils
      defaultMode: 0777
      items:
      - key: "pre-stop-idempotent.sh"
        path: "pre-stop.sh"
  - name: metadata-fetcher-credentials
    secret:
      secretName: metadata-fetcher-credentials
      optional: true

if defined at the "typed" loader level

otherwise if the global image is defined


Source: swh/templates/loaders/deployment.yaml

apiVersion: apps/v1 kind: Deployment metadata: name: loader-golang namespace: test labels: app: loader-golang spec: revisionHistoryLimit: 2 selector: matchLabels: app: loader-golang strategy: type: RollingUpdate rollingUpdate: maxSurge: 1 template: metadata: labels: app: loader-golang annotations: # Force a rollout upgrade if the configuration changes checksum/config: 2dbf16d98f175a2891d1216dd27165f1a3fb35e82442be0d5d4e237a1b7e748a spec: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: swh/loader operator: In values: - "true" terminationGracePeriodSeconds: 3600 initContainers: - name: prepare-configuration image: debian:bullseye imagePullPolicy: Always env: - name: AMQP_USERNAME valueFrom: secretKeyRef: name: common-secrets key: rabbitmq-amqp-username # 'name' secret must exist & include that ^ key optional: false - name: AMQP_PASSWORD valueFrom: secretKeyRef: name: common-secrets key: rabbitmq-amqp-password # 'name' secret must exist & include that ^ key optional: false

      command:
        - /entrypoint.sh
      volumeMounts:
      - name: configuration-template
        mountPath: /entrypoint.sh
        subPath: "init-container-entrypoint.sh"
        readOnly: true
      - name: configuration
        mountPath: /etc/swh
      - name: configuration-template
        mountPath: /etc/swh/configuration-template
      - name: metadata-fetcher-credentials
        mountPath: /etc/credentials/metadata-fetcher
        readOnly: true
  containers:
  - name: loaders
    image: softwareheritage/loader_package:20221026.1

    imagePullPolicy: Always
    command:
      - /opt/swh/entrypoint.sh
    resources:
      requests:
        memory: 256Mi
        cpu: 200m
    lifecycle:
      preStop:
        exec:
          command: ["/pre-stop.sh"]
    env:
    - name: STATSD_HOST
      value: prometheus-statsd-exporter
    - name: STATSD_PORT
      value: "9125"
    - name: MAX_TASKS_PER_CHILD
      value: "10"
    - name: LOGLEVEL
      value: "INFO"
    - name: SWH_CONFIG_FILENAME
      value: /etc/swh/config.yml
    - name: SWH_LOG_CONFIG
      value: /logging-configuration.yml
    - name: SWH_SENTRY_ENVIRONMENT
      value: staging
    - name: SWH_MAIN_PACKAGE
      value: swh.loader.core
    - name: SWH_SENTRY_DSN
      valueFrom:
        secretKeyRef:
          name: common-secrets
          key: loader-golang-sentry-dsn
          # 'name' secret must exist & include key "host"
          optional: false
    volumeMounts:
      - name: loader-utils
        mountPath: /pre-stop.sh
        subPath: "pre-stop.sh"
      - name: configuration
        mountPath: /etc/swh
      - name: localstorage
        mountPath: /tmp
      - name: configuration-template
        mountPath: /logging-configuration.yml
        subPath: "logging-configuration.yml.template"
        readOnly: true
  volumes:
  - name: localstorage
    ephemeral:
      volumeClaimTemplate:
        metadata:
          labels:
            type: ephemeral-volume
        spec:
          accessModes:
          - ReadWriteOnce
          resources:
            requests:
              storage: 100Gi
          storageClassName: local-path
  - name: configuration
    emptyDir: {}
  - name: configuration-template
    configMap:
      name: loader-golang-template
      defaultMode: 0777
      items:
      - key: "config.yml.template"
        path: "config.yml.template"
      - key: "init-container-entrypoint.sh"
        path: "init-container-entrypoint.sh"
      - key: "logging-configuration.yml.template"
        path: "logging-configuration.yml.template"
  - name: loader-utils
    configMap:
      name: loader-utils
      defaultMode: 0777
      items:
      - key: "pre-stop-idempotent.sh"
        path: "pre-stop.sh"
  - name: metadata-fetcher-credentials
    secret:
      secretName: metadata-fetcher-credentials
      optional: true

if defined at the "typed" loader level

otherwise if the global image is defined


Source: swh/templates/loaders/deployment.yaml

apiVersion: apps/v1 kind: Deployment metadata: name: loader-highpriority namespace: test labels: app: loader-highpriority spec: revisionHistoryLimit: 2 selector: matchLabels: app: loader-highpriority strategy: type: RollingUpdate rollingUpdate: maxSurge: 1 template: metadata: labels: app: loader-highpriority annotations: # Force a rollout upgrade if the configuration changes checksum/config: 2dbf16d98f175a2891d1216dd27165f1a3fb35e82442be0d5d4e237a1b7e748a spec: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: swh/loader operator: In values: - "true" terminationGracePeriodSeconds: 3600 initContainers: - name: prepare-configuration image: debian:bullseye imagePullPolicy: Always env: - name: AMQP_USERNAME valueFrom: secretKeyRef: name: common-secrets key: rabbitmq-amqp-username # 'name' secret must exist & include that ^ key optional: false - name: AMQP_PASSWORD valueFrom: secretKeyRef: name: common-secrets key: rabbitmq-amqp-password # 'name' secret must exist & include that ^ key optional: false

      command:
        - /entrypoint.sh
      volumeMounts:
      - name: configuration-template
        mountPath: /entrypoint.sh
        subPath: "init-container-entrypoint.sh"
        readOnly: true
      - name: configuration
        mountPath: /etc/swh
      - name: configuration-template
        mountPath: /etc/swh/configuration-template
      - name: metadata-fetcher-credentials
        mountPath: /etc/credentials/metadata-fetcher
        readOnly: true
  containers:
  - name: loaders
    image: container-registry.softwareheritage.org/swh/infra/swh-apps/loader_highpriority:20221214.1

    imagePullPolicy: Always
    command:
      - /opt/swh/entrypoint.sh
    resources:
      requests:
        memory: 256Mi
        cpu: 200m
    lifecycle:
      preStop:
        exec:
          command: ["/pre-stop.sh"]
    env:
    - name: STATSD_HOST
      value: prometheus-statsd-exporter
    - name: STATSD_PORT
      value: "9125"
    - name: MAX_TASKS_PER_CHILD
      value: "10"
    - name: LOGLEVEL
      value: "INFO"
    - name: SWH_CONFIG_FILENAME
      value: /etc/swh/config.yml
    - name: SWH_LOG_CONFIG
      value: /logging-configuration.yml
    - name: SWH_SENTRY_ENVIRONMENT
      value: staging
    - name: SWH_MAIN_PACKAGE
      value: swh.loader.highpriority
    - name: SWH_SENTRY_DSN
      valueFrom:
        secretKeyRef:
          name: common-secrets
          key: loader-highpriority-sentry-dsn
          # 'name' secret must exist & include key "host"
          optional: false
    volumeMounts:
      - name: loader-utils
        mountPath: /pre-stop.sh
        subPath: "pre-stop.sh"
      - name: configuration
        mountPath: /etc/swh
      - name: localstorage
        mountPath: /tmp
      - name: configuration-template
        mountPath: /logging-configuration.yml
        subPath: "logging-configuration.yml.template"
        readOnly: true
  volumes:
  - name: localstorage
    ephemeral:
      volumeClaimTemplate:
        metadata:
          labels:
            type: ephemeral-volume
        spec:
          accessModes:
          - ReadWriteOnce
          resources:
            requests:
              storage: 100Gi
          storageClassName: local-path
  - name: configuration
    emptyDir: {}
  - name: configuration-template
    configMap:
      name: loader-highpriority-template
      defaultMode: 0777
      items:
      - key: "config.yml.template"
        path: "config.yml.template"
      - key: "init-container-entrypoint.sh"
        path: "init-container-entrypoint.sh"
      - key: "logging-configuration.yml.template"
        path: "logging-configuration.yml.template"
  - name: loader-utils
    configMap:
      name: loader-utils
      defaultMode: 0777
      items:
      - key: "pre-stop-idempotent.sh"
        path: "pre-stop.sh"
  - name: metadata-fetcher-credentials
    secret:
      secretName: metadata-fetcher-credentials
      optional: true

if defined at the "typed" loader level

otherwise if the global image is defined


Source: swh/templates/loaders/deployment.yaml

apiVersion: apps/v1 kind: Deployment metadata: name: loader-maven namespace: test labels: app: loader-maven spec: revisionHistoryLimit: 2 selector: matchLabels: app: loader-maven strategy: type: RollingUpdate rollingUpdate: maxSurge: 1 template: metadata: labels: app: loader-maven annotations: # Force a rollout upgrade if the configuration changes checksum/config: 2dbf16d98f175a2891d1216dd27165f1a3fb35e82442be0d5d4e237a1b7e748a spec: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: swh/loader operator: In values: - "true" terminationGracePeriodSeconds: 3600 initContainers: - name: prepare-configuration image: debian:bullseye imagePullPolicy: Always env: - name: AMQP_USERNAME valueFrom: secretKeyRef: name: common-secrets key: rabbitmq-amqp-username # 'name' secret must exist & include that ^ key optional: false - name: AMQP_PASSWORD valueFrom: secretKeyRef: name: common-secrets key: rabbitmq-amqp-password # 'name' secret must exist & include that ^ key optional: false

      command:
        - /entrypoint.sh
      volumeMounts:
      - name: configuration-template
        mountPath: /entrypoint.sh
        subPath: "init-container-entrypoint.sh"
        readOnly: true
      - name: configuration
        mountPath: /etc/swh
      - name: configuration-template
        mountPath: /etc/swh/configuration-template
      - name: metadata-fetcher-credentials
        mountPath: /etc/credentials/metadata-fetcher
        readOnly: true
  containers:
  - name: loaders
    image: softwareheritage/loader_package:20221026.1

    imagePullPolicy: Always
    command:
      - /opt/swh/entrypoint.sh
    resources:
      requests:
        memory: 256Mi
        cpu: 200m
    lifecycle:
      preStop:
        exec:
          command: ["/pre-stop.sh"]
    env:
    - name: STATSD_HOST
      value: prometheus-statsd-exporter
    - name: STATSD_PORT
      value: "9125"
    - name: MAX_TASKS_PER_CHILD
      value: "10"
    - name: LOGLEVEL
      value: "INFO"
    - name: SWH_CONFIG_FILENAME
      value: /etc/swh/config.yml
    - name: SWH_LOG_CONFIG
      value: /logging-configuration.yml
    - name: SWH_SENTRY_ENVIRONMENT
      value: staging
    - name: SWH_MAIN_PACKAGE
      value: swh.loader.core
    - name: SWH_SENTRY_DSN
      valueFrom:
        secretKeyRef:
          name: common-secrets
          key: loader-maven-sentry-dsn
          # 'name' secret must exist & include key "host"
          optional: false
    volumeMounts:
      - name: loader-utils
        mountPath: /pre-stop.sh
        subPath: "pre-stop.sh"
      - name: configuration
        mountPath: /etc/swh
      - name: localstorage
        mountPath: /tmp
      - name: configuration-template
        mountPath: /logging-configuration.yml
        subPath: "logging-configuration.yml.template"
        readOnly: true
  volumes:
  - name: localstorage
    ephemeral:
      volumeClaimTemplate:
        metadata:
          labels:
            type: ephemeral-volume
        spec:
          accessModes:
          - ReadWriteOnce
          resources:
            requests:
              storage: 100Gi
          storageClassName: local-path
  - name: configuration
    emptyDir: {}
  - name: configuration-template
    configMap:
      name: loader-maven-template
      defaultMode: 0777
      items:
      - key: "config.yml.template"
        path: "config.yml.template"
      - key: "init-container-entrypoint.sh"
        path: "init-container-entrypoint.sh"
      - key: "logging-configuration.yml.template"
        path: "logging-configuration.yml.template"
  - name: loader-utils
    configMap:
      name: loader-utils
      defaultMode: 0777
      items:
      - key: "pre-stop-idempotent.sh"
        path: "pre-stop.sh"
  - name: metadata-fetcher-credentials
    secret:
      secretName: metadata-fetcher-credentials
      optional: true

if defined at the "typed" loader level

otherwise if the global image is defined


Source: swh/templates/loaders/deployment.yaml

apiVersion: apps/v1 kind: Deployment metadata: name: loader-mercurial namespace: test labels: app: loader-mercurial spec: revisionHistoryLimit: 2 selector: matchLabels: app: loader-mercurial strategy: type: RollingUpdate rollingUpdate: maxSurge: 1 template: metadata: labels: app: loader-mercurial annotations: # Force a rollout upgrade if the configuration changes checksum/config: 2dbf16d98f175a2891d1216dd27165f1a3fb35e82442be0d5d4e237a1b7e748a spec: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: swh/loader operator: In values: - "true" terminationGracePeriodSeconds: 3600 initContainers: - name: prepare-configuration image: debian:bullseye imagePullPolicy: Always env: - name: AMQP_USERNAME valueFrom: secretKeyRef: name: common-secrets key: rabbitmq-amqp-username # 'name' secret must exist & include that ^ key optional: false - name: AMQP_PASSWORD valueFrom: secretKeyRef: name: common-secrets key: rabbitmq-amqp-password # 'name' secret must exist & include that ^ key optional: false

      command:
        - /entrypoint.sh
      volumeMounts:
      - name: configuration-template
        mountPath: /entrypoint.sh
        subPath: "init-container-entrypoint.sh"
        readOnly: true
      - name: configuration
        mountPath: /etc/swh
      - name: configuration-template
        mountPath: /etc/swh/configuration-template
      - name: metadata-fetcher-credentials
        mountPath: /etc/credentials/metadata-fetcher
        readOnly: true
  containers:
  - name: loaders
    image: softwareheritage/loader_mercurial:20220926.1

    imagePullPolicy: Always
    command:
      - /opt/swh/entrypoint.sh
    resources:
      requests:
        memory: 256Mi
        cpu: 200m
    lifecycle:
      preStop:
        exec:
          command: ["/pre-stop.sh"]
    env:
    - name: STATSD_HOST
      value: prometheus-statsd-exporter
    - name: STATSD_PORT
      value: "9125"
    - name: MAX_TASKS_PER_CHILD
      value: "10"
    - name: LOGLEVEL
      value: "INFO"
    - name: SWH_CONFIG_FILENAME
      value: /etc/swh/config.yml
    - name: SWH_LOG_CONFIG
      value: /logging-configuration.yml
    - name: SWH_SENTRY_ENVIRONMENT
      value: staging
    - name: SWH_MAIN_PACKAGE
      value: swh.loader.mercurial
    - name: SWH_SENTRY_DSN
      valueFrom:
        secretKeyRef:
          name: common-secrets
          key: loader-mercurial-sentry-dsn
          # 'name' secret must exist & include key "host"
          optional: false
    volumeMounts:
      - name: loader-utils
        mountPath: /pre-stop.sh
        subPath: "pre-stop.sh"
      - name: configuration
        mountPath: /etc/swh
      - name: localstorage
        mountPath: /tmp
      - name: configuration-template
        mountPath: /logging-configuration.yml
        subPath: "logging-configuration.yml.template"
        readOnly: true
  volumes:
  - name: localstorage
    ephemeral:
      volumeClaimTemplate:
        metadata:
          labels:
            type: ephemeral-volume
        spec:
          accessModes:
          - ReadWriteOnce
          resources:
            requests:
              storage: 100Gi
          storageClassName: local-path
  - name: configuration
    emptyDir: {}
  - name: configuration-template
    configMap:
      name: loader-mercurial-template
      defaultMode: 0777
      items:
      - key: "config.yml.template"
        path: "config.yml.template"
      - key: "init-container-entrypoint.sh"
        path: "init-container-entrypoint.sh"
      - key: "logging-configuration.yml.template"
        path: "logging-configuration.yml.template"
  - name: loader-utils
    configMap:
      name: loader-utils
      defaultMode: 0777
      items:
      - key: "pre-stop-idempotent.sh"
        path: "pre-stop.sh"
  - name: metadata-fetcher-credentials
    secret:
      secretName: metadata-fetcher-credentials
      optional: true

if defined at the "typed" loader level

otherwise if the global image is defined


Source: swh/templates/loaders/deployment.yaml

apiVersion: apps/v1 kind: Deployment metadata: name: loader-npm namespace: test labels: app: loader-npm spec: revisionHistoryLimit: 2 selector: matchLabels: app: loader-npm strategy: type: RollingUpdate rollingUpdate: maxSurge: 1 template: metadata: labels: app: loader-npm annotations: # Force a rollout upgrade if the configuration changes checksum/config: 2dbf16d98f175a2891d1216dd27165f1a3fb35e82442be0d5d4e237a1b7e748a spec: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: swh/loader operator: In values: - "true" terminationGracePeriodSeconds: 3600 initContainers: - name: prepare-configuration image: debian:bullseye imagePullPolicy: Always env: - name: AMQP_USERNAME valueFrom: secretKeyRef: name: common-secrets key: rabbitmq-amqp-username # 'name' secret must exist & include that ^ key optional: false - name: AMQP_PASSWORD valueFrom: secretKeyRef: name: common-secrets key: rabbitmq-amqp-password # 'name' secret must exist & include that ^ key optional: false

      command:
        - /entrypoint.sh
      volumeMounts:
      - name: configuration-template
        mountPath: /entrypoint.sh
        subPath: "init-container-entrypoint.sh"
        readOnly: true
      - name: configuration
        mountPath: /etc/swh
      - name: configuration-template
        mountPath: /etc/swh/configuration-template
      - name: metadata-fetcher-credentials
        mountPath: /etc/credentials/metadata-fetcher
        readOnly: true
  containers:
  - name: loaders
    image: softwareheritage/loader_package:20221026.1

    imagePullPolicy: Always
    command:
      - /opt/swh/entrypoint.sh
    resources:
      requests:
        memory: 256Mi
        cpu: 200m
    lifecycle:
      preStop:
        exec:
          command: ["/pre-stop.sh"]
    env:
    - name: STATSD_HOST
      value: prometheus-statsd-exporter
    - name: STATSD_PORT
      value: "9125"
    - name: MAX_TASKS_PER_CHILD
      value: "10"
    - name: LOGLEVEL
      value: "INFO"
    - name: SWH_CONFIG_FILENAME
      value: /etc/swh/config.yml
    - name: SWH_LOG_CONFIG
      value: /logging-configuration.yml
    - name: SWH_SENTRY_ENVIRONMENT
      value: staging
    - name: SWH_MAIN_PACKAGE
      value: swh.loader.core
    - name: SWH_SENTRY_DSN
      valueFrom:
        secretKeyRef:
          name: common-secrets
          key: loader-npm-sentry-dsn
          # 'name' secret must exist & include key "host"
          optional: false
    volumeMounts:
      - name: loader-utils
        mountPath: /pre-stop.sh
        subPath: "pre-stop.sh"
      - name: configuration
        mountPath: /etc/swh
      - name: localstorage
        mountPath: /tmp
      - name: configuration-template
        mountPath: /logging-configuration.yml
        subPath: "logging-configuration.yml.template"
        readOnly: true
  volumes:
  - name: localstorage
    ephemeral:
      volumeClaimTemplate:
        metadata:
          labels:
            type: ephemeral-volume
        spec:
          accessModes:
          - ReadWriteOnce
          resources:
            requests:
              storage: 100Gi
          storageClassName: local-path
  - name: configuration
    emptyDir: {}
  - name: configuration-template
    configMap:
      name: loader-npm-template
      defaultMode: 0777
      items:
      - key: "config.yml.template"
        path: "config.yml.template"
      - key: "init-container-entrypoint.sh"
        path: "init-container-entrypoint.sh"
      - key: "logging-configuration.yml.template"
        path: "logging-configuration.yml.template"
  - name: loader-utils
    configMap:
      name: loader-utils
      defaultMode: 0777
      items:
      - key: "pre-stop-idempotent.sh"
        path: "pre-stop.sh"
  - name: metadata-fetcher-credentials
    secret:
      secretName: metadata-fetcher-credentials
      optional: true

if defined at the "typed" loader level

otherwise if the global image is defined


Source: swh/templates/loaders/deployment.yaml

apiVersion: apps/v1 kind: Deployment metadata: name: loader-opam namespace: test labels: app: loader-opam spec: revisionHistoryLimit: 2 selector: matchLabels: app: loader-opam strategy: type: RollingUpdate rollingUpdate: maxSurge: 1 template: metadata: labels: app: loader-opam annotations: # Force a rollout upgrade if the configuration changes checksum/config: 2dbf16d98f175a2891d1216dd27165f1a3fb35e82442be0d5d4e237a1b7e748a spec: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: swh/loader operator: In values: - "true" terminationGracePeriodSeconds: 3600 initContainers: - name: prepare-configuration image: debian:bullseye imagePullPolicy: Always env: - name: AMQP_USERNAME valueFrom: secretKeyRef: name: common-secrets key: rabbitmq-amqp-username # 'name' secret must exist & include that ^ key optional: false - name: AMQP_PASSWORD valueFrom: secretKeyRef: name: common-secrets key: rabbitmq-amqp-password # 'name' secret must exist & include that ^ key optional: false

      command:
        - /entrypoint.sh
      volumeMounts:
      - name: configuration-template
        mountPath: /entrypoint.sh
        subPath: "init-container-entrypoint.sh"
        readOnly: true
      - name: configuration
        mountPath: /etc/swh
      - name: configuration-template
        mountPath: /etc/swh/configuration-template
      - name: metadata-fetcher-credentials
        mountPath: /etc/credentials/metadata-fetcher
        readOnly: true
  containers:
  - name: loaders
    image: softwareheritage/loader_package:20221026.1

    imagePullPolicy: Always
    command:
      - /opt/swh/entrypoint.sh
    resources:
      requests:
        memory: 256Mi
        cpu: 200m
    lifecycle:
      preStop:
        exec:
          command: ["/pre-stop.sh"]
    env:
    - name: STATSD_HOST
      value: prometheus-statsd-exporter
    - name: STATSD_PORT
      value: "9125"
    - name: MAX_TASKS_PER_CHILD
      value: "10"
    - name: LOGLEVEL
      value: "INFO"
    - name: SWH_CONFIG_FILENAME
      value: /etc/swh/config.yml
    - name: SWH_LOG_CONFIG
      value: /logging-configuration.yml
    - name: SWH_SENTRY_ENVIRONMENT
      value: staging
    - name: SWH_MAIN_PACKAGE
      value: swh.loader.core
    - name: SWH_SENTRY_DSN
      valueFrom:
        secretKeyRef:
          name: common-secrets
          key: loader-opam-sentry-dsn
          # 'name' secret must exist & include key "host"
          optional: false
    volumeMounts:
      - name: loader-utils
        mountPath: /pre-stop.sh
        subPath: "pre-stop.sh"
      - name: configuration
        mountPath: /etc/swh
      - name: localstorage
        mountPath: /tmp
      - name: configuration-template
        mountPath: /logging-configuration.yml
        subPath: "logging-configuration.yml.template"
        readOnly: true
  volumes:
  - name: localstorage
    ephemeral:
      volumeClaimTemplate:
        metadata:
          labels:
            type: ephemeral-volume
        spec:
          accessModes:
          - ReadWriteOnce
          resources:
            requests:
              storage: 100Gi
          storageClassName: local-path
  - name: configuration
    emptyDir: {}
  - name: configuration-template
    configMap:
      name: loader-opam-template
      defaultMode: 0777
      items:
      - key: "config.yml.template"
        path: "config.yml.template"
      - key: "init-container-entrypoint.sh"
        path: "init-container-entrypoint.sh"
      - key: "logging-configuration.yml.template"
        path: "logging-configuration.yml.template"
  - name: loader-utils
    configMap:
      name: loader-utils
      defaultMode: 0777
      items:
      - key: "pre-stop-idempotent.sh"
        path: "pre-stop.sh"
  - name: metadata-fetcher-credentials
    secret:
      secretName: metadata-fetcher-credentials
      optional: true

if defined at the "typed" loader level

otherwise if the global image is defined


Source: swh/templates/loaders/deployment.yaml

apiVersion: apps/v1 kind: Deployment metadata: name: loader-pubdev namespace: test labels: app: loader-pubdev spec: revisionHistoryLimit: 2 selector: matchLabels: app: loader-pubdev strategy: type: RollingUpdate rollingUpdate: maxSurge: 1 template: metadata: labels: app: loader-pubdev annotations: # Force a rollout upgrade if the configuration changes checksum/config: 2dbf16d98f175a2891d1216dd27165f1a3fb35e82442be0d5d4e237a1b7e748a spec: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: swh/loader operator: In values: - "true" terminationGracePeriodSeconds: 3600 initContainers: - name: prepare-configuration image: debian:bullseye imagePullPolicy: Always env: - name: AMQP_USERNAME valueFrom: secretKeyRef: name: common-secrets key: rabbitmq-amqp-username # 'name' secret must exist & include that ^ key optional: false - name: AMQP_PASSWORD valueFrom: secretKeyRef: name: common-secrets key: rabbitmq-amqp-password # 'name' secret must exist & include that ^ key optional: false

      command:
        - /entrypoint.sh
      volumeMounts:
      - name: configuration-template
        mountPath: /entrypoint.sh
        subPath: "init-container-entrypoint.sh"
        readOnly: true
      - name: configuration
        mountPath: /etc/swh
      - name: configuration-template
        mountPath: /etc/swh/configuration-template
      - name: metadata-fetcher-credentials
        mountPath: /etc/credentials/metadata-fetcher
        readOnly: true
  containers:
  - name: loaders
    image: softwareheritage/loader_package:20221026.1

    imagePullPolicy: Always
    command:
      - /opt/swh/entrypoint.sh
    resources:
      requests:
        memory: 256Mi
        cpu: 200m
    lifecycle:
      preStop:
        exec:
          command: ["/pre-stop.sh"]
    env:
    - name: STATSD_HOST
      value: prometheus-statsd-exporter
    - name: STATSD_PORT
      value: "9125"
    - name: MAX_TASKS_PER_CHILD
      value: "10"
    - name: LOGLEVEL
      value: "INFO"
    - name: SWH_CONFIG_FILENAME
      value: /etc/swh/config.yml
    - name: SWH_LOG_CONFIG
      value: /logging-configuration.yml
    - name: SWH_SENTRY_ENVIRONMENT
      value: staging
    - name: SWH_MAIN_PACKAGE
      value: swh.loader.core
    - name: SWH_SENTRY_DSN
      valueFrom:
        secretKeyRef:
          name: common-secrets
          key: loader-pubdev-sentry-dsn
          # 'name' secret must exist & include key "host"
          optional: false
    volumeMounts:
      - name: loader-utils
        mountPath: /pre-stop.sh
        subPath: "pre-stop.sh"
      - name: configuration
        mountPath: /etc/swh
      - name: localstorage
        mountPath: /tmp
      - name: configuration-template
        mountPath: /logging-configuration.yml
        subPath: "logging-configuration.yml.template"
        readOnly: true
  volumes:
  - name: localstorage
    ephemeral:
      volumeClaimTemplate:
        metadata:
          labels:
            type: ephemeral-volume
        spec:
          accessModes:
          - ReadWriteOnce
          resources:
            requests:
              storage: 100Gi
          storageClassName: local-path
  - name: configuration
    emptyDir: {}
  - name: configuration-template
    configMap:
      name: loader-pubdev-template
      defaultMode: 0777
      items:
      - key: "config.yml.template"
        path: "config.yml.template"
      - key: "init-container-entrypoint.sh"
        path: "init-container-entrypoint.sh"
      - key: "logging-configuration.yml.template"
        path: "logging-configuration.yml.template"
  - name: loader-utils
    configMap:
      name: loader-utils
      defaultMode: 0777
      items:
      - key: "pre-stop-idempotent.sh"
        path: "pre-stop.sh"
  - name: metadata-fetcher-credentials
    secret:
      secretName: metadata-fetcher-credentials
      optional: true

if defined at the "typed" loader level

otherwise if the global image is defined


Source: swh/templates/loaders/deployment.yaml

apiVersion: apps/v1 kind: Deployment metadata: name: loader-pypi namespace: test labels: app: loader-pypi spec: revisionHistoryLimit: 2 selector: matchLabels: app: loader-pypi strategy: type: RollingUpdate rollingUpdate: maxSurge: 1 template: metadata: labels: app: loader-pypi annotations: # Force a rollout upgrade if the configuration changes checksum/config: 2dbf16d98f175a2891d1216dd27165f1a3fb35e82442be0d5d4e237a1b7e748a spec: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: swh/loader operator: In values: - "true" terminationGracePeriodSeconds: 3600 initContainers: - name: prepare-configuration image: debian:bullseye imagePullPolicy: Always env: - name: AMQP_USERNAME valueFrom: secretKeyRef: name: common-secrets key: rabbitmq-amqp-username # 'name' secret must exist & include that ^ key optional: false - name: AMQP_PASSWORD valueFrom: secretKeyRef: name: common-secrets key: rabbitmq-amqp-password # 'name' secret must exist & include that ^ key optional: false

      command:
        - /entrypoint.sh
      volumeMounts:
      - name: configuration-template
        mountPath: /entrypoint.sh
        subPath: "init-container-entrypoint.sh"
        readOnly: true
      - name: configuration
        mountPath: /etc/swh
      - name: configuration-template
        mountPath: /etc/swh/configuration-template
      - name: metadata-fetcher-credentials
        mountPath: /etc/credentials/metadata-fetcher
        readOnly: true
  containers:
  - name: loaders
    image: softwareheritage/loader_package:20221026.1

    imagePullPolicy: Always
    command:
      - /opt/swh/entrypoint.sh
    resources:
      requests:
        memory: 256Mi
        cpu: 200m
    lifecycle:
      preStop:
        exec:
          command: ["/pre-stop.sh"]
    env:
    - name: STATSD_HOST
      value: prometheus-statsd-exporter
    - name: STATSD_PORT
      value: "9125"
    - name: MAX_TASKS_PER_CHILD
      value: "10"
    - name: LOGLEVEL
      value: "INFO"
    - name: SWH_CONFIG_FILENAME
      value: /etc/swh/config.yml
    - name: SWH_LOG_CONFIG
      value: /logging-configuration.yml
    - name: SWH_SENTRY_ENVIRONMENT
      value: staging
    - name: SWH_MAIN_PACKAGE
      value: swh.loader.core
    - name: SWH_SENTRY_DSN
      valueFrom:
        secretKeyRef:
          name: common-secrets
          key: loader-pypi-sentry-dsn
          # 'name' secret must exist & include key "host"
          optional: false
    volumeMounts:
      - name: loader-utils
        mountPath: /pre-stop.sh
        subPath: "pre-stop.sh"
      - name: configuration
        mountPath: /etc/swh
      - name: localstorage
        mountPath: /tmp
      - name: configuration-template
        mountPath: /logging-configuration.yml
        subPath: "logging-configuration.yml.template"
        readOnly: true
  volumes:
  - name: localstorage
    ephemeral:
      volumeClaimTemplate:
        metadata:
          labels:
            type: ephemeral-volume
        spec:
          accessModes:
          - ReadWriteOnce
          resources:
            requests:
              storage: 100Gi
          storageClassName: local-path
  - name: configuration
    emptyDir: {}
  - name: configuration-template
    configMap:
      name: loader-pypi-template
      defaultMode: 0777
      items:
      - key: "config.yml.template"
        path: "config.yml.template"
      - key: "init-container-entrypoint.sh"
        path: "init-container-entrypoint.sh"
      - key: "logging-configuration.yml.template"
        path: "logging-configuration.yml.template"
  - name: loader-utils
    configMap:
      name: loader-utils
      defaultMode: 0777
      items:
      - key: "pre-stop-idempotent.sh"
        path: "pre-stop.sh"
  - name: metadata-fetcher-credentials
    secret:
      secretName: metadata-fetcher-credentials
      optional: true

if defined at the "typed" loader level

otherwise if the global image is defined


Source: swh/templates/loaders/deployment.yaml

apiVersion: apps/v1 kind: Deployment metadata: name: loader-svn namespace: test labels: app: loader-svn spec: revisionHistoryLimit: 2 selector: matchLabels: app: loader-svn strategy: type: RollingUpdate rollingUpdate: maxSurge: 1 template: metadata: labels: app: loader-svn annotations: # Force a rollout upgrade if the configuration changes checksum/config: 2dbf16d98f175a2891d1216dd27165f1a3fb35e82442be0d5d4e237a1b7e748a spec: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: swh/loader operator: In values: - "true" terminationGracePeriodSeconds: 3600 initContainers: - name: prepare-configuration image: debian:bullseye imagePullPolicy: Always env: - name: AMQP_USERNAME valueFrom: secretKeyRef: name: common-secrets key: rabbitmq-amqp-username # 'name' secret must exist & include that ^ key optional: false - name: AMQP_PASSWORD valueFrom: secretKeyRef: name: common-secrets key: rabbitmq-amqp-password # 'name' secret must exist & include that ^ key optional: false

      command:
        - /entrypoint.sh
      volumeMounts:
      - name: configuration-template
        mountPath: /entrypoint.sh
        subPath: "init-container-entrypoint.sh"
        readOnly: true
      - name: configuration
        mountPath: /etc/swh
      - name: configuration-template
        mountPath: /etc/swh/configuration-template
      - name: metadata-fetcher-credentials
        mountPath: /etc/credentials/metadata-fetcher
        readOnly: true
  containers:
  - name: loaders
    image: container-registry.softwareheritage.org/swh/infra/swh-apps/loader_svn:20221214.1

    imagePullPolicy: Always
    command:
      - /opt/swh/entrypoint.sh
    resources:
      requests:
        memory: 256Mi
        cpu: 200m
    lifecycle:
      preStop:
        exec:
          command: ["/pre-stop.sh"]
    env:
    - name: STATSD_HOST
      value: prometheus-statsd-exporter
    - name: STATSD_PORT
      value: "9125"
    - name: MAX_TASKS_PER_CHILD
      value: "10"
    - name: LOGLEVEL
      value: "INFO"
    - name: SWH_CONFIG_FILENAME
      value: /etc/swh/config.yml
    - name: SWH_LOG_CONFIG
      value: /logging-configuration.yml
    - name: SWH_SENTRY_ENVIRONMENT
      value: staging
    - name: SWH_MAIN_PACKAGE
      value: swh.loader.svn
    - name: SWH_SENTRY_DSN
      valueFrom:
        secretKeyRef:
          name: common-secrets
          key: loader-svn-sentry-dsn
          # 'name' secret must exist & include key "host"
          optional: false
    volumeMounts:
      - name: loader-utils
        mountPath: /pre-stop.sh
        subPath: "pre-stop.sh"
      - name: configuration
        mountPath: /etc/swh
      - name: localstorage
        mountPath: /tmp
      - name: configuration-template
        mountPath: /logging-configuration.yml
        subPath: "logging-configuration.yml.template"
        readOnly: true
  volumes:
  - name: localstorage
    ephemeral:
      volumeClaimTemplate:
        metadata:
          labels:
            type: ephemeral-volume
        spec:
          accessModes:
          - ReadWriteOnce
          resources:
            requests:
              storage: 100Gi
          storageClassName: local-path
  - name: configuration
    emptyDir: {}
  - name: configuration-template
    configMap:
      name: loader-svn-template
      defaultMode: 0777
      items:
      - key: "config.yml.template"
        path: "config.yml.template"
      - key: "init-container-entrypoint.sh"
        path: "init-container-entrypoint.sh"
      - key: "logging-configuration.yml.template"
        path: "logging-configuration.yml.template"
  - name: loader-utils
    configMap:
      name: loader-utils
      defaultMode: 0777
      items:
      - key: "pre-stop-idempotent.sh"
        path: "pre-stop.sh"
  - name: metadata-fetcher-credentials
    secret:
      secretName: metadata-fetcher-credentials
      optional: true

Source: swh/templates/statsd-exporter/deployment.yaml

apiVersion: apps/v1 kind: Deployment metadata: name: prometheus-statsd-exporter namespace: test labels: app: prometheus-statsd-exporter spec: replicas: 1 selector: matchLabels: app: prometheus-statsd-exporter template: metadata: labels: app: prometheus-statsd-exporter spec: containers: - name: prometheus-statsd-exporter image: prom/statsd-exporter:v0.22.7 imagePullPolicy: Always args: - "--statsd.mapping-config=/etc/prometheus/statsd-mapping.yml" ports: - containerPort: 9125 volumeMounts: - name: config mountPath: /etc/prometheus/statsd-mapping.yml subPath: config.yml readOnly: true volumes: - name: config configMap: name: prometheus-statsd-exporter

Source: swh/templates/graphql/ingress.yaml

apiVersion: networking.k8s.io/v1 kind: Ingress metadata: namespace: test name: graphql-ingress annotations: nginx.ingress.kubernetes.io/rewrite-target: / spec: rules:

  • http: paths:
    • path: / pathType: Prefix backend: service: name: graphql port: number: 5013 host: graphql.internal.staging.swh.network

Source: swh/templates/loaders/deployment.yaml

if defined at the "typed" loader level

otherwise if the global image is defined


Source: swh/templates/checker-deposit/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: ScaledObject metadata: name: checker-deposit-operators namespace: test spec: scaleTargetRef: apiVersion: apps/v1 # Optional. Default: apps/v1 kind: Deployment # Optional. Default: Deployment # Mandatory. Must be in same namespace as ScaledObject name: checker-deposit # envSourceContainerName: {container-name} # Optional. Default: # .spec.template.spec.containers[0] pollingInterval: 30 # Optional. Default: 30 seconds cooldownPeriod: 3600 # Optional. Default: 300 seconds idleReplicaCount: 0 # Optional. Must be less than # minReplicaCount minReplicaCount: 0 maxReplicaCount: 2 triggers:

  • type: rabbitmq authenticationRef: name: amqp-authentication-checker-deposit metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "1" queueName: swh.deposit.loader.tasks.ChecksDepositTsk vhostName: / # Optional. If not specified, use the vhost in the # host connection string. Alternatively, you can # use existing environment variables to read # configuration from: See details in "Parameter # list" section hostFromEnv: RABBITMQ_HOST%

Source: swh/templates/cookers/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: ScaledObject metadata: name: cooker-batch-operators namespace: test spec: scaleTargetRef: apiVersion: apps/v1 # Optional. Default: apps/v1 kind: Deployment # Optional. Default: Deployment # Mandatory. Must be in same namespace as ScaledObject name: cooker-batch # envSourceContainerName: {container-name} # Optional. Default: # .spec.template.spec.containers[0] pollingInterval: 30 # Optional. Default: 30 seconds cooldownPeriod: 3600 # Optional. Default: 300 seconds idleReplicaCount: 0 # Optional. Must be less than # minReplicaCount minReplicaCount: 0 maxReplicaCount: 2 triggers:

  • type: rabbitmq authenticationRef: name: amqp-authentication-cooker-batch metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "1" queueName: swh.vault.cooking_tasks.SWHBatchCookingTask vhostName: / # Optional. If not specified, use the vhost in the # host connection string. Alternatively, you can # use existing environment variables to read # configuration from: See details in "Parameter # list" section hostFromEnv: RABBITMQ_HOST%

Source: swh/templates/cookers/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: ScaledObject metadata: name: cooker-simple-operators namespace: test spec: scaleTargetRef: apiVersion: apps/v1 # Optional. Default: apps/v1 kind: Deployment # Optional. Default: Deployment # Mandatory. Must be in same namespace as ScaledObject name: cooker-simple # envSourceContainerName: {container-name} # Optional. Default: # .spec.template.spec.containers[0] pollingInterval: 30 # Optional. Default: 30 seconds cooldownPeriod: 3600 # Optional. Default: 300 seconds idleReplicaCount: 0 # Optional. Must be less than # minReplicaCount minReplicaCount: 0 maxReplicaCount: 2 triggers:

  • type: rabbitmq authenticationRef: name: amqp-authentication-cooker-simple metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "1" queueName: swh.vault.cooking_tasks.SWHCookingTask vhostName: / # Optional. If not specified, use the vhost in the # host connection string. Alternatively, you can # use existing environment variables to read # configuration from: See details in "Parameter # list" section hostFromEnv: RABBITMQ_HOST%

Source: swh/templates/indexers/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: ScaledObject metadata: name: indexer-content-fossology-license-scaledobject namespace: test spec: scaleTargetRef: name: indexer-content-fossology-license pollingInterval: 120 minReplicaCount: 1 maxReplicaCount: 2 triggers:

  • type: kafka metadata: bootstrapServers: journal1.internal.staging.swh.network:9092

    consumerGroup: swh.indexer.journal_client.content_fossology_license

    lagThreshold: "1000" offsetResetPolicy: earliest authenticationRef: name: keda-storage-replayer-trigger-authentication


Source: swh/templates/indexers/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: ScaledObject metadata: name: indexer-content-mimetype-scaledobject namespace: test spec: scaleTargetRef: name: indexer-content-mimetype pollingInterval: 120 minReplicaCount: 1 maxReplicaCount: 2 triggers:

  • type: kafka metadata: bootstrapServers: journal1.internal.staging.swh.network:9092

    consumerGroup: swh.indexer.journal_client.content_mimetype

    lagThreshold: "1000" offsetResetPolicy: earliest authenticationRef: name: keda-storage-replayer-trigger-authentication


Source: swh/templates/indexers/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: ScaledObject metadata: name: indexer-origin-extrinsic-scaledobject namespace: test spec: scaleTargetRef: name: indexer-origin-extrinsic pollingInterval: 120 minReplicaCount: 1 maxReplicaCount: 2 triggers:

  • type: kafka metadata: bootstrapServers: journal1.internal.staging.swh.network:9092

    consumerGroup: swh.indexer.journal_client.extrinsic_metadata

    lagThreshold: "1000" offsetResetPolicy: earliest authenticationRef: name: keda-storage-replayer-trigger-authentication


Source: swh/templates/indexers/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: ScaledObject metadata: name: indexer-origin-intrinsic-scaledobject namespace: test spec: scaleTargetRef: name: indexer-origin-intrinsic pollingInterval: 120 minReplicaCount: 1 maxReplicaCount: 6 triggers:

  • type: kafka metadata: bootstrapServers: journal1.internal.staging.swh.network:9092

    consumerGroup: swh.indexer.journal_client.origin_intrinsic_metadata

    lagThreshold: "1000" offsetResetPolicy: earliest authenticationRef: name: keda-storage-replayer-trigger-authentication


Source: swh/templates/listers/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: ScaledObject metadata: name: lister-all-operators namespace: test spec: scaleTargetRef: apiVersion: apps/v1 # Optional. Default: apps/v1 kind: Deployment # Optional. Default: Deployment # Mandatory. Must be in same namespace as ScaledObject name: lister-all # envSourceContainerName: {container-name} # Optional. Default: # .spec.template.spec.containers[0] pollingInterval: 30 # Optional. Default: 30 seconds cooldownPeriod: 3600 # Optional. Default: 300 seconds idleReplicaCount: 0 # Optional. Must be less than # minReplicaCount minReplicaCount: 0 maxReplicaCount: 2 triggers:

  • type: rabbitmq authenticationRef: name: amqp-authentication-lister-all metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "1" queueName: swh.lister.cgit.tasks.CGitListerTask vhostName: / # Optional. If not specified, use the vhost in the # host connection string. Alternatively, you can # use existing environment variables to read # configuration from: See details in "Parameter # list" section hostFromEnv: RABBITMQ_HOST%
  • type: rabbitmq authenticationRef: name: amqp-authentication-lister-all metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "1" queueName: swh.lister.cran.tasks.CRANListerTask vhostName: / # Optional. If not specified, use the vhost in the # host connection string. Alternatively, you can # use existing environment variables to read # configuration from: See details in "Parameter # list" section hostFromEnv: RABBITMQ_HOST%
  • type: rabbitmq authenticationRef: name: amqp-authentication-lister-all metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "1" queueName: swh.lister.debian.tasks.DebianListerTask vhostName: / # Optional. If not specified, use the vhost in the # host connection string. Alternatively, you can # use existing environment variables to read # configuration from: See details in "Parameter # list" section hostFromEnv: RABBITMQ_HOST%
  • type: rabbitmq authenticationRef: name: amqp-authentication-lister-all metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "1" queueName: swh.lister.gitea.tasks.IncrementalGiteaLister vhostName: / # Optional. If not specified, use the vhost in the # host connection string. Alternatively, you can # use existing environment variables to read # configuration from: See details in "Parameter # list" section hostFromEnv: RABBITMQ_HOST%
  • type: rabbitmq authenticationRef: name: amqp-authentication-lister-all metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "1" queueName: swh.lister.gitea.tasks.RangeGiteaLister vhostName: / # Optional. If not specified, use the vhost in the # host connection string. Alternatively, you can # use existing environment variables to read # configuration from: See details in "Parameter # list" section hostFromEnv: RABBITMQ_HOST%
  • type: rabbitmq authenticationRef: name: amqp-authentication-lister-all metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "1" queueName: swh.lister.gitea.tasks.FullGiteaRelister vhostName: / # Optional. If not specified, use the vhost in the # host connection string. Alternatively, you can # use existing environment variables to read # configuration from: See details in "Parameter # list" section hostFromEnv: RABBITMQ_HOST%
  • type: rabbitmq authenticationRef: name: amqp-authentication-lister-all metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "1" queueName: swh.lister.gitlab.tasks.IncrementalGitLabLister vhostName: / # Optional. If not specified, use the vhost in the # host connection string. Alternatively, you can # use existing environment variables to read # configuration from: See details in "Parameter # list" section hostFromEnv: RABBITMQ_HOST%
  • type: rabbitmq authenticationRef: name: amqp-authentication-lister-all metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "1" queueName: swh.lister.gitlab.tasks.RangeGitLabLister vhostName: / # Optional. If not specified, use the vhost in the # host connection string. Alternatively, you can # use existing environment variables to read # configuration from: See details in "Parameter # list" section hostFromEnv: RABBITMQ_HOST%
  • type: rabbitmq authenticationRef: name: amqp-authentication-lister-all metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "1" queueName: swh.lister.gitlab.tasks.FullGitLabRelister vhostName: / # Optional. If not specified, use the vhost in the # host connection string. Alternatively, you can # use existing environment variables to read # configuration from: See details in "Parameter # list" section hostFromEnv: RABBITMQ_HOST%
  • type: rabbitmq authenticationRef: name: amqp-authentication-lister-all metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "1" queueName: swh.lister.npm.tasks.NpmListerTask vhostName: / # Optional. If not specified, use the vhost in the # host connection string. Alternatively, you can # use existing environment variables to read # configuration from: See details in "Parameter # list" section hostFromEnv: RABBITMQ_HOST%
  • type: rabbitmq authenticationRef: name: amqp-authentication-lister-all metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "1" queueName: swh.lister.phabricator.tasks.FullPhabricatorLister vhostName: / # Optional. If not specified, use the vhost in the # host connection string. Alternatively, you can # use existing environment variables to read # configuration from: See details in "Parameter # list" section hostFromEnv: RABBITMQ_HOST%
  • type: rabbitmq authenticationRef: name: amqp-authentication-lister-all metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "1" queueName: swh.lister.pypi.tasks.PyPIListerTask vhostName: / # Optional. If not specified, use the vhost in the # host connection string. Alternatively, you can # use existing environment variables to read # configuration from: See details in "Parameter # list" section hostFromEnv: RABBITMQ_HOST%

Source: swh/templates/listers/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: ScaledObject metadata: name: lister-bitbucket-operators namespace: test spec: scaleTargetRef: apiVersion: apps/v1 # Optional. Default: apps/v1 kind: Deployment # Optional. Default: Deployment # Mandatory. Must be in same namespace as ScaledObject name: lister-bitbucket # envSourceContainerName: {container-name} # Optional. Default: # .spec.template.spec.containers[0] pollingInterval: 30 # Optional. Default: 30 seconds cooldownPeriod: 3600 # Optional. Default: 300 seconds idleReplicaCount: 0 # Optional. Must be less than # minReplicaCount minReplicaCount: 0 maxReplicaCount: 1 triggers:

  • type: rabbitmq authenticationRef: name: amqp-authentication-lister-bitbucket metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "1" queueName: swh.lister.bitbucket.tasks.IncrementalBitBucketLister vhostName: / # Optional. If not specified, use the vhost in the # host connection string. Alternatively, you can # use existing environment variables to read # configuration from: See details in "Parameter # list" section hostFromEnv: RABBITMQ_HOST%
  • type: rabbitmq authenticationRef: name: amqp-authentication-lister-bitbucket metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "1" queueName: swh.lister.bitbucket.tasks.FullBitBucketRelister vhostName: / # Optional. If not specified, use the vhost in the # host connection string. Alternatively, you can # use existing environment variables to read # configuration from: See details in "Parameter # list" section hostFromEnv: RABBITMQ_HOST%

Source: swh/templates/listers/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: ScaledObject metadata: name: lister-bower-operators namespace: test spec: scaleTargetRef: apiVersion: apps/v1 # Optional. Default: apps/v1 kind: Deployment # Optional. Default: Deployment # Mandatory. Must be in same namespace as ScaledObject name: lister-bower # envSourceContainerName: {container-name} # Optional. Default: # .spec.template.spec.containers[0] pollingInterval: 30 # Optional. Default: 30 seconds cooldownPeriod: 3600 # Optional. Default: 300 seconds idleReplicaCount: 0 # Optional. Must be less than # minReplicaCount minReplicaCount: 0 maxReplicaCount: 1 triggers:

  • type: rabbitmq authenticationRef: name: amqp-authentication-lister-bower metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "1" queueName: swh.lister.bower.tasks.BowerListerTask vhostName: / # Optional. If not specified, use the vhost in the # host connection string. Alternatively, you can # use existing environment variables to read # configuration from: See details in "Parameter # list" section hostFromEnv: RABBITMQ_HOST%

Source: swh/templates/listers/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: ScaledObject metadata: name: lister-gnu-full-operators namespace: test spec: scaleTargetRef: apiVersion: apps/v1 # Optional. Default: apps/v1 kind: Deployment # Optional. Default: Deployment # Mandatory. Must be in same namespace as ScaledObject name: lister-gnu-full # envSourceContainerName: {container-name} # Optional. Default: # .spec.template.spec.containers[0] pollingInterval: 30 # Optional. Default: 30 seconds cooldownPeriod: 3600 # Optional. Default: 300 seconds idleReplicaCount: 0 # Optional. Must be less than # minReplicaCount minReplicaCount: 0 maxReplicaCount: 1 triggers:

  • type: rabbitmq authenticationRef: name: amqp-authentication-lister-gnu-full metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "1" queueName: swh.lister.gnu.tasks.GNUListerTask vhostName: / # Optional. If not specified, use the vhost in the # host connection string. Alternatively, you can # use existing environment variables to read # configuration from: See details in "Parameter # list" section hostFromEnv: RABBITMQ_HOST%

Source: swh/templates/listers/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: ScaledObject metadata: name: lister-gogs-full-operators namespace: test spec: scaleTargetRef: apiVersion: apps/v1 # Optional. Default: apps/v1 kind: Deployment # Optional. Default: Deployment # Mandatory. Must be in same namespace as ScaledObject name: lister-gogs-full # envSourceContainerName: {container-name} # Optional. Default: # .spec.template.spec.containers[0] pollingInterval: 30 # Optional. Default: 30 seconds cooldownPeriod: 3600 # Optional. Default: 300 seconds idleReplicaCount: 0 # Optional. Must be less than # minReplicaCount minReplicaCount: 0 maxReplicaCount: 1 triggers:

  • type: rabbitmq authenticationRef: name: amqp-authentication-lister-gogs-full metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "1" queueName: swh.lister.gogs.tasks.FullGogsRelister vhostName: / # Optional. If not specified, use the vhost in the # host connection string. Alternatively, you can # use existing environment variables to read # configuration from: See details in "Parameter # list" section hostFromEnv: RABBITMQ_HOST%

Source: swh/templates/listers/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: ScaledObject metadata: name: lister-golang-operators namespace: test spec: scaleTargetRef: apiVersion: apps/v1 # Optional. Default: apps/v1 kind: Deployment # Optional. Default: Deployment # Mandatory. Must be in same namespace as ScaledObject name: lister-golang # envSourceContainerName: {container-name} # Optional. Default: # .spec.template.spec.containers[0] pollingInterval: 30 # Optional. Default: 30 seconds cooldownPeriod: 3600 # Optional. Default: 300 seconds idleReplicaCount: 0 # Optional. Must be less than # minReplicaCount minReplicaCount: 0 maxReplicaCount: 1 triggers:

  • type: rabbitmq authenticationRef: name: amqp-authentication-lister-golang metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "1" queueName: swh.lister.golang.tasks.FullGolangLister vhostName: / # Optional. If not specified, use the vhost in the # host connection string. Alternatively, you can # use existing environment variables to read # configuration from: See details in "Parameter # list" section hostFromEnv: RABBITMQ_HOST%
  • type: rabbitmq authenticationRef: name: amqp-authentication-lister-golang metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "1" queueName: swh.lister.golang.tasks.IncrementalGolangLister vhostName: / # Optional. If not specified, use the vhost in the # host connection string. Alternatively, you can # use existing environment variables to read # configuration from: See details in "Parameter # list" section hostFromEnv: RABBITMQ_HOST%

Source: swh/templates/listers/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: ScaledObject metadata: name: lister-launchpad-operators namespace: test spec: scaleTargetRef: apiVersion: apps/v1 # Optional. Default: apps/v1 kind: Deployment # Optional. Default: Deployment # Mandatory. Must be in same namespace as ScaledObject name: lister-launchpad # envSourceContainerName: {container-name} # Optional. Default: # .spec.template.spec.containers[0] pollingInterval: 30 # Optional. Default: 30 seconds cooldownPeriod: 3600 # Optional. Default: 300 seconds idleReplicaCount: 0 # Optional. Must be less than # minReplicaCount minReplicaCount: 0 maxReplicaCount: 1 triggers:

  • type: rabbitmq authenticationRef: name: amqp-authentication-lister-launchpad metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "1" queueName: swh.lister.launchpad.tasks.FullLaunchpadLister vhostName: / # Optional. If not specified, use the vhost in the # host connection string. Alternatively, you can # use existing environment variables to read # configuration from: See details in "Parameter # list" section hostFromEnv: RABBITMQ_HOST%
  • type: rabbitmq authenticationRef: name: amqp-authentication-lister-launchpad metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "1" queueName: swh.lister.launchpad.tasks.IncrementalLaunchpadLister vhostName: / # Optional. If not specified, use the vhost in the # host connection string. Alternatively, you can # use existing environment variables to read # configuration from: See details in "Parameter # list" section hostFromEnv: RABBITMQ_HOST%

Source: swh/templates/listers/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: ScaledObject metadata: name: lister-maven-operators namespace: test spec: scaleTargetRef: apiVersion: apps/v1 # Optional. Default: apps/v1 kind: Deployment # Optional. Default: Deployment # Mandatory. Must be in same namespace as ScaledObject name: lister-maven # envSourceContainerName: {container-name} # Optional. Default: # .spec.template.spec.containers[0] pollingInterval: 30 # Optional. Default: 30 seconds cooldownPeriod: 3600 # Optional. Default: 300 seconds idleReplicaCount: 0 # Optional. Must be less than # minReplicaCount minReplicaCount: 0 maxReplicaCount: 1 triggers:

  • type: rabbitmq authenticationRef: name: amqp-authentication-lister-maven metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "1" queueName: swh.lister.maven.tasks.FullMavenLister vhostName: / # Optional. If not specified, use the vhost in the # host connection string. Alternatively, you can # use existing environment variables to read # configuration from: See details in "Parameter # list" section hostFromEnv: RABBITMQ_HOST%
  • type: rabbitmq authenticationRef: name: amqp-authentication-lister-maven metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "1" queueName: swh.lister.maven.tasks.IncrementalMavenLister vhostName: / # Optional. If not specified, use the vhost in the # host connection string. Alternatively, you can # use existing environment variables to read # configuration from: See details in "Parameter # list" section hostFromEnv: RABBITMQ_HOST%

Source: swh/templates/listers/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: ScaledObject metadata: name: lister-nixguix-operators namespace: test spec: scaleTargetRef: apiVersion: apps/v1 # Optional. Default: apps/v1 kind: Deployment # Optional. Default: Deployment # Mandatory. Must be in same namespace as ScaledObject name: lister-nixguix # envSourceContainerName: {container-name} # Optional. Default: # .spec.template.spec.containers[0] pollingInterval: 30 # Optional. Default: 30 seconds cooldownPeriod: 3600 # Optional. Default: 300 seconds idleReplicaCount: 0 # Optional. Must be less than # minReplicaCount minReplicaCount: 0 maxReplicaCount: 1 triggers:

  • type: rabbitmq authenticationRef: name: amqp-authentication-lister-nixguix metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "1" queueName: swh.lister.nixguix.tasks.NixGuixListerTask vhostName: / # Optional. If not specified, use the vhost in the # host connection string. Alternatively, you can # use existing environment variables to read # configuration from: See details in "Parameter # list" section hostFromEnv: RABBITMQ_HOST%

Source: swh/templates/listers/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: ScaledObject metadata: name: lister-opam-operators namespace: test spec: scaleTargetRef: apiVersion: apps/v1 # Optional. Default: apps/v1 kind: Deployment # Optional. Default: Deployment # Mandatory. Must be in same namespace as ScaledObject name: lister-opam # envSourceContainerName: {container-name} # Optional. Default: # .spec.template.spec.containers[0] pollingInterval: 30 # Optional. Default: 30 seconds cooldownPeriod: 3600 # Optional. Default: 300 seconds idleReplicaCount: 0 # Optional. Must be less than # minReplicaCount minReplicaCount: 0 maxReplicaCount: 1 triggers:

  • type: rabbitmq authenticationRef: name: amqp-authentication-lister-opam metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "1" queueName: swh.lister.opam.tasks.OpamListerTask vhostName: / # Optional. If not specified, use the vhost in the # host connection string. Alternatively, you can # use existing environment variables to read # configuration from: See details in "Parameter # list" section hostFromEnv: RABBITMQ_HOST%

Source: swh/templates/listers/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: ScaledObject metadata: name: lister-pubdev-operators namespace: test spec: scaleTargetRef: apiVersion: apps/v1 # Optional. Default: apps/v1 kind: Deployment # Optional. Default: Deployment # Mandatory. Must be in same namespace as ScaledObject name: lister-pubdev # envSourceContainerName: {container-name} # Optional. Default: # .spec.template.spec.containers[0] pollingInterval: 30 # Optional. Default: 30 seconds cooldownPeriod: 3600 # Optional. Default: 300 seconds idleReplicaCount: 0 # Optional. Must be less than # minReplicaCount minReplicaCount: 0 maxReplicaCount: 1 triggers:

  • type: rabbitmq authenticationRef: name: amqp-authentication-lister-pubdev metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "1" queueName: swh.lister.pubdev.tasks.PubDevListerTask vhostName: / # Optional. If not specified, use the vhost in the # host connection string. Alternatively, you can # use existing environment variables to read # configuration from: See details in "Parameter # list" section hostFromEnv: RABBITMQ_HOST%

Source: swh/templates/listers/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: ScaledObject metadata: name: lister-sourceforge-operators namespace: test spec: scaleTargetRef: apiVersion: apps/v1 # Optional. Default: apps/v1 kind: Deployment # Optional. Default: Deployment # Mandatory. Must be in same namespace as ScaledObject name: lister-sourceforge # envSourceContainerName: {container-name} # Optional. Default: # .spec.template.spec.containers[0] pollingInterval: 30 # Optional. Default: 30 seconds cooldownPeriod: 3600 # Optional. Default: 300 seconds idleReplicaCount: 0 # Optional. Must be less than # minReplicaCount minReplicaCount: 0 maxReplicaCount: 1 triggers:

  • type: rabbitmq authenticationRef: name: amqp-authentication-lister-sourceforge metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "1" queueName: swh.lister.sourceforge.tasks.FullSourceForgeLister vhostName: / # Optional. If not specified, use the vhost in the # host connection string. Alternatively, you can # use existing environment variables to read # configuration from: See details in "Parameter # list" section hostFromEnv: RABBITMQ_HOST%
  • type: rabbitmq authenticationRef: name: amqp-authentication-lister-sourceforge metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "1" queueName: swh.lister.sourceforge.tasks.IncrementalSourceForgeLister vhostName: / # Optional. If not specified, use the vhost in the # host connection string. Alternatively, you can # use existing environment variables to read # configuration from: See details in "Parameter # list" section hostFromEnv: RABBITMQ_HOST%

Source: swh/templates/loaders/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: ScaledObject metadata: name: loader-addforgenow-operators namespace: test spec: scaleTargetRef: apiVersion: apps/v1 # Optional. Default: apps/v1 kind: Deployment # Optional. Default: Deployment # Mandatory. Must be in same namespace as ScaledObject name: loader-addforgenow # envSourceContainerName: {container-name} # Optional. Default: # .spec.template.spec.containers[0] pollingInterval: 30 # Optional. Default: 30 seconds cooldownPeriod: 300 # Optional. Default: 300 seconds idleReplicaCount: 0 # Optional. Must be less than # minReplicaCount minReplicaCount: 0 maxReplicaCount: 2 triggers:

  • type: rabbitmq authenticationRef: name: amqp-authentication-loader-addforgenow metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "1" queueName: add_forge_now:swh.loader.git.tasks.UpdateGitRepository vhostName: / # Vhost to use for the connection

Source: swh/templates/loaders/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: ScaledObject metadata: name: loader-archive-operators namespace: test spec: scaleTargetRef: apiVersion: apps/v1 # Optional. Default: apps/v1 kind: Deployment # Optional. Default: Deployment # Mandatory. Must be in same namespace as ScaledObject name: loader-archive # envSourceContainerName: {container-name} # Optional. Default: # .spec.template.spec.containers[0] pollingInterval: 30 # Optional. Default: 30 seconds cooldownPeriod: 300 # Optional. Default: 300 seconds idleReplicaCount: 0 # Optional. Must be less than # minReplicaCount minReplicaCount: 0 maxReplicaCount: 1 triggers:

  • type: rabbitmq authenticationRef: name: amqp-authentication-loader-archive metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "10" queueName: swh.loader.package.archive.tasks.LoadArchive vhostName: / # Vhost to use for the connection

Source: swh/templates/loaders/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: ScaledObject metadata: name: loader-bzr-operators namespace: test spec: scaleTargetRef: apiVersion: apps/v1 # Optional. Default: apps/v1 kind: Deployment # Optional. Default: Deployment # Mandatory. Must be in same namespace as ScaledObject name: loader-bzr # envSourceContainerName: {container-name} # Optional. Default: # .spec.template.spec.containers[0] pollingInterval: 30 # Optional. Default: 30 seconds cooldownPeriod: 300 # Optional. Default: 300 seconds idleReplicaCount: 0 # Optional. Must be less than # minReplicaCount minReplicaCount: 0 maxReplicaCount: 1 triggers:

  • type: rabbitmq authenticationRef: name: amqp-authentication-loader-bzr metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "10" queueName: swh.loader.bzr.tasks.LoadBazaar vhostName: / # Vhost to use for the connection

Source: swh/templates/loaders/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: ScaledObject metadata: name: loader-content-operators namespace: test spec: scaleTargetRef: apiVersion: apps/v1 # Optional. Default: apps/v1 kind: Deployment # Optional. Default: Deployment # Mandatory. Must be in same namespace as ScaledObject name: loader-content # envSourceContainerName: {container-name} # Optional. Default: # .spec.template.spec.containers[0] pollingInterval: 30 # Optional. Default: 30 seconds cooldownPeriod: 300 # Optional. Default: 300 seconds idleReplicaCount: 0 # Optional. Must be less than # minReplicaCount minReplicaCount: 0 maxReplicaCount: 1 triggers:

  • type: rabbitmq authenticationRef: name: amqp-authentication-loader-content metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "10" queueName: swh.loader.core.tasks.LoadContent vhostName: / # Vhost to use for the connection

Source: swh/templates/loaders/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: ScaledObject metadata: name: loader-cran-operators namespace: test spec: scaleTargetRef: apiVersion: apps/v1 # Optional. Default: apps/v1 kind: Deployment # Optional. Default: Deployment # Mandatory. Must be in same namespace as ScaledObject name: loader-cran # envSourceContainerName: {container-name} # Optional. Default: # .spec.template.spec.containers[0] pollingInterval: 30 # Optional. Default: 30 seconds cooldownPeriod: 300 # Optional. Default: 300 seconds idleReplicaCount: 0 # Optional. Must be less than # minReplicaCount minReplicaCount: 0 maxReplicaCount: 1 triggers:

  • type: rabbitmq authenticationRef: name: amqp-authentication-loader-cran metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "10" queueName: swh.loader.package.cran.tasks.LoadCRAN vhostName: / # Vhost to use for the connection

Source: swh/templates/loaders/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: ScaledObject metadata: name: loader-cvs-operators namespace: test spec: scaleTargetRef: apiVersion: apps/v1 # Optional. Default: apps/v1 kind: Deployment # Optional. Default: Deployment # Mandatory. Must be in same namespace as ScaledObject name: loader-cvs # envSourceContainerName: {container-name} # Optional. Default: # .spec.template.spec.containers[0] pollingInterval: 30 # Optional. Default: 30 seconds cooldownPeriod: 300 # Optional. Default: 300 seconds idleReplicaCount: 0 # Optional. Must be less than # minReplicaCount minReplicaCount: 0 maxReplicaCount: 1 triggers:

  • type: rabbitmq authenticationRef: name: amqp-authentication-loader-cvs metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "10" queueName: swh.loader.cvs.tasks.LoadCvsRepository vhostName: / # Vhost to use for the connection

Source: swh/templates/loaders/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: ScaledObject metadata: name: loader-debian-operators namespace: test spec: scaleTargetRef: apiVersion: apps/v1 # Optional. Default: apps/v1 kind: Deployment # Optional. Default: Deployment # Mandatory. Must be in same namespace as ScaledObject name: loader-debian # envSourceContainerName: {container-name} # Optional. Default: # .spec.template.spec.containers[0] pollingInterval: 30 # Optional. Default: 30 seconds cooldownPeriod: 300 # Optional. Default: 300 seconds idleReplicaCount: 0 # Optional. Must be less than # minReplicaCount minReplicaCount: 0 maxReplicaCount: 1 triggers:

  • type: rabbitmq authenticationRef: name: amqp-authentication-loader-debian metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "10" queueName: swh.loader.package.debian.tasks.LoadDebian vhostName: / # Vhost to use for the connection

Source: swh/templates/loaders/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: ScaledObject metadata: name: loader-deposit-operators namespace: test spec: scaleTargetRef: apiVersion: apps/v1 # Optional. Default: apps/v1 kind: Deployment # Optional. Default: Deployment # Mandatory. Must be in same namespace as ScaledObject name: loader-deposit # envSourceContainerName: {container-name} # Optional. Default: # .spec.template.spec.containers[0] pollingInterval: 30 # Optional. Default: 30 seconds cooldownPeriod: 300 # Optional. Default: 300 seconds idleReplicaCount: 0 # Optional. Must be less than # minReplicaCount minReplicaCount: 0 maxReplicaCount: 2 triggers:

  • type: rabbitmq authenticationRef: name: amqp-authentication-loader-deposit metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "1" queueName: swh.loader.package.deposit.tasks.LoadDeposit vhostName: / # Vhost to use for the connection

Source: swh/templates/loaders/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: ScaledObject metadata: name: loader-directory-operators namespace: test spec: scaleTargetRef: apiVersion: apps/v1 # Optional. Default: apps/v1 kind: Deployment # Optional. Default: Deployment # Mandatory. Must be in same namespace as ScaledObject name: loader-directory # envSourceContainerName: {container-name} # Optional. Default: # .spec.template.spec.containers[0] pollingInterval: 30 # Optional. Default: 30 seconds cooldownPeriod: 300 # Optional. Default: 300 seconds idleReplicaCount: 0 # Optional. Must be less than # minReplicaCount minReplicaCount: 0 maxReplicaCount: 1 triggers:

  • type: rabbitmq authenticationRef: name: amqp-authentication-loader-directory metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "10" queueName: swh.loader.core.tasks.LoadDirectory vhostName: / # Vhost to use for the connection

Source: swh/templates/loaders/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: ScaledObject metadata: name: loader-git-operators namespace: test spec: scaleTargetRef: apiVersion: apps/v1 # Optional. Default: apps/v1 kind: Deployment # Optional. Default: Deployment # Mandatory. Must be in same namespace as ScaledObject name: loader-git # envSourceContainerName: {container-name} # Optional. Default: # .spec.template.spec.containers[0] pollingInterval: 30 # Optional. Default: 30 seconds cooldownPeriod: 300 # Optional. Default: 300 seconds idleReplicaCount: 0 # Optional. Must be less than # minReplicaCount minReplicaCount: 0 maxReplicaCount: 3 triggers:

  • type: rabbitmq authenticationRef: name: amqp-authentication-loader-git metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "10" queueName: swh.loader.git.tasks.UpdateGitRepository vhostName: / # Vhost to use for the connection
  • type: rabbitmq authenticationRef: name: amqp-authentication-loader-git metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "10" queueName: swh.loader.git.tasks.LoadDiskGitRepository vhostName: / # Vhost to use for the connection
  • type: rabbitmq authenticationRef: name: amqp-authentication-loader-git metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "10" queueName: swh.loader.git.tasks.UncompressAndLoadDiskGitRepository vhostName: / # Vhost to use for the connection

Source: swh/templates/loaders/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: ScaledObject metadata: name: loader-golang-operators namespace: test spec: scaleTargetRef: apiVersion: apps/v1 # Optional. Default: apps/v1 kind: Deployment # Optional. Default: Deployment # Mandatory. Must be in same namespace as ScaledObject name: loader-golang # envSourceContainerName: {container-name} # Optional. Default: # .spec.template.spec.containers[0] pollingInterval: 30 # Optional. Default: 30 seconds cooldownPeriod: 300 # Optional. Default: 300 seconds idleReplicaCount: 0 # Optional. Must be less than # minReplicaCount minReplicaCount: 0 maxReplicaCount: 1 triggers:

  • type: rabbitmq authenticationRef: name: amqp-authentication-loader-golang metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "10" queueName: swh.loader.package.golang.tasks.LoadGolang vhostName: / # Vhost to use for the connection

Source: swh/templates/loaders/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: ScaledObject metadata: name: loader-highpriority-operators namespace: test spec: scaleTargetRef: apiVersion: apps/v1 # Optional. Default: apps/v1 kind: Deployment # Optional. Default: Deployment # Mandatory. Must be in same namespace as ScaledObject name: loader-highpriority # envSourceContainerName: {container-name} # Optional. Default: # .spec.template.spec.containers[0] pollingInterval: 30 # Optional. Default: 30 seconds cooldownPeriod: 300 # Optional. Default: 300 seconds idleReplicaCount: 0 # Optional. Must be less than # minReplicaCount minReplicaCount: 0 maxReplicaCount: 3 triggers:

  • type: rabbitmq authenticationRef: name: amqp-authentication-loader-highpriority metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "1" queueName: save_code_now:swh.loader.bzr.tasks.LoadBazaar vhostName: / # Vhost to use for the connection
  • type: rabbitmq authenticationRef: name: amqp-authentication-loader-highpriority metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "1" queueName: save_code_now:swh.loader.cvs.tasks.LoadCvsRepository vhostName: / # Vhost to use for the connection
  • type: rabbitmq authenticationRef: name: amqp-authentication-loader-highpriority metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "1" queueName: save_code_now:swh.loader.git.tasks.UpdateGitRepository vhostName: / # Vhost to use for the connection
  • type: rabbitmq authenticationRef: name: amqp-authentication-loader-highpriority metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "1" queueName: save_code_now:swh.loader.git.tasks.LoadDiskGitRepository vhostName: / # Vhost to use for the connection
  • type: rabbitmq authenticationRef: name: amqp-authentication-loader-highpriority metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "1" queueName: save_code_now:swh.loader.git.tasks.UncompressAndLoadDiskGitRepository vhostName: / # Vhost to use for the connection
  • type: rabbitmq authenticationRef: name: amqp-authentication-loader-highpriority metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "1" queueName: save_code_now:swh.loader.mercurial.tasks.LoadArchiveMercurial vhostName: / # Vhost to use for the connection
  • type: rabbitmq authenticationRef: name: amqp-authentication-loader-highpriority metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "1" queueName: save_code_now:swh.loader.mercurial.tasks.LoadMercurial vhostName: / # Vhost to use for the connection
  • type: rabbitmq authenticationRef: name: amqp-authentication-loader-highpriority metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "1" queueName: save_code_now:swh.loader.svn.tasks.LoadSvnRepository vhostName: / # Vhost to use for the connection
  • type: rabbitmq authenticationRef: name: amqp-authentication-loader-highpriority metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "1" queueName: save_code_now:swh.loader.svn.tasks.MountAndLoadSvnRepository vhostName: / # Vhost to use for the connection
  • type: rabbitmq authenticationRef: name: amqp-authentication-loader-highpriority metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "1" queueName: save_code_now:swh.loader.svn.tasks.DumpMountAndLoadSvnRepository vhostName: / # Vhost to use for the connection
  • type: rabbitmq authenticationRef: name: amqp-authentication-loader-highpriority metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "1" queueName: save_code_now:swh.loader.package.archive.tasks.LoadArchive vhostName: / # Vhost to use for the connection

Source: swh/templates/loaders/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: ScaledObject metadata: name: loader-maven-operators namespace: test spec: scaleTargetRef: apiVersion: apps/v1 # Optional. Default: apps/v1 kind: Deployment # Optional. Default: Deployment # Mandatory. Must be in same namespace as ScaledObject name: loader-maven # envSourceContainerName: {container-name} # Optional. Default: # .spec.template.spec.containers[0] pollingInterval: 30 # Optional. Default: 30 seconds cooldownPeriod: 300 # Optional. Default: 300 seconds idleReplicaCount: 0 # Optional. Must be less than # minReplicaCount minReplicaCount: 0 maxReplicaCount: 1 triggers:

  • type: rabbitmq authenticationRef: name: amqp-authentication-loader-maven metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "10" queueName: swh.loader.package.maven.tasks.LoadMaven vhostName: / # Vhost to use for the connection

Source: swh/templates/loaders/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: ScaledObject metadata: name: loader-mercurial-operators namespace: test spec: scaleTargetRef: apiVersion: apps/v1 # Optional. Default: apps/v1 kind: Deployment # Optional. Default: Deployment # Mandatory. Must be in same namespace as ScaledObject name: loader-mercurial # envSourceContainerName: {container-name} # Optional. Default: # .spec.template.spec.containers[0] pollingInterval: 30 # Optional. Default: 30 seconds cooldownPeriod: 300 # Optional. Default: 300 seconds idleReplicaCount: 0 # Optional. Must be less than # minReplicaCount minReplicaCount: 0 maxReplicaCount: 1 triggers:

  • type: rabbitmq authenticationRef: name: amqp-authentication-loader-mercurial metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "10" queueName: swh.loader.mercurial.tasks.LoadArchiveMercurial vhostName: / # Vhost to use for the connection
  • type: rabbitmq authenticationRef: name: amqp-authentication-loader-mercurial metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "10" queueName: swh.loader.mercurial.tasks.LoadMercurial vhostName: / # Vhost to use for the connection

Source: swh/templates/loaders/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: ScaledObject metadata: name: loader-npm-operators namespace: test spec: scaleTargetRef: apiVersion: apps/v1 # Optional. Default: apps/v1 kind: Deployment # Optional. Default: Deployment # Mandatory. Must be in same namespace as ScaledObject name: loader-npm # envSourceContainerName: {container-name} # Optional. Default: # .spec.template.spec.containers[0] pollingInterval: 30 # Optional. Default: 30 seconds cooldownPeriod: 300 # Optional. Default: 300 seconds idleReplicaCount: 0 # Optional. Must be less than # minReplicaCount minReplicaCount: 0 maxReplicaCount: 1 triggers:

  • type: rabbitmq authenticationRef: name: amqp-authentication-loader-npm metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "10" queueName: swh.loader.package.npm.tasks.LoadNpm vhostName: / # Vhost to use for the connection

Source: swh/templates/loaders/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: ScaledObject metadata: name: loader-opam-operators namespace: test spec: scaleTargetRef: apiVersion: apps/v1 # Optional. Default: apps/v1 kind: Deployment # Optional. Default: Deployment # Mandatory. Must be in same namespace as ScaledObject name: loader-opam # envSourceContainerName: {container-name} # Optional. Default: # .spec.template.spec.containers[0] pollingInterval: 30 # Optional. Default: 30 seconds cooldownPeriod: 300 # Optional. Default: 300 seconds idleReplicaCount: 0 # Optional. Must be less than # minReplicaCount minReplicaCount: 0 maxReplicaCount: 1 triggers:

  • type: rabbitmq authenticationRef: name: amqp-authentication-loader-opam metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "10" queueName: swh.loader.package.opam.tasks.LoadOpam vhostName: / # Vhost to use for the connection

Source: swh/templates/loaders/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: ScaledObject metadata: name: loader-pubdev-operators namespace: test spec: scaleTargetRef: apiVersion: apps/v1 # Optional. Default: apps/v1 kind: Deployment # Optional. Default: Deployment # Mandatory. Must be in same namespace as ScaledObject name: loader-pubdev # envSourceContainerName: {container-name} # Optional. Default: # .spec.template.spec.containers[0] pollingInterval: 30 # Optional. Default: 30 seconds cooldownPeriod: 300 # Optional. Default: 300 seconds idleReplicaCount: 0 # Optional. Must be less than # minReplicaCount minReplicaCount: 0 maxReplicaCount: 1 triggers:

  • type: rabbitmq authenticationRef: name: amqp-authentication-loader-pubdev metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "10" queueName: swh.loader.package.pubdev.tasks.LoadPubDev vhostName: / # Vhost to use for the connection

Source: swh/templates/loaders/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: ScaledObject metadata: name: loader-pypi-operators namespace: test spec: scaleTargetRef: apiVersion: apps/v1 # Optional. Default: apps/v1 kind: Deployment # Optional. Default: Deployment # Mandatory. Must be in same namespace as ScaledObject name: loader-pypi # envSourceContainerName: {container-name} # Optional. Default: # .spec.template.spec.containers[0] pollingInterval: 30 # Optional. Default: 30 seconds cooldownPeriod: 300 # Optional. Default: 300 seconds idleReplicaCount: 0 # Optional. Must be less than # minReplicaCount minReplicaCount: 0 maxReplicaCount: 1 triggers:

  • type: rabbitmq authenticationRef: name: amqp-authentication-loader-pypi metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "10" queueName: swh.loader.package.pypi.tasks.LoadPyPI vhostName: / # Vhost to use for the connection

Source: swh/templates/loaders/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: ScaledObject metadata: name: loader-svn-operators namespace: test spec: scaleTargetRef: apiVersion: apps/v1 # Optional. Default: apps/v1 kind: Deployment # Optional. Default: Deployment # Mandatory. Must be in same namespace as ScaledObject name: loader-svn # envSourceContainerName: {container-name} # Optional. Default: # .spec.template.spec.containers[0] pollingInterval: 30 # Optional. Default: 30 seconds cooldownPeriod: 300 # Optional. Default: 300 seconds idleReplicaCount: 0 # Optional. Must be less than # minReplicaCount minReplicaCount: 0 maxReplicaCount: 1 triggers:

  • type: rabbitmq authenticationRef: name: amqp-authentication-loader-svn metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "10" queueName: swh.loader.svn.tasks.LoadSvnRepository vhostName: / # Vhost to use for the connection
  • type: rabbitmq authenticationRef: name: amqp-authentication-loader-svn metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "10" queueName: swh.loader.svn.tasks.MountAndLoadSvnRepository vhostName: / # Vhost to use for the connection
  • type: rabbitmq authenticationRef: name: amqp-authentication-loader-svn metadata: protocol: auto # Optional. Specifies protocol to use, # either amqp or http, or auto to # autodetect based on the host value. # Default value is auto. mode: QueueLength # QueueLength to trigger on number of msgs in queue excludeUnacknowledged: "false" # QueueLength should include unacked messages # Implies "http" protocol is used value: "10" queueName: swh.loader.svn.tasks.DumpMountAndLoadSvnRepository vhostName: / # Vhost to use for the connection

Source: swh/templates/statsd-exporter/servicemonitor.yaml

apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: swh-statsd-exporter namespace: test spec: endpoints:

  • path: /metrics port: http interval: 10s selector: matchLabels: app: prometheus-statsd-exporter namespaceSelector: any: true

Source: swh/templates/checker-deposit/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: TriggerAuthentication metadata: name: amqp-authentication-checker-deposit namespace: test spec: secretTargetRef:

  • parameter: host # "host" is required by the scalerObject trigger metadata name: common-secrets key: rabbitmq-http-host

Source: swh/templates/cookers/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: TriggerAuthentication metadata: name: amqp-authentication-cooker-batch namespace: test spec: secretTargetRef:

  • parameter: host # "host" is required by the scalerObject trigger metadata name: common-secrets key: rabbitmq-http-host

Source: swh/templates/cookers/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: TriggerAuthentication metadata: name: amqp-authentication-cooker-simple namespace: test spec: secretTargetRef:

  • parameter: host # "host" is required by the scalerObject trigger metadata name: common-secrets key: rabbitmq-http-host

Source: swh/templates/listers/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: TriggerAuthentication metadata: name: amqp-authentication-lister-all namespace: test spec: secretTargetRef:

  • parameter: host # "host" is required by the scalerObject trigger metadata name: common-secrets key: rabbitmq-http-host

Source: swh/templates/listers/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: TriggerAuthentication metadata: name: amqp-authentication-lister-bitbucket namespace: test spec: secretTargetRef:

  • parameter: host # "host" is required by the scalerObject trigger metadata name: common-secrets key: rabbitmq-http-host

Source: swh/templates/listers/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: TriggerAuthentication metadata: name: amqp-authentication-lister-bower namespace: test spec: secretTargetRef:

  • parameter: host # "host" is required by the scalerObject trigger metadata name: common-secrets key: rabbitmq-http-host

Source: swh/templates/listers/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: TriggerAuthentication metadata: name: amqp-authentication-lister-gnu-full namespace: test spec: secretTargetRef:

  • parameter: host # "host" is required by the scalerObject trigger metadata name: common-secrets key: rabbitmq-http-host

Source: swh/templates/listers/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: TriggerAuthentication metadata: name: amqp-authentication-lister-gogs-full namespace: test spec: secretTargetRef:

  • parameter: host # "host" is required by the scalerObject trigger metadata name: common-secrets key: rabbitmq-http-host

Source: swh/templates/listers/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: TriggerAuthentication metadata: name: amqp-authentication-lister-golang namespace: test spec: secretTargetRef:

  • parameter: host # "host" is required by the scalerObject trigger metadata name: common-secrets key: rabbitmq-http-host

Source: swh/templates/listers/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: TriggerAuthentication metadata: name: amqp-authentication-lister-launchpad namespace: test spec: secretTargetRef:

  • parameter: host # "host" is required by the scalerObject trigger metadata name: common-secrets key: rabbitmq-http-host

Source: swh/templates/listers/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: TriggerAuthentication metadata: name: amqp-authentication-lister-maven namespace: test spec: secretTargetRef:

  • parameter: host # "host" is required by the scalerObject trigger metadata name: common-secrets key: rabbitmq-http-host

Source: swh/templates/listers/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: TriggerAuthentication metadata: name: amqp-authentication-lister-nixguix namespace: test spec: secretTargetRef:

  • parameter: host # "host" is required by the scalerObject trigger metadata name: common-secrets key: rabbitmq-http-host

Source: swh/templates/listers/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: TriggerAuthentication metadata: name: amqp-authentication-lister-opam namespace: test spec: secretTargetRef:

  • parameter: host # "host" is required by the scalerObject trigger metadata name: common-secrets key: rabbitmq-http-host

Source: swh/templates/listers/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: TriggerAuthentication metadata: name: amqp-authentication-lister-pubdev namespace: test spec: secretTargetRef:

  • parameter: host # "host" is required by the scalerObject trigger metadata name: common-secrets key: rabbitmq-http-host

Source: swh/templates/listers/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: TriggerAuthentication metadata: name: amqp-authentication-lister-sourceforge namespace: test spec: secretTargetRef:

  • parameter: host # "host" is required by the scalerObject trigger metadata name: common-secrets key: rabbitmq-http-host

Source: swh/templates/loaders/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: TriggerAuthentication metadata: name: amqp-authentication-loader-addforgenow namespace: test spec: secretTargetRef:

  • parameter: host # "host" is required by the scalerObject trigger metadata name: common-secrets key: rabbitmq-http-host

Source: swh/templates/loaders/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: TriggerAuthentication metadata: name: amqp-authentication-loader-archive namespace: test spec: secretTargetRef:

  • parameter: host # "host" is required by the scalerObject trigger metadata name: common-secrets key: rabbitmq-http-host

Source: swh/templates/loaders/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: TriggerAuthentication metadata: name: amqp-authentication-loader-bzr namespace: test spec: secretTargetRef:

  • parameter: host # "host" is required by the scalerObject trigger metadata name: common-secrets key: rabbitmq-http-host

Source: swh/templates/loaders/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: TriggerAuthentication metadata: name: amqp-authentication-loader-content namespace: test spec: secretTargetRef:

  • parameter: host # "host" is required by the scalerObject trigger metadata name: common-secrets key: rabbitmq-http-host

Source: swh/templates/loaders/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: TriggerAuthentication metadata: name: amqp-authentication-loader-cran namespace: test spec: secretTargetRef:

  • parameter: host # "host" is required by the scalerObject trigger metadata name: common-secrets key: rabbitmq-http-host

Source: swh/templates/loaders/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: TriggerAuthentication metadata: name: amqp-authentication-loader-cvs namespace: test spec: secretTargetRef:

  • parameter: host # "host" is required by the scalerObject trigger metadata name: common-secrets key: rabbitmq-http-host

Source: swh/templates/loaders/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: TriggerAuthentication metadata: name: amqp-authentication-loader-debian namespace: test spec: secretTargetRef:

  • parameter: host # "host" is required by the scalerObject trigger metadata name: common-secrets key: rabbitmq-http-host

Source: swh/templates/loaders/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: TriggerAuthentication metadata: name: amqp-authentication-loader-deposit namespace: test spec: secretTargetRef:

  • parameter: host # "host" is required by the scalerObject trigger metadata name: common-secrets key: rabbitmq-http-host

Source: swh/templates/loaders/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: TriggerAuthentication metadata: name: amqp-authentication-loader-directory namespace: test spec: secretTargetRef:

  • parameter: host # "host" is required by the scalerObject trigger metadata name: common-secrets key: rabbitmq-http-host

Source: swh/templates/loaders/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: TriggerAuthentication metadata: name: amqp-authentication-loader-git namespace: test spec: secretTargetRef:

  • parameter: host # "host" is required by the scalerObject trigger metadata name: common-secrets key: rabbitmq-http-host

Source: swh/templates/loaders/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: TriggerAuthentication metadata: name: amqp-authentication-loader-golang namespace: test spec: secretTargetRef:

  • parameter: host # "host" is required by the scalerObject trigger metadata name: common-secrets key: rabbitmq-http-host

Source: swh/templates/loaders/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: TriggerAuthentication metadata: name: amqp-authentication-loader-highpriority namespace: test spec: secretTargetRef:

  • parameter: host # "host" is required by the scalerObject trigger metadata name: common-secrets key: rabbitmq-http-host

Source: swh/templates/loaders/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: TriggerAuthentication metadata: name: amqp-authentication-loader-maven namespace: test spec: secretTargetRef:

  • parameter: host # "host" is required by the scalerObject trigger metadata name: common-secrets key: rabbitmq-http-host

Source: swh/templates/loaders/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: TriggerAuthentication metadata: name: amqp-authentication-loader-mercurial namespace: test spec: secretTargetRef:

  • parameter: host # "host" is required by the scalerObject trigger metadata name: common-secrets key: rabbitmq-http-host

Source: swh/templates/loaders/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: TriggerAuthentication metadata: name: amqp-authentication-loader-npm namespace: test spec: secretTargetRef:

  • parameter: host # "host" is required by the scalerObject trigger metadata name: common-secrets key: rabbitmq-http-host

Source: swh/templates/loaders/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: TriggerAuthentication metadata: name: amqp-authentication-loader-opam namespace: test spec: secretTargetRef:

  • parameter: host # "host" is required by the scalerObject trigger metadata name: common-secrets key: rabbitmq-http-host

Source: swh/templates/loaders/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: TriggerAuthentication metadata: name: amqp-authentication-loader-pubdev namespace: test spec: secretTargetRef:

  • parameter: host # "host" is required by the scalerObject trigger metadata name: common-secrets key: rabbitmq-http-host

Source: swh/templates/loaders/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: TriggerAuthentication metadata: name: amqp-authentication-loader-pypi namespace: test spec: secretTargetRef:

  • parameter: host # "host" is required by the scalerObject trigger metadata name: common-secrets key: rabbitmq-http-host

Source: swh/templates/loaders/keda-autoscaling.yaml

apiVersion: keda.sh/v1alpha1 kind: TriggerAuthentication metadata: name: amqp-authentication-loader-svn namespace: test spec: secretTargetRef:

  • parameter: host # "host" is required by the scalerObject trigger metadata name: common-secrets key: rabbitmq-http-host
Edited by Antoine R. Dumont

Merge request reports