website/integrations: add SonarQube (#7167)
Co-authored-by: Manfred Nilsson <manfred.nilsson@synkzone.com>
This commit is contained in:
parent
e5afabb221
commit
d8728c1749
|
@ -0,0 +1,72 @@
|
||||||
|
---
|
||||||
|
title: SonarQube
|
||||||
|
---
|
||||||
|
|
||||||
|
<span class="badge badge--primary">Support level: Community</span>
|
||||||
|
|
||||||
|
## What is SonarQube
|
||||||
|
|
||||||
|
> Self-managed static analysis tool for continuous codebase inspection
|
||||||
|
>
|
||||||
|
> -- https://www.sonarsource.com/products/sonarqube/
|
||||||
|
|
||||||
|
## Preparation
|
||||||
|
|
||||||
|
The following placeholders will be used:
|
||||||
|
|
||||||
|
- `sonarqube.company` is the FQDN of the sonarqube install.
|
||||||
|
- `authentik.company` is the FQDN of the authentik install.
|
||||||
|
|
||||||
|
## Terraform provider
|
||||||
|
|
||||||
|
Create an application in authentik. Create a SAML Provider with the following values
|
||||||
|
|
||||||
|
```hcl
|
||||||
|
|
||||||
|
data "authentik_flow" "default-provider-authorization-implicit-consent" {
|
||||||
|
slug = "default-provider-authorization-implicit-consent"
|
||||||
|
}
|
||||||
|
|
||||||
|
data "authentik_property_mapping_saml" "saml-sonar-qube" {
|
||||||
|
managed_list = [
|
||||||
|
"goauthentik.io/providers/saml/email",
|
||||||
|
"goauthentik.io/providers/saml/username",
|
||||||
|
"goauthentik.io/providers/saml/name"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "authentik_provider_saml" "provider_sonar-qube" {
|
||||||
|
name = "SonarQube"
|
||||||
|
|
||||||
|
authorization_flow = data.authentik_flow.default-provider-authorization-implicit-consent.id
|
||||||
|
|
||||||
|
acs_url = "https://sonarqube.company/oauth2/callback/saml"
|
||||||
|
issuer = "https://authentik.company/"
|
||||||
|
sp_binding = "post"
|
||||||
|
audience = "https://sonarqube.company/saml2/metadata"
|
||||||
|
|
||||||
|
property_mappings = data.authentik_property_mapping_saml.saml-sonar-qube.ids
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "authentik_application" "application_sonar-qube" {
|
||||||
|
name = "SonarQube"
|
||||||
|
slug = "sonarqube"
|
||||||
|
protocol_provider = authentik_provider_saml.provider_sonar-qube.id
|
||||||
|
}
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
## SonarQube
|
||||||
|
|
||||||
|
Navigate to Administration -> Configuration -> Authentication -> Saml
|
||||||
|
|
||||||
|
Input these Values
|
||||||
|
|
||||||
|
- Application ID: https://sonarqube.company/saml2/metadata
|
||||||
|
- Provider Name: authentik
|
||||||
|
- Provider ID: https://authentik.company/
|
||||||
|
- SAML login url: https://authentik.company/application/saml/sonarqube/sso/binding/redirect/
|
||||||
|
- Identity provider certificate: Download it from authentik
|
||||||
|
- SAML user login attribute: http://schemas.goauthentik.io/2021/02/saml/username
|
||||||
|
- SAML user name attribute: http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name
|
||||||
|
- SAML user email attribute: http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
|
|
@ -100,6 +100,7 @@ module.exports = {
|
||||||
"services/home-assistant/index",
|
"services/home-assistant/index",
|
||||||
"services/jellyfin/index",
|
"services/jellyfin/index",
|
||||||
"services/node-red/index",
|
"services/node-red/index",
|
||||||
|
"services/sonar-qube/index",
|
||||||
"services/sonarr/index",
|
"services/sonarr/index",
|
||||||
"services/tautulli/index",
|
"services/tautulli/index",
|
||||||
"services/weblate/index",
|
"services/weblate/index",
|
||||||
|
|
Reference in New Issue