1
1
Fork 0
mirror of https://gitlab.archlinux.org/archlinux/infrastructure.git synced 2024-05-25 02:06:05 +02:00
Commit Graph

69 Commits

Author SHA1 Message Date
Leonidas Spyropoulos 591431b707
keycloak: use email templates from archlinux-theme
Signed-off-by: Leonidas Spyropoulos <artafinde@archlinux.org>
2022-11-15 19:15:09 +00:00
Evangelos Foutras 228419b83e
tf-stage2: alphabetically sort uptimerobot monitors 2022-11-14 22:21:11 +02:00
Kristian Klausen d93baf67ea
tf-stage2: Monitor accounts with UptimeRobot
Fix #475
2022-11-13 19:21:27 +01:00
Evangelos Foutras ed19221404
keycloak: remove /auth from all Keycloak endpoints
From [1]: "By default, the new Quarkus distribution removes /auth from
           the context-path."

[1] https://www.keycloak.org/migration/migrating-to-quarkus
2022-11-12 17:33:36 +02:00
Jan Alexander Steffens (heftig) a7cc74f489
matrix: Enable backchannel logouts from keycloak to synapse 2022-11-12 17:32:33 +02:00
Evangelos Foutras cd29b68d72
tf-stage2: update keycloak provider to 4.0.1
Set the base_path provider attribute to "/auth" until we move the /auth
endpoint to be served from the root of https://accounts.archlinux.org/.
2022-10-29 16:01:43 +03:00
Kristian Klausen c56fbb55e0
tf/keycloak: Add openid client for buildbot
The buildbot POC wants to use Keycloak for user authentication. The
client is public, because it doesn't make sense to have a client secret,
which can't be kept under wrap anyway (it would need to be shipped with
the CLI[1]).

[1] https://gitlab.archlinux.org/foxboron/buildctl
2022-09-18 11:55:11 +02:00
Evangelos Foutras 55f20a14e1
tf/keycloak: add "Configure OTP" to default actions
When signing into GitLab, opting to create a new keycloak account
results in being able to sign into GitLab without setting up OTP.

Since any subsequent login will require configuring OTP, it seems
well advised to prompt for it as part of the registration process.
2022-07-24 20:48:38 +03:00
Evangelos Foutras 2b9e29ca2e
tf-stage2: update keycloak provider to 3.8.1
OpenID clients:
- 'use_refresh_tokens' set to false to preserve the values on live
- 'backchannel_logout_session_required' implicitly changed to true
  for the 'grafana_openid_client' and 'openid_gitlab' clients

SAML client (GitLab):
- 'front_channel_logout' set to false to preserve the live setting
2022-05-10 14:44:13 +03:00
Evangelos Foutras 9f738eb95f
tf/keycloak: make "terraform fmt --check" happy 2022-04-05 10:54:11 +03:00
Jelle van der Waa 1a4a742ee4
Prepare Security Tracker SSO configuration
Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2022-04-05 02:15:10 +02:00
Evangelos Foutras f8b9927cc3
tf/keycloak: change saml_gitlab's name to GitLab 2022-03-25 13:29:10 +02:00
Kristian Klausen 21836b0390 tf/keycloak: Create staff group for "Project Maintainers"
We are onboarding "Project Maintainers" now[1].

[1] https://lists.archlinux.org/private/staff/2022-February/000881.html
2022-02-23 20:40:01 +00:00
Jelle van der Waa 1160eb68e4
Add gluebuddy client
The gluebuddy client is required for gluebuddy to retrieve users and
groups membership without being able to change other keycloak data. The
realm-management roles cannot be assigned yet via keycloak as it does
not know about the roles and realm-management client.
2022-01-21 10:30:05 +01:00
Jakub Klinkovský b75f2a5604 Create a group for Wiki Maintainers in Keycloak 2021-10-29 21:38:57 +00:00
Sven-Hendrik Haase 729fd21542 keycloak: Enable account registation (fixes 39) 2021-09-04 15:16:15 +02:00
Ira ㋡ 249ae2a728 Make terms and conditions required by default via terraform provider 2021-09-04 13:01:55 +02:00
Evangelos Foutras faba3a3d7c
misc/get_key.py: load vault file without chdir'ing
Now that misc/get_key.py checks if the vault file passed to it exists,
we cannot pass paths only resolvable from the root directory. Instead,
use paths that make sense relative to the current directory and avoid
calling chdir when loading the vault file.

Fixes: 7754214604 ("Rewrite get_key.py to use click instead of typer")
2021-07-07 15:18:41 +03:00
Thorben Günther e7aa7f09a7 grafana: Use builtin functionality to restrict access
This reverts commit 649568e7 ("Restrict Grafana access to Arch Linux
Staff group on Keycloak (fixes #151)").
2021-07-06 22:53:04 +02:00
Jelle van der Waa f741bc6a20
Terraform uptimerobot monitors
Add our uptimerobot to terraform so it's managed in code and we can
easily extend it. This currently only adds our to be monitored sites and
leaves the status page as is now.

Deleting resources on uptimerobot will cause terraform unable to run
see: https://github.com/louy/terraform-provider-uptimerobot/issues/82

References: #209
2021-05-18 22:51:16 +02:00
Jan Alexander Steffens (heftig) 745795594f
keycloak: Enable add_to_id_token for matrix role mapper
Synapse only inspects the userinfo.
2021-04-15 15:02:53 +02:00
Jan Alexander Steffens (heftig) 3e475457c5 matrix: Integrate with Keycloak
Closes https://gitlab.archlinux.org/archlinux/infrastructure/-/issues/94
2021-04-15 12:37:34 +00:00
Jelle van der Waa a434870b9f
Restrict Grafana access to DevOps
As our grafana now contains Loki logs, we don't want non devops to view
logs which potentially contain sensitive data. As Grafana does not have
a system to easily restrict data sources to roles we use Keycloak.
2021-04-08 21:01:22 +02:00
Sven-Hendrik Haase 75146bcc8b
Fix mode of .terraform.lock.hcl 2021-03-19 13:53:50 +01:00
Jelle van der Waa 3124cfd933
Add hedgedoc as new service
This adds a collaborative markdown editor as newly offered service which
is available via login for all Arch Linux Staff with an option to allow
anonymous edits by users (not default). Users are managed via keycloak
and require the Staff role to be allowed in, non staff keycloak users
currently will receive an internal server error due to an upstream
issue.
2021-02-01 21:59:30 +01:00
Kristian Klausen 56865f8c9e Migrate all services to use implicit TLS for SMTP Submission 2020-12-24 23:43:57 +00:00
Sven-Hendrik Haase 649568e703 Restrict Grafana access to Arch Linux Staff group on Keycloak (fixes #151) 2020-12-11 19:59:57 +00:00
Sven-Hendrik Haase e049e89e9a
Upgrade to Terraform 0.14
This process didn't need any source changes but it added the new Terraform lockfiles.
2020-12-10 21:53:50 +01:00
Frederik Schwan 80c22539b9
introduce terraform fmt to the CI to improve readability 2020-10-22 13:45:19 +02:00
Sven-Hendrik Haase 1f9c854d46
Import config from Keycloak
This is now possible because of terraform-provider-keycloak 2.0.0 :D
2020-09-23 01:34:02 +02:00
Kristian Klausen 2fd1c89a04 keycloak: Bump provider version 2020-09-22 22:30:54 +00:00
Kristian Klausen e52dbab833 keycloak: Register "required action" webauthn-register 2020-09-22 22:30:54 +00:00
Kristian Klausen 04e5d83034 keycloak: Add WebAuthn policy
Fix #120
2020-09-22 22:30:53 +00:00
Sven-Hendrik Haase 6b33a0d4b7 Implement new Keycloak group structure 2020-09-22 22:12:06 +00:00
Jelle van der Waa 76e334c635
Add a new Support groups
Expand the Support group with subgroups for the Wiki, Forum, Security
Tracker and Archweb. The subgroups are just a placeholder for groups for
the roles which a user can be in for the service. New onboarded users
should be assigned to correct groups for their Support staff team.
2020-09-10 22:32:29 +02:00
Jelle van der Waa 7183361c64 Setup Oauth for Grafana
Configure Grafana to use Keycloak OpenID Connect for authentication. For
now only DevOps is configured as admin and Arch Staff as general Viewer
roles.
2020-09-09 21:17:33 +00:00
Sven-Hendrik Haase c1c24c5c37 keycloak: Redo all flows
We had to redesign all flows when discovering that we can't design flows exactly the way we wanted in Keycloak.
2020-09-08 15:29:58 +00:00
Sven-Hendrik Haase 880a794af9 keycloak: Add fallthroughs to doc everywhere 2020-09-08 15:29:58 +00:00
Kristian Klausen 7ea76e73cf keycloak: Force OTP Setup for staff and external contributors
Broken by the last commit
2020-09-08 15:29:58 +00:00
Kristian Klausen ef1e7b13a3 keycloak: Enable WebAuthn
Registering a new required action is currently not supported, so it
needs to be done manually.
See upstream bug: https://github.com/mrparkers/terraform-provider-keycloak/issues/354

Configuring the WebAuthn policy is currently not supported, so it needs
to be done manully.
See upstream bug: https://github.com/mrparkers/terraform-provider-keycloak/issues/355

Fix #28
2020-09-08 15:29:58 +00:00
Sven-Hendrik Haase d2375c228a
keycloak: Set display_name_html explicitly so that the custom theme works
I know this seems a bit weird but this is how the Keycloak templates work. :P
2020-08-29 04:39:17 +02:00
Ira ㋡ 103550f780
Set the login, account and admin theme to "archlinux" 2020-08-27 16:25:47 +09:00
Sven-Hendrik Haase 65400adeca
Upgrade to terraform 0.13 2020-08-27 07:17:09 +02:00
Levente Polyak 6bad158de4
keycloak: do not allow full scope for openid gitlab client
We do not want full scope to be allowed for the gitlab openid client. In
fact we already have it disabled, however the latest provider seems to
have changed something which makes terraform to have the desire to
change this to true. Set it explicitly to false to avoid changing
behavior.
2020-08-20 12:05:51 +02:00
Levente Polyak a5fbc14b95
Revert "matrix: Integrate with Keycloak"
This reverts commit 8e4eac7df4.

Revert this feature as its part of a keycloak change that must go
through review via a merge request.
2020-08-20 11:50:18 +02:00
Jan Alexander Steffens (heftig) 8e4eac7df4
matrix: Integrate with Keycloak 2020-08-19 20:24:16 +02:00
Jan Alexander Steffens (heftig) 4bb27da470
keycloak.tf: Add missing signature_algorithm
`terraform plan` tried to remove it.
2020-08-19 20:24:15 +02:00
Jelle van der Waa 5ac750c909
Add a prometheus exporter to Keycloak
Install keycloak-metrics-spi and configure it to provide prometheus
endpoints available as auth/realms/$realm/metrics. The prometheus
metrics are behind basic_auth as some metrics might be sensitive or can
be used by attackers. #23
2020-08-18 17:28:09 +02:00
Sven-Hendrik Haase d0712657b9
keycloak: Switch to new account management page 2020-07-30 04:06:24 +02:00
Sven-Hendrik Haase 6d05d9a784
Enable Keycloak event logging (fixes #68) 2020-07-17 17:04:09 +02:00