apiVersion: v1 kind: ConfigMap metadata: name: authentik-blueprints namespace: authentik data: google-login.yaml: | version: 1 metadata: name: Google login entries: - model: authentik_blueprints.metaapplyblueprint attrs: identifiers: path: default/flow-default-source-authentication.yaml required: true - model: authentik_core.group id: admins identifiers: name: admins attrs: is_superuser: true - model: authentik_core.user identifiers: username: whyredfire attrs: email: whyredfire@gmail.com groups: - !KeyOf admins name: Karan Parashar - model: authentik_sources_oauth.oauthsource id: google identifiers: slug: google attrs: authentication_flow: !Find [authentik_flows.flow, [slug, default-source-authentication]] consumer_key: !Env GOOGLE_CLIENT_ID consumer_secret: !Env GOOGLE_CLIENT_SECRET name: Google promoted: true provider_type: google user_matching_mode: email_link - model: authentik_stages_identification.identificationstage id: google-identification identifiers: name: google-identification attrs: sources: - !KeyOf google user_fields: [] - model: authentik_flows.flow id: google-flow identifiers: slug: google-login attrs: authentication: require_unauthenticated designation: authentication name: Google login title: Welcome! - model: authentik_flows.flowstagebinding identifiers: order: 10 stage: !KeyOf google-identification target: !KeyOf google-flow - model: authentik_brands.brand identifiers: domain: authentik-default attrs: flow_authentication: !KeyOf google-flow grafana.yaml: | version: 1 metadata: name: Grafana entries: - model: authentik_providers_oauth2.oauth2provider id: grafana-provider identifiers: name: grafana attrs: authorization_flow: !Find [authentik_flows.flow, [slug, default-provider-authorization-implicit-consent]] invalidation_flow: !Find [authentik_flows.flow, [slug, default-provider-invalidation-flow]] client_id: grafana client_secret: !Env GRAFANA_CLIENT_SECRET grant_types: - authorization_code - refresh_token redirect_uris: - matching_mode: strict url: https://grafana.whyredfire.dev/login/generic_oauth signing_key: !Find [authentik_crypto.certificatekeypair, [name, authentik Self-signed Certificate]] property_mappings: - !Find [authentik_providers_oauth2.scopemapping, [managed, goauthentik.io/providers/oauth2/scope-openid]] - !Find [authentik_providers_oauth2.scopemapping, [managed, goauthentik.io/providers/oauth2/scope-email]] - !Find [authentik_providers_oauth2.scopemapping, [managed, goauthentik.io/providers/oauth2/scope-profile]] - model: authentik_core.application identifiers: slug: grafana attrs: name: Grafana provider: !KeyOf grafana-provider meta_launch_url: https://grafana.whyredfire.dev wireguard-admin.yaml: | version: 1 metadata: name: WireGuard admin entries: # wg-easy rejects logins unless email_verified is true; the default email # mapping always sends false. - model: authentik_providers_oauth2.scopemapping id: verified-email identifiers: name: wireguard-admin email attrs: scope_name: email expression: | return { "email": request.user.email, "email_verified": True, } - model: authentik_providers_oauth2.oauth2provider id: wireguard-admin-provider identifiers: name: wireguard-admin attrs: authorization_flow: !Find [authentik_flows.flow, [slug, default-provider-authorization-implicit-consent]] invalidation_flow: !Find [authentik_flows.flow, [slug, default-provider-invalidation-flow]] client_id: wireguard-admin client_secret: !Env WIREGUARD_CLIENT_SECRET redirect_uris: - matching_mode: strict url: https://wg-admin.whyredfire.dev/api/auth/oidc/callback - matching_mode: strict url: https://wg-admin.whyredfire.dev/api/auth/oidc/link signing_key: !Find [authentik_crypto.certificatekeypair, [name, authentik Self-signed Certificate]] property_mappings: - !Find [authentik_providers_oauth2.scopemapping, [managed, goauthentik.io/providers/oauth2/scope-openid]] - !KeyOf verified-email - !Find [authentik_providers_oauth2.scopemapping, [managed, goauthentik.io/providers/oauth2/scope-profile]] - model: authentik_core.application id: wireguard-admin identifiers: slug: wireguard-admin attrs: name: WireGuard Admin provider: !KeyOf wireguard-admin-provider meta_launch_url: https://wg-admin.whyredfire.dev # wg-easy makes every user it registers an admin, so only admins may log in. - model: authentik_policies.policybinding identifiers: order: 0 target: !KeyOf wireguard-admin attrs: group: !Find [authentik_core.group, [name, admins]]