feat(argocd): Log in to ArgoCD through Authentik
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: argocd-cm
|
||||
data:
|
||||
oidc.config: |
|
||||
name: Authentik
|
||||
issuer: https://auth.whyredfire.dev/application/o/argocd/
|
||||
clientID: argocd
|
||||
clientSecret: $argocd-oidc:clientSecret
|
||||
requestedScopes:
|
||||
- openid
|
||||
- profile
|
||||
- email
|
||||
@@ -0,0 +1,9 @@
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: argocd-rbac-cm
|
||||
data:
|
||||
policy.csv: |
|
||||
g, admins, role:admin
|
||||
policy.default: ""
|
||||
scopes: "[groups]"
|
||||
@@ -17,6 +17,14 @@ patches:
|
||||
kind: ConfigMap
|
||||
name: argocd-cm
|
||||
path: argocd-cm-url-patch.yaml
|
||||
- target:
|
||||
kind: ConfigMap
|
||||
name: argocd-cm
|
||||
path: argocd-cm-oidc-patch.yaml
|
||||
- target:
|
||||
kind: ConfigMap
|
||||
name: argocd-rbac-cm
|
||||
path: argocd-rbac-cm-patch.yaml
|
||||
- target:
|
||||
kind: ConfigMap
|
||||
name: argocd-cmd-params-cm
|
||||
|
||||
@@ -4,3 +4,4 @@ resources:
|
||||
- anubis-key-sealedsecret.yaml
|
||||
- anubis-proxy.yaml
|
||||
- httproute.yaml
|
||||
- oidc-sealedsecret.yaml
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
---
|
||||
apiVersion: bitnami.com/v1alpha1
|
||||
kind: SealedSecret
|
||||
metadata:
|
||||
name: argocd-oidc
|
||||
namespace: argocd
|
||||
spec:
|
||||
encryptedData:
|
||||
clientSecret: AgAuadGZNylY8/lomfIg8PybwBtfZ20BXDfNacgIMMdRanRgRnLhMghaZfcQbcGuKRaAIya/aIqbUKkQwat2elypOp374wvDHilnaQ0DQ4qCBGZlPLMSzyEoz+sSuB3c0YHLcj48DIF9b5b24jsysS9mllTQCeEBNsuXiEjEuSBUpu6EbR5ztRPnEi8OnuJYTMJtnMVX0iPEqEK4DsR/c7ActayVBG+sGDK/ZyACxyLg8cuhJ2p7SyxqCwqtaS4NaKC6d4WK+3LEQcAd65PWeSKbR7zv77EcUQ8yzaM3yDXIZMmgLMzynfPgyll9aLr31n2UOaNU2uZPT6JtlnPARU1WuzQHcRCdJBjuKneDahE2D3m7sClxUCNXTgXfZqsWl6/gSvZrREukQyJgIz6mmmN3rUjYRn0lG+0CU6o1uDFGHyn9GEmzTPT4zt/U0YD7LjwdR+tWHBUmzQCPbe2DcPQLb+OwyY0M9RC52btfJVyErjMXN7TP8ut1Gmf6p0phr9ebVH9hNAPWcfbWkNG4r8c4gzHDca9ULPrwjz1oJsNeHf6ZXu3Zu26xnFsLswSQqWSSpBrHA9F5bl3U3/ScNErD+wrP6lH6dqcGGJVpMMUhDDNBKkSsu8zL8M97x5MYZPwAI+EfNF5ijdzqZbgEU0iTjJv5fHX1i+rGhbzkfqvuI3ti/8CkcSB/dEAYQXwfmSrtPJISX1zEWhqzgIfIDuPk2BmD+rKmWL906+aff7M/Ns32wZlvN3eCPVjO9w80mkn6OJY11re0Si0eg4ksUZDH
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/part-of: argocd
|
||||
name: argocd-oidc
|
||||
namespace: argocd
|
||||
@@ -4,6 +4,65 @@ metadata:
|
||||
name: authentik-blueprints
|
||||
namespace: authentik
|
||||
data:
|
||||
argocd.yaml: |
|
||||
version: 1
|
||||
metadata:
|
||||
name: ArgoCD
|
||||
entries:
|
||||
- model: authentik_blueprints.metaapplyblueprint
|
||||
attrs:
|
||||
identifiers:
|
||||
path: mounted/cm-authentik-blueprints/google-login.yaml
|
||||
required: true
|
||||
- model: authentik_blueprints.metaapplyblueprint
|
||||
attrs:
|
||||
identifiers:
|
||||
path: default/flow-default-provider-authorization-implicit-consent.yaml
|
||||
required: true
|
||||
- model: authentik_blueprints.metaapplyblueprint
|
||||
attrs:
|
||||
identifiers:
|
||||
path: default/flow-default-provider-invalidation.yaml
|
||||
required: true
|
||||
- model: authentik_blueprints.metaapplyblueprint
|
||||
attrs:
|
||||
identifiers:
|
||||
path: system/providers-oauth2.yaml
|
||||
required: true
|
||||
- model: authentik_providers_oauth2.oauth2provider
|
||||
id: provider
|
||||
identifiers:
|
||||
name: argocd
|
||||
attrs:
|
||||
authorization_flow: !Find [authentik_flows.flow, [slug, default-provider-authorization-implicit-consent]]
|
||||
client_id: argocd
|
||||
client_secret: !Env ARGOCD_OIDC_CLIENT_SECRET
|
||||
client_type: confidential
|
||||
invalidation_flow: !Find [authentik_flows.flow, [slug, default-provider-invalidation-flow]]
|
||||
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]]
|
||||
redirect_uris:
|
||||
- matching_mode: strict
|
||||
url: https://argo.whyredfire.dev/auth/callback
|
||||
# argocd CLI (argocd login --sso)
|
||||
- matching_mode: strict
|
||||
url: http://localhost:8085/auth/callback
|
||||
signing_key: !Find [authentik_crypto.certificatekeypair, [name, authentik Self-signed Certificate]]
|
||||
- model: authentik_core.application
|
||||
id: application
|
||||
identifiers:
|
||||
slug: argocd
|
||||
attrs:
|
||||
meta_launch_url: https://argo.whyredfire.dev
|
||||
name: ArgoCD
|
||||
provider: !KeyOf provider
|
||||
- model: authentik_policies.policybinding
|
||||
identifiers:
|
||||
group: !Find [authentik_core.group, [name, admins]]
|
||||
order: 0
|
||||
target: !KeyOf application
|
||||
# Google is the only way in: its source has no enrollment flow, so a Google
|
||||
# account can only log in when a user with the same email already exists.
|
||||
google-login.yaml: |
|
||||
|
||||
@@ -6,6 +6,7 @@ metadata:
|
||||
namespace: authentik
|
||||
spec:
|
||||
encryptedData:
|
||||
ARGOCD_OIDC_CLIENT_SECRET: AgBHG4QvZ5SZuZQhFzQuIoEoKq2zeaArUvINUgNNqK8oDm5pTzRAC+gqhw9v3qCx3wpkW8/ayc9rVnHLL8ua81e3bXVywty+6fEMk0ryFzvOSNjXlOuTUAm2oOH8d0itWhNIWWiEIviL3ZB5w2uEZ9igV5wimyGJvAtptjkSRsfUlAmstoX5DMwB6NItq/7PkhrSqtZs9tsz9GqJ2szL3oC9WQSumF1BG17xySI7OeRBJ0K6A4FBorY8VZ/gCXjxvqZ6IJlkHq22SoX6Qt3ZJlRW3h8e5PtDqtCfKoWXgYIBjXaT7gW1mYxzpVGiaz0OIGoQkKckM0XZ6PBmU5tDbAhM7QwuG9haC/S2a6wVsAnjLM7BckMdaFirI6Pyg39gNJz9VUwKk3oWWUcFUJA+X2dvOoi0m4OBMXYfb1US5CDDJWDHliJYJy3hlnXtmLErL93D5DIF4ybR6JuZ54Nrv/cVaLd7u8+vSB1VX2qOMSuGgwZ//+pOgCzlRp8BW6l43uzWVx4oC4buFMl3yPNKcvCm2SJ9l84LhFdE+AbVptqAeXIe43x6cNE5wASb0nXnvQMv9zkypLng16HFWwx6nk8/ehgYyDTtQUewGhtpjJUCXUlIzZg91e4RGA0k47AxrAP58PjomBlOBCou6YoW6pRkcAF6izDLxhHQRBDiLnrXSXNMsqAkn9Xee3NICK0OGHyp+W2Uol0kU/tjy6aIJpblHx3vZbs7jyhtEB1gLbZQz8c5PcruuBaCMtwxDRBCP6cM/6DoiW5JsbL0maoBdU4/
|
||||
AUTHENTIK_BOOTSTRAP_PASSWORD: AgAPgYcs6IXUWk3VUgoPNQXwP43kEKP26OAJmu7dA4vTRhmWwmJXN8ybRhX7jS2YPwGWxAWflxiM3x7F3jUohOpqN37et4zFCoUq43mQ3blbTMV4zhsuyMx0JIqhsafzlVWiKqmqIykVq8yJQ6886FkIS0u14i//YTcs0QMS7gum6pDEhehAg+FhwiNgm92iVCyhoh+3rL549akXe53UJNKwVzuWavEHZFTKJNmFa2g9YzYcJgNf46f7maPbfSg09E27XC9L7KNxxiodU2h0D50La8LMEX+X0fAbLtrXPf9MsJjcfNvy0kXqy/AB+A5zL/Yh4uVztWikE27evDvfeoWc9svCTIbBzwx1EtR/nC71IvN61ADpFGbTXA44jSOtPg6nNtOAq8AEqIp0p3uNbQK17cEfbmDtq8husTYF1i6e+VFVGIltPiGdRSZb92xtLGkf63YfdYXSy+xaiIJ/8ki4vgw91KY0l5/9sS1BqWR312UUEAtOGt7M4cydVEWToc1AdYj3RDBgPjmqoddiR66EMzhCFz5sxlU/rji7j4DAOFA4gqAV5JAZO1HehNFp2GajTi36d0XLe06/Z+IbEmSeTlPTGZOvxTweYcWexplzp/ob/MwAaMouPRcmae4/VTlu9Lex1bMYugc6bD8B7V+gmM/MhY7heQl+mSyBV0CO6JsZwC1tipzcJfaiBzUF8sZ7Ast3v+7omsjFo/CXqxbPNZrolipiEjE9IT3n3r2m7gpIkv+A/ie77iJF8k6zFRM=
|
||||
AUTHENTIK_POSTGRESQL__PASSWORD: AgAoQ04gX1QOUI5kfNMNy07pnaqDTp4X6LDlQBBwSs13SVGZCJAL61hQymOaL/U2cCyc0N5nr7FCswHcqBE8t1esKlK/NB+BL9aWfO7uPonhdzsc2iKBONZYickCyyD+8Hgu/McQDPVo6vMQ51/82WL2ZKfwJEfTKmo1OfJ/I2Tls2KmczzlkNrCC9M5moObXl+PJlKJuxAkeXJc61MSn/vvsvksG5O0AKtXHmTk8E1t7krAbOqKy9CbVwHJAwH/NIhiOgJr/KziceWhHHQiEwC631ZpM+fZWiUSKETwpnLWSl7s8SvsEUNA9s/W2w24tpqSKrHOZtS6J0sT84FsV9U9T5MaZtZT9NG3FmNehxQpIlet6BSyJh+JMq5LjzA8ANvVvlXs4jhJyTcotLf/m1ZJbetVjFGJjvxUbVuxObpMentVrAeLO8cZqk1iTzqPdkrEeV38DN2E9oJSyQeRP6sZTnDd9xweou8nwMZWidyIDorTKSwvggje2YDXefc8+aOVVCN7pBOwKisEuPH35Ov/A2RDzmE3mQRC3EDuHJ+3dZbVawIawV0ZUIL52X+ongbllOtHABUfODY7tTC/VQMk07d3/zG5q7bCE2D+R0XE4oQJy2h2wYHiYUoGYM5JKC2me4TIx6Y+haksl2mqfC/yal3FLWMBdK4eC9VyXugO25l4yLVOcKa/QMhImHB6lbyNLGDuafnIanMkraWo73EqqXpF3IIqfzfgkj4aOO3Cbuu6BeQ4bNmmam+cWLqq1QQ=
|
||||
AUTHENTIK_SECRET_KEY: AgAHHDs8mbJRc45DFgap2VUZn/F+m59hm9u2lebuJv70HSBxLLsHEn8nXLGUO3b2ScyPt1Qi2wbmRDENTjOHOYHtAQAjwV25r6RUiZ5TosRH2KhGx5N6gceorYQyk18l2CkKv4ObXjeGLJA0EqMarmFWiT24SFZdtIrOvWygLxg4XGful2h1Fw5uXK9PiUHgptrp/G5M5Htv0bvtD6m/FrgOlK6C6tK1D4vLL3VLX3/SceqNWVDIJmJao5JKO4IZTQxN8TN5k9K2CGrtOUhjCn4vLbYQKTPhiiidoQaipQ9FR+4KJMO0y8FbIy+3q7C/UZPyOTOu/2zI4t5h4TJY1+477A80GTLpE0aCBDpmFwgZY728wbTW4NyfIm15u0Um7OXhnJkXC1EqDbvlK4HYHiSDUjGChvlfMEY+D1datDlF1fEuIaeXtTqowpz3uy9qIEa0f1emS2J8TjIrKH3oW3mfmrJKSiySnCX1704ZPlwOJfnF5Z2vM6Oqo/mWHa6PSwPPRxSxEKVtSqD4KynzrUmx3GkrUs+7tntepA3yQoiDjyUyE71FwhJXO4sE3XcRGDUf4rB8CFO4+NgTbBAqFzNKYG32GIDhGjbMxBAJQMNXZhVcKceiaXf7G8LuaOEw39BkdtiFCdK3uXl9xaQPuStRsOYYQR2Dt0vt3AvDGjAW+McauCbYUD3rcAtVMo+rxEbejrotojWnb1OpGX0JqD5gHC68qlqY6BYkDbWpYojoKWJHuHlYxHIm8k7ghSq6npw94R526bxripNtcNq4Lh1NeM55LKruOEGr7n0dFcyAmQ==
|
||||
|
||||
Reference in New Issue
Block a user