WIP: Feature flags from GitLab
0/3
threads resolved
Summary
Integrate GitLab onto feature flags management
Closes #966.
Steps to test
TBD
Estimated Regression Scope
Feature flags might not be correctly read or exported to frontend.
Deployment
New Settings
$CONFIG->set('unleash', [
'apiUrl' => '', // URL to GitLab's Unleash server
'instanceId' => '', // GitLab's Unleash instance ID
'applicationName' => '', // GitLab Feature Flags environment
'pollingIntervalSeconds' => 300, // Cache bust
'metricsIntervalSeconds' => 15, // Metrics interval
]);
added scoped label
changed the description
changed the description
- Last updated by Mark Harding
2 /** 3 * Repository 4 * 5 * @author edgebal 6 */ 7 8 namespace Minds\Core\Features; 9 10 use Minds\Core\Config; 11 use Minds\Core\Di\Di; 12 use Minds\Core\Session; 13 use Minds\UnleashClient\Config as UnleashConfig; 14 use Minds\UnleashClient\Entities\Context; 15 use Minds\UnleashClient\Unleash; 16 17 class Repository - Owner
This isn't following Repository interface, should it be called something else?
- Owner
Perhaps Services/Unleash?
35 39 * @param BlockchainManager $blockchain 40 * @param FeaturesManager $features 36 41 */ 37 42 public function __construct( 38 43 $config = null, 39 44 $thirdPartyNetworks = null, 40 45 $i18n = null, 41 $blockchain = null 46 $blockchain = null, 47 $features = null 42 48 ) { 43 49 $this->config = $config ?: Di::_()->get('Config'); 44 50 $this->thirdPartyNetworks = $thirdPartyNetworks ?: Di::_()->get('ThirdPartyNetworks\Manager'); 45 51 $this->i18n = $i18n ?: Di::_()->get('I18n'); 46 52 $this->blockchain = $blockchain ?: Di::_()->get('Blockchain\Manager'); 53 $this->features = $features ?: Di::_()->get('Features'); - Owner
Features\Managerto be consistent with other managers?
53 56 { 54 57 "type": "vcs", 55 58 "url": "https://github.com/davegardnerisme/cruftflake.git" 59 }, 60 { 61 "type": "path", 62 "url": "../../unleash-client-php" - Owner
Will this be git based/packagist when out of WIP?