diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..b4bdf89 --- /dev/null +++ b/Makefile @@ -0,0 +1,22 @@ +# vim:set tabstop=4 softtabstop=4 shiftwidth=4 noexpandtab: +COMMIT=`scripts/semver.sh full` +VERSION=`scripts/semver.sh short` +LINKER=-ldflags "-X main.gitCommit=$(COMMIT) -X main.version=$(VERSION)" +BINNAME=elasticsearch +DOCKER_REPO_NAME=gs-docker-ent.bintray.io +DOCKER_IMAGE_NAME=${DOCKER_REPO_NAME}/$(BINNAME):$(VERSION) +DOCKER_LATEST_IMAGE_NAME=${DOCKER_REPO_NAME}/$(BINNAME):latest +DOCKER_CONTAINER_NAME=$(BINNAME) + +default: docker + +phony: docker + +docker: + docker build -t $(DOCKER_IMAGE_NAME) . + docker tag ${DOCKER_IMAGE_NAME} ${DOCKER_LATEST_IMAGE_NAME} + +bintray: docker + docker login -u ${BINTRAY_USER} -p $(BINTRAY_API_KEY) gs-docker-ent.bintray.io + docker push $(DOCKER_IMAGE_NAME) + docker push ${DOCKER_LATEST_IMAGE_NAME} diff --git a/elasticsearch.yml b/elasticsearch.yml index 0c73c70..a72358b 100644 --- a/elasticsearch.yml +++ b/elasticsearch.yml @@ -18,13 +18,15 @@ bootstrap.mlockall: true http: enabled: ${HTTP_ENABLE} compression: true - cors: - enabled: ${HTTP_CORS_ENABLE} - allow-origin: ${HTTP_CORS_ALLOW_ORIGIN} cloud: kubernetes: service: ${DISCOVERY_SERVICE} namespace: ${NAMESPACE} + discovery: type: kubernetes + +index: + number_of_shards: ${NUMBER_OF_SHARDS} + number_of_replicas: ${NUMBER_OF_REPLICAS} diff --git a/run.sh b/run.sh index 0101f0e..0b0b17f 100755 --- a/run.sh +++ b/run.sh @@ -13,8 +13,9 @@ export NODE_MASTER=${NODE_MASTER:-true} export NODE_DATA=${NODE_DATA:-true} export HTTP_ENABLE=${HTTP_ENABLE:-true} export NETWORK_HOST=${NETWORK_HOST:-_site_} -export HTTP_CORS_ENABLE=${HTTP_CORS_ENABLE:-true} -export HTTP_CORS_ALLOW_ORIGIN=${HTTP_CORS_ALLOW_ORIGIN:-*} +export ES_HEAP_SIZE=${ES_HEAP_SIZE:-512m} +export NUMBER_OF_SHARDS=${NUMBER_OF_SHARDS:-1} +export NUMBER_OF_REPLICAS=${NUMBER_OF_REPLICAS:-0} # Kubernetes stuff export NAMESPACE=${NAMESPACE:-default} diff --git a/scripts/semver.sh b/scripts/semver.sh new file mode 100755 index 0000000..fce0225 --- /dev/null +++ b/scripts/semver.sh @@ -0,0 +1,75 @@ +#!/bin/bash + +# Return package version, release or epoch based on git tags and commits +# Based on https://datasift.github.io/gitflow/Versioning.html AND +# https://datasift.github.io/gitflow/Versioning.html +# RPM name follows https://fedoraproject.org/wiki/Packaging:NamingGuidelines +# Git tags should always be X.Y.Z (major.minor.patch) +# Builds from master should end up being X.Y.Z-B where B is build number +# Builds from any other branch end up being X.Y.Z-SNAPSHOT-B-GH-GB where +# GH is git commit hash (like g88e2ebb) +# GB is git branch (like versioning) +# Example builds: +# release version from master: 2.2.0-1 +# rebuild version from master: 2.2.0-5 +# dev version from feature : 2.2.0-SNAPSHOT.35.g88e2ebb.versioning + +# Set this to your application name +# This can be overridden with $ semver.sh rpmname NEWNAME +NAME=gsk-user + +########################### +## Do not modify below here +########################### +SEMVER_VERSION=1.3 +BINARY_NAME=${2:-${NAME}} +EPOCH=$(date +%s) +GIT_BRANCH=$(git rev-parse --abbrev-ref HEAD| sed -e 's/-/./g') +VERSION=$(git describe --tags --match [0-9].[0-9].[0-9] --always | cut -f1 -d'-') +COMMIT_DETAIL=$(git describe --long --tags --always --match [0-9].[0-9].[0-9] | cut -f2- -d'-' | sed -e 's/-/./g') +RPMARCH=x86_64 +DEBARCH=amd64 +DIST=el7 + +## Naming logic +if [[ $GIT_BRANCH == 'master' ]] ; then + RELEASE=$(git describe --long --tags --always --match [0-9].[0-9].[0-9] | cut -f2 -d'-') + SHORT=${VERSION} + FULL=${VERSION}.${COMMIT_DETAIL}.${GIT_BRANCH} +else + RELEASE="SNAPSHOT.${COMMIT_DETAIL}.${GIT_BRANCH}" + SHORT=${VERSION}-SNAPSHOT + FULL=${VERSION}-SNAPSHOT.${COMMIT_DETAIL}.${GIT_BRANCH} +fi + +RPM_NAME=${BINARY_NAME}-${VERSION}-${RELEASE}.${DIST}.${RPMARCH}.rpm +DEB_NAME=${BINARY_NAME}_${VERSION}-${RELEASE}_${DEBARCH}.deb + +# Evaluate arguments +case $1 in + full) + echo "$FULL" + ;; + short) + echo "$SHORT" + ;; + version) + echo $VERSION + ;; + release) + echo $RELEASE + ;; + epoch) + echo $EPOCH + ;; + rpmname) + echo $RPM_NAME + ;; + debname) + echo $DEB_NAME + ;; + *) + echo $"Usage: $0 {version|release|epoch|full|short|rpmname|debname} [APPNAME]" + echo "Version $SEMVER_VERSION" + exit 1 +esac