diff --git a/doc/administration/gitlab_duo_self_hosted/configure_duo_features.md b/doc/administration/gitlab_duo_self_hosted/configure_duo_features.md index 4d80e1735e90b2e45043a35ca46fed348adba950..0c9698a0c9f1d3bbbaa5341e437feafb55ee764c 100644 --- a/doc/administration/gitlab_duo_self_hosted/configure_duo_features.md +++ b/doc/administration/gitlab_duo_self_hosted/configure_duo_features.md @@ -54,15 +54,10 @@ If your AI gateway URL points to a local network or private IP address (for exam ## Configure access to the GitLab Duo Agent Platform -{{< details >}} - -- Status: Experiment - -{{< /details >}} - {{< history >}} - [Introduced](https://gitlab.com/groups/gitlab-org/-/epics/19213) in GitLab 18.4, as an [experiment](../../policy/development_stages_support.md#experiment) with a [feature flag](../feature_flags/_index.md) named `self_hosted_agent_platform`. Disabled by default. +- [Enabled](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/208951) in GitLab 18.6. {{< /history >}} diff --git a/doc/user/duo_agent_platform/_index.md b/doc/user/duo_agent_platform/_index.md index 8f780f58d77ceab68f8cdd178998b4302d3e97ff..627515068eb53883206ba7aaef6209ed91ee895e 100644 --- a/doc/user/duo_agent_platform/_index.md +++ b/doc/user/duo_agent_platform/_index.md @@ -25,6 +25,7 @@ title: GitLab Duo Agent Platform - Introduced as [a beta](../../policy/development_stages_support.md) in GitLab 18.2. - For GitLab Duo Agent Platform on self-managed instances (both with [self-hosted models](../../administration/gitlab_duo_self_hosted/_index.md) and cloud-connected GitLab models), [introduced](https://gitlab.com/groups/gitlab-org/-/epics/19213) in GitLab 18.4, as an [experiment](../../policy/development_stages_support.md#experiment) with a [feature flag](../../administration/feature_flags/_index.md) named `self_hosted_agent_platform`. Disabled by default. +- [Enabled](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/208951) in GitLab 18.6. {{< /history >}} diff --git a/doc/user/duo_agent_platform/flows/software_development.md b/doc/user/duo_agent_platform/flows/software_development.md index 00ca699bdac14e4f1ca24dbbd8ef427bb970ecaf..e221e3bcacd4816f79f756900e7a184758fcbdfb 100644 --- a/doc/user/duo_agent_platform/flows/software_development.md +++ b/doc/user/duo_agent_platform/flows/software_development.md @@ -26,6 +26,7 @@ title: Software Development Flow - [Introduced](https://gitlab.com/groups/gitlab-org/-/epics/14153) in GitLab 17.4 [with a flag](../../../administration/feature_flags/_index.md) named `duo_workflow`. Enabled for GitLab team members only. This feature is a [private beta](../../../policy/development_stages_support.md). - [Changed name](https://gitlab.com/gitlab-org/gitlab/-/issues/551382), `duo_workflow` [flag enabled](../../../administration/feature_flags/_index.md), and status changed to beta in GitLab 18.2. - For GitLab Duo Agent Platform on self-managed instances (both with [self-hosted models](../../../administration/gitlab_duo_self_hosted/_index.md) and cloud-connected GitLab models), [introduced](https://gitlab.com/groups/gitlab-org/-/epics/19213) in GitLab 18.4, as an [experiment](../../../policy/development_stages_support.md#experiment) with a [feature flag](../../../administration/feature_flags/_index.md) named `self_hosted_agent_platform`. Disabled by default. +- [Enabled](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/208951) in GitLab 18.6. {{< /history >}} diff --git a/doc/user/gitlab_duo_chat/agentic_chat.md b/doc/user/gitlab_duo_chat/agentic_chat.md index 45a30390d27dae01a1175b28be9acc400952aefb..6a1c1ed81314999912f38cd3467bb68d026d9fe3 100644 --- a/doc/user/gitlab_duo_chat/agentic_chat.md +++ b/doc/user/gitlab_duo_chat/agentic_chat.md @@ -33,6 +33,7 @@ title: GitLab Duo Chat (Agentic) - [Added](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/201721) to GitLab Duo Core in GitLab 18.3. - Feature flags `duo_workflow_workhorse` and `duo_workflow_web_chat_mutation_tools` [removed](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/198487) in GitLab 18.4. - For GitLab Duo Agent Platform on self-managed instances (both with [self-hosted models](../../administration/gitlab_duo_self_hosted/_index.md) and cloud-connected GitLab models), [introduced](https://gitlab.com/groups/gitlab-org/-/epics/19213) in GitLab 18.4, as an [experiment](../../policy/development_stages_support.md#experiment) with a [feature flag](../../administration/feature_flags/_index.md) named `self_hosted_agent_platform`. Disabled by default. +- [Enabled](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/208951) in GitLab 18.6. {{< /history >}} diff --git a/ee/app/policies/ee/global_policy.rb b/ee/app/policies/ee/global_policy.rb index 0f384bd682754a332745b0a4f2b1a504dc5e445e..a1e982e9e51808888eece5fce4e055198aa0c1c6 100644 --- a/ee/app/policies/ee/global_policy.rb +++ b/ee/app/policies/ee/global_policy.rb @@ -81,18 +81,6 @@ module GlobalPolicy ::Feature.enabled?(:duo_agentic_chat, @user) end - condition(:instance_with_self_hosted_duo) do - ::Ai::Setting.self_hosted? - end - - condition(:agentic_chat_on_self_hosted_duo_not_configured_via_feature_setting) do - Ai::FeatureSetting.duo_agent_platform.self_hosted.empty? - end - - condition(:agentic_chat_on_self_hosted_duo_feature_flag_disabled) do - ::Feature.disabled?(:self_hosted_agent_platform, :instance) - end - condition(:user_belongs_to_paid_namespace) do next false unless @user diff --git a/ee/config/feature_flags/development/self_hosted_agent_platform.yml b/ee/config/feature_flags/development/self_hosted_agent_platform.yml index 86a70557b92479089ef951c44970eff78c633c98..5c083abcc055e78e953bdf0ecb016ca2532b3cea 100644 --- a/ee/config/feature_flags/development/self_hosted_agent_platform.yml +++ b/ee/config/feature_flags/development/self_hosted_agent_platform.yml @@ -6,4 +6,4 @@ rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/556185 milestone: '18.3' group: group::custom models type: development -default_enabled: false +default_enabled: true diff --git a/ee/spec/policies/global_policy_spec.rb b/ee/spec/policies/global_policy_spec.rb index 573cdade93c013ba73fd486deb14883a57855f34..e39a15c026172a869dc152cc2d0664952db0486b 100644 --- a/ee/spec/policies/global_policy_spec.rb +++ b/ee/spec/policies/global_policy_spec.rb @@ -701,56 +701,6 @@ it { is_expected.to duo_agentic_chat_enabled_for_user } end end - - context 'when the instance can use Duo with self-hosted models' do - where(:instance_with_self_hosted_duo, - :agentic_duo_chat_feature_flag_disabled_on_the_instance, - :duo_agentic_chat_is_available_otherwise, - :duo_agent_platform_feature_setting_set_to_self_hosted, - :policy_result) do - true | true | true | true | be_allowed(policy) - true | true | true | false | be_allowed(policy) - true | true | false | true | be_disallowed(policy) - true | true | false | false | be_disallowed(policy) - true | false | true | true | be_allowed(policy) - true | false | true | false | be_allowed(policy) - true | false | false | true | be_disallowed(policy) - true | false | false | false | be_disallowed(policy) - false | true | true | true | be_allowed(policy) - false | true | true | false | be_allowed(policy) - false | true | false | true | be_disallowed(policy) - false | true | false | false | be_disallowed(policy) - false | false | true | true | be_allowed(policy) - false | false | true | false | be_allowed(policy) - false | false | false | true | be_disallowed(policy) - false | false | false | false | be_disallowed(policy) - end - - with_them do - before do - allow(::Ai::Setting).to receive(:self_hosted?).and_return(instance_with_self_hosted_duo) - stub_feature_flags( - self_hosted_agent_platform: !agentic_duo_chat_feature_flag_disabled_on_the_instance - ) - # setup agentic chat to be available otherwise - stub_feature_flags(duo_agentic_chat: duo_agentic_chat_is_available_otherwise) - allow(current_user).to receive(:allowed_to_use?) - .with(:duo_chat) - .and_return(duo_agentic_chat_is_available_otherwise) - - if duo_agent_platform_feature_setting_set_to_self_hosted - create(:ai_feature_setting, - :duo_agent_platform, - self_hosted_model: create(:ai_self_hosted_model, - model: :claude_3 - ) - ) - end - end - - it { is_expected.to policy_result } - end - end end describe 'access_x_ray_on_instance' do