diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..341a6bc --- /dev/null +++ b/.dockerignore @@ -0,0 +1,5 @@ +.cache/ +node_modules/ +Dockerfile +Makefile +README.adoc diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1f0cd27 --- /dev/null +++ b/.gitignore @@ -0,0 +1,92 @@ +.vscode + +# Created by https://www.gitignore.io/api/node +# Edit at https://www.gitignore.io/?templates=node + +### Node ### +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# TypeScript v1 declaration files +typings/ + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env +.env.test + +# parcel-bundler cache (https://parceljs.org/) +.cache + +# next.js build output +.next + +# nuxt.js build output +.nuxt + +# vuepress build output +.vuepress/dist + +# Serverless directories +.serverless/ + +# FuseBox cache +.fusebox/ + +# DynamoDB Local files +.dynamodb/ + +# End of https://www.gitignore.io/api/node diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..9e2c61d --- /dev/null +++ b/Dockerfile @@ -0,0 +1,12 @@ +FROM node:10.14.2-alpine + +WORKDIR /site +COPY ["package.json", "package-lock.json", "./"] +RUN npm install +COPY . /site + +EXPOSE 3000 +CMD node_modules/.bin/ts-node src/index.ts + +# Don't run as root even in plain docker +USER 1001:0 diff --git a/README.adoc b/README.adoc new file mode 100644 index 0000000..0a22380 --- /dev/null +++ b/README.adoc @@ -0,0 +1,35 @@ += Embeddable Search Engine + +This search engine is meant to be embedded inside a pod running an Antora-generated website, such as the VSHN handbook or the K8up documentation. + +It can be used in a Kubernetes pod, as a secondary container providing search services. The nginx configuration of the main container should redirect all requests beginning with `/search` to this container. + +The search engine is written using https://www.typescriptlang.org/[TypeScript], compiled and run upon start. + +== Running Locally + +After cloning the repo, run `npm install` to install all the dependencies. + +The server runs with this command: + +`node_modules/.bin/ts-node src/index.ts` + +== Building the Docker Image + +Run the following command: + +`docker build -t search .` + +== Running the Search Engine + +Use the following command: + +`docker run -d -p 8081:3000 search` + +Test the search engine with a curl command piped to https://stedolan.github.io/jq/[jq]: + +`curl http://localhost:8081/search?q=backup --silent | jq` + +== Note for Extending Docker Image + +For specific applications, the files `index/files.json` and `index/lunr.json` must be replaced with ad-hoc content extracted from other projects. diff --git a/index/files.json b/index/files.json new file mode 100644 index 0000000..69331c4 --- /dev/null +++ b/index/files.json @@ -0,0 +1 @@ +{"/k8up/0.1.5/advanced-config.html":{"name":"Advanced Config Reference","href":"/k8up/0.1.5/advanced-config.html","excerpt":" The operator has two ways for configuration: Per namespace backups. Optimal for shared clusters Global settings with namespaced…"},"/k8up/0.1.5/getting-started.html":{"name":"Getting Started Tutorial","href":"/k8up/0.1.5/getting-started.html","excerpt":" This tutorial provides a quick introduction to K8up, how it works and how to use it. Prerequisites This…"},"/k8up/0.1.5/index.html":{"name":"K8up","href":"/k8up/0.1.5/index.html","excerpt":" K8up is a backup operator that will handle PVC and app backups on a k8s/OpenShift cluster. Just create a…"},"/k8up/0.1.5/object-specifications.html":{"name":"Object Specifications Reference","href":"/k8up/0.1.5/object-specifications.html","excerpt":" The K8up operator includes various CRDs which get added to the cluster. Here We’ll explain them in more detail.…"},"/k8up/0.1.5/restore.html":{"name":"How to Restore a Backup","href":"/k8up/0.1.5/restore.html","excerpt":" It is possible to tell the operator to perform restores either to a PVC or an S3 bucket. For…"}} \ No newline at end of file diff --git a/index/lunr.json b/index/lunr.json new file mode 100644 index 0000000..0b80392 --- /dev/null +++ b/index/lunr.json @@ -0,0 +1 @@ +{"version":"2.3.6","fields":["name","text"],"fieldVectors":[["name//k8up/0.1.5/advanced-config.html",[0,0.794,1,0.794,2,0.794]],["text//k8up/0.1.5/advanced-config.html",[3,0.137,4,1.399,5,1.211,6,0.916,7,0.884,8,0.916,9,0.14,10,1.918,11,1.399,12,0.398,13,2.754,14,1.123,15,0.137,16,1.399,17,0.884,18,1.918,19,1.918,20,1.918,21,0.746,22,1.399,23,1.808,24,1.399,25,1.399,26,1.211,27,0.572,28,1.918,29,1.399,30,1.399,31,0.544,32,0.851,33,0.137,34,1.399,35,1.399,36,1.648,37,1.399,38,1.399,39,0.088,40,0.884,41,0.884,42,0.544,43,1.399,44,0.489,45,0.489,46,0.12,47,1.918,48,1.918,49,1.399,50,1.399,51,1.399,52,0.884,53,1.399,54,1.918,55,0.884,56,1.399,57,1.399,58,1.399,59,1.211,60,0.454,61,1.399,62,1.399,63,1.399,64,1.399,65,1.399,66,1.399,67,1.399,68,1.382,69,0.884,70,0.884,71,1.399,72,1.399,73,1.918,74,1.918,75,1.399,76,0.884,77,1.399,78,1.399,79,0.56,80,1.211,81,0.12,82,0.884,83,2.189,84,1.399,85,0.544,86,1.399,87,0.29,88,0.29,89,1.399,90,1.399,91,1.399,92,1.399,93,1.399,94,0.454,95,1.399,96,1.399,97,1.399,98,1.399,99,1.399,100,1.399,101,1.399,102,0.542,103,1.399,104,0.454,105,1.399,106,1.399,107,1.399,108,1.399,109,1.399,110,1.399,111,1.399,112,1.211,113,1.399,114,0.884,115,0.544,116,0.544,117,1.399,118,1.399,119,0.29,120,1.399,121,1.399,122,1.211,123,1.399,124,0.29,125,1.399,126,1.399,127,0.884,128,1.399,129,0.884,130,1.382,131,0.884,132,0.884,133,1.399,134,1.918,135,0.884,136,0.884,137,0.884,138,0.884,139,0.884,140,1.918,141,1.399,142,1.399,143,0.746,144,1.399,145,0.884,146,0.544,147,0.884,148,1.399,149,1.399,150,0.884,151,0.884,152,1.399]],["name//k8up/0.1.5/getting-started.html",[116,0.489,153,1.258,154,0.794]],["text//k8up/0.1.5/getting-started.html",[0,1.072,1,0.743,3,0.125,5,0.743,6,0.899,8,0.66,9,0.152,12,0.413,14,0.457,15,0.125,17,0.743,21,0.457,23,1.378,26,1.461,27,0.546,31,0.848,33,0.107,36,1.461,39,0.107,41,0.743,42,0.457,44,0.453,45,0.453,46,0.125,55,0.743,68,1.637,69,1.258,70,0.743,76,1.461,79,0.352,80,1.378,81,0.145,85,0.966,87,0.413,88,0.352,94,0.413,104,0.244,112,0.743,115,0.457,116,0.775,119,0.413,124,0.244,130,1.682,131,1.072,132,0.743,135,1.637,136,1.258,137,1.522,138,1.258,139,1.072,146,0.66,147,1.461,154,1.072,155,1.177,156,1.177,157,0.5,158,1.698,159,1.177,160,1.177,161,0.743,162,1.177,163,0.66,164,2.313,165,1.177,166,1.177,167,1.177,168,1.177,169,1.177,170,0.743,171,1.177,172,1.698,173,1.698,174,0.66,175,1.177,176,1.177,177,1.177,178,1.177,179,2.631,180,1.177,181,1.177,182,1.698,183,0.743,184,1.177,185,1.177,186,1.177,187,1.177,188,1.177,189,1.698,190,1.177,191,1.177,192,0.989,193,1.992,194,1.992,195,1.177,196,1.177,197,1.177,198,1.177,199,1.992,200,1.378,201,1.177,202,1.992,203,1.177,204,1.698,205,1.177,206,1.698,207,1.177,208,1.992,209,1.992,210,2.181,211,2.181,212,1.698,213,1.992,214,1.177,215,1.698,216,1.177,217,1.992,218,2.181,219,1.177,220,1.177,221,1.177,222,1.177,223,1.177,224,1.698,225,1.177,226,1.177,227,1.177,228,1.177,229,1.177,230,1.177,231,0.743,232,1.177,233,1.177,234,1.177,235,1.177,236,0.743,237,1.258,238,1.698,239,1.177,240,1.177,241,1.177,242,1.698,243,1.177,244,0.66,245,0.743,246,1.177,247,0.743,248,1.177,249,1.072,250,0.457,251,0.457,252,0.743,253,1.177,254,1.072,255,1.177,256,1.698,257,1.177,258,1.177,259,1.177,260,1.177,261,1.177,262,1.177,263,1.177,264,1.177,265,1.177,266,1.177,267,1.177,268,1.177,269,1.177,270,1.177,271,1.177,272,1.177,273,0.743,274,1.177,275,1.177,276,1.177,277,1.177,278,1.177,279,1.177,280,1.177,281,0.743,282,1.177,283,0.743,284,1.177,285,1.177,286,1.177,287,1.177,288,1.177,289,1.698,290,1.177,291,2.181,292,1.698,293,1.177,294,0.457,295,1.177,296,0.743,297,1.698,298,1.177,299,1.177,300,1.177,301,1.177,302,0.457,303,1.177,304,1.177,305,1.177,306,1.177,307,1.177,308,1.177]],["name//k8up/0.1.5/index.html",[157,0.378]],["text//k8up/0.1.5/index.html",[3,0.129,8,0.799,9,0.14,12,0.427,15,0.129,27,0.51,33,0.129,39,0.129,46,0.129,59,1.298,60,0.427,81,0.129,114,1.298,145,1.298,146,0.799,151,1.298,157,0.545,192,0.799,236,1.298,244,0.799,296,1.298,309,2.056,310,2.056,311,2.056,312,1.298,313,2.056,314,0.799,315,2.056,316,2.056,317,2.056,318,1.298,319,2.056,320,2.056,321,2.056,322,2.056,323,2.056,324,2.056,325,2.056,326,2.056,327,2.456,328,2.056,329,2.056,330,2.056,331,2.456,332,2.056,333,2.056,334,2.056,335,2.056,336,2.056,337,2.056,338,2.056,339,2.056,340,2.056]],["name//k8up/0.1.5/object-specifications.html",[2,0.794,46,0.079,127,0.794]],["text//k8up/0.1.5/object-specifications.html",[3,0.105,7,0.732,9,0.153,12,0.24,14,0.962,15,0.165,31,0.962,32,0.451,33,0.175,39,0.124,44,0.599,45,0.349,52,0.732,60,0.526,79,0.536,81,0.178,87,0.498,88,0.567,94,0.526,102,0.536,104,0.24,115,0.451,119,0.574,122,1.368,124,0.349,143,0.451,150,1.061,157,0.24,163,0.932,174,0.932,200,1.368,237,1.061,244,0.842,247,1.6,249,1.63,250,0.653,251,0.842,252,0.732,254,1.562,273,0.732,281,1.061,294,0.932,302,0.768,312,0.732,314,0.451,318,0.732,341,1.159,342,0.732,343,1.159,344,1.679,345,1.159,346,1.159,347,1.514,348,1.514,349,1.562,350,1.514,351,1.63,352,2.731,353,1.562,354,1.6,355,1.6,356,1.6,357,1.514,358,1.975,359,1.679,360,1.679,361,1.679,362,2.299,363,1.159,364,2.166,365,1.975,366,1.975,367,1.975,368,2.166,369,1.975,370,0.732,371,1.159,372,1.159,373,1.159,374,1.159,375,2.473,376,1.159,377,1.159,378,1.247,379,1.159,380,1.159,381,0.732,382,1.975,383,1.159,384,1.159,385,1.679,386,1.159,387,1.159,388,1.159]],["name//k8up/0.1.5/restore.html",[9,0.08,102,0.309]],["text//k8up/0.1.5/restore.html",[3,0.091,6,0.561,9,0.143,15,0.091,21,1.023,27,0.3,32,1,33,0.165,39,0.091,40,1.405,42,0.561,44,0.556,45,0.3,46,0.091,60,0.462,79,0.518,81,0.168,82,1.405,85,0.561,87,0.495,88,0.534,94,0.495,102,0.579,104,0.407,119,0.546,124,0.3,129,1.238,143,0.561,161,0.912,163,0.561,170,0.912,174,0.561,183,0.912,192,0.561,231,0.912,245,0.912,250,0.561,251,1.023,283,0.912,294,0.561,302,0.561,314,0.561,342,0.912,347,0.912,348,0.912,349,0.912,350,0.912,351,1.405,353,1.238,354,1.405,355,1.405,356,1.405,357,0.912,370,1.238,378,0.912,381,1.238,389,1.444,390,2.225,391,1.444,392,1.444,393,1.444,394,1.444,395,1.444,396,1.444,397,2.386,398,1.444,399,1.444,400,1.444,401,1.444,402,1.96,403,1.444,404,1.96,405,1.96,406,1.96,407,1.96,408,1.444,409,2.225,410,2.225,411,1.444,412,1.96,413,1.444,414,1.444,415,1.444,416,1.444,417,1.444,418,1.444,419,2.573,420,1.444,421,1.96,422,1.444,423,1.444,424,1.444,425,1.444,426,1.444,427,1.444,428,1.444,429,1.444,430,2.495,431,2.744,432,2.495,433,2.573,434,2.573,435,2.573,436,2.573,437,2.495,438,1.444,439,1.444,440,1.444,441,1.444]]],"invertedIndex":[["",{"_index":33,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/getting-started.html":{},"/k8up/0.1.5/index.html":{},"/k8up/0.1.5/object-specifications.html":{},"/k8up/0.1.5/restore.html":{}}}],["0",{"_index":32,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/object-specifications.html":{},"/k8up/0.1.5/restore.html":{}}}],["06",{"_index":414,"name":{},"text":{"/k8up/0.1.5/restore.html":{}}}],["08",{"_index":415,"name":{},"text":{"/k8up/0.1.5/restore.html":{}}}],["09:15",{"_index":441,"name":{},"text":{"/k8up/0.1.5/restore.html":{}}}],["09:18:34",{"_index":416,"name":{},"text":{"/k8up/0.1.5/restore.html":{}}}],["09:21",{"_index":437,"name":{},"text":{"/k8up/0.1.5/restore.html":{}}}],["1",{"_index":419,"name":{},"text":{"/k8up/0.1.5/restore.html":{}}}],["14",{"_index":367,"name":{},"text":{"/k8up/0.1.5/object-specifications.html":{}}}],["172.30.1.1:5000/myproject/rest",{"_index":24,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["192",{"_index":440,"name":{},"text":{"/k8up/0.1.5/restore.html":{}}}],["2",{"_index":363,"name":{},"text":{"/k8up/0.1.5/object-specifications.html":{}}}],["2018",{"_index":413,"name":{},"text":{"/k8up/0.1.5/restore.html":{}}}],["2019",{"_index":331,"name":{},"text":{"/k8up/0.1.5/index.html":{}}}],["4",{"_index":361,"name":{},"text":{"/k8up/0.1.5/object-specifications.html":{}}}],["5",{"_index":244,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{},"/k8up/0.1.5/index.html":{},"/k8up/0.1.5/object-specifications.html":{}}}],["5ed64a2d",{"_index":412,"name":{},"text":{"/k8up/0.1.5/restore.html":{}}}],["6",{"_index":439,"name":{},"text":{"/k8up/0.1.5/restore.html":{}}}],["8",{"_index":436,"name":{},"text":{"/k8up/0.1.5/restore.html":{}}}],["8080",{"_index":61,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["abil",{"_index":306,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["abov",{"_index":210,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["access",{"_index":80,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/getting-started.html":{}}}],["accesskeyid",{"_index":109,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["accesskeyidsecretref",{"_index":354,"name":{},"text":{"/k8up/0.1.5/object-specifications.html":{},"/k8up/0.1.5/restore.html":{}}}],["accord",{"_index":52,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/object-specifications.html":{}}}],["account",{"_index":77,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["ad",{"_index":273,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{},"/k8up/0.1.5/object-specifications.html":{}}}],["add",{"_index":172,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["addit",{"_index":98,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["address",{"_index":58,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["adjust",{"_index":112,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/getting-started.html":{}}}],["administr",{"_index":258,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["advanc",{"_index":0,"name":{"/k8up/0.1.5/advanced-config.html":{}},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["alreadi",{"_index":324,"name":{},"text":{"/k8up/0.1.5/index.html":{}}}],["alway",{"_index":270,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["annot",{"_index":26,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/getting-started.html":{}}}],["apivers",{"_index":347,"name":{},"text":{"/k8up/0.1.5/object-specifications.html":{},"/k8up/0.1.5/restore.html":{}}}],["app",{"_index":296,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{},"/k8up/0.1.5/index.html":{}}}],["appli",{"_index":136,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/getting-started.html":{}}}],["applic",{"_index":289,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["appuio",{"_index":173,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["appuio.ch/backup",{"_index":29,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["appuio.ch/backup=fals",{"_index":274,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["appuio.ch/backupcommand",{"_index":70,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/getting-started.html":{}}}],["appuio/k8up",{"_index":178,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["archiv",{"_index":249,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{},"/k8up/0.1.5/object-specifications.html":{}}}],["arrow",{"_index":338,"name":{},"text":{"/k8up/0.1.5/index.html":{}}}],["aw",{"_index":188,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["awar",{"_index":139,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/getting-started.html":{}}}],["aws_access_key_id=8u0udnypnudtus1liaf3",{"_index":400,"name":{},"text":{"/k8up/0.1.5/restore.html":{}}}],["aws_secret_access_key=ip3cdrkxchmh4s7if7erkpnoxdn27v0vrg6chhem",{"_index":401,"name":{},"text":{"/k8up/0.1.5/restore.html":{}}}],["baa",{"_index":353,"name":{},"text":{"/k8up/0.1.5/object-specifications.html":{},"/k8up/0.1.5/restore.html":{}}}],["back",{"_index":205,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["backend",{"_index":351,"name":{},"text":{"/k8up/0.1.5/object-specifications.html":{},"/k8up/0.1.5/restore.html":{}}}],["backup",{"_index":9,"name":{"/k8up/0.1.5/restore.html":{}},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/getting-started.html":{},"/k8up/0.1.5/index.html":{},"/k8up/0.1.5/object-specifications.html":{},"/k8up/0.1.5/restore.html":{}}}],["backup.appuio.ch/v1alpha1",{"_index":348,"name":{},"text":{"/k8up/0.1.5/object-specifications.html":{},"/k8up/0.1.5/restore.html":{}}}],["backup.yml",{"_index":242,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["backup_annot",{"_index":25,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["backup_backupcommandannot",{"_index":67,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["backup_checkschedul",{"_index":30,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["backup_datapath",{"_index":38,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["backup_glob",{"_index":117,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["backup_globalaccesskeyid",{"_index":78,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["backup_globalkeepjob",{"_index":89,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["backup_globalrepopassword",{"_index":86,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["backup_globalrestores3acceskeyid",{"_index":107,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["backup_globalrestores3bucket",{"_index":101,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["backup_globalrestores3endpoint",{"_index":103,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["backup_globalrestores3secretaccesskey",{"_index":110,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["backup_globals3bucket",{"_index":93,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["backup_globals3endpoint",{"_index":92,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["backup_globalsecretaccesskey",{"_index":84,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["backup_globalstatsurl",{"_index":95,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["backup_imag",{"_index":19,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["backup_jobnam",{"_index":43,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["backup_metricbind",{"_index":56,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["backup_podexecaccountnam",{"_index":75,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["backup_podexecrolenam",{"_index":71,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["backup_podfilt",{"_index":34,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["backup_podnam",{"_index":49,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["backup_promurl",{"_index":62,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["backup_restartpolici",{"_index":50,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["backupjob",{"_index":48,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["backuppod=tru",{"_index":37,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["base64",{"_index":218,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["befor",{"_index":165,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["below",{"_index":236,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{},"/k8up/0.1.5/index.html":{}}}],["bind",{"_index":57,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["brows",{"_index":402,"name":{},"text":{"/k8up/0.1.5/restore.html":{}}}],["browser",{"_index":201,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["bucket",{"_index":94,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/getting-started.html":{},"/k8up/0.1.5/object-specifications.html":{},"/k8up/0.1.5/restore.html":{}}}],["captur",{"_index":303,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["care",{"_index":315,"name":{},"text":{"/k8up/0.1.5/index.html":{}}}],["chanc",{"_index":380,"name":{},"text":{"/k8up/0.1.5/object-specifications.html":{}}}],["chart",{"_index":148,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["check",{"_index":31,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/getting-started.html":{},"/k8up/0.1.5/object-specifications.html":{}}}],["claimnam",{"_index":374,"name":{},"text":{"/k8up/0.1.5/object-specifications.html":{}}}],["click",{"_index":337,"name":{},"text":{"/k8up/0.1.5/index.html":{}}}],["cloudnativecon",{"_index":330,"name":{},"text":{"/k8up/0.1.5/index.html":{}}}],["cluster",{"_index":12,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/getting-started.html":{},"/k8up/0.1.5/index.html":{},"/k8up/0.1.5/object-specifications.html":{}}}],["command",{"_index":68,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/getting-started.html":{}}}],["complet",{"_index":323,"name":{},"text":{"/k8up/0.1.5/index.html":{}}}],["config",{"_index":1,"name":{"/k8up/0.1.5/advanced-config.html":{}},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["configur",{"_index":6,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/getting-started.html":{},"/k8up/0.1.5/restore.html":{}}}],["contain",{"_index":41,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/getting-started.html":{}}}],["conveni",{"_index":170,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{},"/k8up/0.1.5/restore.html":{}}}],["convert",{"_index":220,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["correct",{"_index":407,"name":{},"text":{"/k8up/0.1.5/restore.html":{}}}],["count",{"_index":90,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["crd",{"_index":122,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/object-specifications.html":{}}}],["creat",{"_index":192,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{},"/k8up/0.1.5/index.html":{},"/k8up/0.1.5/restore.html":{}}}],["credenti",{"_index":119,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/getting-started.html":{},"/k8up/0.1.5/object-specifications.html":{},"/k8up/0.1.5/restore.html":{}}}],["crontab",{"_index":265,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["crontab.guru",{"_index":268,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["current",{"_index":318,"name":{},"text":{"/k8up/0.1.5/index.html":{},"/k8up/0.1.5/object-specifications.html":{}}}],["custom",{"_index":235,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["data",{"_index":42,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/getting-started.html":{},"/k8up/0.1.5/restore.html":{}}}],["databas",{"_index":301,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["date",{"_index":408,"name":{},"text":{"/k8up/0.1.5/restore.html":{}}}],["dec6d66c",{"_index":404,"name":{},"text":{"/k8up/0.1.5/restore.html":{}}}],["default",{"_index":23,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/getting-started.html":{}}}],["defin",{"_index":237,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{},"/k8up/0.1.5/object-specifications.html":{}}}],["definit",{"_index":132,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/getting-started.html":{}}}],["delet",{"_index":383,"name":{},"text":{"/k8up/0.1.5/object-specifications.html":{}}}],["demo",{"_index":255,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["deploy",{"_index":213,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["deployment.yaml?raw=tru",{"_index":196,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["describ",{"_index":272,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["desktop/mount",{"_index":421,"name":{},"text":{"/k8up/0.1.5/restore.html":{}}}],["destin",{"_index":239,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["detail",{"_index":345,"name":{},"text":{"/k8up/0.1.5/object-specifications.html":{}}}],["dev",{"_index":142,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["develop",{"_index":320,"name":{},"text":{"/k8up/0.1.5/index.html":{}}}],["directori",{"_index":411,"name":{},"text":{"/k8up/0.1.5/restore.html":{}}}],["distribut",{"_index":180,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["doc",{"_index":53,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["dont",{"_index":424,"name":{},"text":{"/k8up/0.1.5/restore.html":{}}}],["dr",{"_index":430,"name":{},"text":{"/k8up/0.1.5/restore.html":{}}}],["drop",{"_index":186,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["drwx",{"_index":438,"name":{},"text":{"/k8up/0.1.5/restore.html":{}}}],["each",{"_index":115,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/getting-started.html":{},"/k8up/0.1.5/object-specifications.html":{}}}],["easi",{"_index":313,"name":{},"text":{"/k8up/0.1.5/index.html":{}}}],["easili",{"_index":219,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["echo",{"_index":225,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["encod",{"_index":217,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["encrypt",{"_index":231,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{},"/k8up/0.1.5/restore.html":{}}}],["endpoint",{"_index":60,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/index.html":{},"/k8up/0.1.5/object-specifications.html":{},"/k8up/0.1.5/restore.html":{}}}],["enough",{"_index":326,"name":{},"text":{"/k8up/0.1.5/index.html":{}}}],["ensur",{"_index":388,"name":{},"text":{"/k8up/0.1.5/object-specifications.html":{}}}],["environ",{"_index":17,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/getting-started.html":{}}}],["everyth",{"_index":113,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["exampl",{"_index":143,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/object-specifications.html":{},"/k8up/0.1.5/restore.html":{}}}],["exclud",{"_index":275,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["exclus",{"_index":385,"name":{},"text":{"/k8up/0.1.5/object-specifications.html":{}}}],["execut",{"_index":73,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["executor",{"_index":74,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["explain",{"_index":281,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{},"/k8up/0.1.5/object-specifications.html":{}}}],["explanait",{"_index":369,"name":{},"text":{"/k8up/0.1.5/object-specifications.html":{}}}],["export",{"_index":397,"name":{},"text":{"/k8up/0.1.5/restore.html":{}}}],["f",{"_index":137,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/getting-started.html":{}}}],["f.e",{"_index":118,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["fail",{"_index":288,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["far",{"_index":321,"name":{},"text":{"/k8up/0.1.5/index.html":{}}}],["featur",{"_index":322,"name":{},"text":{"/k8up/0.1.5/index.html":{}}}],["feel",{"_index":261,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["few",{"_index":198,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["file",{"_index":211,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["filter",{"_index":28,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["find",{"_index":35,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["first",{"_index":171,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["folder",{"_index":373,"name":{},"text":{"/k8up/0.1.5/object-specifications.html":{}}}],["follow",{"_index":224,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["forget",{"_index":425,"name":{},"text":{"/k8up/0.1.5/restore.html":{}}}],["format",{"_index":222,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["free",{"_index":262,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["frequenc",{"_index":238,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["further",{"_index":368,"name":{},"text":{"/k8up/0.1.5/object-specifications.html":{}}}],["fuse",{"_index":394,"name":{},"text":{"/k8up/0.1.5/restore.html":{}}}],["gateway",{"_index":65,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["get",{"_index":153,"name":{"/k8up/0.1.5/getting-started.html":{}},"text":{}}],["gloablli",{"_index":100,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["global",{"_index":13,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["globali",{"_index":83,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["go",{"_index":189,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["handl",{"_index":309,"name":{},"text":{"/k8up/0.1.5/index.html":{}}}],["heavi",{"_index":319,"name":{},"text":{"/k8up/0.1.5/index.html":{}}}],["helm",{"_index":147,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/getting-started.html":{}}}],["help",{"_index":264,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["here",{"_index":342,"name":{},"text":{"/k8up/0.1.5/object-specifications.html":{},"/k8up/0.1.5/restore.html":{}}}],["high",{"_index":182,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["host",{"_index":409,"name":{},"text":{"/k8up/0.1.5/restore.html":{}}}],["http/http",{"_index":106,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["http://10.144.1.224:9000",{"_index":352,"name":{},"text":{"/k8up/0.1.5/object-specifications.html":{}}}],["http://127.0.0.1",{"_index":66,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["http://localhost:9000",{"_index":390,"name":{},"text":{"/k8up/0.1.5/restore.html":{}}}],["https://charts.appuio.ch",{"_index":175,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["https://github.com/appuio/chart",{"_index":149,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["https://github.com/minio/minio/blob/master/docs/orchestration/kubernetes/minio",{"_index":193,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["id",{"_index":82,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/restore.html":{}}}],["imag",{"_index":22,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["includ",{"_index":341,"name":{},"text":{"/k8up/0.1.5/object-specifications.html":{}}}],["inform",{"_index":161,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{},"/k8up/0.1.5/restore.html":{}}}],["infrastructur",{"_index":185,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["initi",{"_index":169,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["insid",{"_index":256,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["instal",{"_index":130,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/getting-started.html":{}}}],["instead",{"_index":128,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["instruct",{"_index":243,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["intend",{"_index":141,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["introduct",{"_index":156,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["item",{"_index":240,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["itself",{"_index":177,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["it’",{"_index":312,"name":{},"text":{"/k8up/0.1.5/index.html":{},"/k8up/0.1.5/object-specifications.html":{}}}],["job",{"_index":45,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/getting-started.html":{},"/k8up/0.1.5/object-specifications.html":{},"/k8up/0.1.5/restore.html":{}}}],["jun",{"_index":435,"name":{},"text":{"/k8up/0.1.5/restore.html":{}}}],["june",{"_index":336,"name":{},"text":{"/k8up/0.1.5/index.html":{}}}],["k8s/openshift",{"_index":310,"name":{},"text":{"/k8up/0.1.5/index.html":{}}}],["k8up",{"_index":157,"name":{"/k8up/0.1.5/index.html":{}},"text":{"/k8up/0.1.5/getting-started.html":{},"/k8up/0.1.5/index.html":{},"/k8up/0.1.5/object-specifications.html":{}}}],["keep",{"_index":91,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["keepdaili",{"_index":366,"name":{},"text":{"/k8up/0.1.5/object-specifications.html":{}}}],["keepjob",{"_index":360,"name":{},"text":{"/k8up/0.1.5/object-specifications.html":{}}}],["keeplast",{"_index":365,"name":{},"text":{"/k8up/0.1.5/object-specifications.html":{}}}],["key",{"_index":81,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/getting-started.html":{},"/k8up/0.1.5/index.html":{},"/k8up/0.1.5/object-specifications.html":{},"/k8up/0.1.5/restore.html":{}}}],["kind",{"_index":349,"name":{},"text":{"/k8up/0.1.5/object-specifications.html":{},"/k8up/0.1.5/restore.html":{}}}],["kubecon",{"_index":329,"name":{},"text":{"/k8up/0.1.5/index.html":{}}}],["kubectl",{"_index":135,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/getting-started.html":{}}}],["label",{"_index":295,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["latest",{"_index":250,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{},"/k8up/0.1.5/object-specifications.html":{},"/k8up/0.1.5/restore.html":{}}}],["left",{"_index":114,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/index.html":{}}}],["let’",{"_index":396,"name":{},"text":{"/k8up/0.1.5/restore.html":{}}}],["like",{"_index":263,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["link:example$backup.yaml",{"_index":241,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["link:example$credentials.yaml",{"_index":214,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["link:example$pvc.yaml",{"_index":207,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["linux",{"_index":392,"name":{},"text":{"/k8up/0.1.5/restore.html":{}}}],["list",{"_index":403,"name":{},"text":{"/k8up/0.1.5/restore.html":{}}}],["ll",{"_index":428,"name":{},"text":{"/k8up/0.1.5/restore.html":{}}}],["locat",{"_index":133,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["log",{"_index":286,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["lose",{"_index":233,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["macbook",{"_index":417,"name":{},"text":{"/k8up/0.1.5/restore.html":{}}}],["machin",{"_index":393,"name":{},"text":{"/k8up/0.1.5/restore.html":{}}}],["mainten",{"_index":248,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["make",{"_index":166,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["manifest",{"_index":140,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["manifest/exampl",{"_index":152,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["manifest/instal",{"_index":134,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["manual",{"_index":129,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/restore.html":{}}}],["mariadb",{"_index":297,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["meetup",{"_index":333,"name":{},"text":{"/k8up/0.1.5/index.html":{}}}],["metadata",{"_index":294,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{},"/k8up/0.1.5/object-specifications.html":{},"/k8up/0.1.5/restore.html":{}}}],["metric",{"_index":99,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["minikub",{"_index":164,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["minimum",{"_index":162,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["minio",{"_index":179,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["minio123",{"_index":202,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["minut",{"_index":199,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["mongodb",{"_index":304,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["monitor",{"_index":317,"name":{},"text":{"/k8up/0.1.5/index.html":{}}}],["monthli",{"_index":246,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["more",{"_index":344,"name":{},"text":{"/k8up/0.1.5/object-specifications.html":{}}}],["mount",{"_index":40,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/restore.html":{}}}],["movi",{"_index":277,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["mysqldump",{"_index":298,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["n",{"_index":226,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["name",{"_index":44,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/getting-started.html":{},"/k8up/0.1.5/object-specifications.html":{},"/k8up/0.1.5/restore.html":{}}}],["namespac",{"_index":8,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/getting-started.html":{},"/k8up/0.1.5/index.html":{}}}],["namespace/project",{"_index":376,"name":{},"text":{"/k8up/0.1.5/object-specifications.html":{}}}],["navig",{"_index":339,"name":{},"text":{"/k8up/0.1.5/index.html":{}}}],["need",{"_index":104,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/getting-started.html":{},"/k8up/0.1.5/object-specifications.html":{},"/k8up/0.1.5/restore.html":{}}}],["next",{"_index":308,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["note",{"_index":123,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["now",{"_index":370,"name":{},"text":{"/k8up/0.1.5/object-specifications.html":{},"/k8up/0.1.5/restore.html":{}}}],["object",{"_index":46,"name":{"/k8up/0.1.5/object-specifications.html":{}},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/getting-started.html":{},"/k8up/0.1.5/index.html":{},"/k8up/0.1.5/restore.html":{}}}],["offici",{"_index":144,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["on",{"_index":378,"name":{},"text":{"/k8up/0.1.5/object-specifications.html":{},"/k8up/0.1.5/restore.html":{}}}],["onc",{"_index":252,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{},"/k8up/0.1.5/object-specifications.html":{}}}],["onfailur",{"_index":54,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["open",{"_index":405,"name":{},"text":{"/k8up/0.1.5/restore.html":{}}}],["openshift",{"_index":47,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["oper",{"_index":3,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/getting-started.html":{},"/k8up/0.1.5/index.html":{},"/k8up/0.1.5/object-specifications.html":{},"/k8up/0.1.5/restore.html":{}}}],["optim",{"_index":10,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["option",{"_index":395,"name":{},"text":{"/k8up/0.1.5/restore.html":{}}}],["output",{"_index":307,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["overwrit",{"_index":125,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["p@ssw0rd",{"_index":227,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["password",{"_index":88,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/getting-started.html":{},"/k8up/0.1.5/object-specifications.html":{},"/k8up/0.1.5/restore.html":{}}}],["per",{"_index":7,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/object-specifications.html":{}}}],["perform",{"_index":183,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{},"/k8up/0.1.5/restore.html":{}}}],["perman",{"_index":234,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["persistentvolumenclaim",{"_index":203,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["pleas",{"_index":138,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/getting-started.html":{}}}],["pod",{"_index":36,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/getting-started.html":{}}}],["possibl",{"_index":124,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/getting-started.html":{},"/k8up/0.1.5/object-specifications.html":{},"/k8up/0.1.5/restore.html":{}}}],["post",{"_index":97,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["prerequisit",{"_index":159,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["present",{"_index":327,"name":{},"text":{"/k8up/0.1.5/index.html":{}}}],["privat",{"_index":16,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["product",{"_index":145,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/index.html":{}}}],["prometheu",{"_index":59,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/index.html":{}}}],["promurl",{"_index":362,"name":{},"text":{"/k8up/0.1.5/object-specifications.html":{}}}],["properli",{"_index":168,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["provid",{"_index":146,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/getting-started.html":{},"/k8up/0.1.5/index.html":{}}}],["prune",{"_index":247,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{},"/k8up/0.1.5/object-specifications.html":{}}}],["psecur",{"_index":300,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["push",{"_index":64,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["put",{"_index":346,"name":{},"text":{"/k8up/0.1.5/object-specifications.html":{}}}],["pvc",{"_index":39,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/getting-started.html":{},"/k8up/0.1.5/index.html":{},"/k8up/0.1.5/object-specifications.html":{},"/k8up/0.1.5/restore.html":{}}}],["pvc.yaml?raw=tru",{"_index":195,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["pvc.yml",{"_index":212,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["quick",{"_index":155,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["quit",{"_index":427,"name":{},"text":{"/k8up/0.1.5/restore.html":{}}}],["recap",{"_index":332,"name":{},"text":{"/k8up/0.1.5/index.html":{}}}],["recommend",{"_index":267,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["refer",{"_index":2,"name":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/object-specifications.html":{}},"text":{}}],["rememb",{"_index":259,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["remot",{"_index":191,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["replac",{"_index":187,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["repo",{"_index":174,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{},"/k8up/0.1.5/object-specifications.html":{},"/k8up/0.1.5/restore.html":{}}}],["repopasswordsecretref",{"_index":357,"name":{},"text":{"/k8up/0.1.5/object-specifications.html":{},"/k8up/0.1.5/restore.html":{}}}],["repositori",{"_index":87,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/getting-started.html":{},"/k8up/0.1.5/object-specifications.html":{},"/k8up/0.1.5/restore.html":{}}}],["requir",{"_index":131,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/getting-started.html":{}}}],["resotr",{"_index":108,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["resourc",{"_index":204,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["respect",{"_index":260,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["rest",{"_index":316,"name":{},"text":{"/k8up/0.1.5/index.html":{}}}],["restartpolici",{"_index":51,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["restic",{"_index":21,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/getting-started.html":{},"/k8up/0.1.5/restore.html":{}}}],["restic_password=p@assword",{"_index":399,"name":{},"text":{"/k8up/0.1.5/restore.html":{}}}],["restic_repository=s3:http://localhost/baa",{"_index":398,"name":{},"text":{"/k8up/0.1.5/restore.html":{}}}],["restor",{"_index":102,"name":{"/k8up/0.1.5/restore.html":{}},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/object-specifications.html":{},"/k8up/0.1.5/restore.html":{}}}],["restoremethod",{"_index":358,"name":{},"text":{"/k8up/0.1.5/object-specifications.html":{}}}],["restoremini",{"_index":359,"name":{},"text":{"/k8up/0.1.5/object-specifications.html":{}}}],["retent",{"_index":364,"name":{},"text":{"/k8up/0.1.5/object-specifications.html":{}}}],["right",{"_index":340,"name":{},"text":{"/k8up/0.1.5/index.html":{}}}],["rolenam",{"_index":72,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["rule",{"_index":384,"name":{},"text":{"/k8up/0.1.5/object-specifications.html":{}}}],["run",{"_index":254,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{},"/k8up/0.1.5/object-specifications.html":{}}}],["s3",{"_index":79,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/getting-started.html":{},"/k8up/0.1.5/object-specifications.html":{},"/k8up/0.1.5/restore.html":{}}}],["safe",{"_index":230,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["same",{"_index":386,"name":{},"text":{"/k8up/0.1.5/object-specifications.html":{}}}],["save",{"_index":208,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["scale",{"_index":184,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["schedul",{"_index":15,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/getting-started.html":{},"/k8up/0.1.5/index.html":{},"/k8up/0.1.5/object-specifications.html":{},"/k8up/0.1.5/restore.html":{}}}],["scheme",{"_index":105,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["secret",{"_index":85,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/getting-started.html":{},"/k8up/0.1.5/restore.html":{}}}],["secretaccesskey",{"_index":111,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["secretaccesskeysecretref",{"_index":356,"name":{},"text":{"/k8up/0.1.5/object-specifications.html":{},"/k8up/0.1.5/restore.html":{}}}],["secrets.yml",{"_index":215,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["section",{"_index":160,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["see",{"_index":200,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{},"/k8up/0.1.5/object-specifications.html":{}}}],["separ",{"_index":284,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["sequenc",{"_index":279,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["serv",{"_index":422,"name":{},"text":{"/k8up/0.1.5/restore.html":{}}}],["servic",{"_index":76,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/getting-started.html":{}}}],["service.yaml?raw=tru",{"_index":197,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["session",{"_index":223,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["set",{"_index":14,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/getting-started.html":{},"/k8up/0.1.5/object-specifications.html":{}}}],["share",{"_index":11,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["show",{"_index":278,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["simonbeck",{"_index":433,"name":{},"text":{"/k8up/0.1.5/restore.html":{}}}],["simpli",{"_index":126,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["simul",{"_index":190,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["singl",{"_index":382,"name":{},"text":{"/k8up/0.1.5/object-specifications.html":{}}}],["slide",{"_index":328,"name":{},"text":{"/k8up/0.1.5/index.html":{}}}],["snapshot",{"_index":251,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{},"/k8up/0.1.5/object-specifications.html":{},"/k8up/0.1.5/restore.html":{}}}],["snip",{"_index":292,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["somewher",{"_index":229,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["spec",{"_index":350,"name":{},"text":{"/k8up/0.1.5/object-specifications.html":{},"/k8up/0.1.5/restore.html":{}}}],["specif",{"_index":127,"name":{"/k8up/0.1.5/object-specifications.html":{}},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["specifi",{"_index":121,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["stabl",{"_index":325,"name":{},"text":{"/k8up/0.1.5/index.html":{}}}],["staff",{"_index":434,"name":{},"text":{"/k8up/0.1.5/restore.html":{}}}],["standalon",{"_index":194,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["start",{"_index":116,"name":{"/k8up/0.1.5/getting-started.html":{}},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/getting-started.html":{}}}],["state",{"_index":271,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["statu",{"_index":282,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["stdout",{"_index":291,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["step",{"_index":280,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["still",{"_index":387,"name":{},"text":{"/k8up/0.1.5/object-specifications.html":{}}}],["storag",{"_index":181,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["store",{"_index":69,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/getting-started.html":{}}}],["stream",{"_index":290,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["string",{"_index":221,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["successfulli",{"_index":406,"name":{},"text":{"/k8up/0.1.5/restore.html":{}}}],["summari",{"_index":276,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["support",{"_index":371,"name":{},"text":{"/k8up/0.1.5/object-specifications.html":{}}}],["sure",{"_index":167,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["syntax",{"_index":266,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["tag",{"_index":410,"name":{},"text":{"/k8up/0.1.5/restore.html":{}}}],["take",{"_index":314,"name":{},"text":{"/k8up/0.1.5/index.html":{},"/k8up/0.1.5/object-specifications.html":{},"/k8up/0.1.5/restore.html":{}}}],["tar",{"_index":305,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["tar.gz",{"_index":372,"name":{},"text":{"/k8up/0.1.5/object-specifications.html":{}}}],["target",{"_index":420,"name":{},"text":{"/k8up/0.1.5/restore.html":{}}}],["tell",{"_index":389,"name":{},"text":{"/k8up/0.1.5/restore.html":{}}}],["templat",{"_index":293,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["termin",{"_index":55,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/getting-started.html":{}}}],["test",{"_index":163,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{},"/k8up/0.1.5/object-specifications.html":{},"/k8up/0.1.5/restore.html":{}}}],["there’",{"_index":379,"name":{},"text":{"/k8up/0.1.5/object-specifications.html":{}}}],["thu",{"_index":377,"name":{},"text":{"/k8up/0.1.5/object-specifications.html":{}}}],["time",{"_index":283,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{},"/k8up/0.1.5/restore.html":{}}}],["tip",{"_index":269,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["todo",{"_index":375,"name":{},"text":{"/k8up/0.1.5/object-specifications.html":{}}}],["total",{"_index":429,"name":{},"text":{"/k8up/0.1.5/restore.html":{}}}],["trigger",{"_index":302,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{},"/k8up/0.1.5/object-specifications.html":{},"/k8up/0.1.5/restore.html":{}}}],["troubleshoot",{"_index":287,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["tutori",{"_index":154,"name":{"/k8up/0.1.5/getting-started.html":{}},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["two",{"_index":4,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["umount",{"_index":426,"name":{},"text":{"/k8up/0.1.5/restore.html":{}}}],["under",{"_index":151,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/index.html":{}}}],["up",{"_index":206,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["updat",{"_index":176,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["url",{"_index":20,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["uroot",{"_index":299,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["us",{"_index":27,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/getting-started.html":{},"/k8up/0.1.5/index.html":{},"/k8up/0.1.5/restore.html":{}}}],["usernam",{"_index":355,"name":{},"text":{"/k8up/0.1.5/object-specifications.html":{},"/k8up/0.1.5/restore.html":{}}}],["users/simonbeck/desktop/mount",{"_index":423,"name":{},"text":{"/k8up/0.1.5/restore.html":{}}}],["usual",{"_index":285,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["valu",{"_index":216,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["variabl",{"_index":18,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["variou",{"_index":150,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/object-specifications.html":{}}}],["via",{"_index":391,"name":{},"text":{"/k8up/0.1.5/restore.html":{}}}],["vshn",{"_index":334,"name":{},"text":{"/k8up/0.1.5/index.html":{}}}],["vshn.local",{"_index":418,"name":{},"text":{"/k8up/0.1.5/restore.html":{}}}],["warn",{"_index":228,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["way",{"_index":5,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{},"/k8up/0.1.5/getting-started.html":{}}}],["web",{"_index":257,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["wednesday",{"_index":335,"name":{},"text":{"/k8up/0.1.5/index.html":{}}}],["week",{"_index":253,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["well",{"_index":245,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{},"/k8up/0.1.5/restore.html":{}}}],["we’ll",{"_index":343,"name":{},"text":{"/k8up/0.1.5/object-specifications.html":{}}}],["wide",{"_index":63,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["without",{"_index":232,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["won’t",{"_index":120,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["work",{"_index":158,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["wrestic",{"_index":96,"name":{},"text":{"/k8up/0.1.5/advanced-config.html":{}}}],["x",{"_index":432,"name":{},"text":{"/k8up/0.1.5/restore.html":{}}}],["xr",{"_index":431,"name":{},"text":{"/k8up/0.1.5/restore.html":{}}}],["yaml",{"_index":209,"name":{},"text":{"/k8up/0.1.5/getting-started.html":{}}}],["you’d",{"_index":311,"name":{},"text":{"/k8up/0.1.5/index.html":{}}}],["you’ll",{"_index":381,"name":{},"text":{"/k8up/0.1.5/object-specifications.html":{},"/k8up/0.1.5/restore.html":{}}}]],"pipeline":["stemmer"]} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..3f9bb34 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,500 @@ +{ + "name": "search-engine", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@types/body-parser": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.17.0.tgz", + "integrity": "sha512-a2+YeUjPkztKJu5aIF2yArYFQQp8d51wZ7DavSHjFuY1mqVgidGyzEQ41JIVNy82fXj8yPgy2vJmfIywgESW6w==", + "requires": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "@types/connect": { + "version": "3.4.32", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.32.tgz", + "integrity": "sha512-4r8qa0quOvh7lGD0pre62CAb1oni1OO6ecJLGCezTmhQ8Fz50Arx9RUszryR8KlgK6avuSXvviL6yWyViQABOg==", + "requires": { + "@types/node": "*" + } + }, + "@types/express": { + "version": "4.17.0", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.0.tgz", + "integrity": "sha512-CjaMu57cjgjuZbh9DpkloeGxV45CnMGlVd+XpG7Gm9QgVrd7KFq+X4HY0vM+2v0bczS48Wg7bvnMY5TN+Xmcfw==", + "requires": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "*", + "@types/serve-static": "*" + } + }, + "@types/express-serve-static-core": { + "version": "4.16.7", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.16.7.tgz", + "integrity": "sha512-847KvL8Q1y3TtFLRTXcVakErLJQgdpFSaq+k043xefz9raEf0C7HalpSY7OW5PyjCnY8P7bPW5t/Co9qqp+USg==", + "requires": { + "@types/node": "*", + "@types/range-parser": "*" + } + }, + "@types/lunr": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@types/lunr/-/lunr-2.3.2.tgz", + "integrity": "sha512-zcUZYquYDUEegRRPQtkZ068U9CoIjW6pJMYCVDRK25r76FEWvMm1oHqZQUfQh4ayIZ42lipXOpXEiAtGXc1XUg==" + }, + "@types/mime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.1.tgz", + "integrity": "sha512-FwI9gX75FgVBJ7ywgnq/P7tw+/o1GUbtP0KzbtusLigAOgIgNISRK0ZPl4qertvXSIE8YbsVJueQ90cDt9YYyw==" + }, + "@types/node": { + "version": "12.0.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.0.10.tgz", + "integrity": "sha512-LcsGbPomWsad6wmMNv7nBLw7YYYyfdYcz6xryKYQhx89c3XXan+8Q6AJ43G5XDIaklaVkK3mE4fCb0SBvMiPSQ==" + }, + "@types/range-parser": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.3.tgz", + "integrity": "sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA==" + }, + "@types/serve-static": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.2.tgz", + "integrity": "sha512-/BZ4QRLpH/bNYgZgwhKEh+5AsboDBcUdlBYgzoLX0fpj3Y2gp6EApyOlM3bK53wQS/OE1SrdSYBAbux2D1528Q==", + "requires": { + "@types/express-serve-static-core": "*", + "@types/mime": "*" + } + }, + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "arg": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.0.tgz", + "integrity": "sha512-ZWc51jO3qegGkVh8Hwpv636EkbesNV5ZNQPCtRa+0qytRYPEs9IYT9qITY9buezqUH5uqyzlWLcufrzU2rffdg==" + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + }, + "body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "requires": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + } + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" + }, + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + }, + "content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "requires": { + "safe-buffer": "5.1.2" + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + }, + "cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "diff": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.1.tgz", + "integrity": "sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q==" + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + }, + "express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "requires": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + } + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + }, + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "ipaddr.js": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz", + "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==" + }, + "lunr": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.6.tgz", + "integrity": "sha512-swStvEyDqQ85MGpABCMBclZcLI/pBIlu8FFDtmX197+oEgKloJ67QnB+Tidh0340HmLMs39c4GrkPY3cmkXp6Q==" + }, + "make-error": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.5.tgz", + "integrity": "sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g==" + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "mime-db": { + "version": "1.40.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", + "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==" + }, + "mime-types": { + "version": "2.1.24", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", + "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", + "requires": { + "mime-db": "1.40.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "requires": { + "ee-first": "1.1.1" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + }, + "proxy-addr": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz", + "integrity": "sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==", + "requires": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.9.0" + } + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + }, + "raw-body": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + } + } + }, + "serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + } + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "source-map-support": { + "version": "0.5.12", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.12.tgz", + "integrity": "sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ==", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" + }, + "ts-node": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.3.0.tgz", + "integrity": "sha512-dyNS/RqyVTDcmNM4NIBAeDMpsAdaQ+ojdf0GOLqE6nwJOgzEkdRNzJywhDfwnuvB10oa6NLVG1rUJQCpRN7qoQ==", + "requires": { + "arg": "^4.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "source-map-support": "^0.5.6", + "yn": "^3.0.0" + } + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typescript": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.2.tgz", + "integrity": "sha512-7KxJovlYhTX5RaRbUdkAXN1KUZ8PwWlTzQdHV6xNqvuFOs7+WBo10TQUqT19Q/Jz2hk5v9TQDIhyLhhJY4p5AA==" + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + }, + "yn": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.0.tgz", + "integrity": "sha512-kKfnnYkbTfrAdd0xICNFw7Atm8nKpLcLv9AZGEt+kczL/WQVai4e2V6ZN8U/O+iI6WrNuJjNNOyu4zfhl9D3Hg==" + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..83614a7 --- /dev/null +++ b/package.json @@ -0,0 +1,20 @@ +{ + "name": "search-engine", + "version": "1.0.0", + "description": "An embedded search engine in Express to use in multi-container pods", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "", + "license": "ISC", + "dependencies": { + "@types/express": "^4.17.0", + "@types/lunr": "^2.3.2", + "@types/node": "^12.0.10", + "express": "^4.17.1", + "lunr": "^2.3.6", + "ts-node": "^8.3.0", + "typescript": "^3.5.2" + } +} diff --git a/src/index.ts b/src/index.ts new file mode 100644 index 0000000..c21758a --- /dev/null +++ b/src/index.ts @@ -0,0 +1,55 @@ +import SearchResult from "./search_result" +import { Request } from "express" +import { Response } from "express-serve-static-core" + +import express from 'express' +import path from 'path' +import fs from 'fs' +import lunr from 'lunr' + +type FileReference = { [ref: string]: SearchResult } + +const files = getConfig('files.json') as FileReference +const lunrIndexSource = getConfig('lunr.json') +const lunrIndex = lunr.Index.load(lunrIndexSource) + +function readJsonFileSync(filepath: string, encoding = 'utf8'): object { + const file = fs.readFileSync(filepath, encoding) + return JSON.parse(file) +} + +function getConfig(file: string): object { + const filepath = path.join(__dirname, '..', 'index', file) + return readJsonFileSync(filepath) +} + +function isEmptyOrBlank(s: string): boolean { + return (!s || s.length === 0 || !s.trim()) +} + +function search(query: string): SearchResult[] { + if (isEmptyOrBlank(query)) { + return [] + } + // Search with Lunr.js, but return at most 10 items. + const results: SearchResult[] = lunrIndex.search(query.trim()) + .slice(0, 10) + .map(function (result: lunr.Index.Result) { + return files[result.ref] + }) + return results +} + +// Entry point +try { + const app = express() + app.get('/search', (req: Request, res: Response) => { + res.send(search(req.query.q)) + }) + + const port = 3000 + app.listen(port, () => console.log(`Search engine listening on port ${port}`)) +} +catch (error) { + console.error('Application error: ' + error) +} diff --git a/src/search_result.ts b/src/search_result.ts new file mode 100644 index 0000000..48c6a48 --- /dev/null +++ b/src/search_result.ts @@ -0,0 +1,5 @@ +export default interface SearchResult { + name: string, + href: string, + excerpt: string +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..3631133 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,63 @@ +{ + "compilerOptions": { + /* Basic Options */ + // "incremental": true, /* Enable incremental compilation */ + "target": "es5", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'. */ + "module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */ + // "lib": [], /* Specify library files to be included in the compilation. */ + // "allowJs": true, /* Allow javascript files to be compiled. */ + // "checkJs": true, /* Report errors in .js files. */ + // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */ + // "declaration": true, /* Generates corresponding '.d.ts' file. */ + // "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */ + // "sourceMap": true, /* Generates corresponding '.map' file. */ + // "outFile": "./", /* Concatenate and emit output to single file. */ + // "outDir": "./", /* Redirect output structure to the directory. */ + // "rootDir": "./", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ + // "composite": true, /* Enable project compilation */ + // "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */ + // "removeComments": true, /* Do not emit comments to output. */ + // "noEmit": true, /* Do not emit outputs. */ + // "importHelpers": true, /* Import emit helpers from 'tslib'. */ + // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ + // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ + + /* Strict Type-Checking Options */ + "strict": true, /* Enable all strict type-checking options. */ + // "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */ + // "strictNullChecks": true, /* Enable strict null checks. */ + // "strictFunctionTypes": true, /* Enable strict checking of function types. */ + // "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */ + // "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */ + // "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */ + // "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */ + + /* Additional Checks */ + // "noUnusedLocals": true, /* Report errors on unused locals. */ + // "noUnusedParameters": true, /* Report errors on unused parameters. */ + // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ + // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ + + /* Module Resolution Options */ + // "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ + // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */ + // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ + // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ + // "typeRoots": [], /* List of folders to include type definitions from. */ + // "types": [], /* Type declaration files to be included in compilation. */ + // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ + "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ + // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ + // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ + + /* Source Map Options */ + // "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */ + // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ + // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */ + // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ + + /* Experimental Options */ + // "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */ + // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ + } +}