|
50 | 50 | - [External Issue Trackers](#external-issue-trackers)
|
51 | 51 | - [Host UID / GID Mapping](#host-uid--gid-mapping)
|
52 | 52 | - [Piwik](#piwik)
|
| 53 | + - [Feature flags](#feature-flags) |
53 | 54 | - [Exposing ssh port in dockerized gitlab-ce](docs/exposing-ssh-port.md)
|
54 | 55 | - [Available Configuration Parameters](#available-configuration-parameters)
|
55 | 56 | - [Maintenance](#maintenance)
|
@@ -801,6 +802,52 @@ These options should contain something like:
|
801 | 802 | - `PIWIK_URL=piwik.example.org`
|
802 | 803 | - `PIWIK_SITE_ID=42`
|
803 | 804 |
|
| 805 | +#### Feature flags |
| 806 | + |
| 807 | +In this section, we talk about feature flags that administrators can change the state (See <https://docs.gitlab.com/ee/administration/feature_flags.html>). If you are looking for documentation for "Feature flags" that configured on project deploy settings, see <https://docs.gitlab.com/ee/operations/feature_flags.html> |
| 808 | + |
| 809 | +GitLab adopted feature flags strategies to deploy features in an early stage of development so that they can be incrementally rolled out. GitLab administrators with access to the [Rails console](https://docs.gitlab.com/ee/administration/feature_flags.html#how-to-enable-and-disable-features-behind-flags) or the [Feature flags API](https://docs.gitlab.com/ee/api/features.html) can control them (note that `sameersbn/gitlab` is a container image that provides GitLab installations from the source). |
| 810 | +You can see all feature flags in GitLab at corresponding version of documentation: <https://docs.gitlab.com/ee/user/feature_flags.html> |
| 811 | + |
| 812 | +For `sameersbn/gitlab`, you can control them via environment parameter [`GITLAB_FEATURE_FLAGS_DISABLE_TARGETS`](#gitlab_feature_flags_disable_targets) and [`GITLAB_FEATURE_FLAGS_ENABLE_TARGETS`](#gitlab_feature_flags_enable_targets) in addition to the above methods. |
| 813 | +This image searches yml files in [`${GITLAB_INSTALL_DIR}/config/feature_flags`](https://gitlab.com/gitlab-org/gitlab-foss/-/tree/master/config/feature_flags) (typically `/home/git/gitlab/config/feature_flags/`) recursively and use the file list as a source of active feature flags. |
| 814 | + |
| 815 | +Here is a part of example `docker-compose.yml`: |
| 816 | + |
| 817 | +````yml |
| 818 | +services: |
| 819 | + gitlab: |
| 820 | + image: sameersbn/gitlab:latest |
| 821 | + environment: |
| 822 | + - GITLAB_FEATURE_FLAGS_DISABLE_TARGETS=auto_devops_banner_disabled,ci_enable_live_trace |
| 823 | + - GITLAB_FEATURE_FLAGS_ENABLE_TARGETS=git_push_create_all_pipelines,build_service_proxy |
| 824 | +```` |
| 825 | + |
| 826 | +Once the container up, you can see following messages in container log like below. |
| 827 | + |
| 828 | +````sh |
| 829 | +... |
| 830 | +Configuring gitlab::feature_flags... |
| 831 | +- specified feature flags: {:to_be_disabled=>["auto_devops_banner_disabled", "ci_enable_live_trace"], :to_be_enabled=>["git_push_create_all_pipelines", "build_service_proxy"]} |
| 832 | +- auto_devops_banner_disabled : off |
| 833 | +- ci_enable_live_trace : off |
| 834 | +- git_push_create_all_pipelines : on |
| 835 | +- build_service_proxy : on |
| 836 | +... |
| 837 | +```` |
| 838 | + |
| 839 | +If specified flag names are not included in the list, they will be ignored and appears to container log like below: |
| 840 | + |
| 841 | +````sh |
| 842 | +... |
| 843 | +Configuring gitlab::feature_flags... |
| 844 | +- specified feature flags: {:to_be_disabled=>["auto_devops_banner_disabled", "invalid_flag_name"], :to_be_enabled=>["git_push_create_all_pipelines", "another_invalid_flag_name"]} |
| 845 | +- Following flags are probably invalid and have been ignored: invalid_flag_name,another_invalid_flag_name |
| 846 | +- auto_devops_banner_disabled : off |
| 847 | +- git_push_create_all_pipelines : on |
| 848 | +... |
| 849 | +```` |
| 850 | + |
804 | 851 | #### Available Configuration Parameters
|
805 | 852 |
|
806 | 853 | *Please refer the docker run command options for the `--env-file` flag where you can specify all required environment variables in a single file. This will save you from writing a potentially long docker run command. Alternatively you can use docker-compose. docker-compose users and Docker Swarm mode users can also use the [secrets and config file options](#docker-secrets-and-configs)*
|
@@ -1619,6 +1666,17 @@ The value of the `worker-src` directive in the `Content-Security-Policy` header.
|
1619 | 1666 |
|
1620 | 1667 | The value of the `report-uri` directive in the `Content-Security-Policy` header
|
1621 | 1668 |
|
| 1669 | +##### `GITLAB_FEATURE_FLAGS_DISABLE_TARGETS` |
| 1670 | + |
| 1671 | +Comma separated list of feature flag names to be disabled. No whitespace is allowed. |
| 1672 | +You can see all feature flags in GitLab at corresponding version of documentation: <https://docs.gitlab.com/ee/user/feature_flags.html> |
| 1673 | +Feature flags name and its statement will be appear to container log. Note that some of the feature flags are implicitly enabled or disabled by GitLab itself, and are not appear to container log. |
| 1674 | +No defaults. |
| 1675 | + |
| 1676 | +##### `GITLAB_FEATURE_FLAGS_ENABLE_TARGETS` |
| 1677 | + |
| 1678 | +This parameter is the same as [`GITLAB_FEATURE_FLAGS_DISABLE_TARGETS`](#gitlab_feature_flags_enable_targets), except its purpose is to enable the feature flag. No defaults. |
| 1679 | + |
1622 | 1680 | ##### `SSL_SELF_SIGNED`
|
1623 | 1681 |
|
1624 | 1682 | Set to `true` when using self signed ssl certificates. `false` by default.
|
|
0 commit comments