# CI/CD Artifacts & Cache

> Available S3 endpoint: `a-s3.aur.lu` (France, Albi).

## GitLab Runner (cache, artifacts)

Run CI jobs with distributed caching and artifact storage in S3‑compatible backends to speed up builds and share outputs.

- GitLab Runner: [Homepage](https://docs.gitlab.com/runner/)
- Caching/Artifacts: [Docs](https://docs.gitlab.com/runner/configuration/autoscale/#distributed-runners-caching)
```toml title="config.toml excerpt"
[runners.cache]
  Type = "s3"
  Shared = true
  Path = "gitlab-cache"
  [runners.cache.s3]
    ServerAddress = "a-s3.aur.lu"
    Insecure = false
    BucketName = "gitlab-cache"
    BucketLocation = "us-east-1"
    AccessKey = "<YOUR_ACCESS_KEY>"
    SecretKey = "<YOUR_SECRET_KEY>"
    PathStyle = true
```

## Drone CI (S3 plugin)

Lightweight CI system with an official S3 plugin for publishing artifacts from builds.

- Homepage: [Drone](https://www.drone.io/)
- S3 Plugin: [Docs](https://plugins.drone.io/plugins/s3/)
```yaml title=".drone.yml excerpt"
- name: publish-artifacts
  image: plugins/s3
  settings:
    endpoint: https://a-s3.aur.lu
    bucket: ci-artifacts
    access_key: <YOUR_ACCESS_KEY>
    secret_key: <YOUR_SECRET_KEY>
    source: build/**
    target: releases/
    path_style: true
```

## Argo Workflows (artifactRepository)

Kubernetes‑native workflow engine. Integrate S3 as an artifact repository for passing files between steps and persisting results.

- Homepage: [Argo Workflows](https://argoproj.github.io/workflows/)
- Artifact Repository: [Docs](https://argoproj.github.io/argo-workflows/artifact-repositories/)
```yaml title="workflow-controller-configmap"
artifactRepository:
  s3:
    bucket: argo-artifacts
    endpoint: a-s3.aur.lu
    accessKeySecret:
      name: argo-artifacts
      key: accesskey
    secretKeySecret:
      name: argo-artifacts
      key: secretkey
    insecure: false
    useSDKCreds: false
    forcePathStyle: true
```
