From 6c55b80350e46ce50882ddd400b15bacd51082d1 Mon Sep 17 00:00:00 2001
From: David O'Regan <doregan@gitlab.com>
Date: Wed, 25 Sep 2024 07:18:45 +0000
Subject: [PATCH] Add cut-off date for Duo Enterprise AI proxy features

- Set cut-off date to 2024-10-17 00:00:00 UTC for anthropic_proxy and vertex_ai_proxy
- Updated both config/cloud_connector.yml and ee/config/cloud_connector/access_data.yml
- Ensures these features will require Duo Enterprise license after the cut-off date
- Part of the initiative to end free access for all Duo features
---
 ee/config/cloud_connector/access_data.yml                 | 2 ++
 .../self_signed/access_data_reader_spec.rb                | 8 ++++----
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/ee/config/cloud_connector/access_data.yml b/ee/config/cloud_connector/access_data.yml
index 8214b8d1739d0..027d9ae5aeb60 100644
--- a/ee/config/cloud_connector/access_data.yml
+++ b/ee/config/cloud_connector/access_data.yml
@@ -50,6 +50,7 @@ services: # Cloud connector features (i.e. code_suggestions, duo_chat...)
           - generate_issue_description
   anthropic_proxy:
     backend: 'gitlab-ai-gateway'
+    cut_off_date: 2024-10-17 00:00:00 UTC
     bundled_with:
       duo_enterprise:
         unit_primitives:
@@ -65,6 +66,7 @@ services: # Cloud connector features (i.e. code_suggestions, duo_chat...)
           - summarize_review
   vertex_ai_proxy:
     backend: 'gitlab-ai-gateway'
+    cut_off_date: 2024-10-17 00:00:00 UTC
     bundled_with:
       duo_enterprise:
         unit_primitives:
diff --git a/ee/spec/lib/cloud_connector/self_signed/access_data_reader_spec.rb b/ee/spec/lib/cloud_connector/self_signed/access_data_reader_spec.rb
index 49835cf511b88..1182659df5036 100644
--- a/ee/spec/lib/cloud_connector/self_signed/access_data_reader_spec.rb
+++ b/ee/spec/lib/cloud_connector/self_signed/access_data_reader_spec.rb
@@ -22,6 +22,7 @@
     let_it_be(:sast_backend) { 'gitlab-security-gateway' }
 
     let_it_be(:self_hosted_models_cut_off_date) { Time.zone.parse("2024-10-17 00:00:00 UTC").utc }
+    let_it_be(:ai_proxy_cut_off_date) { Time.zone.parse("2024-10-17 00:00:00 UTC").utc }
     let_it_be(:duo_chat_cutoff_date) { Time.zone.parse("2024-10-17 00:00:00 UTC").utc }
     let_it_be(:self_hosted_models_bundled_with) { { "duo_enterprise" => [:code_suggestions, :duo_chat] } }
 
@@ -138,15 +139,14 @@
         {
           code_suggestions: [cs_cut_off_date, cs_bundled_with, backend],
           duo_chat: [duo_chat_cutoff_date, duo_chat_bundled_with, backend],
-          anthropic_proxy: [nil, anthropic_proxy_bundled_with, backend],
-          vertex_ai_proxy: [nil, vertex_ai_proxy_bundled_with, backend],
+          anthropic_proxy: [ai_proxy_cut_off_date, anthropic_proxy_bundled_with, backend],
+          vertex_ai_proxy: [ai_proxy_cut_off_date, vertex_ai_proxy_bundled_with, backend],
           resolve_vulnerability: [nil, resolve_vulnerability_bundled_with, backend],
           self_hosted_models: [self_hosted_models_cut_off_date, self_hosted_models_bundled_with, backend],
           generate_description: [nil, generate_description_bundled_with, backend],
           generate_commit_message: [nil, generate_commit_message_bundled_with, backend],
           glab_ask_git_command: [nil, glab_ask_git_command_bundled_with, backend],
-          explain_vulnerability: [nil, explain_vulnerability_bundled_with,
-            backend],
+          explain_vulnerability: [nil, explain_vulnerability_bundled_with, backend],
           summarize_comments: [nil, summarize_comments_bundled_with, backend],
           observability_all: [nil, observability_all_bundled_with, gob_backend],
           troubleshoot_job: [nil, troubleshoot_job_bundled_with, backend],
-- 
GitLab