Skip to content

Artifacts Server

Description

This image permits launching Artifacts server used to provide dependencies for punchlines (stormline/sparkline/...):

Usage

You can use docker image like this:

docker run -it -p 4245:4245 -v $(pwd)/application.yml:/opt/punch/config/application.yml ghcr.io/punchplatform/artifacts-server:7.0.1-SNAPSHOT --spring.config.location=/opt/punch/config/application.yml

With configuration application.yml contains:

server:
  port: 4245

tenant:
  name: yourtenant

web:
  enabled: true

# FILESYSTEM METADATA
# metadata:
#  file: /tmp/artifacts/metadata

# ELASTICSEARCH METADATA
# Remember to put mapping template
metadata:
  elasticsearch:
    hosts:
      - http://172.17.0.3:9200
    index_name: artifacts-metadata

# FILESYSTEM DATA
# data:
#  file: /tmp/artifacts/data

# MINIO (S3) DATA
data:
  minio:
    host: http://172.17.0.1:9000
    access_key: minio
    secret_key: K@st2020*

If you use Elasticsearch Metadata backend you MUST put mapping template before storing artifacts.

curl -X PUT localhost:9200/_template/artifacts_metadata -d '{
  "order": 10,
  "index_patterns": [
    "*artifacts-metadata*"
  ],
  "settings": {
    "index": {
      "refresh_interval": "-1"
    }
  },
  "mappings": {
    "date_detection": true,
    "numeric_detection": false,
    "dynamic_templates": [
      {
        "strings_as_keywords": {
          "match_mapping_type": "string",
          "mapping": {
            "type": "keyword",
            "ignore_above": 256
          }
        }
      }
    ],
    "properties": {
      "@timestamp": {
        "type": "date",
        "format": "epoch_millis||strictDateOptionalTime"
      },
      "name": {
        "type": "keyword"
      },
      "group": {
        "type": "keyword"
      },
      "version": {
        "type": "keyword"
      },
      "type": {
        "type": "keyword"
      }
    }
  }
}'