70 lines
1.4 KiB
YAML
70 lines
1.4 KiB
YAML
---
|
|
|
|
# Name of the Noamd job
|
|
instance: repo
|
|
|
|
repo:
|
|
|
|
nginx:
|
|
# Image to use
|
|
image: nginxinc/nginx-unprivileged:alpine
|
|
|
|
# Number of instances to run
|
|
count: 1
|
|
|
|
# Resources to allocate
|
|
resources:
|
|
cpu: 20
|
|
memory: 40
|
|
|
|
# Public URL of the repo
|
|
public_url: https://repo.example.org
|
|
|
|
# Traefik settings
|
|
traefik:
|
|
# Disable compression (because Traefik 3 adds an implicit brotli compression which breaks yum/dnf) and csp
|
|
base_middlewares:
|
|
- rate-limit-std@file
|
|
- inflight-std@file
|
|
- hsts@file
|
|
- autodetect@file
|
|
|
|
# Optional, additional env vars
|
|
env: {}
|
|
|
|
rsync:
|
|
# Image to use
|
|
image: '[[ .docker.repo ]]rsync-ssh:23.12-1'
|
|
|
|
# Resources to allocate
|
|
resources:
|
|
cpu: 20
|
|
memory: 64
|
|
memory_max: 128
|
|
|
|
# Optional, additional env vars
|
|
env: {}
|
|
|
|
traefik:
|
|
# A list of entrypoints on which the ssh service will be exposed
|
|
entrypoints:
|
|
- repo-rsync
|
|
# Optional list of middlewares to apply
|
|
middlewares: []
|
|
|
|
# A list of IP or CIDR from which connections will be allowed
|
|
# If empty, no restriction will be done and any IP will be accepter
|
|
allowed_cidr: {}
|
|
|
|
# Volumes used
|
|
volumes:
|
|
# This on holds the repo itself
|
|
repo:
|
|
type: csi
|
|
source: repo
|
|
|
|
# This one is a very small volume, just to persist SSH host keys
|
|
ssh:
|
|
type: csi
|
|
source: repo-ssh
|