Skip to content

[Feature] Add Kibana security roles #1028

[Feature] Add Kibana security roles

[Feature] Add Kibana security roles #1028

Workflow file for this run

name: Build/Lint/Test
on:
push:
paths-ignore:
- 'README.md'
- 'CHANGELOG.md'
pull_request:
paths-ignore:
- 'README.md'
- 'CHANGELOG.md'
permissions:
contents: read
jobs:
build:
name: Build
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v4
with:
go-version-file: 'go.mod'
cache: true
- name: Get dependencies
run: make vendor
- name: Build
run: make build-ci
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v4
with:
go-version-file: 'tools/go.mod'
cache: true
cache-dependency-path: tools/go.sum
- uses: hashicorp/setup-terraform@v2
with:
terraform_wrapper: false
- name: Lint
run: make lint
test:
name: Matrix Acceptance Test
needs: build
runs-on: ubuntu-latest
env:
ELASTIC_PASSWORD: password
KIBANA_SYSTEM_USERNAME: kibana_system
KIBANA_SYSTEM_PASSWORD: password
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:${{ matrix.version }}
env:
discovery.type: single-node
xpack.license.self_generated.type: trial
xpack.security.enabled: true
xpack.security.authc.api_key.enabled: true
xpack.watcher.enabled: true
repositories.url.allowed_urls: https://example.com/*
path.repo: /tmp
ELASTIC_PASSWORD: ${{ env.ELASTIC_PASSWORD }}
ports:
- 9200:9200
options: --health-cmd="curl http://localhost:9200/_cluster/health" --health-interval=10s --health-timeout=5s --health-retries=10
kibana:
image: docker.elastic.co/kibana/kibana:${{ matrix.version }}
env:
SERVER_NAME: kibana
ELASTICSEARCH_HOSTS: http://elasticsearch:9200
ELASTICSEARCH_USERNAME: ${{ env.KIBANA_SYSTEM_USERNAME }}
ELASTICSEARCH_PASSWORD: ${{ env.KIBANA_SYSTEM_PASSWORD }}
XPACK_ENCRYPTEDSAVEDOBJECTS_ENCRYPTIONKEY: a7a6311933d3503b89bc2dbc36572c33a6c10925682e591bffcab6911c06786d
xpack.fleet.enabled: true
ports:
- 5601:5601
timeout-minutes: 15
strategy:
fail-fast: false
matrix:
version:
- '7.17.13'
- '8.0.1'
- '8.1.3'
- '8.2.3'
- '8.3.3'
- '8.4.3'
- '8.5.3'
- '8.6.2'
- '8.7.1'
- '8.8.2'
- '8.9.2'
- '8.10.2'
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v4
with:
go-version-file: 'go.mod'
cache: true
- uses: hashicorp/setup-terraform@v2
with:
terraform_wrapper: false
- name: Get dependencies
run: make vendor
- name: Setup Kibana user
run: make set-kibana-password
env:
ELASTICSEARCH_ENDPOINTS: "http://localhost:9200"
ELASTICSEARCH_USERNAME: "elastic"
ELASTICSEARCH_PASSWORD: ${{ env.ELASTIC_PASSWORD }}
KIBANA_SYSTEM_USERNAME: ${{ env.KIBANA_SYSTEM_USERNAME }}
KIBANA_SYSTEM_PASSWORD: ${{ env.KIBANA_SYSTEM_PASSWORD }}
- name: TF acceptance tests
timeout-minutes: 10
run: make testacc
env:
TF_ACC: "1"
STACK_VERSION: ${{ matrix.version }}
ELASTICSEARCH_ENDPOINTS: "http://localhost:9200"
ELASTICSEARCH_USERNAME: "elastic"
ELASTICSEARCH_PASSWORD: ${{ env.ELASTIC_PASSWORD }}
KIBANA_ENDPOINT: "http://localhost:5601"