Skip to content

loader: Configure logging to output logs as json

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]

[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

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

Supersedes !25 (merged)

Merge request reports