Skip to content

Add resource for kibana synthetics monitors: http and tcp #1858

Add resource for kibana synthetics monitors: http and tcp

Add resource for kibana synthetics monitors: http and tcp #1858

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@v5
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@v5
with:
go-version-file: 'tools/go.mod'
cache: true
cache-dependency-path: tools/go.sum
- uses: hashicorp/setup-terraform@v3
with:
terraform_wrapper: false
- name: Lint
run: make lint
- name: Check env
run: |-
pwd
ls -la ${{ github.workspace }}/kibana-config
echo "${{ github.workspace }}"
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.security.enabled: true
xpack.security.authc.api_key.enabled: true
xpack.security.authc.token.enabled: true
xpack.security.http.ssl.enabled: false
xpack.watcher.enabled: true
xpack.license.self_generated.type: trial
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 }}
# volumes:
# - ${{ github.workspace }}/kibana-config:/usr/share/kibana/config
# 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.3'
# - '8.11.4'
# - '8.12.2'
# - '8.13.4'
- '8.14.3'
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version-file: 'go.mod'
cache: true
- uses: hashicorp/setup-terraform@v3
with:
terraform_wrapper: false
- name: Get dependencies
run: make vendor
- name: Start kibana with mounted volume
run: docker run -d -p 5601:5601
-e SERVER_NAME=kibana
-e ELASTICSEARCH_HOSTS="http://elasticsearch:9200"
-e ELASTICSEARCH_USERNAME=${{ env.KIBANA_SYSTEM_USERNAME }}
-e ELASTICSEARCH_PASSWORD=${{ env.KIBANA_SYSTEM_PASSWORD }}
-e XPACK_ENCRYPTEDSAVEDOBJECTS_ENCRYPTIONKEY=a7a6311933d3503b89bc2dbc36572c33a6c10925682e591bffcab6911c06786d
-e "xpack.fleet.enabled=true"
-v ${{ github.workspace }}/kibana-config:/usr/share/kibana/config
--name kibana
--network ${{ job.container.network }}
--health-cmd="curl http://localhost:5601/api/status" --health-interval=10s --health-timeout=5s --health-retries=10
docker.elastic.co/kibana/kibana:${{ matrix.version }}
- 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 }}
- id: get-api-key
name: Get ES API key
run: |-
echo "apikey=$(make create-es-api-key | jq -r .encoded)" >> "$GITHUB_OUTPUT"
env:
ELASTICSEARCH_ENDPOINTS: "http://localhost:9200"
ELASTICSEARCH_USERNAME: "elastic"
ELASTICSEARCH_PASSWORD: ${{ env.ELASTIC_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"
KIBANA_API_KEY: ${{ steps.get-api-key.outputs.apikey }}