# configure frontend
args = []
- if spec.ssl:
- args.append(f"ssl_port={daemon_spec.ports[0]}")
- args.append(f"ssl_certificate=config://rgw/cert/{spec.service_name()}.crt")
- else:
- args.append(f"port={daemon_spec.ports[0]}")
- frontend = f'beast {" ".join(args)}'
+ ftype = spec.rgw_frontend_type or "beast"
+ if ftype == 'beast':
+ if spec.ssl:
+ args.append(f"ssl_port={daemon_spec.ports[0]}")
+ args.append(f"ssl_certificate=config://rgw/cert/{spec.service_name()}.crt")
+ else:
+ args.append(f"port={daemon_spec.ports[0]}")
+ elif ftype == 'civetweb':
+ if spec.ssl:
+ args.append(f"port={daemon_spec.ports[0]}s") # note the 's' suffix on port
+ args.append(f"ssl_certificate=config://rgw/cert/{spec.service_name()}.crt")
+ else:
+ args.append(f"port={daemon_spec.ports[0]}")
+ frontend = f'{ftype} {" ".join(args)}'
ret, out, err = self.mgr.check_mon_command({
'prefix': 'config set',
rgw_zone: Optional[str] = None,
rgw_frontend_port: Optional[int] = None,
rgw_frontend_ssl_certificate: Optional[List[str]] = None,
+ rgw_frontend_type: Optional[str] = None,
unmanaged: bool = False,
ssl: bool = False,
preview_only: bool = False,
self.rgw_zone = rgw_zone
self.rgw_frontend_port = rgw_frontend_port
self.rgw_frontend_ssl_certificate = rgw_frontend_ssl_certificate
+ self.rgw_frontend_type = rgw_frontend_type
self.ssl = ssl
def get_port_start(self) -> Optional[int]: