Skip to main content

Features

In Izanami, feature flags are just called "features" for the sake of simplicity.

Feature activation

Two elements are used to decide if a feature is active:

  • Feature status: enabled / disabled
  • Feature activation conditions

If a feature is disabled, then this feature is not active, regardless of activation conditions.

If a feature is enabled, activation conditions are used to compute feature activation.

If you just want an on / off feature, don't define any activation condition. In this scenario, feature activation is deduced from feature status (enabled -> active, disabled -> inactive).

A feature can have 0, 1 or more activation conditions, however only one of them need to match to make the whole feature active.

A condition is composed of one time rule and/or one user rule. Possible rules are detailled below.

If both rule are defined, both need to be active to activate condition.

There is a logical "OR" between activation conditions. Inside a condition, there is a logical "AND" between time and user rules.

eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nO1bW1PbyFx1MDAxMn7nV7g4r2F2pue+L6dcdTAwMDImQMItXHUwMDA0SLJnt7aELbBcdTAwMGVCMpa4mK3899MjwJIlyzbBXHUwMDA2c3ZVLrCl0Uxrpr/ur3tafy01XHUwMDFhy2m/6y//2lj2b1teXHUwMDE4tHvezfI7d/7a7yVBXHUwMDFj4SXIfifxVa+VteykaTf59Zdf8jtIK764v8tcdTAwMGb9XHUwMDBiP0pcdTAwMTNs91x1MDAxZvzdaPyV/S2M01x1MDAwZbyLOGpnzbNcdTAwMGL5QFxmoHx2N46yQZlgwCXn2lx1MDAwZVpcdTAwMDRJXHUwMDEzR0v9Nl4+9cLEz6+4U8uwXHUwMDFlJSv+nrCbcXhcdTAwMTd/+tY/XHUwMDEyN0E+7GlcdTAwMTCGX9J+mFx0lcT4IPm1JO3F5/7XoJ12XHUwMDFln79wvu6uXnx11on8xD08XHUwMDFinI27XitI++5cdTAwMWOlg7NedJb1kZ+5xV+WW8JcdTAwMTRXVlkhXGbIwcXsdsYk0UIqJbmQVEFZrrU4jHtOrn8xq1lcdTAwMGJyyU681vlcdTAwMTmKXHUwMDE3tfM2p9mRt7l5fFrOXHQvXHUwMDFlYtCk41x1MDAwN2ed1LVhlmjJqVFcdTAwMDKHwmXJJfGz9WCWgVIoRb5cXG787lY704w/8lXoeVx1MDAxN/6WuyW6XG7D4lRG7YepfNSgXFyH4OHMj/xcdTAwMDFd+/Wy7lx1MDAxNfVvSFx1MDAwN1P/Nlx1MDAxZDx5QWV+27lsr653Op917+jrl61+5889tro8aPfj3ehu729utb7vXHUwMDFld0+/JZ3VpHcjdlx1MDAwZSRnN8OjPI7v9XrxzbT9qlx1MDAwYlxi9d7J9vbd973e7blvgV7uT9fvw7d8uq+6be9cdTAwMWUxTDNqpNFcdTAwMTREQc/CIDovr0VcdTAwMTi3znOQLVx1MDAxNVx1MDAwNK5ge2heXHUwMDBiwOamXHUwMDE216jpVFx1MDAxOU7Z1LhcdTAwMWW9SFx1MDAwYo1rRlx1MDAxOSXKXHUwMDAx21x1MDAwMOLbUlNCtjGEXHUwMDE5brGBpHjIuSDbOlx1MDAxOfC4N6WSqSqwtSwjmVx1MDAwYjS6XGbNzvOBPHShgthZKmkuVVx1MDAxY6VfgrvMaNChs1x1MDAxZryLIOxcdTAwMGataKa9OIFbSeP36NT30quej9/8yDtcdP1249/LQy3fh8FZlOFcdTAwMWWfwO9ccql9XHUwMDFhoGdcdTAwMWM0uFxi2m1UikGDXHUwMDE2XHUwMDBl71x1MDAwNZHf25rGT8W94CyIvPAwl+5Rtlx1MDAxMZLh3Pibj6vJXGLIsXi9t1x1MDAxNyNcdTAwMDArhSifXHUwMDFkIFYqYOhcdTAwMTX01IBcdTAwMWRvXHUwMDE4X1x1MDAwMbB2XCJemeZEWEXBclx1MDAwZTJ/1P49S5FcdTAwMGVI6KyNlMaALomVI1x1MDAxMU6tL8TPoZVRIFRcYmqp1ZqjgVx1MDAxY+GHmZKEolx1MDAxZrZMXCJbsEZUXHUwMDFkMVx1MDAxM0ppLV/NXHUwMDExj4E1XHUwMDFhOy1NUXWnhXWSer10NYjaQXQ2LNhcdTAwMDP/nFx1MDAwNlmZIWhdOSlXKE61loIzXHUwMDAzVjFpXHUwMDE1h0KzM6/rpK48rFx1MDAxZrWnXHUwMDEwXCI4h32WfvxcdTAwMWNs362mx+tBbz9sLld65yiBotQwQHdcIkFwPUJOSnDikP5RQI1Ar4GUsFwiVOgl6Vp8cVx1MDAxMaQ42ftxXHUwMDEwpeVJzWbvvYN+x/cqK45cdTAwMGZVvFa2XHUwMDExXdfjMMXKvzVyXHUwMDFjZT9cdTAwMDbf/3g3srVhXHUwMDA0fVx1MDAwYpWUXHUwMDAzUoChZ27gjChprFx1MDAwNoFPK62lVEzqrlx1MDAxZTLZ1VxuWPL+lor/n8puXG6OtGQrOdNg0HnlXHIm2sr47HBn7aDJr06aQeez+rZ2vFx1MDAwYottK0FcdTAwMWFimdKGcyWkNnkv99zGXHUwMDAyXHUwMDAxY4yWgNyHSlVcdTAwMTJsNtaSXHUwMDAzYS5YkYxxXHSS5+YuXHUwMDBmWircXHUwMDA2KIZUXHUwMDE4vlx1MDAxNMzmi5JcdTAwMWJqMEhcdTAwMTKcKp5P6bzJzXc/qeExoX+ajmExadytozBDwpb5ytCAM6InQrDy2Vx1MDAwMT3hlFx1MDAxYqGLrnBcdTAwMTLmxlx1MDAwN1iLiDnLMV5QXG6UlsqI0Vx1MDAwNFx1MDAwNdsogeGEtfX8xKeccfaT0YQgXHUwMDBlPkh/jDZcdTAwMTZd+lxiesJcdTAwMDQxXFxcdTAwMDBohW0whqhGXHUwMDE3klx1MDAwM0U7PVx1MDAwM1x1MDAwMM6Fndii5r5cdTAwMTY7Qa/PgGqca4aSIU9RhUbP4iY7zVx1MDAxZC43Vz59+66PzjdiuDW+ulx1MDAxZC1cdTAwMDJFcoLmVWlcXCxcXE90n1UhNDFcdTAwMTjpKlx0XHUwMDE2l5tLId80OVmp1XB3WGKstFKhXHLHsFx1MDAxZKid2J1cdTAwMTGEWytBo4tSYHIwuKNcbpUnkpOe30rvjcUohjKGolxiVC75lLzqeKVZyPyLXHUwMDA2RdDOICe0hlx1MDAxOVx1MDAwNbm5ye7nyGA4R1KoLddKSl5cdTAwMTJsNlx1MDAwNlx1MDAxM2eZXGYypvhlRPol01x1MDAwMiZcdTAwMWU/spBcdTAwMTV7NJgopstcdTAwMWblNn2GXHUwMDA285FcdTAwMTDPPK9qt3zvtHeysfNx66Cz0kzuPkfnL5H/XHUwMDFj2+/Kp5Om+XquvKOweaM6yUdxSO/eVl5cdTAwMTXGbJhotNiCXG47PVx1MDAwZlx1MDAxYb1Ki1xybCGdZ1JcdTAwMTSJXHUwMDBlRlx1MDAxZbZEhFx1MDAwNOVcdTAwMDRcbjsm82FCwCThLrGKq85w/Y2pXCK7XHUwMDFhfDCnXCLoQfjfKLP64SFxXHUwMDE5JI0oTlx1MDAxYl4rXHKu/Zpw5Llp1Vx0bqpcdTAwMWOmTFx1MDAxMO1pgUstXmvDXHUwMDE2pHWOXHUwMDFjiFx1MDAxYzqT0HpwvN47/vP91rn6mFxcXHUwMDFmNu0+xr7fXHUwMDE2OmpBykNcdTAwMDDjM21cdTAwMTXSJl1IMT8kXG5cdTAwMDTR0iCEUCmpXHUwMDE2c1x1MDAwMisn1iVcbkAgj+WaXHUwMDE39lrGZVxutJFWWZY/9/99omA3ftk8QXG8p6FtTEVcdTAwMDEqUlx1MDAxZOKk1lx1MDAxYVx1MDAxZKR9QkHB2EzuQvpHXHUwMDE3MFx1MDAxMrBW4Idxi56yxHwtJ1x1MDAxMjhigVx1MDAwMVx1MDAxOHSXtZh7zsYjoo1QjFx0lUTM4ZdRyTnFiC2WXHUwMDE0VFx1MDAxMKiEXHUwMDE2is6F9/50PcG8Nv4n8enw/cbOxiexu3HbOlpb+TPdV3diY+o6hVx1MDAwM9DR5vX5bnfztnUl4p2Tzfi3f/j0vX+uzytcdTAwMDJcdTAwMDaHlksxvb1cdTAwMTi9SottL4BqwqhGm4D+TtlypCyMJpRpwOUwQ6VBszRcdTAwMTeMXHUwMDBiXCKyyiMuqUTHO2Lns1qowNBHovWAWYTGb4VPN2M/acSR34hPXHUwMDFiv0dpx2+gw21cdTAwMDcp6i3+vvDSVmd+ZVx1MDAwYuO9Ydm9XHUwMDE3RVx1MDAxZFx1MDAxNrRcIuaMNlx0dD3bZoaDVJzrfKYnbsyNtZqLSLeZXHUwMDEwjLhcdTAwMWFcdTAwMDWMSFx1MDAxNVx1MDAxN6BLvl9cdTAwMDJcdTAwMTCdJZrAKs2g3vc/Z2POWGKtQnBcbuBIQMSI2NgywjD+0VZQXHRmSJBcdTAwMDdouy1Us2i7XHUwMDA0zyTl0+5cdTAwMTJMKlx1MDAxZijWMGgqXHUwMDE1gMLJXHUwMDE2XHUwMDE0f9hCs/tcdTAwMTQ98jDKlWKo+i7T/JPbXHUwMDA2bS/YS1x1MDAwZU7ew9rK+lx1MDAxZbuOXHUwMDA1P+zdjJLJiYS8zyVnLFPcXGJcdTAwMThRViEwIFNcdTAwMWFcdChFLUBcdTAwMTVcdTAwMTBcdTAwMTWh3tKugUFQMeXyblx1MDAwNrSr9SvezYmmfPBRVvKJ3dXBx1x1MDAxZFx1MDAxNeDkvS1cdTAwMTX/P9l0KlZcdTAwMWI2MYnhs0QwTl//NZ5cdTAwMTgupOlk1Fx1MDAxMmms4I7zof5WTCdGVeBoXHUwMDEyzkQhgpztdlx1MDAwMXN7vFS79eV2ZLmmK3hcdTAwMTHKulxyXGZnXCItrbBcIuG2pqidRfnm29tgndZ0UlwiqKLIeNHFoF00XHUwMDA1XG5XsJxu245pvGrQUCla3dyc9ZYrQppaaykwLYTAXHUwMDAwuGo7XHUwMDE5QfduXFz5lOKubsxWhHpLtnNcdTAwMDU1g+S2k2LEX7xfWuSCdvDhcmJ/9Vx1MDAxOMouXHUwMDBiTqCQl9BPNJ91UaSor3bnOJSrMHxcdTAwMDLvVNur/e+X9LLr71x1MDAxZXtcdTAwMWJh/7ZcdTAwMTP3XHUwMDE32niiNydcbi2OYlxmnVx1MDAxNv4r2U6JXHUwMDFl0rhcYlx1MDAxMldcdTAwMTn1u/4tlldI82Loa5Gk0Fx1MDAxOVTL/pPnfdCcmeV5x5Y4XHUwMDAwq61YR1tcdTAwMDLSbbVNXHK68Vx1MDAwNHcxMzfI+Fx0d6+XMG2U0KaUuVFIWdDlupJaylxy1/MpWp9JjYNcdTAwMDJcZlx1MDAxNtDtzYWzzK3GwWzoXHUwMDBm/uVcdNDWYT8+WO9cXFx1MDAxZtxsfX2BnOyjq6onWi/0jldevV3Zalx1MDAwMXAvXHSa6VOnoydzwVx1MDAwMSgocaVUyqDnXHUwMDAzxUsxXHUwMDAzhrjEbTkpZGpcZkT9K17PemlcdTAwMDRcdTAwMDdR7lxyMqRcdTAwMThcXLpXdaZxe0y7Slx1MDAwNPQ+r+T2XrlcdTAwMTRhrmVcYlx1MDAxM1xcyZgyhDmVINRWXHUwMDAyMio1Olx1MDAxMFDT1yB80CdHfOe/l3x9Y3tNNrfvZLpyvNDkXHUwMDE0/VxyXHUwMDA2VkJbdIXAOaWlXCJcdTAwMDRhgChDXeaGXHUwMDFiauo3OF78ZVx1MDAwNaal4Uqje//7cNOFfFlh6cHZLnvd7pdcdTAwMTTnZ8Azlq9cdTAwMDP/ZrVeXHUwMDExllx1MDAxZeDqgOFn9OTH0o//XHUwMDAxVlTb5SJ9Is feature enabled ?YesFeature is not activeNoDoes one of the condition match ?NoFeature is activeYes
Feature activation decision tree

Below schema givena an example of feature that define several activation conditions.

Conditions are used here to progressively activate feature for all users, while keeping feature active for two "admin" users: Alice and Bob.

eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nO1daXPiyLL9Pr/C0S9uxHtcdTAwMTFjTVVlLVnzXHIvXHUwMDE4t3fwXHUwMDA2N244MIjdrLLB3Jj//rJwt8Gy1Vx1MDAwNlx1MDAxYdqiTc/StiSgkPLUOblU1n//2Nj4XHUwMDEyPLb9L39vfPFcdTAwMDeFfKNa7Ob7X/50x1x1MDAxZvxur9pq0ikx+r3Xuu9cdTAwMTZGV1aCoN37+6+/xq/wXG6tu6dX+Vxy/85vXHUwMDA2Pbru3/T7xsZ/R/+f+JyuX1xi8s1yw1x1MDAxZr1gdGr8UVJi+Ohxqzn6WG5cdTAwMDTTXFwqq56vqPZ26PNcdTAwMDK/SKdL+UbPXHUwMDFmn3GHvlx1MDAwNMlcdTAwMGVcdTAwMGXKyZy4XHUwMDFlnN/r4/1cdTAwMWOH0/r4Y0vVRiNcdTAwMTM8NkbD6rXoq4zP9YJuq+5fVYtBxX126HjUq7qt+3Kl6fd6L17TaudcdTAwMGLV4NFcdTAwMWRj7Pno0z34e2N8ZEC/oWKe1lZcdTAwMWJAoyWI55NPL0fjaTquhVBKcFx1MDAxMVx1MDAxYdZ2q9HqumH9XHUwMDBmt4ZcdTAwMTfEeGC3+UK9TKNrXHUwMDE2x9f41i/4pfE1/W9fXHUwMDE2gXtKM6FcdTAwMTWCNMDM81x1MDAxNVx1MDAxNb9arlx1MDAwNHSJQeFJQI6gXHUwMDA1ILLxQ+v5o6chmEUupVXjb+c+vr1fXHUwMDFjWcZ/xs+gm7/z991LmveNxuSNbFx1MDAxNr/dyFx1MDAxNydu3YndXHQjXHUwMDFiv9V9u5h/slx1MDAwNW7oTilEXHIg4fl8o9qsh9+u0SrUx+YzOvrPn3PYLVc8ym6FMXSXtLJTm61/gNu5bT3of+2wZFx1MDAwZm/VYSXFYm62iFx1MDAxZVx1MDAxN1x1MDAxYyyzZLxswmZGr+eAnuaabEkg/SvDXHUwMDAzm81wS6M/r1xyXHUwMDE3XHUwMDA0epYs1mHHKCPgteFcdTAwMDJTXHUwMDFlU5IrXHUwMDBi1pB1glxmW65cdTAwMDRrXHUwMDE1Sil+3nC/m9DYiODbkX/mtGcmOVuUPVx1MDAwN/4geMuUNURZspaMSSWEntqSXHUwMDBmMlubeVx1MDAwYvleut2s90/vL7PJxO5HWrJ915AteFJK7r4rmfIrQ+bgMZqfLf0nUf3cXGZcdTAwMWN0881eO9+lR//amLnlZKmMMTJZTtaMr41ZqLDxcklcdTAwMTNcdTAwMWWisVx1MDAxZjTtMlx1MDAxNJpuXHUwMDFlXHUwMDAzLWcw0/GoWs0gU1x1MDAxZI5mTfbiaDJ/V208vnioI/ulu5goXHUwMDA01Yd8QHa6UWg1i1X305dcdTAwMTdXJVx1MDAxYdWys+wvXHK/9NLkgyopmOfTQas9PkvvXHUwMDE15KtNv/v6LrW61XK1mW+cTzVcdTAwMDL6/n7q+yPjnlDzs1xm8UikOqIpjbSDVWODfVx1MDAwZpyNo27qtF9Wg4NyrpWwN4VOJ52KN81wXHUwMDEw0vFcZlNGabpcdTAwMWPGXGJ45lx1MDAxOU64RJKJXFxYXGJccuxcdTAwMTfSjPWMdFxmo0mmKTsxTTxcdTAwMDHVgiBIXHUwMDBiWFx1MDAwME5Xk2VIXHUwMDA3RFx1MDAwYn1gKK2eoOD3TNlkXHUwMDFmTju1m0Hz1tTTfjZ1cle63Yo1z5AlW1wiXHUwMDFhQGCacWYnhMg3olx1MDAxMZ6yVlx1MDAxOJIj9EjiRTNWXHRNxs/XLDNx1SqxjLv6LVTa8LFnTFrLjVx1MDAwNDVcdTAwMDMmu7vZ8/Q9PtaaJ7VKPlx1MDAxNVx1MDAxY5+K64d4Y1JY5jEkbVx1MDAwN8CZXHUwMDA0XHUwMDFlXHUwMDEyf8DdxE/yj1SwXCJcdTAwMTZYXHUwMDFlKI0nrFaktYnoOPlLY/w/o3I89G+gJK+L2MYswuN+TSliXkr5Saz2gnw32KqSuTfL4Zf4zWLEmUa+XHUwMDE3bLfu7qpcdTAwMDFccuO0VW1cdTAwMDbhK0bvm+h2W/2Kn391L+idI8+13duNw1vuz/injfFjXHUwMDE5/fL883/+fPPq6Fx1MDAwN1x1MDAxZHr5XHUwMDFmk3/PimrNwlx1MDAwN589Olx1MDAxMoxWWjE9qlx1MDAwYtuZo+Ovl7Ujv1Qt7tXuXHUwMDFld64z2ZijWlx1MDAxOI9cdTAwMWJjNLn9JFxmQ5LRgZpLQrTUoIDrJXp086CaIzmb9Fx1MDAxNSYuXsP6c8H6x1x1MDAwMXOIXGaYXHUwMDBi0nTGklx1MDAxYjJ+RO+h++7iVqTrnTRcdTAwMWXe9NnXg2p55z6VWCi6i/lexV8kvK2L6Fx1MDAxOVx1MDAxON1nTX+Pb8dcYt6CXHUwMDE5z1xiYnSFdNXydLRA8IQhJY9cdTAwMWO0XHUwMDFizHiaeVx1MDAwNrdcdTAwMDLPMvJcdTAwMDZJPoPVXHUwMDAyx2rrO9hcdTAwMTVaXHUwMDAyvFxchLBeoFs4XHUwMDFm2H9o05FuYTRXXHSiKY3WsKmt2SRNTnUu9KDWyO9v1Tf7pW77MObWTF4hV2SwUlvOJnNdj9+pTIqRV6iAPDa1PHtcdTAwMDb0XHUwMDE0XHUwMDAyqVxcIVxyM+yNIId4TVZcdTAwMWGVXCJcdTAwMWaSLSB4/rGOIdcvjr7nXHUwMDE4+lx1MDAxYqVu626D8b/oX8GE3MBcbrBcdTAwMGbwXHUwMDBm31x1MDAxYshsbmJcdTAwMTRKOURcdTAwMDdvXHUwMDA0WaY2fGJcdTAwMWV+XHUwMDBmpnT53YlcdTAwMGVyj1x1MDAxZMzoq9J94343UYu1pLREKmCRXHUwMDE4hSOS2YVjN0Z7gFx1MDAxYVxmwdVN+MtjXHUwMDFk8ldcdTAwMDVcdTAwMTBIrTHipY7/UZJAaeJKJj9TkuC8eudvdO8nNdSvwORcdTAwMWJcdTAwMWa7wHSA4pFJZzI/48J60zt2R5XKQCaGg/pxNZ3N3iRrUK/amJMlQ8JcdTAwMTl3Opv0n7RjPfXk2Wn0pFwiSciIMdHIJZLlXCLEXHUwMDFmMFx1MDAxMFxullx1MDAxNL9ZXHUwMDA17Vx1MDAwNzYy82xcdTAwMTg9QeAzZJ4vXG63eJpMXZxcZnvHW92H+2Ilw77G3JyV8uhOM5f84JpcXLeQOaPykDHJR6LMLs+aOVx1MDAxMru5lICmx66ILd5ildfaz1x1MDAxYXpC5GItIFCxatqv1d1Q/9polTbue2S3XHUwMDFmI/uixrBcdTAwMTjFJ4RcZlx1MDAxZv2OTUnOXGLNWjg91Vxc7Mr0eVtcXO3Z/fOgX+5ov6eTsVx1MDAxN3xcdTAwMTKZJlx1MDAwMydcdTAwMTdcdTAwMWQmgnFP0Fx1MDAwNO1cdTAwMTHBoFx1MDAwMm4lOfDLwyZcdD6aXHUwMDFkrEVpJFx1MDAxN1x1MDAxM/z/XHUwMDAzvadBKiXZRKBoRYE5vdy7IFxmfIDce+NjXHUwMDE3XHUwMDAzP1x1MDAxYok+wZkhXHUwMDFmhJnp/a3bvjy5qp2L87Pri8zd3aXJVtNcIt7UyJkg8rOW5JFUgCBD3CgsXHQwwlx1MDAwNFrNiUbN8oL44D5cYmaMi1x1MDAwMLOgtLIrj8BcdTAwMTmo8XjnXHUwMDE38+DkXHUwMDA3LiZcdTAwMWI+qeNf1agocu5cdTAwMDHt9LDLXHUwMDE1zk72XHUwMDEzN7vX3Urb5tJ8V1xc80qsWY+0qPDIsVx1MDAxMsRcdTAwMWZcdTAwMDQ8hFBsnTxcdTAwMTZSpNpcbkZcdTAwMDDU4ueqelx1MDAxN586XHUwMDEzo1HRINdcdTAwMTnxz5o6i0S2inQ1iUolkoSbQc9uZnrt8+vj5LWod1x1MDAxZa5cdTAwMTOFXHUwMDAyaz/cxlx1MDAxY9lcdTAwMWE8yThcdTAwMDf9lPVcdTAwMWXfjmdka8e0dFxyWK5kaGBcdTAwMWaNbKOZIDd1XHUwMDAxfLpcdTAwMDb2Slx1MDAwMvvHOXFcdTAwMWKZXHUwMDEzl9ZcdTAwMThkMENKXHUwMDFjUru9rVYhXeTFvZ1O41x1MDAwMZL15EHM1TJI4UkrXHUwMDE5jkr2VDg/IZj0tNJE3CRjmZbLK2RbTFZcdTAwMWNcdTAwMDXTXHUwMDA2xSeOjE5cdTAwMDQ+w3RFd0zTfD09W2WH4vzyonssav1cdTAwMWR9N2xAOdHejrtBa01C1EFcdTAwMTeBXHUwMDEwXHUwMDFjtmchPVBcdTAwMTaASUOExZbn/Vx0KT1O3lx1MDAxZpC0RFx1MDAxNMinXHUwMDBijWojnX5Wn8n/m8xGq7ikxaNcdTAwMDayoLS4jU6L69FakcnywnfDNKp2y1xu/lx1MDAwMZ6dn9ab27fb5dq2jLeqXHUwMDA0glx1MDAwN3JcdTAwMGIuJ61cdTAwMTHDi3NcZngkNaVAY60hp3FpMJ0rLW6JKVx1MDAxZMmsfP7is2fFVWSwVFx1MDAwM9KUbWZII57zrVxcaqvX71x1MDAxZO330/v9q9MqP/LjTpZSe1pcYmtJclx1MDAxMVx1MDAxOWI4aqONp6TlLoeATKrlwXAx6o9LSVxuZ1x1MDAxMbHT1Vx1MDAxNH9CR7KKJFx1MDAwN94qukNT23O7t91vnrKLXHUwMDAyXHUwMDFj9NXFQ/XgcudAx51UlGeEYMi4kYKHl3xcdTAwMDIoz2pNZlx1MDAwNsaCMj+15nPhuTdO2lxckFx1MDAwZraI8v1VYZXfLfkmVeSqa02G+TIw/lx1MDAxZVx1MDAwMOtcdTAwMDNcdTAwMWaLqbafb2dqlzzX2bwpJTtxJ1x1MDAxNOu8XHUwMDFloUi3XHTLw7k3QO1xmuHR5cPEMvmESGCewlx1MDAxNGW14fTPXHUwMDE4XHUwMDAxK1xuwflcblNYXHUwMDFjKlPeXHUwMDFjxILgXHUwMDE5uWKAPFx1MDAxMVx1MDAwNdq1KZpcdTAwMWGemZv2YXsvk3rQ+DWb3GpcdTAwMGWuhpVCzOEplPK4VFpzknUvepJ8i+VcdTAwMWJcdTAwMGbpOLlcXEqRmFpcdTAwMWVBXG7hSU1/jMuO0lTxRuOot+rG3NXqU61cdTAwMTk4Sf9aJE5+3oJCXHUwMDFk0Vx1MDAxMUlSRiBcdTAwMTjAXGZcdLStwmG/lareXe/flpvsMJHwh/o85qiTRnjcXG5mRuFcdTAwMGUlQlx1MDAxOTRhXHSUYI1m7kqtl4e6uSpSuFx1MDAxNjRXgIHPRIq/Q0mKinRcdTAwMDZHKkeoXHUwMDE51nKz/eJVrWaCYj29edYo7O3fIG8uXHUwMDE0dlx1MDAwYndcdTAwMDalRFx1MDAwZl3vLSslKcHXXFynPOJBtEyTJ1xiy1x1MDAwM918a7mtK2GncS+lt9w6b/39XFyM89aRuMbIUjPLgHE7Q+OVi20hhJ9N3Z5vXHUwMDFk7V6d+J3ro+1SvGGtmPW0deUmipE7XHLh+mqCtXLdvqSSjrli1nmFXHUwMDBiYFxiWi2CTNe4XklcXP84I8Gi+yo5XHUwMDFmlVxmfvrmsGf1nf1dU9l+TGxcdTAwMWVjLt3ePNovnX4kuqdpXHUwMDBlXHUwMDBintVMXHUwMDEy/YGL9IfS91xuLDmoXHUwMDFj6DJcdTAwMDdu+Cl0L7Vrn1bIXHUwMDE16k/bXHUwMDFhVkJkak1cdFx1MDAxZIpzv2fIMtPPXHUwMDFjXl5cdTAwMWNVyjk7qDZO2fZWaT/WNIVonatF3lx1MDAxYye/XHUwMDBlX9kxl1x1MDAxZUjyXGJccllcdTAwMTdOZmVi0bSPNFx1MDAwNGiDk4WtK+ryfdaufT8kXHUwMDE5LaNcdTAwMTcrSCO1UDCDa1g3/leRvm9vZVVi96G9k2432ovNXHUwMDEzLmE1uPBgXHUwMDE0iWGcSSnGbzKyXHLNtFx1MDAwN5ZcdTAwMWNHzVx1MDAxNF1cdTAwMTHzTkCSnpmBheQsVjPrLc1cdTAwMGY0kyRu5lpNn/bu6Ua9m9xp71/lt9qPlaNS+S4xjLk5XHUwMDBi7Ulu6Hs6W9DhvlaaTnMmOEhu3aq3uHVcdTAwMDJcdTAwMDJuybr16i86na/kkbOYlDxGXHUwMDBlZDF5XHUwMDAwkNErU5k0XGKoZ1hcIne7f9roXHUwMDE267vls6vbfHazl0hfwWOsJaFcdTAwMWSV0qNbXHUwMDE1zjk5XHUwMDE2oXikMm67XHRXZ6+E1GaJknCukkfytlxmyYJ1yWP8S1x1MDAxZSN5kkdcdTAwMDKQXHUwMDA0v7HMilx0I35cdTAwMGaAx2elbKWQOkmUL7NcdTAwMTem1LxcdTAwMWaaXi7mXHUwMDAwVJ5cIvrjrlx1MDAwMZBcdTAwMGLlvFx1MDAwNCD5+55hVpGfxCSwJTZSn6s6zFgjULF1ddjqVoeZ6OBcdTAwMWXNrJKmfjO9Tt1M7lx1MDAxNVxu+btkoXeWNYc3JjGs+q2Y61SOnluMXHRcZujHyc2Bnlx1MDAwMIjKo1x1MDAxOUi5lJ2jp+XJVMM8l/JcdTAwMDMjmVx1MDAwMFx05lxyt+u1TjXGWNDwsbVhku7cLLG7n5Opx61RXHUwMDFk1lxiXGZcdTAwMWL/m1x1MDAxZlx1MDAxN2n5ZL6Prab/f79cdTAwMTaZs4xnQc2MTPTqb8mcu6VmWKdz1GHy6vxKY7qhN7Pl9Fx1MDAwMWvXXHUwMDE3275yXHTtVEB4XGZcXMRcdTAwMTItkoZcdTAwMGbVVGurPUTh3DcjXHUwMDA0N8sr6ZyzeEVKy1x1MDAxOP+ozVx1MDAwNdfFK/NcdTAwMTWvXHUwMDAwi9Sqxi1ENrM0+DtM2M395E5FS8xcZlKPje2vw9qH7l41TTtcdTAwMTUkMUqgUsxFR0SokNq4JmOkXHUwMDA1rVx1MDAwNOJRhOVx5XxZbk6403xJMcl1lvv7uVx1MDAxOGe5I4FccpErJOwou61nXHUwMDAwdtmcXHJ327mdMyVPK489c7d7MVjskrsldFOxnqKbYFxc107Hm6+BLSTRLZmq26Fnibt5zVx1MDAwM2zS5fSQXHUwMDA0LsBcdF3j+rfCNeeROUXBjEbJZ2mAtnupsqrfUUe3e6XS5sN5q8B7Md+kj2np0fckW0QkvzJcdTAwMTRcXJLGeswtZTfo1lYsscH0fIStrFJo9Zqw18BcdTAwMWVcdTAwMWSdXHUwMDAwto5cdTAwMDa20qNMxvRBq0Swc6TKmaDQkK30jayldlxum9cxxzXjXHUwMDFl0lx1MDAxN3UrIJSc7J7zXGZs7Tb6My6DY8RcdTAwMTIreeZcdTAwMDG2JP9hMtC2RvXnQnXkoixcdTAwMTnd90xZg2KGhZCXm9ed8mU1n+yUXHUwMDBl91x1MDAwNtfn983DYLG7dy6jSbD1UEiGnFx1MDAwYo2TfVx1MDAxM55QrdGj26/JizVcdTAwMDImY02xWFxiSSOzwCaf0W9cdTAwMWbUWp11kD/uNygjXHUwMDE3Q/JRiZexXHUwMDEzS5HeLYLYfCg8nGRcdTAwMTK7qdNqr1wi89VS6utid65YxrbsxtOkNumbopvlQlx1MDAwZbBcdTAwMDL0JFx1MDAwMVx1MDAwZYC5yFx1MDAxN8a3wpvTK4VE+Lw13jBcdTAwMTHtXHUwMDBmx3LQMpJcdTAwMWUz1N1d6kZNVsxDf6+fPlx1MDAxZZ5cdTAwMWWrzcvz3XhLQzJSj5Ew5K7nvJJcIpRcdTAwMWFRXFx4VtA54lx1MDAxObJcIlx1MDAxZLNcIm+QrjLdfKaCgt+rxjsyZ4mRsORcdTAwMTJcXHdcdTAwMTY9Q3n32Xbu9v6elS+vL4uDo/6BychhPua4lOiBXHUwMDA1ZGC0XHUwMDAzaSh5olxmeK7VhzFcdTAwMDROKZaIy/n23Fx1MDAxM25JXGIz9kNcdTAwMGJcctaldj+t9XT0fstKkIJcdTAwMTdyhp0vz/JcdTAwMDCdUlx1MDAwZi80b/Xzj3Bw0r7YjLmTXHUwMDA1inlcdTAwMDQh12nXKGlCZelGXHUwMDFiXHUwMDBmXHKz5GshXHUwMDFhtcSC18U0XHUwMDE3ZE4rSv15u1x1MDAwYoKKlntgmeV8hvLRYHNQYcUgXHUwMDEznN3Uj2vXRp2flDNxp1x1MDAxNTtcbs1opixqPVx1MDAxMer7Vj+qPYEonc/AmF7iXHUwMDA24vPUj1x1MDAwMnDlOn58XCK197uVjypcdTAwMWRdv22Qpi422ZH4PVx1MDAwMDYy+WRj5zqRK1xy+Vll/7G2XHUwMDA3RYg7oVjlNs9TnHNcdTAwMDWah1x0XHUwMDA1tadcdTAwMThcdFxccsjIbefL6+3OrfSUi9rRI7GSS/ZGKP6tWjRyXHRccoeJbelXXHUwMDE0g3N1XHUwMDE33GrdbuSbxVxyXHUwMDAyWOFcdTAwMTdD8v1RLMjzit5lXHUwMDE5ubNcdTAwMTeup1x1MDAwN2hnXHUwMDBmXHUwMDBm29vNQrVxwMo53jmqbLGjmFx1MDAwM1RcdTAwMWHlXHUwMDE5goVyqlx1MDAwZl/1XFzShF9JKGColFvPXHUwMDEwt2JRl3JcdTAwMDFjXHUwMDE3XHUwMDEx0VtcdTAwMTmA/lx1MDAwNsWiQkbWlFx0d0+VXHUwMDE2M9SepHd3XG5cdTAwMGbJ5O49/5rh7LA4yO63Y56jlkp4ZDiSvqa2UrFQINIw5VlcdTAwMDRNXCJdI7kxMatcdTAwMTbVbqMlLlx1MDAxN5HNWmepVzJLXHUwMDFkXHTsXHSp9HpXTcbJXHUwMDFih+kzXGaid9ztXHUwMDA3XHUwMDBmW5nLYau8fXF8l9/rxTySqTjxmEZcdTAwMTBubSZxWXjJXCJcdTAwMDFcdTAwMWKFSzG4sFx1MDAwNbCYVYtyoVx1MDAxOYdcdTAwMTeT71x1MDAxYdlrZD81J432ZSWCXHUwMDE0Qs7QxjDln1x1MDAwNcNcdTAwMGUmOn6lU0zs3Vx1MDAwNs10q1x1MDAxOH9kS1x1MDAxMDR/XHTjJMpq1YuiZlx1MDAwNtxCzjWw18B+SdnRXHUwMDBit5TblVx1MDAxZNFMXHUwMDFmJL5NZCqFXHUwMDAzdlNp7p43j7NcdTAwMGYyaZOLXeO8XHUwMDA0Kc48JUabTohcdTAwMTdphFWoXHUwMDE2Jb3FaMLha1h/VlhH1oti9H6FpDuZ20B9elxc71x1MDAxNVx1MDAwNvqoV+lcdTAwMDSJ0rCSkDs7X+9qi93fflx1MDAxOaEt9CSiXHUwMDA1objRqEI+dswrRlxyMsLRZ2qxtTpcdTAwMDWjczTw55JszPWun14jK9Mq5qrmsndzVOqfNbP3TFx1MDAxY8RcXCOTOibIKZcxUVx1MDAwMGhetVx1MDAxZSCNLN2OMMxcdTAwMWHS0nFr9Vxyxj0lvV4s+WnZNFokR1wiW2mQrtnGXGaLoMuDdi44TVx1MDAwZk6z2cRe6Vp0XHUwMDFmN+NcdTAwMGVsIJFswFW7M+5s8TWwXHUwMDE10r133VxypIpbWMtqq13ThXVU67PiOnpX78h4NVx1MDAxYausXHUwMDE0dvpwdYbrM//84vDw6lwikTvtPfZcdTAwMWLD1EXMRbJQ6Cm31axTpiQ5w/lfJJHMlHTb7pDzu8RcdTAwMTZ7c4lkcJlraeQnSv+ujkqOwpyNbNDlUlwi1rJcdTAwMTkgXHUwMDE37G5cciuF5jDZym1cdTAwMGUv673EZjJcdTAwMTf7XHUwMDFkV7X0uGudol2DLlxmXHUwMDE1JWrOPPJcXIVcdTAwMTGGULfEMDKZLolxa9G4nV81TtdTT9O4adT8Q0vdhZistf9cdTAwMDU99YLvZefPPezyjcZGUPFHZ359T72px1x1MDAxM4HYP77R7pd8u51cdOjuPiubL1x1MDAwZlW/v1x1MDAxNb0w749veHfQ8keC6J8//vl/vXynNCJ9Activation conditionActivation conditionActive from 01/01/2024 8h30Time ruleActive for 5% of usersUser ruleANDActive from 05/01/2024 8h30Time ruleUser ruleActive for 50% of usersORANDActivation conditionActive from 10/01/2024 8h30Time ruleUser ruleNo user rule (active for everyone)ANDORActivation conditionTime ruleUser ruleActive for Bob and AliceANDORORNo time rule (active all the time)
Multi condition feature example

Activation rules

Time rules

With this kind of rules, Izanami will activate feature when current time is in provided range.

These startegies are used to implement release or ops flags.

There is several variation for this catrgory of feature, that can be composed to craft exactly what you need.

  • Date range feature: define a start and/or end date for feature activation
  • Hour range: feature will be active every day on provided range(s)
  • Activation days: feature will be active only on provided days

Here is an example of conditions combination for time features:

  • has a date range condition from 1st January to 31 January of 2024
  • has two hour ranges: 08h00 -> 10h00 and 14h00 -> 18h00
  • has following activation days: monday, tuesday
  • ✅ Will be active on Monday 8 January at 9h00
  • ❌ Won't be active on Friday 26 January at 9h00
  • ❌ Won't be active on Tuesday 16 January at 13h00
  • ❌ Won't be active before 1st Januar or after 31 January

User based rules

With user based rules, activation conditions are based on provided user.

Three is two types of user based conditions:

  • user list: define a list of user for which feature will be active. This rule is used to implement permission flags.
  • percentage: feature will be active only for given percentage of users. Percentage is based on user hash (using murmum3), this means that activation is consistent for a given user (if feature is active once, it'll remain active). This rule is used to implement canary flags.

Scripted feature

Sometimes above rules are not enough. For instance feature activation decision may depend on more than "just" the user.

In such a case, Izanami offers (with the help of WASMO) the possibility to define "script feature".

Such features rely on an underlying wasm script, which will be executed with provided the input each time feature activation is required.

To learn more about these script, refer to the wasm script guides.