diff --git a/README.md b/README.md index eee2c5fae..9a81e6271 100644 --- a/README.md +++ b/README.md @@ -1,90 +1,33 @@ # Izanami +

image +

-This README is for anyone who would like to contribute to Izanami. +Izanami is an open source centralized feature flag solution. -If you're interested in Izanami documentation, [it's here](https://maif.github.io/izanami/). +Feature flags are a software development pattern that allows turning a feature on or off without needing to modify or redeploy an application. -## Start application locally +Feature flags typically allow implementation of canary release, progressive rollout, A/B testing or even "panic buttons". -### Izanami frontend +Izanami is a centralized feature flag solution, which allows sharing flags between applications, having a fine-tuned right management and keeping a log of who modify or request flags. -```sh -cd izanami-frontend -npm run dev -``` +## Documentation -### Local database & misc tools +To get started with Izanami, follow [this guide](https://maif.github.io/izanami/docs/getstarted). -```sh -docker-compose rm -f && docker-compose up -``` +Reference documentation is available [here](https://maif.github.io/izanami/docs/usages). -### Izanami backend +Some guides for common use cases [are also available](https://maif.github.io/izanami/docs/guides/). -```sh -sbt -jvm-debug 5005 -~run -Dconfig.resource=dev.conf -``` +## Contribution -Once everything is started, just browse to [localhost:3000](http://localhost:3000). +Izanami contribution are welcome ! +If you see a bug or would like a specific feature, you can either open an issue, or show your interest by commenting an existing one. -In a developement setup, it may be usefull to craft tokens with longer TTL +If you feel like contributing by helping to write code or documentation, feel free to discuss it in a related issue or open a pull request. -``` -sbt -jvm-debug 5005 -~run -Dconfig.resource=dev.conf -Dapp.sessions.TTL=604800 -``` +## Development -### Backend tests - -To run test, you can either start Izanami and associated tooling (db, ...) with above commands or just run a suite / a test. - -In fact, an Izanami instance and docker containers will be started by tests if none is running. This could be usefull for coverage / debug. - -You'll need docker-compose installed locally to run tests like this, due to [this issue](https://github.com/testcontainers/testcontainers-java/issues/7239). - -#### Colima setup - -To run test without having starting docker-compose, you'll need these env variables to be set. - -```sh -DOCKER_HOST=unix://${HOME}/.colima/default/docker.sock; -RYUK_CONTAINER_PRIVILEGED=true; -TESTCONTAINERS_DOCKER_SOCKET_OVERRIDE=/var/run/docker.sock -``` - - -## Package application - -To package frontend : - -```sh -cd izanami-frontend -npm run build -``` - -To package backend (make sure to package frontend first) : - -```sh -sbt "set test in assembly := {}" clean assembly -``` - -To start generated jar - -```sh -java -Dconfig.resource=dev.conf -jar ./target/scala-2.13/izanami.jar -``` - -To build docker image (after packaging frontend and backends) - -```sh -docker build -t izanami . -``` -To test docker image - -```sh -docker run --env IZANAMI_PG_URI=postgresql://postgres:postgres@host.docker.internal:5432/postgres -p 9000:9000 izanami -``` +To setup a dev Izanami instance, [read this page](https://maif.github.io/izanami/docs/dev/). diff --git a/manual/.docusaurus/@easyops-cn/docusaurus-search-local/default/generated.js b/manual/.docusaurus/@easyops-cn/docusaurus-search-local/default/generated.js index 10d0191a4..7b4100b99 100644 --- a/manual/.docusaurus/@easyops-cn/docusaurus-search-local/default/generated.js +++ b/manual/.docusaurus/@easyops-cn/docusaurus-search-local/default/generated.js @@ -1,12 +1,12 @@ -import lunr from "/home/runner/work/izanami/izanami/manual/node_modules/lunr/lunr.js"; -require("/home/runner/work/izanami/izanami/manual/node_modules/lunr-languages/lunr.stemmer.support.js")(lunr); +import lunr from "/Users/77199M/workspace/oss/izanami-v2/manual/node_modules/lunr/lunr.js"; +require("/Users/77199M/workspace/oss/izanami-v2/manual/node_modules/lunr-languages/lunr.stemmer.support.js")(lunr); require("@easyops-cn/docusaurus-search-local/dist/client/shared/lunrLanguageZh").lunrLanguageZh(lunr); -require("/home/runner/work/izanami/izanami/manual/node_modules/lunr-languages/lunr.multi.js")(lunr); +require("/Users/77199M/workspace/oss/izanami-v2/manual/node_modules/lunr-languages/lunr.multi.js")(lunr); export const language = ["en","zh"]; export const removeDefaultStopWordFilter = false; export const removeDefaultStemmer = false; -export { default as Mark } from "/home/runner/work/izanami/izanami/manual/node_modules/mark.js/dist/mark.js" -export const searchIndexUrl = "search-index{dir}.json?_=2674a70d"; +export { default as Mark } from "/Users/77199M/workspace/oss/izanami-v2/manual/node_modules/mark.js/dist/mark.js" +export const searchIndexUrl = "search-index{dir}.json?_=d171d4ed"; export const searchResultLimits = 8; export const searchResultContextMaxLength = 50; export const explicitSearchResultPath = true; diff --git a/manual/.docusaurus/docusaurus-plugin-content-docs/default/version-current-metadata-prop-751.json b/manual/.docusaurus/docusaurus-plugin-content-docs/default/version-current-metadata-prop-751.json index ddbebc019..6a10a1731 100644 --- a/manual/.docusaurus/docusaurus-plugin-content-docs/default/version-current-metadata-prop-751.json +++ b/manual/.docusaurus/docusaurus-plugin-content-docs/default/version-current-metadata-prop-751.json @@ -205,6 +205,13 @@ } ], "href": "/izanami/docs/clients/" + }, + { + "type": "link", + "label": "Developing Izanami", + "href": "/izanami/docs/dev/", + "docId": "dev/index", + "unlisted": false } ] }, @@ -245,6 +252,12 @@ "description": "A feature flag is a switch allowing to enable / disable application features.", "sidebar": "tutorialSidebar" }, + "dev/index": { + "id": "dev/index", + "title": "Developing Izanami", + "description": "Here are some tips to help you get started with Izanami contribution.", + "sidebar": "tutorialSidebar" + }, "getstarted/index": { "id": "getstarted/index", "title": "Get started", diff --git a/manual/.docusaurus/docusaurus-plugin-debug/default/docusaurus-debug-all-content-673.json b/manual/.docusaurus/docusaurus-plugin-debug/default/docusaurus-debug-all-content-673.json index 8e981f058..100dfe28b 100644 --- a/manual/.docusaurus/docusaurus-plugin-debug/default/docusaurus-debug-all-content-673.json +++ b/manual/.docusaurus/docusaurus-plugin-debug/default/docusaurus-debug-all-content-673.json @@ -139,6 +139,10 @@ "previous": { "title": "Error handling", "permalink": "/izanami/docs/clients/java/error-handling" + }, + "next": { + "title": "Developing Izanami", + "permalink": "/izanami/docs/dev/" } }, { @@ -166,6 +170,27 @@ "permalink": "/izanami/docs/usages/" } }, + { + "id": "dev/index", + "title": "Developing Izanami", + "description": "Here are some tips to help you get started with Izanami contribution.", + "source": "@site/docs/06-dev/index.mdx", + "sourceDirName": "06-dev", + "slug": "/dev/", + "permalink": "/izanami/docs/dev/", + "draft": false, + "unlisted": false, + "tags": [], + "version": "current", + "frontMatter": { + "title": "Developing Izanami" + }, + "sidebar": "tutorialSidebar", + "previous": { + "title": "Server Sent Events", + "permalink": "/izanami/docs/clients/java/sse" + } + }, { "id": "getstarted/index", "title": "Get started", @@ -850,6 +875,11 @@ "type": "doc", "id": "clients/index" } + }, + { + "type": "doc", + "label": "Developing Izanami", + "id": "dev/index" } ] } diff --git a/manual/.docusaurus/globalData.json b/manual/.docusaurus/globalData.json index 8c33d826b..5a835cd7e 100644 --- a/manual/.docusaurus/globalData.json +++ b/manual/.docusaurus/globalData.json @@ -40,6 +40,11 @@ "path": "/izanami/docs/concepts/", "sidebar": "tutorialSidebar" }, + { + "id": "dev/index", + "path": "/izanami/docs/dev/", + "sidebar": "tutorialSidebar" + }, { "id": "getstarted/index", "path": "/izanami/docs/getstarted/", diff --git a/manual/.docusaurus/registry.js b/manual/.docusaurus/registry.js index 1e791de4c..a8f4004aa 100644 --- a/manual/.docusaurus/registry.js +++ b/manual/.docusaurus/registry.js @@ -1,82 +1,91 @@ export default { - "0f98d465": [() => import(/* webpackChunkName: "0f98d465" */ "@site/v1/18-tutorials/index.mdx"), "@site/v1/18-tutorials/index.mdx", require.resolveWeak("@site/v1/18-tutorials/index.mdx")], - "12625af8": [() => import(/* webpackChunkName: "12625af8" */ "@site/v1/13-keys.mdx"), "@site/v1/13-keys.mdx", require.resolveWeak("@site/v1/13-keys.mdx")], - "144ae2b5": [() => import(/* webpackChunkName: "144ae2b5" */ "@site/v1/10-configs/01-ui.mdx"), "@site/v1/10-configs/01-ui.mdx", require.resolveWeak("@site/v1/10-configs/01-ui.mdx")], - "1457b77c": [() => import(/* webpackChunkName: "1457b77c" */ "/home/runner/work/izanami/izanami/manual/.docusaurus/@easyops-cn/docusaurus-search-local/default/plugin-route-context-module-100.json"), "/home/runner/work/izanami/izanami/manual/.docusaurus/@easyops-cn/docusaurus-search-local/default/plugin-route-context-module-100.json", require.resolveWeak("/home/runner/work/izanami/izanami/manual/.docusaurus/@easyops-cn/docusaurus-search-local/default/plugin-route-context-module-100.json")], - "1756af0d": [() => import(/* webpackChunkName: "1756af0d" */ "@site/docs/03-usages/01-features.mdx"), "@site/docs/03-usages/01-features.mdx", require.resolveWeak("@site/docs/03-usages/01-features.mdx")], - "17896441": [() => import(/* webpackChunkName: "17896441" */ "@theme/DocItem"), "@theme/DocItem", require.resolveWeak("@theme/DocItem")], - "1858d382": [() => import(/* webpackChunkName: "1858d382" */ "@site/docs/04-guides/13-webhooks.mdx"), "@site/docs/04-guides/13-webhooks.mdx", require.resolveWeak("@site/docs/04-guides/13-webhooks.mdx")], - "1a4e3797": [() => import(/* webpackChunkName: "1a4e3797" */ "@theme/SearchPage"), "@theme/SearchPage", require.resolveWeak("@theme/SearchPage")], - "1ad66b9e": [() => import(/* webpackChunkName: "1ad66b9e" */ "/home/runner/work/izanami/izanami/manual/.docusaurus/docusaurus-plugin-content-docs/default/plugin-route-context-module-100.json"), "/home/runner/work/izanami/izanami/manual/.docusaurus/docusaurus-plugin-content-docs/default/plugin-route-context-module-100.json", require.resolveWeak("/home/runner/work/izanami/izanami/manual/.docusaurus/docusaurus-plugin-content-docs/default/plugin-route-context-module-100.json")], - "22a808b3": [() => import(/* webpackChunkName: "22a808b3" */ "@site/v1/08-ui.mdx"), "@site/v1/08-ui.mdx", require.resolveWeak("@site/v1/08-ui.mdx")], - "2524d653": [() => import(/* webpackChunkName: "2524d653" */ "@site/docs/03-usages/03-organisation.mdx"), "@site/docs/03-usages/03-organisation.mdx", require.resolveWeak("@site/docs/03-usages/03-organisation.mdx")], - "28294f75": [() => import(/* webpackChunkName: "28294f75" */ "@site/docs/04-guides/01-env-contexts.mdx"), "@site/docs/04-guides/01-env-contexts.mdx", require.resolveWeak("@site/docs/04-guides/01-env-contexts.mdx")], - "28ea13a0": [() => import(/* webpackChunkName: "28ea13a0" */ "@site/v1/17-clients/03-node.mdx"), "@site/v1/17-clients/03-node.mdx", require.resolveWeak("@site/v1/17-clients/03-node.mdx")], - "2911da6f": [() => import(/* webpackChunkName: "2911da6f" */ "@site/docs/04-guides/09-user-invitation.mdx"), "@site/docs/04-guides/09-user-invitation.mdx", require.resolveWeak("@site/docs/04-guides/09-user-invitation.mdx")], - "2c55d6de": [() => import(/* webpackChunkName: "2c55d6de" */ "@site/v1/11-features-flipping/03-api.mdx"), "@site/v1/11-features-flipping/03-api.mdx", require.resolveWeak("@site/v1/11-features-flipping/03-api.mdx")], - "2e7f27e2": [() => import(/* webpackChunkName: "2e7f27e2" */ "@site/docs/04-guides/index.mdx"), "@site/docs/04-guides/index.mdx", require.resolveWeak("@site/docs/04-guides/index.mdx")], - "309e43de": [() => import(/* webpackChunkName: "309e43de" */ "@site/v1/12-experiments/01-ui.mdx"), "@site/v1/12-experiments/01-ui.mdx", require.resolveWeak("@site/v1/12-experiments/01-ui.mdx")], - "3651c730": [() => import(/* webpackChunkName: "3651c730" */ "@site/v1/11-features-flipping/index.mdx"), "@site/v1/11-features-flipping/index.mdx", require.resolveWeak("@site/v1/11-features-flipping/index.mdx")], - "37d37b99": [() => import(/* webpackChunkName: "37d37b99" */ "@site/v1/11-features-flipping/04-lock.mdx"), "@site/v1/11-features-flipping/04-lock.mdx", require.resolveWeak("@site/v1/11-features-flipping/04-lock.mdx")], - "38c1ccfe": [() => import(/* webpackChunkName: "38c1ccfe" */ "@site/v1/index.mdx"), "@site/v1/index.mdx", require.resolveWeak("@site/v1/index.mdx")], - "391f84ad": [() => import(/* webpackChunkName: "391f84ad" */ "@site/docs/04-guides/08-http-calls-in-scripts.mdx"), "@site/docs/04-guides/08-http-calls-in-scripts.mdx", require.resolveWeak("@site/docs/04-guides/08-http-calls-in-scripts.mdx")], - "39cf9c2b": [() => import(/* webpackChunkName: "39cf9c2b" */ "@site/docs/02-concepts/index.mdx"), "@site/docs/02-concepts/index.mdx", require.resolveWeak("@site/docs/02-concepts/index.mdx")], - "3cfbbc0f": [() => import(/* webpackChunkName: "3cfbbc0f" */ "@site/v1/17-clients/04-cli.mdx"), "@site/v1/17-clients/04-cli.mdx", require.resolveWeak("@site/v1/17-clients/04-cli.mdx")], - "3e4b204b": [() => import(/* webpackChunkName: "3e4b204b" */ "@site/v1/10-configs/index.mdx"), "@site/v1/10-configs/index.mdx", require.resolveWeak("@site/v1/10-configs/index.mdx")], - "404820e5": [() => import(/* webpackChunkName: "404820e5" */ "@site/v1/02-about.mdx"), "@site/v1/02-about.mdx", require.resolveWeak("@site/v1/02-about.mdx")], - "404d2a01": [() => import(/* webpackChunkName: "404d2a01" */ "@site/v1/18-tutorials/02-oauth2.mdx"), "@site/v1/18-tutorials/02-oauth2.mdx", require.resolveWeak("@site/v1/18-tutorials/02-oauth2.mdx")], - "44ca1fc6": [() => import(/* webpackChunkName: "44ca1fc6" */ "@site/v1/17-clients/01-jvm.mdx"), "@site/v1/17-clients/01-jvm.mdx", require.resolveWeak("@site/v1/17-clients/01-jvm.mdx")], - "45bf6ac8": [() => import(/* webpackChunkName: "45bf6ac8" */ "@site/docs/04-guides/06-local-scripts.mdx"), "@site/docs/04-guides/06-local-scripts.mdx", require.resolveWeak("@site/docs/04-guides/06-local-scripts.mdx")], - "4cb46bbe": [() => import(/* webpackChunkName: "4cb46bbe" */ "/home/runner/work/izanami/izanami/manual/.docusaurus/docusaurus-plugin-content-docs/v1/plugin-route-context-module-100.json"), "/home/runner/work/izanami/izanami/manual/.docusaurus/docusaurus-plugin-content-docs/v1/plugin-route-context-module-100.json", require.resolveWeak("/home/runner/work/izanami/izanami/manual/.docusaurus/docusaurus-plugin-content-docs/v1/plugin-route-context-module-100.json")], - "4e45aa8f": [() => import(/* webpackChunkName: "4e45aa8f" */ "@site/docs/04-guides/11-mailer-configuration.mdx"), "@site/docs/04-guides/11-mailer-configuration.mdx", require.resolveWeak("@site/docs/04-guides/11-mailer-configuration.mdx")], - "52d2f9c5": [() => import(/* webpackChunkName: "52d2f9c5" */ "@site/docs/04-guides/05-import-from-v1.mdx"), "@site/docs/04-guides/05-import-from-v1.mdx", require.resolveWeak("@site/docs/04-guides/05-import-from-v1.mdx")], - "54014a70": [() => import(/* webpackChunkName: "54014a70" */ "@site/v1/07-settings/database.mdx"), "@site/v1/07-settings/database.mdx", require.resolveWeak("@site/v1/07-settings/database.mdx")], - "55940994": [() => import(/* webpackChunkName: "55940994" */ "@site/docs/01-getstarted/index.mdx"), "@site/docs/01-getstarted/index.mdx", require.resolveWeak("@site/docs/01-getstarted/index.mdx")], - "5e95c892": [() => import(/* webpackChunkName: "5e95c892" */ "@theme/DocsRoot"), "@theme/DocsRoot", require.resolveWeak("@theme/DocsRoot")], - "5e9f5e1a": [() => import(/* webpackChunkName: "5e9f5e1a" */ "@generated/docusaurus.config"), "@generated/docusaurus.config", require.resolveWeak("@generated/docusaurus.config")], - "5ec15e41": [() => import(/* webpackChunkName: "5ec15e41" */ "@site/docs/04-guides/07-remote-script.mdx"), "@site/docs/04-guides/07-remote-script.mdx", require.resolveWeak("@site/docs/04-guides/07-remote-script.mdx")], - "604919e7": [() => import(/* webpackChunkName: "604919e7" */ "@site/v1/07-settings/settings.mdx"), "@site/v1/07-settings/settings.mdx", require.resolveWeak("@site/v1/07-settings/settings.mdx")], - "61d10066": [() => import(/* webpackChunkName: "61d10066" */ "@site/v1/10-configs/03-springconfig.mdx"), "@site/v1/10-configs/03-springconfig.mdx", require.resolveWeak("@site/v1/10-configs/03-springconfig.mdx")], - "62eca57d": [() => import(/* webpackChunkName: "62eca57d" */ "@site/v1/03-philosophy.mdx"), "@site/v1/03-philosophy.mdx", require.resolveWeak("@site/v1/03-philosophy.mdx")], - "64236327": [() => import(/* webpackChunkName: "64236327" */ "@site/docs/04-guides/10-key-configuration.mdx"), "@site/docs/04-guides/10-key-configuration.mdx", require.resolveWeak("@site/docs/04-guides/10-key-configuration.mdx")], - "6a24d81d": [() => import(/* webpackChunkName: "6a24d81d" */ "@site/v1/10-configs/02-api.mdx"), "@site/v1/10-configs/02-api.mdx", require.resolveWeak("@site/v1/10-configs/02-api.mdx")], - "6b55a23b": [() => import(/* webpackChunkName: "6b55a23b" */ "@site/v1/11-features-flipping/02-scripts.mdx"), "@site/v1/11-features-flipping/02-scripts.mdx", require.resolveWeak("@site/v1/11-features-flipping/02-scripts.mdx")], - "7329b9d1": [() => import(/* webpackChunkName: "7329b9d1" */ "~docs/v1/version-current-metadata-prop-751.json"), "~docs/v1/version-current-metadata-prop-751.json", require.resolveWeak("~docs/v1/version-current-metadata-prop-751.json")], - "7a055ef3": [() => import(/* webpackChunkName: "7a055ef3" */ "@site/v1/20-developers.mdx"), "@site/v1/20-developers.mdx", require.resolveWeak("@site/v1/20-developers.mdx")], - "7a3092a3": [() => import(/* webpackChunkName: "7a3092a3" */ "@site/v1/17-clients/05-spring-starter.mdx"), "@site/v1/17-clients/05-spring-starter.mdx", require.resolveWeak("@site/v1/17-clients/05-spring-starter.mdx")], - "80987477": [() => import(/* webpackChunkName: "80987477" */ "@site/docs/04-guides/12-configuration.mdx"), "@site/docs/04-guides/12-configuration.mdx", require.resolveWeak("@site/docs/04-guides/12-configuration.mdx")], - "83cf5a0e": [() => import(/* webpackChunkName: "83cf5a0e" */ "@site/v1/06-getizanami/01-binaries.mdx"), "@site/v1/06-getizanami/01-binaries.mdx", require.resolveWeak("@site/v1/06-getizanami/01-binaries.mdx")], - "858bfcaf": [() => import(/* webpackChunkName: "858bfcaf" */ "@site/docs/05-clients/01-java/index.mdx"), "@site/docs/05-clients/01-java/index.mdx", require.resolveWeak("@site/docs/05-clients/01-java/index.mdx")], - "868bc92e": [() => import(/* webpackChunkName: "868bc92e" */ "@site/v1/04-features.mdx"), "@site/v1/04-features.mdx", require.resolveWeak("@site/v1/04-features.mdx")], - "8a163022": [() => import(/* webpackChunkName: "8a163022" */ "@site/v1/07-settings/index.mdx"), "@site/v1/07-settings/index.mdx", require.resolveWeak("@site/v1/07-settings/index.mdx")], - "8c817def": [() => import(/* webpackChunkName: "8c817def" */ "@site/v1/09-api.mdx"), "@site/v1/09-api.mdx", require.resolveWeak("@site/v1/09-api.mdx")], - "8ec7b86f": [() => import(/* webpackChunkName: "8ec7b86f" */ "@site/docs/04-guides/14-transfer-data.mdx"), "@site/docs/04-guides/14-transfer-data.mdx", require.resolveWeak("@site/docs/04-guides/14-transfer-data.mdx")], - "915e538f": [() => import(/* webpackChunkName: "915e538f" */ "@site/v1/17-clients/index.mdx"), "@site/v1/17-clients/index.mdx", require.resolveWeak("@site/v1/17-clients/index.mdx")], - "935f2afb": [() => import(/* webpackChunkName: "935f2afb" */ "~docs/default/version-current-metadata-prop-751.json"), "~docs/default/version-current-metadata-prop-751.json", require.resolveWeak("~docs/default/version-current-metadata-prop-751.json")], - "95f95e10": [() => import(/* webpackChunkName: "95f95e10" */ "@site/docs/05-clients/01-java/02-error-handling.mdx"), "@site/docs/05-clients/01-java/02-error-handling.mdx", require.resolveWeak("@site/docs/05-clients/01-java/02-error-handling.mdx")], - "9af8677d": [() => import(/* webpackChunkName: "9af8677d" */ "@site/docs/04-guides/04-bulk-feature-modification.mdx"), "@site/docs/04-guides/04-bulk-feature-modification.mdx", require.resolveWeak("@site/docs/04-guides/04-bulk-feature-modification.mdx")], - "a5a0f36f": [() => import(/* webpackChunkName: "a5a0f36f" */ "/home/runner/work/izanami/izanami/manual/.docusaurus/docusaurus-plugin-content-pages/default/plugin-route-context-module-100.json"), "/home/runner/work/izanami/izanami/manual/.docusaurus/docusaurus-plugin-content-pages/default/plugin-route-context-module-100.json", require.resolveWeak("/home/runner/work/izanami/izanami/manual/.docusaurus/docusaurus-plugin-content-pages/default/plugin-route-context-module-100.json")], - "a7bd4aaa": [() => import(/* webpackChunkName: "a7bd4aaa" */ "@theme/DocVersionRoot"), "@theme/DocVersionRoot", require.resolveWeak("@theme/DocVersionRoot")], - "a94703ab": [() => import(/* webpackChunkName: "a94703ab" */ "@theme/DocRoot"), "@theme/DocRoot", require.resolveWeak("@theme/DocRoot")], - "aa63221d": [() => import(/* webpackChunkName: "aa63221d" */ "@site/docs/05-clients/01-java/03-sse.mdx"), "@site/docs/05-clients/01-java/03-sse.mdx", require.resolveWeak("@site/docs/05-clients/01-java/03-sse.mdx")], - "b35c709e": [() => import(/* webpackChunkName: "b35c709e" */ "@site/docs/03-usages/02-contexts.mdx"), "@site/docs/03-usages/02-contexts.mdx", require.resolveWeak("@site/docs/03-usages/02-contexts.mdx")], - "c4f5d8e4": [() => import(/* webpackChunkName: "c4f5d8e4" */ "@site/src/pages/index.js"), "@site/src/pages/index.js", require.resolveWeak("@site/src/pages/index.js")], - "cbc90340": [() => import(/* webpackChunkName: "cbc90340" */ "@site/docs/04-guides/02-multi-conditions-feature.mdx"), "@site/docs/04-guides/02-multi-conditions-feature.mdx", require.resolveWeak("@site/docs/04-guides/02-multi-conditions-feature.mdx")], - "cced1e3d": [() => import(/* webpackChunkName: "cced1e3d" */ "@site/v1/05-architecture.mdx"), "@site/v1/05-architecture.mdx", require.resolveWeak("@site/v1/05-architecture.mdx")], - "cdfb9db4": [() => import(/* webpackChunkName: "cdfb9db4" */ "@site/v1/17-clients/02-react.mdx"), "@site/v1/17-clients/02-react.mdx", require.resolveWeak("@site/v1/17-clients/02-react.mdx")], - "cf997756": [() => import(/* webpackChunkName: "cf997756" */ "@site/v1/18-tutorials/01-spring.mdx"), "@site/v1/18-tutorials/01-spring.mdx", require.resolveWeak("@site/v1/18-tutorials/01-spring.mdx")], - "d5980866": [() => import(/* webpackChunkName: "d5980866" */ "@site/v1/19-performances.mdx"), "@site/v1/19-performances.mdx", require.resolveWeak("@site/v1/19-performances.mdx")], - "d86837dc": [() => import(/* webpackChunkName: "d86837dc" */ "@site/docs/03-usages/04-request.mdx"), "@site/docs/03-usages/04-request.mdx", require.resolveWeak("@site/docs/03-usages/04-request.mdx")], - "d98f6b02": [() => import(/* webpackChunkName: "d98f6b02" */ "@site/docs/05-clients/01-java/01-cache.mdx"), "@site/docs/05-clients/01-java/01-cache.mdx", require.resolveWeak("@site/docs/05-clients/01-java/01-cache.mdx")], - "d9a19508": [() => import(/* webpackChunkName: "d9a19508" */ "@site/v1/06-getizanami/index.mdx"), "@site/v1/06-getizanami/index.mdx", require.resolveWeak("@site/v1/06-getizanami/index.mdx")], - "dc8f53ac": [() => import(/* webpackChunkName: "dc8f53ac" */ "@site/v1/06-getizanami/02-docker.mdx"), "@site/v1/06-getizanami/02-docker.mdx", require.resolveWeak("@site/v1/06-getizanami/02-docker.mdx")], - "dfda2e39": [() => import(/* webpackChunkName: "dfda2e39" */ "@site/v1/14-events.mdx"), "@site/v1/14-events.mdx", require.resolveWeak("@site/v1/14-events.mdx")], - "e157316e": [() => import(/* webpackChunkName: "e157316e" */ "@site/v1/12-experiments/02-api.mdx"), "@site/v1/12-experiments/02-api.mdx", require.resolveWeak("@site/v1/12-experiments/02-api.mdx")], - "e90300dd": [() => import(/* webpackChunkName: "e90300dd" */ "@site/v1/12-experiments/index.mdx"), "@site/v1/12-experiments/index.mdx", require.resolveWeak("@site/v1/12-experiments/index.mdx")], - "ea391ed7": [() => import(/* webpackChunkName: "ea391ed7" */ "@site/v1/16-authprovider.mdx"), "@site/v1/16-authprovider.mdx", require.resolveWeak("@site/v1/16-authprovider.mdx")], - "efe36f9c": [() => import(/* webpackChunkName: "efe36f9c" */ "@site/v1/11-features-flipping/01-ui.mdx"), "@site/v1/11-features-flipping/01-ui.mdx", require.resolveWeak("@site/v1/11-features-flipping/01-ui.mdx")], - "f09d0f18": [() => import(/* webpackChunkName: "f09d0f18" */ "@site/docs/03-usages/index.mdx"), "@site/docs/03-usages/index.mdx", require.resolveWeak("@site/docs/03-usages/index.mdx")], - "f3281aa5": [() => import(/* webpackChunkName: "f3281aa5" */ "@site/v1/15-metrics.mdx"), "@site/v1/15-metrics.mdx", require.resolveWeak("@site/v1/15-metrics.mdx")], - "f53bace1": [() => import(/* webpackChunkName: "f53bace1" */ "@site/docs/05-clients/index.mdx"), "@site/docs/05-clients/index.mdx", require.resolveWeak("@site/docs/05-clients/index.mdx")], - "f5ac983d": [() => import(/* webpackChunkName: "f5ac983d" */ "@site/v1/06-getizanami/03-fromsources.mdx"), "@site/v1/06-getizanami/03-fromsources.mdx", require.resolveWeak("@site/v1/06-getizanami/03-fromsources.mdx")], - "f7b0431a": [() => import(/* webpackChunkName: "f7b0431a" */ "@site/docs/04-guides/03-query-builder.mdx"), "@site/docs/04-guides/03-query-builder.mdx", require.resolveWeak("@site/docs/04-guides/03-query-builder.mdx")],}; + "__comp---site-src-pages-index-jsc-4-f-f99": [() => import(/* webpackChunkName: "__comp---site-src-pages-index-jsc-4-f-f99" */ "@site/src/pages/index.js"), "@site/src/pages/index.js", require.resolveWeak("@site/src/pages/index.js")], + "__comp---theme-debug-config-23-a-2ff": [() => import(/* webpackChunkName: "__comp---theme-debug-config-23-a-2ff" */ "@theme/DebugConfig"), "@theme/DebugConfig", require.resolveWeak("@theme/DebugConfig")], + "__comp---theme-debug-contentba-8-ce7": [() => import(/* webpackChunkName: "__comp---theme-debug-contentba-8-ce7" */ "@theme/DebugContent"), "@theme/DebugContent", require.resolveWeak("@theme/DebugContent")], + "__comp---theme-debug-global-dataede-0fa": [() => import(/* webpackChunkName: "__comp---theme-debug-global-dataede-0fa" */ "@theme/DebugGlobalData"), "@theme/DebugGlobalData", require.resolveWeak("@theme/DebugGlobalData")], + "__comp---theme-debug-registry-679-501": [() => import(/* webpackChunkName: "__comp---theme-debug-registry-679-501" */ "@theme/DebugRegistry"), "@theme/DebugRegistry", require.resolveWeak("@theme/DebugRegistry")], + "__comp---theme-debug-routes-946-699": [() => import(/* webpackChunkName: "__comp---theme-debug-routes-946-699" */ "@theme/DebugRoutes"), "@theme/DebugRoutes", require.resolveWeak("@theme/DebugRoutes")], + "__comp---theme-debug-site-metadata-68-e-3d4": [() => import(/* webpackChunkName: "__comp---theme-debug-site-metadata-68-e-3d4" */ "@theme/DebugSiteMetadata"), "@theme/DebugSiteMetadata", require.resolveWeak("@theme/DebugSiteMetadata")], + "__comp---theme-doc-item-178-a40": [() => import(/* webpackChunkName: "__comp---theme-doc-item-178-a40" */ "@theme/DocItem"), "@theme/DocItem", require.resolveWeak("@theme/DocItem")], + "__comp---theme-doc-roota-94-67a": [() => import(/* webpackChunkName: "__comp---theme-doc-roota-94-67a" */ "@theme/DocRoot"), "@theme/DocRoot", require.resolveWeak("@theme/DocRoot")], + "__comp---theme-doc-version-roota-7-b-5de": [() => import(/* webpackChunkName: "__comp---theme-doc-version-roota-7-b-5de" */ "@theme/DocVersionRoot"), "@theme/DocVersionRoot", require.resolveWeak("@theme/DocVersionRoot")], + "__comp---theme-docs-root-5-e-9-0b6": [() => import(/* webpackChunkName: "__comp---theme-docs-root-5-e-9-0b6" */ "@theme/DocsRoot"), "@theme/DocsRoot", require.resolveWeak("@theme/DocsRoot")], + "__comp---theme-search-page-1-a-4-d6f": [() => import(/* webpackChunkName: "__comp---theme-search-page-1-a-4-d6f" */ "@theme/SearchPage"), "@theme/SearchPage", require.resolveWeak("@theme/SearchPage")], + "allContent---izanami-docusaurus-debug-content-246-c61": [() => import(/* webpackChunkName: "allContent---izanami-docusaurus-debug-content-246-c61" */ "~debug/default/docusaurus-debug-all-content-673.json"), "~debug/default/docusaurus-debug-all-content-673.json", require.resolveWeak("~debug/default/docusaurus-debug-all-content-673.json")], + "config---izanami-5-e-9-485": [() => import(/* webpackChunkName: "config---izanami-5-e-9-485" */ "@generated/docusaurus.config"), "@generated/docusaurus.config", require.resolveWeak("@generated/docusaurus.config")], + "content---izanami-docs-clients-f-53-ddb": [() => import(/* webpackChunkName: "content---izanami-docs-clients-f-53-ddb" */ "@site/docs/05-clients/index.mdx"), "@site/docs/05-clients/index.mdx", require.resolveWeak("@site/docs/05-clients/index.mdx")], + "content---izanami-docs-clients-java-858-68f": [() => import(/* webpackChunkName: "content---izanami-docs-clients-java-858-68f" */ "@site/docs/05-clients/01-java/index.mdx"), "@site/docs/05-clients/01-java/index.mdx", require.resolveWeak("@site/docs/05-clients/01-java/index.mdx")], + "content---izanami-docs-clients-java-cached-98-38e": [() => import(/* webpackChunkName: "content---izanami-docs-clients-java-cached-98-38e" */ "@site/docs/05-clients/01-java/01-cache.mdx"), "@site/docs/05-clients/01-java/01-cache.mdx", require.resolveWeak("@site/docs/05-clients/01-java/01-cache.mdx")], + "content---izanami-docs-clients-java-error-handling-95-f-d67": [() => import(/* webpackChunkName: "content---izanami-docs-clients-java-error-handling-95-f-d67" */ "@site/docs/05-clients/01-java/02-error-handling.mdx"), "@site/docs/05-clients/01-java/02-error-handling.mdx", require.resolveWeak("@site/docs/05-clients/01-java/02-error-handling.mdx")], + "content---izanami-docs-clients-java-sseaa-6-ecb": [() => import(/* webpackChunkName: "content---izanami-docs-clients-java-sseaa-6-ecb" */ "@site/docs/05-clients/01-java/03-sse.mdx"), "@site/docs/05-clients/01-java/03-sse.mdx", require.resolveWeak("@site/docs/05-clients/01-java/03-sse.mdx")], + "content---izanami-docs-concepts-39-c-d27": [() => import(/* webpackChunkName: "content---izanami-docs-concepts-39-c-d27" */ "@site/docs/02-concepts/index.mdx"), "@site/docs/02-concepts/index.mdx", require.resolveWeak("@site/docs/02-concepts/index.mdx")], + "content---izanami-docs-dev-3-aa-08c": [() => import(/* webpackChunkName: "content---izanami-docs-dev-3-aa-08c" */ "@site/docs/06-dev/index.mdx"), "@site/docs/06-dev/index.mdx", require.resolveWeak("@site/docs/06-dev/index.mdx")], + "content---izanami-docs-getstarted-559-e25": [() => import(/* webpackChunkName: "content---izanami-docs-getstarted-559-e25" */ "@site/docs/01-getstarted/index.mdx"), "@site/docs/01-getstarted/index.mdx", require.resolveWeak("@site/docs/01-getstarted/index.mdx")], + "content---izanami-docs-guides-2-e-7-90c": [() => import(/* webpackChunkName: "content---izanami-docs-guides-2-e-7-90c" */ "@site/docs/04-guides/index.mdx"), "@site/docs/04-guides/index.mdx", require.resolveWeak("@site/docs/04-guides/index.mdx")], + "content---izanami-docs-guides-bulk-feature-modification-9-af-8db": [() => import(/* webpackChunkName: "content---izanami-docs-guides-bulk-feature-modification-9-af-8db" */ "@site/docs/04-guides/04-bulk-feature-modification.mdx"), "@site/docs/04-guides/04-bulk-feature-modification.mdx", require.resolveWeak("@site/docs/04-guides/04-bulk-feature-modification.mdx")], + "content---izanami-docs-guides-configuration-809-de6": [() => import(/* webpackChunkName: "content---izanami-docs-guides-configuration-809-de6" */ "@site/docs/04-guides/12-configuration.mdx"), "@site/docs/04-guides/12-configuration.mdx", require.resolveWeak("@site/docs/04-guides/12-configuration.mdx")], + "content---izanami-docs-guides-env-contexts-282-25d": [() => import(/* webpackChunkName: "content---izanami-docs-guides-env-contexts-282-25d" */ "@site/docs/04-guides/01-env-contexts.mdx"), "@site/docs/04-guides/01-env-contexts.mdx", require.resolveWeak("@site/docs/04-guides/01-env-contexts.mdx")], + "content---izanami-docs-guides-http-calls-in-scripts-391-d90": [() => import(/* webpackChunkName: "content---izanami-docs-guides-http-calls-in-scripts-391-d90" */ "@site/docs/04-guides/08-http-calls-in-scripts.mdx"), "@site/docs/04-guides/08-http-calls-in-scripts.mdx", require.resolveWeak("@site/docs/04-guides/08-http-calls-in-scripts.mdx")], + "content---izanami-docs-guides-import-from-v-152-d-389": [() => import(/* webpackChunkName: "content---izanami-docs-guides-import-from-v-152-d-389" */ "@site/docs/04-guides/05-import-from-v1.mdx"), "@site/docs/04-guides/05-import-from-v1.mdx", require.resolveWeak("@site/docs/04-guides/05-import-from-v1.mdx")], + "content---izanami-docs-guides-key-configuration-642-b12": [() => import(/* webpackChunkName: "content---izanami-docs-guides-key-configuration-642-b12" */ "@site/docs/04-guides/10-key-configuration.mdx"), "@site/docs/04-guides/10-key-configuration.mdx", require.resolveWeak("@site/docs/04-guides/10-key-configuration.mdx")], + "content---izanami-docs-guides-local-scripts-45-b-d3d": [() => import(/* webpackChunkName: "content---izanami-docs-guides-local-scripts-45-b-d3d" */ "@site/docs/04-guides/06-local-scripts.mdx"), "@site/docs/04-guides/06-local-scripts.mdx", require.resolveWeak("@site/docs/04-guides/06-local-scripts.mdx")], + "content---izanami-docs-guides-mailer-configuration-4-e-4-c62": [() => import(/* webpackChunkName: "content---izanami-docs-guides-mailer-configuration-4-e-4-c62" */ "@site/docs/04-guides/11-mailer-configuration.mdx"), "@site/docs/04-guides/11-mailer-configuration.mdx", require.resolveWeak("@site/docs/04-guides/11-mailer-configuration.mdx")], + "content---izanami-docs-guides-multi-conditions-featurecbc-67a": [() => import(/* webpackChunkName: "content---izanami-docs-guides-multi-conditions-featurecbc-67a" */ "@site/docs/04-guides/02-multi-conditions-feature.mdx"), "@site/docs/04-guides/02-multi-conditions-feature.mdx", require.resolveWeak("@site/docs/04-guides/02-multi-conditions-feature.mdx")], + "content---izanami-docs-guides-query-builderf-7-b-4f8": [() => import(/* webpackChunkName: "content---izanami-docs-guides-query-builderf-7-b-4f8" */ "@site/docs/04-guides/03-query-builder.mdx"), "@site/docs/04-guides/03-query-builder.mdx", require.resolveWeak("@site/docs/04-guides/03-query-builder.mdx")], + "content---izanami-docs-guides-remote-script-5-ec-5c2": [() => import(/* webpackChunkName: "content---izanami-docs-guides-remote-script-5-ec-5c2" */ "@site/docs/04-guides/07-remote-script.mdx"), "@site/docs/04-guides/07-remote-script.mdx", require.resolveWeak("@site/docs/04-guides/07-remote-script.mdx")], + "content---izanami-docs-guides-transfer-data-8-ec-d50": [() => import(/* webpackChunkName: "content---izanami-docs-guides-transfer-data-8-ec-d50" */ "@site/docs/04-guides/14-transfer-data.mdx"), "@site/docs/04-guides/14-transfer-data.mdx", require.resolveWeak("@site/docs/04-guides/14-transfer-data.mdx")], + "content---izanami-docs-guides-user-invitation-291-6dc": [() => import(/* webpackChunkName: "content---izanami-docs-guides-user-invitation-291-6dc" */ "@site/docs/04-guides/09-user-invitation.mdx"), "@site/docs/04-guides/09-user-invitation.mdx", require.resolveWeak("@site/docs/04-guides/09-user-invitation.mdx")], + "content---izanami-docs-guides-webhooks-185-6d1": [() => import(/* webpackChunkName: "content---izanami-docs-guides-webhooks-185-6d1" */ "@site/docs/04-guides/13-webhooks.mdx"), "@site/docs/04-guides/13-webhooks.mdx", require.resolveWeak("@site/docs/04-guides/13-webhooks.mdx")], + "content---izanami-docs-usages-contextsb-35-a79": [() => import(/* webpackChunkName: "content---izanami-docs-usages-contextsb-35-a79" */ "@site/docs/03-usages/02-contexts.mdx"), "@site/docs/03-usages/02-contexts.mdx", require.resolveWeak("@site/docs/03-usages/02-contexts.mdx")], + "content---izanami-docs-usages-f-09-ee0": [() => import(/* webpackChunkName: "content---izanami-docs-usages-f-09-ee0" */ "@site/docs/03-usages/index.mdx"), "@site/docs/03-usages/index.mdx", require.resolveWeak("@site/docs/03-usages/index.mdx")], + "content---izanami-docs-usages-features-175-9e5": [() => import(/* webpackChunkName: "content---izanami-docs-usages-features-175-9e5" */ "@site/docs/03-usages/01-features.mdx"), "@site/docs/03-usages/01-features.mdx", require.resolveWeak("@site/docs/03-usages/01-features.mdx")], + "content---izanami-docs-usages-organisation-252-2d5": [() => import(/* webpackChunkName: "content---izanami-docs-usages-organisation-252-2d5" */ "@site/docs/03-usages/03-organisation.mdx"), "@site/docs/03-usages/03-organisation.mdx", require.resolveWeak("@site/docs/03-usages/03-organisation.mdx")], + "content---izanami-docs-usages-requestd-86-68b": [() => import(/* webpackChunkName: "content---izanami-docs-usages-requestd-86-68b" */ "@site/docs/03-usages/04-request.mdx"), "@site/docs/03-usages/04-request.mdx", require.resolveWeak("@site/docs/03-usages/04-request.mdx")], + "content---izanami-v-1-38-c-105": [() => import(/* webpackChunkName: "content---izanami-v-1-38-c-105" */ "@site/v1/index.mdx"), "@site/v1/index.mdx", require.resolveWeak("@site/v1/index.mdx")], + "content---izanami-v-1-about-404-3f5": [() => import(/* webpackChunkName: "content---izanami-v-1-about-404-3f5" */ "@site/v1/02-about.mdx"), "@site/v1/02-about.mdx", require.resolveWeak("@site/v1/02-about.mdx")], + "content---izanami-v-1-api-8-c-8-676": [() => import(/* webpackChunkName: "content---izanami-v-1-api-8-c-8-676" */ "@site/v1/09-api.mdx"), "@site/v1/09-api.mdx", require.resolveWeak("@site/v1/09-api.mdx")], + "content---izanami-v-1-architecturecce-931": [() => import(/* webpackChunkName: "content---izanami-v-1-architecturecce-931" */ "@site/v1/05-architecture.mdx"), "@site/v1/05-architecture.mdx", require.resolveWeak("@site/v1/05-architecture.mdx")], + "content---izanami-v-1-authproviderea-3-644": [() => import(/* webpackChunkName: "content---izanami-v-1-authproviderea-3-644" */ "@site/v1/16-authprovider.mdx"), "@site/v1/16-authprovider.mdx", require.resolveWeak("@site/v1/16-authprovider.mdx")], + "content---izanami-v-1-clients-915-d28": [() => import(/* webpackChunkName: "content---izanami-v-1-clients-915-d28" */ "@site/v1/17-clients/index.mdx"), "@site/v1/17-clients/index.mdx", require.resolveWeak("@site/v1/17-clients/index.mdx")], + "content---izanami-v-1-clients-cli-3-cf-9a1": [() => import(/* webpackChunkName: "content---izanami-v-1-clients-cli-3-cf-9a1" */ "@site/v1/17-clients/04-cli.mdx"), "@site/v1/17-clients/04-cli.mdx", require.resolveWeak("@site/v1/17-clients/04-cli.mdx")], + "content---izanami-v-1-clients-jvm-44-c-096": [() => import(/* webpackChunkName: "content---izanami-v-1-clients-jvm-44-c-096" */ "@site/v1/17-clients/01-jvm.mdx"), "@site/v1/17-clients/01-jvm.mdx", require.resolveWeak("@site/v1/17-clients/01-jvm.mdx")], + "content---izanami-v-1-clients-node-28-e-d45": [() => import(/* webpackChunkName: "content---izanami-v-1-clients-node-28-e-d45" */ "@site/v1/17-clients/03-node.mdx"), "@site/v1/17-clients/03-node.mdx", require.resolveWeak("@site/v1/17-clients/03-node.mdx")], + "content---izanami-v-1-clients-reactcdf-b19": [() => import(/* webpackChunkName: "content---izanami-v-1-clients-reactcdf-b19" */ "@site/v1/17-clients/02-react.mdx"), "@site/v1/17-clients/02-react.mdx", require.resolveWeak("@site/v1/17-clients/02-react.mdx")], + "content---izanami-v-1-clients-spring-starter-7-a-3-7a6": [() => import(/* webpackChunkName: "content---izanami-v-1-clients-spring-starter-7-a-3-7a6" */ "@site/v1/17-clients/05-spring-starter.mdx"), "@site/v1/17-clients/05-spring-starter.mdx", require.resolveWeak("@site/v1/17-clients/05-spring-starter.mdx")], + "content---izanami-v-1-configs-3-e-4-2ff": [() => import(/* webpackChunkName: "content---izanami-v-1-configs-3-e-4-2ff" */ "@site/v1/10-configs/index.mdx"), "@site/v1/10-configs/index.mdx", require.resolveWeak("@site/v1/10-configs/index.mdx")], + "content---izanami-v-1-configs-api-6-a-2-69d": [() => import(/* webpackChunkName: "content---izanami-v-1-configs-api-6-a-2-69d" */ "@site/v1/10-configs/02-api.mdx"), "@site/v1/10-configs/02-api.mdx", require.resolveWeak("@site/v1/10-configs/02-api.mdx")], + "content---izanami-v-1-configs-springconfig-61-d-f30": [() => import(/* webpackChunkName: "content---izanami-v-1-configs-springconfig-61-d-f30" */ "@site/v1/10-configs/03-springconfig.mdx"), "@site/v1/10-configs/03-springconfig.mdx", require.resolveWeak("@site/v1/10-configs/03-springconfig.mdx")], + "content---izanami-v-1-configs-ui-144-a34": [() => import(/* webpackChunkName: "content---izanami-v-1-configs-ui-144-a34" */ "@site/v1/10-configs/01-ui.mdx"), "@site/v1/10-configs/01-ui.mdx", require.resolveWeak("@site/v1/10-configs/01-ui.mdx")], + "content---izanami-v-1-developers-7-a-0-9c7": [() => import(/* webpackChunkName: "content---izanami-v-1-developers-7-a-0-9c7" */ "@site/v1/20-developers.mdx"), "@site/v1/20-developers.mdx", require.resolveWeak("@site/v1/20-developers.mdx")], + "content---izanami-v-1-eventsdfd-d43": [() => import(/* webpackChunkName: "content---izanami-v-1-eventsdfd-d43" */ "@site/v1/14-events.mdx"), "@site/v1/14-events.mdx", require.resolveWeak("@site/v1/14-events.mdx")], + "content---izanami-v-1-experiments-apie-15-10a": [() => import(/* webpackChunkName: "content---izanami-v-1-experiments-apie-15-10a" */ "@site/v1/12-experiments/02-api.mdx"), "@site/v1/12-experiments/02-api.mdx", require.resolveWeak("@site/v1/12-experiments/02-api.mdx")], + "content---izanami-v-1-experiments-e-90-974": [() => import(/* webpackChunkName: "content---izanami-v-1-experiments-e-90-974" */ "@site/v1/12-experiments/index.mdx"), "@site/v1/12-experiments/index.mdx", require.resolveWeak("@site/v1/12-experiments/index.mdx")], + "content---izanami-v-1-experiments-ui-309-5ca": [() => import(/* webpackChunkName: "content---izanami-v-1-experiments-ui-309-5ca" */ "@site/v1/12-experiments/01-ui.mdx"), "@site/v1/12-experiments/01-ui.mdx", require.resolveWeak("@site/v1/12-experiments/01-ui.mdx")], + "content---izanami-v-1-features-868-d79": [() => import(/* webpackChunkName: "content---izanami-v-1-features-868-d79" */ "@site/v1/04-features.mdx"), "@site/v1/04-features.mdx", require.resolveWeak("@site/v1/04-features.mdx")], + "content---izanami-v-1-features-flipping-365-731": [() => import(/* webpackChunkName: "content---izanami-v-1-features-flipping-365-731" */ "@site/v1/11-features-flipping/index.mdx"), "@site/v1/11-features-flipping/index.mdx", require.resolveWeak("@site/v1/11-features-flipping/index.mdx")], + "content---izanami-v-1-features-flipping-api-2-c-5-4c6": [() => import(/* webpackChunkName: "content---izanami-v-1-features-flipping-api-2-c-5-4c6" */ "@site/v1/11-features-flipping/03-api.mdx"), "@site/v1/11-features-flipping/03-api.mdx", require.resolveWeak("@site/v1/11-features-flipping/03-api.mdx")], + "content---izanami-v-1-features-flipping-lock-37-d-be6": [() => import(/* webpackChunkName: "content---izanami-v-1-features-flipping-lock-37-d-be6" */ "@site/v1/11-features-flipping/04-lock.mdx"), "@site/v1/11-features-flipping/04-lock.mdx", require.resolveWeak("@site/v1/11-features-flipping/04-lock.mdx")], + "content---izanami-v-1-features-flipping-scripts-6-b-5-325": [() => import(/* webpackChunkName: "content---izanami-v-1-features-flipping-scripts-6-b-5-325" */ "@site/v1/11-features-flipping/02-scripts.mdx"), "@site/v1/11-features-flipping/02-scripts.mdx", require.resolveWeak("@site/v1/11-features-flipping/02-scripts.mdx")], + "content---izanami-v-1-features-flipping-uiefe-4c7": [() => import(/* webpackChunkName: "content---izanami-v-1-features-flipping-uiefe-4c7" */ "@site/v1/11-features-flipping/01-ui.mdx"), "@site/v1/11-features-flipping/01-ui.mdx", require.resolveWeak("@site/v1/11-features-flipping/01-ui.mdx")], + "content---izanami-v-1-getizanami-binaries-83-c-595": [() => import(/* webpackChunkName: "content---izanami-v-1-getizanami-binaries-83-c-595" */ "@site/v1/06-getizanami/01-binaries.mdx"), "@site/v1/06-getizanami/01-binaries.mdx", require.resolveWeak("@site/v1/06-getizanami/01-binaries.mdx")], + "content---izanami-v-1-getizanami-d-9-a-7e0": [() => import(/* webpackChunkName: "content---izanami-v-1-getizanami-d-9-a-7e0" */ "@site/v1/06-getizanami/index.mdx"), "@site/v1/06-getizanami/index.mdx", require.resolveWeak("@site/v1/06-getizanami/index.mdx")], + "content---izanami-v-1-getizanami-dockerdc-8-cc8": [() => import(/* webpackChunkName: "content---izanami-v-1-getizanami-dockerdc-8-cc8" */ "@site/v1/06-getizanami/02-docker.mdx"), "@site/v1/06-getizanami/02-docker.mdx", require.resolveWeak("@site/v1/06-getizanami/02-docker.mdx")], + "content---izanami-v-1-getizanami-fromsourcesf-5-a-707": [() => import(/* webpackChunkName: "content---izanami-v-1-getizanami-fromsourcesf-5-a-707" */ "@site/v1/06-getizanami/03-fromsources.mdx"), "@site/v1/06-getizanami/03-fromsources.mdx", require.resolveWeak("@site/v1/06-getizanami/03-fromsources.mdx")], + "content---izanami-v-1-keys-126-146": [() => import(/* webpackChunkName: "content---izanami-v-1-keys-126-146" */ "@site/v1/13-keys.mdx"), "@site/v1/13-keys.mdx", require.resolveWeak("@site/v1/13-keys.mdx")], + "content---izanami-v-1-metricsf-32-a4e": [() => import(/* webpackChunkName: "content---izanami-v-1-metricsf-32-a4e" */ "@site/v1/15-metrics.mdx"), "@site/v1/15-metrics.mdx", require.resolveWeak("@site/v1/15-metrics.mdx")], + "content---izanami-v-1-performancesd-59-76a": [() => import(/* webpackChunkName: "content---izanami-v-1-performancesd-59-76a" */ "@site/v1/19-performances.mdx"), "@site/v1/19-performances.mdx", require.resolveWeak("@site/v1/19-performances.mdx")], + "content---izanami-v-1-philosophy-62-e-298": [() => import(/* webpackChunkName: "content---izanami-v-1-philosophy-62-e-298" */ "@site/v1/03-philosophy.mdx"), "@site/v1/03-philosophy.mdx", require.resolveWeak("@site/v1/03-philosophy.mdx")], + "content---izanami-v-1-settings-8-a-1-b9e": [() => import(/* webpackChunkName: "content---izanami-v-1-settings-8-a-1-b9e" */ "@site/v1/07-settings/index.mdx"), "@site/v1/07-settings/index.mdx", require.resolveWeak("@site/v1/07-settings/index.mdx")], + "content---izanami-v-1-settings-database-540-759": [() => import(/* webpackChunkName: "content---izanami-v-1-settings-database-540-759" */ "@site/v1/07-settings/database.mdx"), "@site/v1/07-settings/database.mdx", require.resolveWeak("@site/v1/07-settings/database.mdx")], + "content---izanami-v-1-settings-settings-604-766": [() => import(/* webpackChunkName: "content---izanami-v-1-settings-settings-604-766" */ "@site/v1/07-settings/settings.mdx"), "@site/v1/07-settings/settings.mdx", require.resolveWeak("@site/v1/07-settings/settings.mdx")], + "content---izanami-v-1-tutorials-0-f-9-bed": [() => import(/* webpackChunkName: "content---izanami-v-1-tutorials-0-f-9-bed" */ "@site/v1/18-tutorials/index.mdx"), "@site/v1/18-tutorials/index.mdx", require.resolveWeak("@site/v1/18-tutorials/index.mdx")], + "content---izanami-v-1-tutorials-oauth-2404-9d8": [() => import(/* webpackChunkName: "content---izanami-v-1-tutorials-oauth-2404-9d8" */ "@site/v1/18-tutorials/02-oauth2.mdx"), "@site/v1/18-tutorials/02-oauth2.mdx", require.resolveWeak("@site/v1/18-tutorials/02-oauth2.mdx")], + "content---izanami-v-1-tutorials-springcf-9-f2f": [() => import(/* webpackChunkName: "content---izanami-v-1-tutorials-springcf-9-f2f" */ "@site/v1/18-tutorials/01-spring.mdx"), "@site/v1/18-tutorials/01-spring.mdx", require.resolveWeak("@site/v1/18-tutorials/01-spring.mdx")], + "content---izanami-v-1-ui-22-a-7e8": [() => import(/* webpackChunkName: "content---izanami-v-1-ui-22-a-7e8" */ "@site/v1/08-ui.mdx"), "@site/v1/08-ui.mdx", require.resolveWeak("@site/v1/08-ui.mdx")], + "plugin---izanami-49-c-56d": [() => import(/* webpackChunkName: "plugin---izanami-49-c-56d" */ "/Users/77199M/workspace/oss/izanami-v2/manual/.docusaurus/docusaurus-plugin-content-pages/default/plugin-route-context-module-100.json"), "/Users/77199M/workspace/oss/izanami-v2/manual/.docusaurus/docusaurus-plugin-content-pages/default/plugin-route-context-module-100.json", require.resolveWeak("/Users/77199M/workspace/oss/izanami-v2/manual/.docusaurus/docusaurus-plugin-content-pages/default/plugin-route-context-module-100.json")], + "plugin---izanami-docs-18-d-414": [() => import(/* webpackChunkName: "plugin---izanami-docs-18-d-414" */ "/Users/77199M/workspace/oss/izanami-v2/manual/.docusaurus/docusaurus-plugin-content-docs/default/plugin-route-context-module-100.json"), "/Users/77199M/workspace/oss/izanami-v2/manual/.docusaurus/docusaurus-plugin-content-docs/default/plugin-route-context-module-100.json", require.resolveWeak("/Users/77199M/workspace/oss/izanami-v2/manual/.docusaurus/docusaurus-plugin-content-docs/default/plugin-route-context-module-100.json")], + "plugin---izanami-docusaurus-debugf-75-018": [() => import(/* webpackChunkName: "plugin---izanami-docusaurus-debugf-75-018" */ "/Users/77199M/workspace/oss/izanami-v2/manual/.docusaurus/docusaurus-plugin-debug/default/plugin-route-context-module-100.json"), "/Users/77199M/workspace/oss/izanami-v2/manual/.docusaurus/docusaurus-plugin-debug/default/plugin-route-context-module-100.json", require.resolveWeak("/Users/77199M/workspace/oss/izanami-v2/manual/.docusaurus/docusaurus-plugin-debug/default/plugin-route-context-module-100.json")], + "plugin---izanami-searchaaf-832": [() => import(/* webpackChunkName: "plugin---izanami-searchaaf-832" */ "/Users/77199M/workspace/oss/izanami-v2/manual/.docusaurus/@easyops-cn/docusaurus-search-local/default/plugin-route-context-module-100.json"), "/Users/77199M/workspace/oss/izanami-v2/manual/.docusaurus/@easyops-cn/docusaurus-search-local/default/plugin-route-context-module-100.json", require.resolveWeak("/Users/77199M/workspace/oss/izanami-v2/manual/.docusaurus/@easyops-cn/docusaurus-search-local/default/plugin-route-context-module-100.json")], + "plugin---izanami-v-19-ad-71a": [() => import(/* webpackChunkName: "plugin---izanami-v-19-ad-71a" */ "/Users/77199M/workspace/oss/izanami-v2/manual/.docusaurus/docusaurus-plugin-content-docs/v1/plugin-route-context-module-100.json"), "/Users/77199M/workspace/oss/izanami-v2/manual/.docusaurus/docusaurus-plugin-content-docs/v1/plugin-route-context-module-100.json", require.resolveWeak("/Users/77199M/workspace/oss/izanami-v2/manual/.docusaurus/docusaurus-plugin-content-docs/v1/plugin-route-context-module-100.json")], + "version---izanami-docs-935-49b": [() => import(/* webpackChunkName: "version---izanami-docs-935-49b" */ "~docs/default/version-current-metadata-prop-751.json"), "~docs/default/version-current-metadata-prop-751.json", require.resolveWeak("~docs/default/version-current-metadata-prop-751.json")], + "version---izanami-v-1732-153": [() => import(/* webpackChunkName: "version---izanami-v-1732-153" */ "~docs/v1/version-current-metadata-prop-751.json"), "~docs/v1/version-current-metadata-prop-751.json", require.resolveWeak("~docs/v1/version-current-metadata-prop-751.json")],}; diff --git a/manual/.docusaurus/routes.js b/manual/.docusaurus/routes.js index 4d8a4d1e8..72c36e908 100644 --- a/manual/.docusaurus/routes.js +++ b/manual/.docusaurus/routes.js @@ -2,22 +2,57 @@ import React from 'react'; import ComponentCreator from '@docusaurus/ComponentCreator'; export default [ + { + path: '/izanami/__docusaurus/debug', + component: ComponentCreator('/izanami/__docusaurus/debug', 'ab4'), + exact: true + }, + { + path: '/izanami/__docusaurus/debug/config', + component: ComponentCreator('/izanami/__docusaurus/debug/config', '71e'), + exact: true + }, + { + path: '/izanami/__docusaurus/debug/content', + component: ComponentCreator('/izanami/__docusaurus/debug/content', '7bd'), + exact: true + }, + { + path: '/izanami/__docusaurus/debug/globalData', + component: ComponentCreator('/izanami/__docusaurus/debug/globalData', '1a4'), + exact: true + }, + { + path: '/izanami/__docusaurus/debug/metadata', + component: ComponentCreator('/izanami/__docusaurus/debug/metadata', 'd94'), + exact: true + }, + { + path: '/izanami/__docusaurus/debug/registry', + component: ComponentCreator('/izanami/__docusaurus/debug/registry', '49c'), + exact: true + }, + { + path: '/izanami/__docusaurus/debug/routes', + component: ComponentCreator('/izanami/__docusaurus/debug/routes', '108'), + exact: true + }, { path: '/izanami/search', - component: ComponentCreator('/izanami/search', '67a'), + component: ComponentCreator('/izanami/search', 'b82'), exact: true }, { path: '/izanami/docs', - component: ComponentCreator('/izanami/docs', '6fa'), + component: ComponentCreator('/izanami/docs', 'b5e'), routes: [ { path: '/izanami/docs', - component: ComponentCreator('/izanami/docs', '150'), + component: ComponentCreator('/izanami/docs', '051'), routes: [ { path: '/izanami/docs', - component: ComponentCreator('/izanami/docs', '105'), + component: ComponentCreator('/izanami/docs', 'd0d'), routes: [ { path: '/izanami/docs/clients/', @@ -55,6 +90,12 @@ export default [ exact: true, sidebar: "tutorialSidebar" }, + { + path: '/izanami/docs/dev/', + component: ComponentCreator('/izanami/docs/dev/', '4ea'), + exact: true, + sidebar: "tutorialSidebar" + }, { path: '/izanami/docs/getstarted/', component: ComponentCreator('/izanami/docs/getstarted/', '9f8'), @@ -189,7 +230,7 @@ export default [ }, { path: '/izanami/v1', - component: ComponentCreator('/izanami/v1', '433'), + component: ComponentCreator('/izanami/v1', 'b1a'), routes: [ { path: '/izanami/v1', @@ -453,7 +494,7 @@ export default [ }, { path: '/izanami/', - component: ComponentCreator('/izanami/', 'a38'), + component: ComponentCreator('/izanami/', '89a'), exact: true }, { diff --git a/manual/.docusaurus/routesChunkNames.json b/manual/.docusaurus/routesChunkNames.json index d906f616e..d90550cd8 100644 --- a/manual/.docusaurus/routesChunkNames.json +++ b/manual/.docusaurus/routesChunkNames.json @@ -1,313 +1,360 @@ { - "/izanami/search-67a": { - "__comp": "1a4e3797", + "/izanami/__docusaurus/debug-ab4": { + "__comp": "__comp---theme-debug-config-23-a-2ff", "__context": { - "plugin": "1457b77c" + "plugin": "plugin---izanami-docusaurus-debugf-75-018" } }, - "/izanami/docs-6fa": { - "__comp": "5e95c892", + "/izanami/__docusaurus/debug/config-71e": { + "__comp": "__comp---theme-debug-config-23-a-2ff", "__context": { - "plugin": "1ad66b9e" + "plugin": "plugin---izanami-docusaurus-debugf-75-018" } }, - "/izanami/docs-150": { - "__comp": "a7bd4aaa", - "version": "935f2afb" + "/izanami/__docusaurus/debug/content-7bd": { + "__comp": "__comp---theme-debug-contentba-8-ce7", + "__context": { + "plugin": "plugin---izanami-docusaurus-debugf-75-018" + }, + "allContent": "allContent---izanami-docusaurus-debug-content-246-c61" + }, + "/izanami/__docusaurus/debug/globalData-1a4": { + "__comp": "__comp---theme-debug-global-dataede-0fa", + "__context": { + "plugin": "plugin---izanami-docusaurus-debugf-75-018" + } + }, + "/izanami/__docusaurus/debug/metadata-d94": { + "__comp": "__comp---theme-debug-site-metadata-68-e-3d4", + "__context": { + "plugin": "plugin---izanami-docusaurus-debugf-75-018" + } + }, + "/izanami/__docusaurus/debug/registry-49c": { + "__comp": "__comp---theme-debug-registry-679-501", + "__context": { + "plugin": "plugin---izanami-docusaurus-debugf-75-018" + } }, - "/izanami/docs-105": { - "__comp": "a94703ab" + "/izanami/__docusaurus/debug/routes-108": { + "__comp": "__comp---theme-debug-routes-946-699", + "__context": { + "plugin": "plugin---izanami-docusaurus-debugf-75-018" + } + }, + "/izanami/search-b82": { + "__comp": "__comp---theme-search-page-1-a-4-d6f", + "__context": { + "plugin": "plugin---izanami-searchaaf-832" + } + }, + "/izanami/docs-b5e": { + "__comp": "__comp---theme-docs-root-5-e-9-0b6", + "__context": { + "plugin": "plugin---izanami-docs-18-d-414" + } + }, + "/izanami/docs-051": { + "__comp": "__comp---theme-doc-version-roota-7-b-5de", + "version": "version---izanami-docs-935-49b" + }, + "/izanami/docs-d0d": { + "__comp": "__comp---theme-doc-roota-94-67a" }, "/izanami/docs/clients/-7b7": { - "__comp": "17896441", - "content": "f53bace1" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-docs-clients-f-53-ddb" }, "/izanami/docs/clients/java/-37a": { - "__comp": "17896441", - "content": "858bfcaf" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-docs-clients-java-858-68f" }, "/izanami/docs/clients/java/cache-625": { - "__comp": "17896441", - "content": "d98f6b02" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-docs-clients-java-cached-98-38e" }, "/izanami/docs/clients/java/error-handling-d1a": { - "__comp": "17896441", - "content": "95f95e10" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-docs-clients-java-error-handling-95-f-d67" }, "/izanami/docs/clients/java/sse-4df": { - "__comp": "17896441", - "content": "aa63221d" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-docs-clients-java-sseaa-6-ecb" }, "/izanami/docs/concepts/-580": { - "__comp": "17896441", - "content": "39cf9c2b" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-docs-concepts-39-c-d27" + }, + "/izanami/docs/dev/-4ea": { + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-docs-dev-3-aa-08c" }, "/izanami/docs/getstarted/-9f8": { - "__comp": "17896441", - "content": "55940994" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-docs-getstarted-559-e25" }, "/izanami/docs/guides/-7c0": { - "__comp": "17896441", - "content": "2e7f27e2" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-docs-guides-2-e-7-90c" }, "/izanami/docs/guides/bulk-feature-modification-f37": { - "__comp": "17896441", - "content": "9af8677d" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-docs-guides-bulk-feature-modification-9-af-8db" }, "/izanami/docs/guides/configuration-84e": { - "__comp": "17896441", - "content": "80987477" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-docs-guides-configuration-809-de6" }, "/izanami/docs/guides/env-contexts-3a6": { - "__comp": "17896441", - "content": "28294f75" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-docs-guides-env-contexts-282-25d" }, "/izanami/docs/guides/http-calls-in-scripts-d9d": { - "__comp": "17896441", - "content": "391f84ad" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-docs-guides-http-calls-in-scripts-391-d90" }, "/izanami/docs/guides/import-from-v1-b45": { - "__comp": "17896441", - "content": "52d2f9c5" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-docs-guides-import-from-v-152-d-389" }, "/izanami/docs/guides/key-configuration-fb7": { - "__comp": "17896441", - "content": "64236327" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-docs-guides-key-configuration-642-b12" }, "/izanami/docs/guides/local-scripts-122": { - "__comp": "17896441", - "content": "45bf6ac8" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-docs-guides-local-scripts-45-b-d3d" }, "/izanami/docs/guides/mailer-configuration-b6c": { - "__comp": "17896441", - "content": "4e45aa8f" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-docs-guides-mailer-configuration-4-e-4-c62" }, "/izanami/docs/guides/multi-conditions-feature-39f": { - "__comp": "17896441", - "content": "cbc90340" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-docs-guides-multi-conditions-featurecbc-67a" }, "/izanami/docs/guides/query-builder-b4b": { - "__comp": "17896441", - "content": "f7b0431a" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-docs-guides-query-builderf-7-b-4f8" }, "/izanami/docs/guides/remote-script-e46": { - "__comp": "17896441", - "content": "5ec15e41" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-docs-guides-remote-script-5-ec-5c2" }, "/izanami/docs/guides/transfer-data-881": { - "__comp": "17896441", - "content": "8ec7b86f" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-docs-guides-transfer-data-8-ec-d50" }, "/izanami/docs/guides/user-invitation-af4": { - "__comp": "17896441", - "content": "2911da6f" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-docs-guides-user-invitation-291-6dc" }, "/izanami/docs/guides/webhooks-821": { - "__comp": "17896441", - "content": "1858d382" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-docs-guides-webhooks-185-6d1" }, "/izanami/docs/usages/-f2d": { - "__comp": "17896441", - "content": "f09d0f18" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-docs-usages-f-09-ee0" }, "/izanami/docs/usages/contexts-7d8": { - "__comp": "17896441", - "content": "b35c709e" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-docs-usages-contextsb-35-a79" }, "/izanami/docs/usages/features-06a": { - "__comp": "17896441", - "content": "1756af0d" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-docs-usages-features-175-9e5" }, "/izanami/docs/usages/organisation-d57": { - "__comp": "17896441", - "content": "2524d653" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-docs-usages-organisation-252-2d5" }, "/izanami/docs/usages/request-944": { - "__comp": "17896441", - "content": "d86837dc" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-docs-usages-requestd-86-68b" }, - "/izanami/v1-433": { - "__comp": "5e95c892", + "/izanami/v1-b1a": { + "__comp": "__comp---theme-docs-root-5-e-9-0b6", "__context": { - "plugin": "4cb46bbe" + "plugin": "plugin---izanami-v-19-ad-71a" } }, "/izanami/v1-0b2": { - "__comp": "a7bd4aaa", - "version": "7329b9d1" + "__comp": "__comp---theme-doc-version-roota-7-b-5de", + "version": "version---izanami-v-1732-153" }, "/izanami/v1-995": { - "__comp": "a94703ab" + "__comp": "__comp---theme-doc-roota-94-67a" }, "/izanami/v1/-4b6": { - "__comp": "17896441", - "content": "38c1ccfe" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-v-1-38-c-105" }, "/izanami/v1/about-92c": { - "__comp": "17896441", - "content": "404820e5" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-v-1-about-404-3f5" }, "/izanami/v1/api-4d6": { - "__comp": "17896441", - "content": "8c817def" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-v-1-api-8-c-8-676" }, "/izanami/v1/architecture-13a": { - "__comp": "17896441", - "content": "cced1e3d" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-v-1-architecturecce-931" }, "/izanami/v1/authprovider-05e": { - "__comp": "17896441", - "content": "ea391ed7" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-v-1-authproviderea-3-644" }, "/izanami/v1/clients/-b28": { - "__comp": "17896441", - "content": "915e538f" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-v-1-clients-915-d28" }, "/izanami/v1/clients/cli-f96": { - "__comp": "17896441", - "content": "3cfbbc0f" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-v-1-clients-cli-3-cf-9a1" }, "/izanami/v1/clients/jvm-4da": { - "__comp": "17896441", - "content": "44ca1fc6" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-v-1-clients-jvm-44-c-096" }, "/izanami/v1/clients/node-afe": { - "__comp": "17896441", - "content": "28ea13a0" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-v-1-clients-node-28-e-d45" }, "/izanami/v1/clients/react-58a": { - "__comp": "17896441", - "content": "cdfb9db4" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-v-1-clients-reactcdf-b19" }, "/izanami/v1/clients/spring-starter-dfe": { - "__comp": "17896441", - "content": "7a3092a3" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-v-1-clients-spring-starter-7-a-3-7a6" }, "/izanami/v1/configs/-bf8": { - "__comp": "17896441", - "content": "3e4b204b" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-v-1-configs-3-e-4-2ff" }, "/izanami/v1/configs/api-a47": { - "__comp": "17896441", - "content": "6a24d81d" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-v-1-configs-api-6-a-2-69d" }, "/izanami/v1/configs/springconfig-1f0": { - "__comp": "17896441", - "content": "61d10066" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-v-1-configs-springconfig-61-d-f30" }, "/izanami/v1/configs/ui-18c": { - "__comp": "17896441", - "content": "144ae2b5" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-v-1-configs-ui-144-a34" }, "/izanami/v1/developers-811": { - "__comp": "17896441", - "content": "7a055ef3" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-v-1-developers-7-a-0-9c7" }, "/izanami/v1/events-f8b": { - "__comp": "17896441", - "content": "dfda2e39" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-v-1-eventsdfd-d43" }, "/izanami/v1/experiments/-0cf": { - "__comp": "17896441", - "content": "e90300dd" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-v-1-experiments-e-90-974" }, "/izanami/v1/experiments/api-5e6": { - "__comp": "17896441", - "content": "e157316e" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-v-1-experiments-apie-15-10a" }, "/izanami/v1/experiments/ui-22b": { - "__comp": "17896441", - "content": "309e43de" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-v-1-experiments-ui-309-5ca" }, "/izanami/v1/features-c6a": { - "__comp": "17896441", - "content": "868bc92e" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-v-1-features-868-d79" }, "/izanami/v1/features-flipping/-ab5": { - "__comp": "17896441", - "content": "3651c730" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-v-1-features-flipping-365-731" }, "/izanami/v1/features-flipping/api-e84": { - "__comp": "17896441", - "content": "2c55d6de" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-v-1-features-flipping-api-2-c-5-4c6" }, "/izanami/v1/features-flipping/lock-4e5": { - "__comp": "17896441", - "content": "37d37b99" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-v-1-features-flipping-lock-37-d-be6" }, "/izanami/v1/features-flipping/scripts-494": { - "__comp": "17896441", - "content": "6b55a23b" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-v-1-features-flipping-scripts-6-b-5-325" }, "/izanami/v1/features-flipping/ui-401": { - "__comp": "17896441", - "content": "efe36f9c" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-v-1-features-flipping-uiefe-4c7" }, "/izanami/v1/getizanami/-68e": { - "__comp": "17896441", - "content": "d9a19508" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-v-1-getizanami-d-9-a-7e0" }, "/izanami/v1/getizanami/binaries-206": { - "__comp": "17896441", - "content": "83cf5a0e" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-v-1-getizanami-binaries-83-c-595" }, "/izanami/v1/getizanami/docker-775": { - "__comp": "17896441", - "content": "dc8f53ac" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-v-1-getizanami-dockerdc-8-cc8" }, "/izanami/v1/getizanami/fromsources-1f1": { - "__comp": "17896441", - "content": "f5ac983d" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-v-1-getizanami-fromsourcesf-5-a-707" }, "/izanami/v1/keys-eb4": { - "__comp": "17896441", - "content": "12625af8" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-v-1-keys-126-146" }, "/izanami/v1/metrics-415": { - "__comp": "17896441", - "content": "f3281aa5" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-v-1-metricsf-32-a4e" }, "/izanami/v1/performances-22b": { - "__comp": "17896441", - "content": "d5980866" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-v-1-performancesd-59-76a" }, "/izanami/v1/philosophy-e21": { - "__comp": "17896441", - "content": "62eca57d" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-v-1-philosophy-62-e-298" }, "/izanami/v1/settings/-3c2": { - "__comp": "17896441", - "content": "8a163022" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-v-1-settings-8-a-1-b9e" }, "/izanami/v1/settings/database-f13": { - "__comp": "17896441", - "content": "54014a70" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-v-1-settings-database-540-759" }, "/izanami/v1/settings/settings-0b0": { - "__comp": "17896441", - "content": "604919e7" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-v-1-settings-settings-604-766" }, "/izanami/v1/tutorials/-d91": { - "__comp": "17896441", - "content": "0f98d465" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-v-1-tutorials-0-f-9-bed" }, "/izanami/v1/tutorials/oauth2-4ba": { - "__comp": "17896441", - "content": "404d2a01" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-v-1-tutorials-oauth-2404-9d8" }, "/izanami/v1/tutorials/spring-94e": { - "__comp": "17896441", - "content": "cf997756" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-v-1-tutorials-springcf-9-f2f" }, "/izanami/v1/ui-95e": { - "__comp": "17896441", - "content": "22a808b3" + "__comp": "__comp---theme-doc-item-178-a40", + "content": "content---izanami-v-1-ui-22-a-7e8" }, - "/izanami/-a38": { - "__comp": "c4f5d8e4", + "/izanami/-89a": { + "__comp": "__comp---site-src-pages-index-jsc-4-f-f99", "__context": { - "plugin": "a5a0f36f" + "plugin": "plugin---izanami-49-c-56d" }, - "config": "5e9f5e1a" + "config": "config---izanami-5-e-9-485" } } \ No newline at end of file diff --git a/manual/docs/06-dev/index.mdx b/manual/docs/06-dev/index.mdx new file mode 100644 index 000000000..2a470423a --- /dev/null +++ b/manual/docs/06-dev/index.mdx @@ -0,0 +1,138 @@ +--- +title: Developing Izanami +--- + +Here are some tips to help you get started with Izanami contribution. + +## Tools + +Here is what you'll need + +- git +- SBT > 1.9.7 +- JDK >= 21 +- Node > 20 +- Docker / Colima / whatever allows you to run docker-compose + +## Clone remote repository + +```sh +git clone git@github.com:MAIF/izanami.git +cd izanami +``` + +## Install deps + +For backend + +```sh +sbt compile +``` + +For frontend + +```sh +cd izanami-frontend +npm install +``` + +## Running project + +First let's start some containers, `docker-compose.yml` contains everything that may be needed by Izanami (mock SMTP server, WASMO, simple OIDC provider, postgres database, ...). +You may delete some of these elements to reduce consumed resources, however you need to keep the Postgres database. + +```sh +# In root directory +docker-compose up +``` + +Now let's start the backend + +```sh +# Opening 5005 port allows to plug in Izanami for debug +sbt -jvm-debug 5005 +# You may add -Dapp.sessions.TTL=604800 to have longer login sessions +~run -Dconfig.resource=dev.conf +``` + +And finally let's start frontend application + +```sh +cd izanami-frontend +npm run dev +``` + +After eveyrhing is started, browse to [http://localhost:3000](http://localhost:3000) (login form may take some time to respon since compilation is started on first backend request). + +## Running tests + +### Backend tests + +To run backend tests, you will need to start Izanami and associated containers independently. + +To do so, just start the backend and the docker containers with the above commands. + +Once backend and containers are started, just run + +```sh +sbt test +``` + +#### Experimental direct test execution + +Alternatively, you can run one test suite directly (without Izanami and containers running). The suite will start everything for you, however this is way slower than above method and still highly experimental. + +If you're using Colima instead of docker, this method may require the following env variables to be set : + +```sh +DOCKER_HOST=unix://${HOME}/.colima/default/docker.sock; +RYUK_CONTAINER_PRIVILEGED=true; +TESTCONTAINERS_DOCKER_SOCKET_OVERRIDE=/var/run/docker.sock +``` + +### Frontend tests + +As for backend tests, you'll need backend and docker containers started to run frontend tests. + +You'll also need to start your frontend on localhost:3000 (using above commands). + +Once everything is running, just run + +```sh +npm test +``` + +You may need to let playwright install browsers before executing tests. + +## Packaging + +To package frontend : + +```sh +cd izanami-frontend +npm run build +``` + +To package backend (make sure to package frontend first) : + +```sh +sbt "set test in assembly := {}" clean assembly +``` + +To start generated jar + +```sh +java -Dconfig.resource=dev.conf -jar ./target/scala-2.13/izanami.jar +``` + +To build docker image (after packaging frontend and backends) + +```sh +docker build -t izanami . +``` + +To test docker image + +```sh +docker run --env IZANAMI_PG_URI=postgresql://postgres:postgres@host.docker.internal:5432/postgres -p 9000:9000 izanami +```