Like Prometheus, but for logs.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
loki/.drone/drone.yml

1070 lines
21 KiB

---
kind: pipeline
name: loki-build-image
steps:
- image: plugins/docker
name: push-image
settings:
context: loki-build-image
dockerfile: loki-build-image/Dockerfile
dry_run: false
password:
from_secret: docker_password
repo: grafana/loki-build-image
tags:
- 0.20.0
username:
from_secret: docker_username
when:
paths:
include:
- loki-build-image/**
ref:
include:
- refs/heads/main
- refs/heads/k??
- refs/tags/v*
trigger:
event:
- push
- pull_request
workspace:
base: /src
path: loki
---
kind: pipeline
name: check
steps:
- commands:
- make BUILD_IN_CONTAINER=false check-drone-drift
depends_on:
- clone
image: grafana/loki-build-image:0.20.0
name: check-drone-drift
- commands:
- make BUILD_IN_CONTAINER=false check-generated-files
depends_on:
- clone
image: grafana/loki-build-image:0.20.0
name: check-generated-files
- commands:
- make BUILD_IN_CONTAINER=false test
depends_on:
- clone
- check-generated-files
image: grafana/loki-build-image:0.20.0
name: test
- commands:
- make BUILD_IN_CONTAINER=false lint
depends_on:
- clone
- check-generated-files
image: grafana/loki-build-image:0.20.0
name: lint
- commands:
- make BUILD_IN_CONTAINER=false check-mod
depends_on:
- clone
- test
- lint
image: grafana/loki-build-image:0.20.0
name: check-mod
- commands:
- apk add make bash && make lint-scripts
image: koalaman/shellcheck-alpine:stable
name: shellcheck
- commands:
- make BUILD_IN_CONTAINER=false loki
depends_on:
- clone
- check-generated-files
image: grafana/loki-build-image:0.20.0
name: loki
- commands:
- make BUILD_IN_CONTAINER=false validate-example-configs
depends_on:
- loki
image: grafana/loki-build-image:0.20.0
name: validate-example-configs
- commands:
- make BUILD_IN_CONTAINER=false check-example-config-doc
depends_on:
- clone
image: grafana/loki-build-image:0.20.0
name: check-example-config-doc
trigger:
event:
- push
- pull_request
workspace:
base: /src
path: loki
---
kind: pipeline
name: mixins
steps:
- commands:
- make BUILD_IN_CONTAINER=false lint-jsonnet
depends_on:
- clone
image: grafana/jsonnet-build:c8b75df
name: lint-jsonnet
trigger:
event:
- push
- pull_request
workspace:
base: /src
path: loki
---
kind: pipeline
name: benchmark-cron
node:
type: no-parallel
steps:
- commands:
- go test -mod=vendor -bench=Benchmark -benchtime 20x -timeout 120m ./pkg/...
image: grafana/loki-build-image:0.20.0
name: All
trigger:
cron:
include:
- loki-bench
event:
include:
- cron
workspace:
base: /src
path: loki
---
depends_on:
- check
kind: pipeline
name: docker-amd64
platform:
arch: amd64
os: linux
steps:
- commands:
- apk add --no-cache bash git
- git fetch origin --tags
- echo $(./tools/image-tag)-amd64 > .tags
image: alpine
name: image-tag
- depends_on:
- image-tag
image: plugins/docker
name: build-loki-image
settings:
dockerfile: cmd/loki/Dockerfile
dry_run: true
password:
from_secret: docker_password
repo: grafana/loki
username:
from_secret: docker_username
when:
ref:
exclude:
- refs/heads/main
- refs/heads/k??
- refs/tags/v*
- depends_on:
- image-tag
image: plugins/docker
name: build-loki-canary-image
settings:
dockerfile: cmd/loki-canary/Dockerfile
dry_run: true
password:
from_secret: docker_password
repo: grafana/loki-canary
username:
from_secret: docker_username
when:
ref:
exclude:
- refs/heads/main
- refs/heads/k??
- refs/tags/v*
- depends_on:
- image-tag
image: plugins/docker
name: build-logcli-image
settings:
dockerfile: cmd/logcli/Dockerfile
dry_run: true
password:
from_secret: docker_password
repo: grafana/logcli
username:
from_secret: docker_username
when:
ref:
exclude:
- refs/heads/main
- refs/heads/k??
- refs/tags/v*
- depends_on:
- image-tag
image: plugins/docker
name: publish-loki-image
settings:
dockerfile: cmd/loki/Dockerfile
dry_run: false
password:
from_secret: docker_password
repo: grafana/loki
username:
from_secret: docker_username
when:
ref:
include:
- refs/heads/main
- refs/heads/k??
- refs/tags/v*
- depends_on:
- image-tag
image: plugins/docker
name: publish-loki-canary-image
settings:
dockerfile: cmd/loki-canary/Dockerfile
dry_run: false
password:
from_secret: docker_password
repo: grafana/loki-canary
username:
from_secret: docker_username
when:
ref:
include:
- refs/heads/main
- refs/heads/k??
- refs/tags/v*
- depends_on:
- image-tag
image: plugins/docker
name: publish-logcli-image
settings:
dockerfile: cmd/logcli/Dockerfile
dry_run: false
password:
from_secret: docker_password
repo: grafana/logcli
username:
from_secret: docker_username
when:
ref:
include:
- refs/heads/main
- refs/heads/k??
- refs/tags/v*
trigger:
event:
- push
- pull_request
---
depends_on:
- check
kind: pipeline
name: docker-arm64
platform:
arch: arm64
os: linux
steps:
- commands:
- apk add --no-cache bash git
- git fetch origin --tags
- echo $(./tools/image-tag)-arm64 > .tags
image: alpine
name: image-tag
- depends_on:
- image-tag
image: plugins/docker
name: build-loki-image
settings:
dockerfile: cmd/loki/Dockerfile
dry_run: true
password:
from_secret: docker_password
repo: grafana/loki
username:
from_secret: docker_username
when:
ref:
exclude:
- refs/heads/main
- refs/heads/k??
- refs/tags/v*
- depends_on:
- image-tag
image: plugins/docker
name: build-loki-canary-image
settings:
dockerfile: cmd/loki-canary/Dockerfile
dry_run: true
password:
from_secret: docker_password
repo: grafana/loki-canary
username:
from_secret: docker_username
when:
ref:
exclude:
- refs/heads/main
- refs/heads/k??
- refs/tags/v*
- depends_on:
- image-tag
image: plugins/docker
name: build-logcli-image
settings:
dockerfile: cmd/logcli/Dockerfile
dry_run: true
password:
from_secret: docker_password
repo: grafana/logcli
username:
from_secret: docker_username
when:
ref:
exclude:
- refs/heads/main
- refs/heads/k??
- refs/tags/v*
- depends_on:
- image-tag
image: plugins/docker
name: publish-loki-image
settings:
dockerfile: cmd/loki/Dockerfile
dry_run: false
password:
from_secret: docker_password
repo: grafana/loki
username:
from_secret: docker_username
when:
ref:
include:
- refs/heads/main
- refs/heads/k??
- refs/tags/v*
- depends_on:
- image-tag
image: plugins/docker
name: publish-loki-canary-image
settings:
dockerfile: cmd/loki-canary/Dockerfile
dry_run: false
password:
from_secret: docker_password
repo: grafana/loki-canary
username:
from_secret: docker_username
when:
ref:
include:
- refs/heads/main
- refs/heads/k??
- refs/tags/v*
- depends_on:
- image-tag
image: plugins/docker
name: publish-logcli-image
settings:
dockerfile: cmd/logcli/Dockerfile
dry_run: false
password:
from_secret: docker_password
repo: grafana/logcli
username:
from_secret: docker_username
when:
ref:
include:
- refs/heads/main
- refs/heads/k??
- refs/tags/v*
trigger:
event:
- push
- pull_request
---
depends_on:
- check
kind: pipeline
name: docker-arm
platform:
arch: arm
os: linux
steps:
- commands:
- apk add --no-cache bash git
- git fetch origin --tags
- echo $(./tools/image-tag)-arm > .tags
image: alpine
name: image-tag
- depends_on:
- image-tag
image: plugins/docker
name: build-loki-image
settings:
dockerfile: cmd/loki/Dockerfile
dry_run: true
password:
from_secret: docker_password
repo: grafana/loki
username:
from_secret: docker_username
when:
ref:
exclude:
- refs/heads/main
- refs/heads/k??
- refs/tags/v*
- depends_on:
- image-tag
image: plugins/docker
name: build-loki-canary-image
settings:
dockerfile: cmd/loki-canary/Dockerfile
dry_run: true
password:
from_secret: docker_password
repo: grafana/loki-canary
username:
from_secret: docker_username
when:
ref:
exclude:
- refs/heads/main
- refs/heads/k??
- refs/tags/v*
- depends_on:
- image-tag
image: plugins/docker
name: build-logcli-image
settings:
dockerfile: cmd/logcli/Dockerfile
dry_run: true
password:
from_secret: docker_password
repo: grafana/logcli
username:
from_secret: docker_username
when:
ref:
exclude:
- refs/heads/main
- refs/heads/k??
- refs/tags/v*
- depends_on:
- image-tag
image: plugins/docker
name: publish-loki-image
settings:
dockerfile: cmd/loki/Dockerfile
dry_run: false
password:
from_secret: docker_password
repo: grafana/loki
username:
from_secret: docker_username
when:
ref:
include:
- refs/heads/main
- refs/heads/k??
- refs/tags/v*
- depends_on:
- image-tag
image: plugins/docker
name: publish-loki-canary-image
settings:
dockerfile: cmd/loki-canary/Dockerfile
dry_run: false
password:
from_secret: docker_password
repo: grafana/loki-canary
username:
from_secret: docker_username
when:
ref:
include:
- refs/heads/main
- refs/heads/k??
- refs/tags/v*
- depends_on:
- image-tag
image: plugins/docker
name: publish-logcli-image
settings:
dockerfile: cmd/logcli/Dockerfile
dry_run: false
password:
from_secret: docker_password
repo: grafana/logcli
username:
from_secret: docker_username
when:
ref:
include:
- refs/heads/main
- refs/heads/k??
- refs/tags/v*
trigger:
event:
- push
- pull_request
---
depends_on:
- check
kind: pipeline
name: promtail-amd64
platform:
arch: amd64
os: linux
steps:
- commands:
- apk add --no-cache bash git
- git fetch origin --tags
- echo $(./tools/image-tag)-amd64 > .tags
image: alpine
name: image-tag
- depends_on:
- image-tag
image: plugins/docker
name: build-promtail-image
settings:
dockerfile: clients/cmd/promtail/Dockerfile
dry_run: true
password:
from_secret: docker_password
repo: grafana/promtail
username:
from_secret: docker_username
when:
ref:
exclude:
- refs/heads/main
- refs/heads/k??
- refs/tags/v*
- depends_on:
- image-tag
image: plugins/docker
name: publish-promtail-image
settings:
dockerfile: clients/cmd/promtail/Dockerfile
dry_run: false
password:
from_secret: docker_password
repo: grafana/promtail
username:
from_secret: docker_username
when:
ref:
include:
- refs/heads/main
- refs/heads/k??
- refs/tags/v*
trigger:
event:
- push
- pull_request
---
depends_on:
- check
kind: pipeline
name: promtail-arm64
platform:
arch: arm64
os: linux
steps:
- commands:
- apk add --no-cache bash git
- git fetch origin --tags
- echo $(./tools/image-tag)-arm64 > .tags
image: alpine
name: image-tag
- depends_on:
- image-tag
image: plugins/docker
name: build-promtail-image
settings:
dockerfile: clients/cmd/promtail/Dockerfile
dry_run: true
password:
from_secret: docker_password
repo: grafana/promtail
username:
from_secret: docker_username
when:
ref:
exclude:
- refs/heads/main
- refs/heads/k??
- refs/tags/v*
- depends_on:
- image-tag
image: plugins/docker
name: publish-promtail-image
settings:
dockerfile: clients/cmd/promtail/Dockerfile
dry_run: false
password:
from_secret: docker_password
repo: grafana/promtail
username:
from_secret: docker_username
when:
ref:
include:
- refs/heads/main
- refs/heads/k??
- refs/tags/v*
trigger:
event:
- push
- pull_request
---
depends_on:
- check
kind: pipeline
name: promtail-arm
platform:
arch: arm
os: linux
steps:
- commands:
- apk add --no-cache bash git
- git fetch origin --tags
- echo $(./tools/image-tag)-arm > .tags
image: alpine
name: image-tag
- depends_on:
- image-tag
image: plugins/docker
name: build-promtail-image
settings:
dockerfile: clients/cmd/promtail/Dockerfile.arm32
dry_run: true
password:
from_secret: docker_password
repo: grafana/promtail
username:
from_secret: docker_username
when:
ref:
exclude:
- refs/heads/main
- refs/heads/k??
- refs/tags/v*
- depends_on:
- image-tag
image: plugins/docker
name: publish-promtail-image
settings:
dockerfile: clients/cmd/promtail/Dockerfile.arm32
dry_run: false
password:
from_secret: docker_password
repo: grafana/promtail
username:
from_secret: docker_username
when:
ref:
include:
- refs/heads/main
- refs/heads/k??
- refs/tags/v*
trigger:
event:
- push
- pull_request
---
depends_on:
- check
kind: pipeline
name: fluent-bit-amd64
platform:
arch: amd64
os: linux
steps:
- commands:
- apk add --no-cache bash git
- git fetch origin --tags
- echo $(./tools/image-tag)-amd64 > .tags
- echo ",main" >> .tags
image: alpine
name: image-tag
- depends_on:
- image-tag
image: plugins/docker
name: build-fluent-bit-image
settings:
dockerfile: clients/cmd/fluent-bit/Dockerfile
dry_run: true
password:
from_secret: docker_password
repo: grafana/fluent-bit-plugin-loki
username:
from_secret: docker_username
when:
ref:
exclude:
- refs/heads/main
- refs/heads/k??
- refs/tags/v*
- depends_on:
- image-tag
image: plugins/docker
name: publish-fluent-bit-image
settings:
dockerfile: clients/cmd/fluent-bit/Dockerfile
dry_run: false
password:
from_secret: docker_password
repo: grafana/fluent-bit-plugin-loki
username:
from_secret: docker_username
when:
ref:
include:
- refs/heads/main
- refs/heads/k??
- refs/tags/v*
trigger:
event:
- push
- pull_request
---
depends_on:
- check
kind: pipeline
name: fluentd-amd64
platform:
arch: amd64
os: linux
steps:
- commands:
- apk add --no-cache bash git
- git fetch origin --tags
- echo $(./tools/image-tag)-amd64 > .tags
- echo ",main" >> .tags
image: alpine
name: image-tag
- depends_on:
- image-tag
image: plugins/docker
name: build-fluentd-image
settings:
dockerfile: clients/cmd/fluentd/Dockerfile
dry_run: true
password:
from_secret: docker_password
repo: grafana/fluent-plugin-loki
username:
from_secret: docker_username
when:
ref:
exclude:
- refs/heads/main
- refs/heads/k??
- refs/tags/v*
- depends_on:
- image-tag
image: plugins/docker
name: publish-fluentd-image
settings:
dockerfile: clients/cmd/fluentd/Dockerfile
dry_run: false
password:
from_secret: docker_password
repo: grafana/fluent-plugin-loki
username:
from_secret: docker_username
when:
ref:
include:
- refs/heads/main
- refs/heads/k??
- refs/tags/v*
trigger:
event:
- push
- pull_request
---
depends_on:
- check
kind: pipeline
name: logstash-amd64
platform:
arch: amd64
os: linux
steps:
- commands:
- apk add --no-cache bash git
- git fetch origin --tags
- echo $(./tools/image-tag)-amd64 > .tags
- echo ",main" >> .tags
image: alpine
name: image-tag
- depends_on:
- image-tag
image: plugins/docker
name: build-logstash-image
settings:
dockerfile: clients/cmd/logstash/Dockerfile
dry_run: true
password:
from_secret: docker_password
repo: grafana/logstash-output-loki
username:
from_secret: docker_username
when:
ref:
exclude:
- refs/heads/main
- refs/heads/k??
- refs/tags/v*
- depends_on:
- image-tag
image: plugins/docker
name: publish-logstash-image
settings:
dockerfile: clients/cmd/logstash/Dockerfile
dry_run: false
password:
from_secret: docker_password
repo: grafana/logstash-output-loki
username:
from_secret: docker_username
when:
ref:
include:
- refs/heads/main
- refs/heads/k??
- refs/tags/v*
trigger:
event:
- push
- pull_request
---
depends_on:
- docker-amd64
- docker-arm64
- docker-arm
- promtail-amd64
- promtail-arm64
- promtail-arm
kind: pipeline
name: manifest
steps:
- depends_on:
- clone
image: plugins/manifest
name: manifest-promtail
settings:
ignore_missing: false
password:
from_secret: docker_password
spec: .drone/docker-manifest.tmpl
target: promtail
username:
from_secret: docker_username
- depends_on:
- clone
- manifest-promtail
image: plugins/manifest
name: manifest-loki
settings:
ignore_missing: false
password:
from_secret: docker_password
spec: .drone/docker-manifest.tmpl
target: loki
username:
from_secret: docker_username
- depends_on:
- clone
- manifest-loki
image: plugins/manifest
name: manifest-loki-canary
settings:
ignore_missing: false
password:
from_secret: docker_password
spec: .drone/docker-manifest.tmpl
target: loki-canary
username:
from_secret: docker_username
trigger:
event:
- push
ref:
include:
- refs/heads/main
- refs/heads/k??
- refs/tags/v*
---
depends_on:
- manifest
image_pull_secrets:
- dockerconfigjson
kind: pipeline
name: deploy
steps:
- commands:
- apk add --no-cache bash git
- git fetch origin --tags
- echo $(./tools/image-tag) > .tag
depends_on:
- clone
image: alpine
name: image-tag
- depends_on:
- clone
- image-tag
image: us.gcr.io/kubernetes-dev/drone/plugins/deploy-image
name: trigger
settings:
docker_tag_file: .tag
github_token:
from_secret: github_token
images_json:
from_secret: deploy_config
trigger:
event:
- push
ref:
include:
- refs/heads/main
- refs/heads/k??
- refs/tags/v*
---
kind: pipeline
name: promtail-windows
platform:
arch: amd64
os: windows
version: "1809"
steps:
- commands:
- Write-Output $env:DRONE_RUNNER_NAME
image: golang:windowsservercore-1809
name: identify-runner
- commands:
- go test .\clients\pkg\promtail\targets\windows\... -v
image: golang:windowsservercore-1809
name: test
trigger:
event:
- push
- pull_request
---
depends_on:
- check
kind: pipeline
name: lambda-promtail
steps:
- commands:
- apk add --no-cache bash git
- git fetch origin --tags
- echo $(./tools/image-tag)-amd64 > .tags
- echo ",main" >> .tags
image: alpine
name: image-tag
- depends_on:
- image-tag
image: cstyan/ecr
name: build-lambda-promtail-image
privileged: true
settings:
access_key:
from_secret: ecr_key
dockerfile: tools/lambda-promtail/Dockerfile
dry_run: true
region: us-east-1
registry: public.ecr.aws/grafana
repo: public.ecr.aws/grafana/lambda-promtail
secret_key:
from_secret: ecr_secret_key
when:
ref:
exclude:
- refs/heads/main
- refs/heads/k??
- refs/tags/v*
- depends_on:
- image-tag
image: cstyan/ecr
name: publish-lambda-promtail-image
privileged: true
settings:
access_key:
from_secret: ecr_key
dockerfile: tools/lambda-promtail/Dockerfile
dry_run: false
region: us-east-1
registry: public.ecr.aws/grafana
repo: public.ecr.aws/grafana/lambda-promtail
secret_key:
from_secret: ecr_secret_key
when:
ref:
include:
- refs/heads/main
- refs/heads/k??
- refs/tags/v*
trigger:
event:
- push
- pull_request
---
get:
name: pat
path: infra/data/ci/github/grafanabot
kind: secret
name: github_token
---
get:
name: .dockerconfigjson
path: secret/data/common/gcr
kind: secret
name: dockerconfigjson
---
get:
name: username
path: infra/data/ci/docker_hub
kind: secret
name: docker_username
---
get:
name: password
path: infra/data/ci/docker_hub
kind: secret
name: docker_password
---
get:
name: access_key_id
path: infra/data/ci/loki/aws-credentials
kind: secret
name: ecr_key
---
get:
name: secret_access_key
path: infra/data/ci/loki/aws-credentials
kind: secret
name: ecr_secret_key
---
get:
name: config.json
path: infra/data/ci/loki/deploy
kind: secret
name: deploy_config
---
kind: signature
hmac: 6d010031b5c18947ac4710106d06f119e77d715ddc687983227700254b27e6d8
...