From 20a1f69077f5663c9ba19d11e65af9dd3c01c03c Mon Sep 17 00:00:00 2001 From: Jon Date: Sun, 2 Mar 2025 02:40:21 +0930 Subject: [PATCH] docs(admin): initial feature flags ref: #662 #661 #496 closes #659 --- Release-Notes.md | 6 +++++ .../administration/devops/feature_flags.md | 24 +++++++++++++++++++ .../centurion_erp/user/devops/index.md | 2 +- mkdocs.yml | 4 +++- 4 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 docs/projects/centurion_erp/administration/devops/feature_flags.md diff --git a/Release-Notes.md b/Release-Notes.md index 384d98ca..91852a99 100644 --- a/Release-Notes.md +++ b/Release-Notes.md @@ -1,3 +1,9 @@ +## Version 1.13.0 + +- DevOps Module added. + +- Feature Flagging Component added as par of the DevOps module. + ## Version 1.11.0 diff --git a/docs/projects/centurion_erp/administration/devops/feature_flags.md b/docs/projects/centurion_erp/administration/devops/feature_flags.md new file mode 100644 index 00000000..11df813e --- /dev/null +++ b/docs/projects/centurion_erp/administration/devops/feature_flags.md @@ -0,0 +1,24 @@ +--- +title: Feature Flags +description: Feature Flag administration Documentation for Centurion ERP by No Fuss Computing +date: 2025-03-02 +template: project.html +about: https://github.com/nofusscomputing/centurion_erp +--- + +[Feature flags](../../user/devops/feature_flags.md) is available out off the box. Although if you have followed the recommended practice of deploying Centurion ERP from behind a reverse proxy, you will need to setup the reverse proxy to pass through to the flags endpoint. + + +## Setup + +For feature flagging to function, the endpoint needs to be made available publicly. This endpoint is exposed from the API container on url `/public/`, more specifically `/public/flags/`. `` is the primary key for the software the feature flags are for. + +It's completely your choice how you expose this endpoint although with the caveat that no authentication is required. You can expose endpoint `/public/flags/` or `/public/flags`. The former will require for any additional software that has feature flagging enabled, that its endpoint also be exposed. Choosing the latter over the former will bare no consequence as attempting to access an endpoint for a piece of software that has not had feature flagging enabled or does not exist, will cause a `HTTP/404` to be returned. Other status codes that may be returned from this endpoint are: + +- `HTTP/304 - Not Modified` + + When a client checks-in and if they supply request header `If-Modified-Since:` with its value set to the last modified feature flag they have. If no feature flag has been updated, this status will be returned with an empty response body. + +- `HTTP/200 - Success` + + When the client checks-in and the feature flags have been supplied. If the user does not specify request header `If-Modified-Since:`, the feature flags will always be returned. diff --git a/docs/projects/centurion_erp/user/devops/index.md b/docs/projects/centurion_erp/user/devops/index.md index 26d44a9f..d904d459 100644 --- a/docs/projects/centurion_erp/user/devops/index.md +++ b/docs/projects/centurion_erp/user/devops/index.md @@ -11,4 +11,4 @@ Developer Operations or DevOps for short, is a module that contains items relate ## DevOps Components -- [Feature Flags](./feature_flagging.md) +- [Feature Flags](./feature_flags.md) diff --git a/mkdocs.yml b/mkdocs.yml index f9848fd8..68c1e083 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -65,6 +65,8 @@ nav: - projects/centurion_erp/administration/core/ticketing.md + - projects/centurion_erp/administration/devops/feature_flags.md + - projects/centurion_erp/administration/installation.md - projects/centurion_erp/administration/monitoring.md @@ -191,7 +193,7 @@ nav: - projects/centurion_erp/user/devops/index.md - - projects/centurion_erp/user/devops/feature_flagging.md + - projects/centurion_erp/user/devops/feature_flags.md - ITAM: