Add multi-application support with backward compatibility #59
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Enables managing feature flags for multiple applications from a single service instance. Each application gets independent namespace, storage backend, configmap settings, and workload restart configuration.
Changes
Protocol & Service
feature.protowithapplicationfield inKeyandKeyValuemessagesGetApplicationsRPC to list configured applicationsapplication.Managerto orchestrate multiple persistence backends per applicationFeatureServiceroutes operations to application-specific persistence based on contextAPPLICATIONSenv var not setCLI
-a/--applicationflag to all feature commands (get, set, delete, preset, getall)applicationscommand to list available applications--default-applicationflag orDEFAULT_APPLICATIONenv var-anot specifiedHelm Chart
service.applicationsarray in values.yaml for multi-app configurationAPP_NAME_*prefix pattern)Configuration Example
CLI usage:
Backward Compatibility
Single-application deployments continue working without configuration changes. Multi-app mode activates only when
service.applicationsarray is populated orAPPLICATIONSenv var is set.Warning
Firewall rules blocked me from connecting to one or more addresses (expand for details)
I tried to connect to the following addresses, but was blocked by firewall rules:
esm.ubuntu.com/usr/lib/apt/methods/https /usr/lib/apt/methods/https(dns block)invalid/tmp/go-build1578093272/b432/delete.test /tmp/go-build1578093272/b432/delete.test -test.testlogfile=/tmp/go-build1578093272/b432/testlog.txt -test.paniconexit0 -test.timeout=10m0s /tmp/go-build2481619343/b759/vet.cfg g_.a pi@v0.35.0/flowc-ifaceassert ux-amd64/pkg/tool/linux_amd64/vet o d/storagemigrati-atomic mpile ux-amd64/pkg/too-buildtags -qui�� lktS7eVtz pi@v0.35.0/netwo-ifaceassert ux-amd64/pkg/tool/linux_amd64/vet /tmp/go-build312/home/REDACTED/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.6.linux-amd64/pkg/tool/linux_amd64/vet y/v1 mpile ux-amd64/pkg/too-buildtags(dns block)/tmp/go-build1578093272/b435/get.test /tmp/go-build1578093272/b435/get.test -test.testlogfile=/tmp/go-build1578093272/b435/testlog.txt -test.paniconexit0 -test.timeout=10m0s /tmp/go-build2481619343/b768/vet.cfg g_.a pi@v0.35.0/rbac/-ifaceassert ux-amd64/pkg/tool/linux_amd64/vet . ce/service/meta/-atomic mpile ux-amd64/pkg/too-buildtags -I 7thZhKWO9 pi@v0.35.0/resou-ifaceassert ux-amd64/pkg/tool/linux_amd64/vet --gdwarf-5 v1beta1 mpile ux-amd64/pkg/too-buildtags(dns block)/tmp/go-build1578093272/b438/getall.test /tmp/go-build1578093272/b438/getall.test -test.testlogfile=/tmp/go-build1578093272/b438/testlog.txt -test.paniconexit0 -test.timeout=10m0s /tmp/go-build2481619343/b763/vet.cfg g_.a pimachinery@v0.3-ifaceassert ux-amd64/pkg/tool/linux_amd64/vet . rs/otlp/otlplog/-atomic mpile xAdz0IxsoYJo -I MnGS8ZYr_ pi@v0.35.0/stora-ifaceassert ux-amd64/pkg/tool/linux_amd64/vet --gdwarf-5 /pkg/apis/client-atomic mpile ux-amd64/pkg/too-buildtags(dns block)If you need me to access, download, or install something from one of these locations, you can either:
Original prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.