Project

General

Profile

Tracker #33448

Updated by Ian Ballou about 2 years ago

Input: smart proxies, optional auth credentials (content credentials or basic auth info), optional headers (needed?), a base url, an optional list of subpaths, and http proxy info 

 DB tables draft: 

 katello_alternate_content_sources 
   -> belongs_to :gpg_key, :ssl_ca_cert, :ssl_client_cert, :ssl_client_key (optional) 
   -> belongs_to :product (optional, for CDN and probably RHUI ACS) 
   -> base_url 
   -> headers (needed?) 
   -> subpaths (array of strings) 
   -> type (custom, cdn, rhui) 
   -> content_type (custom only) 
   -> belongs_to :http_proxy 
   -> name 
   -> label 
   -> description 
   -> verify_ssl 
 katello_smart_proxy_alternate_content_sources 
   -> smart_proxy_id 
   -> alternate_content_source_id 
   -> remote_href 
   -> alternate_content_source_href 



 Backend DB steps after create form is submitted: 
   -> Create ACS in Katello DB 
   -> Create ACSs in Pulp for each Smart Proxy associated to the Katello ACS: 
     -> Create Pulp remote using Katello ACS base url, auth credentials, headers (if using), and proxy info 
     -> Create Pulp ACS using the created remote and the Katello ACS’s subpaths 
   -> Create Smart Proxy ACSs with a remote href, ACS href, Smart Proxy ID, and ACS ID from the ACS creation tasks 
     -> Since smart proxies can share Katello ACSs but will have separate ACSs and ACS remotes in Pulp 

 If an ACS has a change in smart proxies, we need a schedule a task to create and/or delete the related ACSs. 

Back