Merge "Combine parameter_default fields"
[apex-tripleo-heat-templates.git] / puppet / services / keystone.yaml
1 heat_template_version: 2016-04-08
2
3 description: >
4   OpenStack Keystone service configured with Puppet
5
6 parameters:
7   KeystoneCACertificate:
8     default: ''
9     description: Keystone self-signed certificate authority certificate.
10     type: string
11   KeystoneEnableDBPurge:
12     default: true
13     description: |
14         Whether to create cron job for purging soft deleted rows in Keystone database.
15     type: boolean
16   KeystoneSigningCertificate:
17     default: ''
18     description: Keystone certificate for verifying token validity.
19     type: string
20   KeystoneSigningKey:
21     default: ''
22     description: Keystone key for signing tokens.
23     type: string
24     hidden: true
25   KeystoneSSLCertificate:
26     default: ''
27     description: Keystone certificate for verifying token validity.
28     type: string
29   KeystoneSSLCertificateKey:
30     default: ''
31     description: Keystone key for signing tokens.
32     type: string
33     hidden: true
34   KeystoneNotificationDriver:
35     description: Comma-separated list of Oslo notification drivers used by Keystone
36     default: ['messaging']
37     type: comma_delimited_list
38   KeystoneNotificationFormat:
39     description: The Keystone notification format
40     default: 'basic'
41     type: string
42     constraints:
43       - allowed_values: [ 'basic', 'cadf' ]
44   KeystoneRegion:
45     type: string
46     default: 'regionOne'
47     description: Keystone region for endpoint
48   KeystoneWorkers:
49     default: 0
50     description: Number of workers for Keystone service.
51     type: number
52   EndpointMap:
53     default: {}
54     description: Mapping of service endpoint -> protocol. Typically set
55                  via parameter_defaults in the resource registry.
56     type: json
57   Debug:
58     type: string
59     default: ''
60   AdminEmail:
61     default: 'admin@example.com'
62     description: The email for the keystone admin account.
63     type: string
64     hidden: true
65   AdminPassword:
66     description: The password for the keystone admin account, used for monitoring, querying neutron etc.
67     type: string
68     hidden: true
69   AdminToken:
70     description: The keystone auth secret and db password.
71     type: string
72     hidden: true
73   RabbitPassword:
74     description: The password for RabbitMQ
75     type: string
76     hidden: true
77   RabbitUserName:
78     default: guest
79     description: The username for RabbitMQ
80     type: string
81   RabbitClientUseSSL:
82     default: false
83     description: >
84         Rabbit client subscriber parameter to specify
85         an SSL connection to the RabbitMQ host.
86     type: string
87   RabbitClientPort:
88     default: 5672
89     description: Set rabbit subscriber port, change this if using SSL
90     type: number
91
92 outputs:
93   role_data:
94     description: Role data for the Keystone role.
95     value:
96       config_settings:
97         keystone::database_connection:
98           list_join:
99             - ''
100             - - {get_param: [EndpointMap, MysqlInternal, protocol]}
101               - '://keystone:'
102               - {get_param: AdminToken}
103               - '@'
104               - {get_param: [EndpointMap, MysqlInternal, host]}
105               - '/keystone'
106         keystone::admin_token: {get_param: AdminToken}
107         keystone::roles::admin::password: {get_param: AdminPassword}
108         keystone_ca_certificate: {get_param: KeystoneCACertificate}
109         keystone_signing_key: {get_param: KeystoneSigningKey}
110         keystone_signing_certificate: {get_param: KeystoneSigningCertificate}
111         keystone_ssl_certificate: {get_param: KeystoneSSLCertificate}
112         keystone_ssl_certificate_key: {get_param: KeystoneSSLCertificateKey}
113         keystone::debug: {get_param: Debug}
114         keystone::db::mysql::password: {get_param: AdminToken}
115         keystone::rabbit_userid: {get_param: RabbitUserName}
116         keystone::rabbit_password: {get_param: RabbitPassword}
117         keystone::rabbit_use_ssl: {get_param: RabbitClientUseSSL}
118         keystone::rabbit_port: {get_param: RabbitClientPort}
119         keystone::notification_driver: {get_param: KeystoneNotificationDriver}
120         keystone::notification_format: {get_param: KeystoneNotificationFormat}
121         keystone::roles::admin::email: {get_param: AdminEmail}
122         keystone::roles::admin::password: {get_param: AdminPassword}
123         keystone::endpoint::public_url: {get_param: [EndpointMap, KeystonePublic, uri_no_suffix]}
124         keystone::endpoint::internal_url: {get_param: [EndpointMap, KeystoneInternal, uri_no_suffix]}
125         keystone::endpoint::admin_url: {get_param: [EndpointMap, KeystoneAdmin, uri_no_suffix]}
126         keystone::endpoint::region: {get_param: KeystoneRegion}
127         keystone::admin_workers: {get_param: KeystoneWorkers}
128         keystone::public_workers: {get_param: KeystoneWorkers}
129         keystone_enable_db_purge: {get_param: KeystoneEnableDBPurge}
130         keystone::public_endpoint: {get_param: [EndpointMap, KeystonePublic, uri_no_suffix]}
131         keystone::db::mysql::user: keystone
132         keystone::db::mysql::host: {get_param: [EndpointMap, MysqlNoBracketsInternal, host]}
133         keystone::db::mysql::dbname: keystone
134         keystone::db::mysql::allowed_hosts:
135           - '%'
136           - "%{hiera('mysql_bind_host')}"
137
138       step_config: |
139         include ::tripleo::profile::base::keystone