feat(certificates): enhance service certificate management and monitoring
quality / commitlint (push) Skipped
CD / update-wiki (push) Successful in 8s
quality / changes (push) Successful in 10s
quality / docker-check (push) Skipped
quality / web (push) Successful in 1m8s
quality / api (push) Successful in 1m9s
CD / quality (push) Successful in 2m31s
CD / publish (push) Successful in 1m35s
quality / commitlint (push) Skipped
CD / update-wiki (push) Successful in 8s
quality / changes (push) Successful in 10s
quality / docker-check (push) Skipped
quality / web (push) Successful in 1m8s
quality / api (push) Successful in 1m9s
CD / quality (push) Successful in 2m31s
CD / publish (push) Successful in 1m35s
- Added new endpoints for listing and checking service certificates, improving visibility into SSL status. - Integrated certificate monitoring options into service binding updates, allowing for flexible SSL management. - Updated the service detail grid to include SSL monitoring controls, enhancing user interaction with certificate settings. - Refactored related components and schemas to support the new certificate features, ensuring consistency across the application. - Improved test coverage for certificate functionalities, validating the new features and ensuring reliability.
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
ALTER TABLE service_bindings ADD COLUMN cert_monitoring TEXT NOT NULL DEFAULT 'auto'
|
||||
CHECK (cert_monitoring IN ('auto', 'required', 'skipped'));
|
||||
|
||||
ALTER TABLE certificates ADD COLUMN service_id INTEGER REFERENCES services(id) ON DELETE SET NULL;
|
||||
|
||||
UPDATE service_bindings
|
||||
SET cert_monitoring = COALESCE(
|
||||
(
|
||||
SELECT d.cert_monitoring FROM domains d
|
||||
WHERE d.id = service_bindings.domain_id
|
||||
),
|
||||
'auto'
|
||||
)
|
||||
WHERE hostname = '@';
|
||||
|
||||
UPDATE service_bindings
|
||||
SET cert_monitoring = COALESCE(
|
||||
(
|
||||
SELECT s.cert_monitoring FROM subdomains s
|
||||
WHERE s.domain_id = service_bindings.domain_id
|
||||
AND s.name = service_bindings.hostname
|
||||
),
|
||||
'auto'
|
||||
)
|
||||
WHERE hostname != '@';
|
||||
|
||||
UPDATE certificates
|
||||
SET service_id = (
|
||||
SELECT sb.service_id
|
||||
FROM service_bindings sb
|
||||
JOIN domains d ON d.id = sb.domain_id
|
||||
WHERE CASE
|
||||
WHEN sb.hostname = '@' THEN d.zone_name
|
||||
ELSE sb.hostname || '.' || d.zone_name
|
||||
END = certificates.hostname
|
||||
LIMIT 1
|
||||
);
|
||||
Reference in New Issue
Block a user