generated from canonical/template-operator
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcharmcraft.yaml
108 lines (99 loc) · 3.5 KB
/
charmcraft.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
# Copyright 2022 Canonical Ltd.
# See LICENSE file for licensing details.
name: kratos-external-idp-integrator
type: charm
description: |
Charm used to integrate Charmed Kratos with external IdPs
summary: |
Charm used to integrate Charmed Kratos with external IdPs
links:
documentation: https://discourse.charmhub.io/t/kratos-external-idp-integrator-docs-index/12168
source: https://github.com/canonical/kratos-external-idp-integrator
issues: https://github.com/canonical/kratos-external-idp-integrator/issues
provides:
kratos-external-idp:
interface: external_provider
limit: 1
config:
options:
client_id:
description: The registered client_id
type: string
client_secret:
description: The registered client_secret
type: string
provider:
default: generic
description: |
The provider name, must be one of the following:
["generic", "google", "facebook", "microsoft", "github",
"apple", "gitlab", "auth0", "slack", "spotify", "discord",
"twitch", "netid", "yandex", "vk", "dingtalk"].
Defaults to "generic"
type: string
issuer_url:
description: |
The issuer_url, this value is only used when provider is "generic" or "auth0"
type: string
secret_backend:
default: relation
description: |
The backend to use for passing sensitive information to Kratos.
type: string
microsoft_tenant_id:
description: The Microsoft tenant_id. To be used only with Microsoft providers.
type: string
apple_team_id:
description: The Team ID provided by Apple. To be used only with Apple providers.
type: string
apple_private_key_id:
description: The private key identifier generated by Apple. To be used only with Apple providers.
type: string
apple_private_key:
description: The private key downloaded from Apple. To be used only with Apple providers.
type: string
jsonnet_mapper:
description: |
The jsonnet mapper that will be used for mapping the external idp claims to kratos attributes.
For example:
local claims = {
email_verified: false,
} + std.extVar('claims');
{
identity: {
traits: {
[if 'email' in claims && claims.email_verified then 'email' else null]: claims.email,
[if 'name' in claims then 'name' else null]: claims.name,
[if 'given_name' in claims then 'given_name' else null]: claims.given_name,
[if 'family_name' in claims then 'family_name' else null]: claims.family_name,
},
},
}
For more info see https://www.ory.sh/docs/kratos/reference/jsonnet.
type: string
provider_id:
description: |
The provider's ID to be used in Kratos. The redirect_uri is generated based on this.
You must not have 2 providers with the same ID registered in Kratos.
type: string
label:
description: |
The text that will be shown to the user when asked to choose a provider, defaults to the provider type
type: string
scope:
description: Space separated list of allowed scopes for the provider.
type: string
enabled:
description: Controls whether the provider is enabled.
type: boolean
default: True
actions:
get-redirect-uri:
description: Get the Kratos' client redirect_uri
base: ubuntu@22.04
platforms:
amd64:
parts:
charm:
charm-binary-python-packages:
- jsonschema