Skip to content
Snippets Groups Projects
Commit dc1427ff authored by Remi  PLANEL's avatar Remi PLANEL
Browse files

automatically get the meili search api key

parent 2124c232
No related branches found
No related tags found
No related merge requests found
Pipeline #115294 canceled
......@@ -13,6 +13,7 @@ cache:
stages:
- get-data
- format-data
- get-meili-key
- build
- deploy
......@@ -21,42 +22,38 @@ stages:
- i=0; while [ "$i" -lt 12 ]; do docker info && break; sleep 5; i=$(( i + 1 )) ; done
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
############# get-meili-key ###############
.build:
stage: build
image: docker:24
# needs:
# - format-pfam
.get-meili-api-key:
image: python:3.11-bullseye
stage: get-meili-key
variables:
CONTEXT: "."
DOCKERFILE: "Dockerfile"
BASE_URL: /wiki/
MEILI_HOST: "http://localhost:7700"
MEILI_API_KEY: MASTER_KEY
before_script:
- *docker-login
- apt update
- pip install meilisearch
script:
- >
docker buildx build --pull -t "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$CI_COMMIT_SHORT_SHA"
--build-arg "BASE_URL=$BASE_URL"
--build-arg "MEILI_HOST=$MEILI_HOST"
--build-arg "MEILI_API_KEY=$MEILI_API_KEY"
-f $DOCKERFILE $CONTEXT
- docker push "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$CI_COMMIT_SHORT_SHA"
- ./scripts/set-meili-api-key-env.py --key "${MEILI_MASTER_KEY}" --host ${MEILI_HOST} >> build.env
artifacts:
reports:
dotenv: build.env
# build:
# stage: build
# before_script:
# - npm ci
# script:
# - NUXT_APP_BASE_URL=/wiki/ npm run generate
# artifacts:
# paths:
# - .output/public
# untracked: false
# when: on_success
# expire_in: "30 days"
set-meili-env:dev:
extends: .get-meili-api-key
variables:
MEILI_HOST: 'https://defense-finder-meilisearch.dev.pasteur.cloud'
rules:
- if: $CI_COMMIT_BRANCH != "main"
set-meili-env:prod:
extends: .get-meili-api-key
variables:
MEILI_HOST: 'https://defense-finder-meilisearch.pasteur.cloud'
rules:
- if: $CI_COMMIT_BRANCH == "main"
##############################
get-zotero:
image: python:3.11-bullseye
stage: get-data
......@@ -70,7 +67,6 @@ get-zotero:
paths:
- public/articles.json
get-pfam:
image: ubuntu:23.04
stage: get-data
......@@ -105,27 +101,58 @@ format-pfam:
rules:
- if: $CI_COMMIT_BRANCH == "main"
################ BUILD ##########################
.build:
stage: build
image: docker:24
# needs:
# - format-pfam
variables:
CONTEXT: "."
DOCKERFILE: "Dockerfile"
BASE_URL: /wiki/
MEILI_HOST: "http://localhost:7700"
before_script:
- *docker-login
script:
- echo $MEILI_API_KEY
- >
docker buildx build --pull -t "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$CI_COMMIT_SHORT_SHA"
--build-arg "BASE_URL=$BASE_URL"
--build-arg "MEILI_HOST=$MEILI_HOST"
--build-arg "MEILI_API_KEY=$MEILI_API_KEY"
-f $DOCKERFILE $CONTEXT
- docker push "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$CI_COMMIT_SHORT_SHA"
build:dev:wiki:
extends: .build
needs:
- set-meili-env:dev
variables:
BASE_URL: /wiki/
MEILI_HOST: 'https://defense-finder-meilisearch.dev.pasteur.cloud'
MEILI_API_KEY: "${MEILI_MASTER_KEY}"
# MEILI_HOST: 'https://defense-finder-meilisearch.dev.pasteur.cloud'
# MEILI_API_KEY: "${MEILI_MASTER_KEY}"
rules:
- if: $CI_COMMIT_BRANCH != "main"
build:prod:wiki:
extends: .build
needs:
- set-meili-env:prod
variables:
BASE_URL: /wiki/
MEILI_HOST: 'https://defense-finder-meilisearch.pasteur.cloud'
MEILI_API_KEY: "${MEILI_MASTER_KEY}"
# MEILI_HOST: 'https://defense-finder-meilisearch.pasteur.cloud'
# MEILI_API_KEY: "${MEILI_MASTER_KEY}"
rules:
- if: $CI_COMMIT_BRANCH == "main"
################ DEPLOY ##########################
.deploy:
stage: deploy
image: harbor.pasteur.fr/kube-system/helm-kubectl:$HELM_VERSION
......
#!/usr/bin/env python3
import meilisearch
import argparse
parser = argparse.ArgumentParser(
prog="set-meili-api-key-env",
description="Create an env file with meili api key",
)
parser.add_argument("--key", type=str) # option that takes a value
parser.add_argument("--host", type=str) # option that takes a value
args = parser.parse_args()
client = meilisearch.Client(args.host, args.key)
keys = client.get_keys()
api_key = [res.key for res in keys.results if res.name == "Default Search API Key"]
if len(api_key) == 1:
print(f"MEILI_HOST={args.host}")
print(f"MEILI_API_KEY={api_key[0]}")
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment