Skip to content

Commit 775cc5b

Browse files
authored
Merge pull request #775 from cultuurnet/III-6967-add-keymatcher-backend
III-6967 add keymatcher backend
2 parents 0a28490 + 5e4bf49 commit 775cc5b

File tree

4 files changed

+86
-44
lines changed

4 files changed

+86
-44
lines changed

manifests/uitdatabank/entry_api/deployment.pp

Lines changed: 30 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,20 +8,20 @@
88
String $externalid_mapping_place_source,
99
String $pubkey_uitidv1_source,
1010
String $pubkey_keycloak_source,
11-
String $version = 'latest',
12-
String $repository = 'uitdatabank-entry-api',
13-
Enum['present', 'absent'] $amqp_listener_uitpas = 'present',
14-
Enum['present', 'absent'] $bulk_label_offer_worker = 'present',
15-
Enum['present', 'absent'] $mail_worker = 'present',
16-
Integer[0] $event_export_worker_count = 1,
17-
Optional[String] $puppetdb_url = lookup('data::puppet::puppetdb::url', Optional[String], 'first', undef)
11+
String $version = 'latest',
12+
String $repository = 'uitdatabank-entry-api',
13+
Optional[String] $api_keys_matched_to_client_ids_source = undef,
14+
Enum['present', 'absent'] $amqp_listener_uitpas = 'present',
15+
Enum['present', 'absent'] $bulk_label_offer_worker = 'present',
16+
Enum['present', 'absent'] $mail_worker = 'present',
17+
Integer[0] $event_export_worker_count = 1,
18+
Optional[String] $puppetdb_url = lookup('data::puppet::puppetdb::url', Optional[String], 'first', undef)
1819
) inherits ::profiles {
1920

2021
$basedir = '/var/www/udb3-backend'
2122
$secrets = lookup('vault:uitdatabank/udb3-backend')
2223
$mount_target_dns_name = lookup('terraform::efs::mount_target_dns_name', Optional[String], 'first', undef)
2324
$file_default_attributes = {
24-
ensure => 'file',
2525
owner => 'www-data',
2626
group => 'www-data',
2727
require => [Group['www-data'], User['www-data'], Package['uitdatabank-entry-api']],
@@ -49,54 +49,76 @@
4949
}
5050

5151
file { 'uitdatabank-entry-api-config':
52+
ensure => 'file',
5253
path => "${basedir}/config.php",
5354
content => template($config_source),
5455
* => $file_default_attributes
5556
}
5657

5758
file { 'uitdatabank-entry-api-admin-permissions':
59+
ensure => 'file',
5860
path => "${basedir}/config.allow_all.php",
5961
content => template($admin_permissions_source),
6062
* => $file_default_attributes
6163
}
6264

6365
file { 'uitdatabank-entry-api-client-permissions':
66+
ensure => 'file',
6467
path => "${basedir}/config.client_permissions.php",
6568
content => template($client_permissions_source),
6669
* => $file_default_attributes
6770
}
6871

72+
file { 'uitdatabank-entry-api-api-keys-matched-to-client-ids':
73+
ensure => $api_keys_matched_to_client_ids_source ? {
74+
undef => 'absent',
75+
default => 'file'
76+
},
77+
path => "${basedir}/config.api_keys_matched_to_client_ids.php",
78+
content => $api_keys_matched_to_client_ids_source ? {
79+
undef => undef,
80+
default => template($api_keys_matched_to_client_ids_source),
81+
},
82+
* => $file_default_attributes
83+
}
84+
6985
file { 'uitdatabank-entry-api-movie-fetcher-config':
86+
ensure => 'file',
7087
path => "${basedir}/config.kinepolis.php",
7188
content => template($movie_fetcher_config_source),
7289
* => $file_default_attributes
7390
}
7491

7592
file { 'uitdatabank-entry-api-completeness':
93+
ensure => 'file',
7694
path => "${basedir}/config.completeness.php",
7795
content => template($completeness_source),
7896
* => $file_default_attributes
7997
}
8098

8199
file { 'uitdatabank-entry-api-externalid-mapping-organizer':
100+
ensure => 'file',
82101
path => "${basedir}/config.external_id_mapping_organizer.php",
83102
content => template($externalid_mapping_organizer_source),
84103
* => $file_default_attributes
85104
}
86105

87106
file { 'uitdatabank-entry-api-externalid-mapping-place':
107+
ensure => 'file',
88108
path => "${basedir}/config.external_id_mapping_place.php",
89109
content => template($externalid_mapping_place_source),
90110
* => $file_default_attributes
91111
}
92112

93113
file { 'uitdatabank-entry-api-pubkey-uitidv1':
114+
ensure => 'file',
94115
path => "${basedir}/public.pem",
95116
content => template($pubkey_uitidv1_source),
96117
* => $file_default_attributes
97118
}
98119

99120
file { 'uitdatabank-entry-api-pubkey-keycloak':
121+
ensure => 'file',
100122
path => "${basedir}/public-keycloak.pem",
101123
content => template($pubkey_keycloak_source),
102124
* => $file_default_attributes

spec/classes/uitdatabank/entry_api/deployment_spec.rb

Lines changed: 55 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,18 @@
55
context "on #{os}" do
66
let(:facts) { facts }
77

8-
context 'with config_source => appconfig/uitdatabank/udb3-backend/config.php, admin_permissions_source => appconfig/uitdatabank/udb3-backend/config.allow_all.php, client_permissions_source => appconfig/uitdatabank/udb3-backend/config.client_permissions.php, movie_fetcher_config_source => appconfig/uitdatabank/udb3-backend/config.kinepolis.php, completeness_source => appconfig/uitdatabank/udb3-backend/config.completeness.php, externalid_mapping_organizer_source => appconfig/uitdatabank/udb3-backend/config.external_id_mapping_organizer.php, externalid_mapping_place_source => appconfig/uitdatabank/udb3-backend/config.external_id_mapping_place.php, pubkey_uitidv1_source => appconfig/uitdatabank/keys/public.pem and pubkey_keycloak_source => appconfig/uitdatabank/keys/pubkey-keycloak.pem' do
8+
context 'with config_source => appconfig/uitdatabank/udb3-backend/config.php, admin_permissions_source => appconfig/uitdatabank/udb3-backend/config.allow_all.php, client_permissions_source => appconfig/uitdatabank/udb3-backend/config.client_permissions.php, api_keys_matched_to_client_ids_source => config.api_keys_matched_to_client_ids.php, movie_fetcher_config_source => appconfig/uitdatabank/udb3-backend/config.kinepolis.php, completeness_source => appconfig/uitdatabank/udb3-backend/config.completeness.php, externalid_mapping_organizer_source => appconfig/uitdatabank/udb3-backend/config.external_id_mapping_organizer.php, externalid_mapping_place_source => appconfig/uitdatabank/udb3-backend/config.external_id_mapping_place.php, pubkey_uitidv1_source => appconfig/uitdatabank/keys/public.pem and pubkey_keycloak_source => appconfig/uitdatabank/keys/pubkey-keycloak.pem' do
99
let(:params) { {
10-
'config_source' => 'appconfig/uitdatabank/udb3-backend/config.php',
11-
'admin_permissions_source' => 'appconfig/uitdatabank/udb3-backend/config.allow_all.php',
12-
'client_permissions_source' => 'appconfig/uitdatabank/udb3-backend/config.client_permissions.php',
13-
'movie_fetcher_config_source' => 'appconfig/uitdatabank/udb3-backend/config.kinepolis.php',
14-
'completeness_source' => 'appconfig/uitdatabank/udb3-backend/config.completeness.php',
15-
'externalid_mapping_organizer_source' => 'appconfig/uitdatabank/udb3-backend/config.external_id_mapping_organizer.php',
16-
'externalid_mapping_place_source' => 'appconfig/uitdatabank/udb3-backend/config.external_id_mapping_place.php',
17-
'pubkey_uitidv1_source' => 'appconfig/uitdatabank/keys/public.pem',
18-
'pubkey_keycloak_source' => 'appconfig/uitdatabank/keys/pubkey-keycloak.pem'
10+
'config_source' => 'appconfig/uitdatabank/udb3-backend/config.php',
11+
'admin_permissions_source' => 'appconfig/uitdatabank/udb3-backend/config.allow_all.php',
12+
'client_permissions_source' => 'appconfig/uitdatabank/udb3-backend/config.client_permissions.php',
13+
'api_keys_matched_to_client_ids_source' => 'appconfig/uitdatabank/udb3-backend/config.api_keys_matched_to_client_ids.php',
14+
'movie_fetcher_config_source' => 'appconfig/uitdatabank/udb3-backend/config.kinepolis.php',
15+
'completeness_source' => 'appconfig/uitdatabank/udb3-backend/config.completeness.php',
16+
'externalid_mapping_organizer_source' => 'appconfig/uitdatabank/udb3-backend/config.external_id_mapping_organizer.php',
17+
'externalid_mapping_place_source' => 'appconfig/uitdatabank/udb3-backend/config.external_id_mapping_place.php',
18+
'pubkey_uitidv1_source' => 'appconfig/uitdatabank/keys/public.pem',
19+
'pubkey_keycloak_source' => 'appconfig/uitdatabank/keys/pubkey-keycloak.pem'
1920
} }
2021

2122
context 'with hieradata' do
@@ -24,22 +25,23 @@
2425
it { is_expected.to compile.with_all_deps }
2526

2627
it { is_expected.to contain_class('profiles::uitdatabank::entry_api::deployment').with(
27-
'config_source' => 'appconfig/uitdatabank/udb3-backend/config.php',
28-
'admin_permissions_source' => 'appconfig/uitdatabank/udb3-backend/config.allow_all.php',
29-
'client_permissions_source' => 'appconfig/uitdatabank/udb3-backend/config.client_permissions.php',
30-
'movie_fetcher_config_source' => 'appconfig/uitdatabank/udb3-backend/config.kinepolis.php',
31-
'completeness_source' => 'appconfig/uitdatabank/udb3-backend/config.completeness.php',
32-
'externalid_mapping_organizer_source' => 'appconfig/uitdatabank/udb3-backend/config.external_id_mapping_organizer.php',
33-
'externalid_mapping_place_source' => 'appconfig/uitdatabank/udb3-backend/config.external_id_mapping_place.php',
34-
'pubkey_uitidv1_source' => 'appconfig/uitdatabank/keys/public.pem',
35-
'pubkey_keycloak_source' => 'appconfig/uitdatabank/keys/pubkey-keycloak.pem',
36-
'version' => 'latest',
37-
'repository' => 'uitdatabank-entry-api',
38-
'bulk_label_offer_worker' => 'present',
39-
'mail_worker' => 'present',
40-
'amqp_listener_uitpas' => 'present',
41-
'event_export_worker_count' => 1,
42-
'puppetdb_url' => 'http://localhost:8081'
28+
'config_source' => 'appconfig/uitdatabank/udb3-backend/config.php',
29+
'admin_permissions_source' => 'appconfig/uitdatabank/udb3-backend/config.allow_all.php',
30+
'client_permissions_source' => 'appconfig/uitdatabank/udb3-backend/config.client_permissions.php',
31+
'api_keys_matched_to_client_ids_source' => 'appconfig/uitdatabank/udb3-backend/config.api_keys_matched_to_client_ids.php',
32+
'movie_fetcher_config_source' => 'appconfig/uitdatabank/udb3-backend/config.kinepolis.php',
33+
'completeness_source' => 'appconfig/uitdatabank/udb3-backend/config.completeness.php',
34+
'externalid_mapping_organizer_source' => 'appconfig/uitdatabank/udb3-backend/config.external_id_mapping_organizer.php',
35+
'externalid_mapping_place_source' => 'appconfig/uitdatabank/udb3-backend/config.external_id_mapping_place.php',
36+
'pubkey_uitidv1_source' => 'appconfig/uitdatabank/keys/public.pem',
37+
'pubkey_keycloak_source' => 'appconfig/uitdatabank/keys/pubkey-keycloak.pem',
38+
'version' => 'latest',
39+
'repository' => 'uitdatabank-entry-api',
40+
'bulk_label_offer_worker' => 'present',
41+
'mail_worker' => 'present',
42+
'amqp_listener_uitpas' => 'present',
43+
'event_export_worker_count' => 1,
44+
'puppetdb_url' => 'http://localhost:8081'
4345
) }
4446

4547
it { is_expected.to contain_apt__source('uitdatabank-entry-api') }
@@ -74,6 +76,14 @@
7476
'content' => ''
7577
) }
7678

79+
it { is_expected.to contain_file('uitdatabank-entry-api-api-keys-matched-to-client-ids').with(
80+
'ensure' => 'file',
81+
'path' => '/var/www/udb3-backend/config.api_keys_matched_to_client_ids.php',
82+
'owner' => 'www-data',
83+
'group' => 'www-data',
84+
'content' => ''
85+
) }
86+
7787
it { is_expected.to contain_file('uitdatabank-entry-api-movie-fetcher-config').with(
7888
'ensure' => 'file',
7989
'path' => '/var/www/udb3-backend/config.kinepolis.php',
@@ -181,6 +191,10 @@
181191
it { is_expected.to contain_file('uitdatabank-entry-api-client-permissions').that_requires('User[www-data]') }
182192
it { is_expected.to contain_file('uitdatabank-entry-api-client-permissions').that_requires('Package[uitdatabank-entry-api]') }
183193
it { is_expected.to contain_file('uitdatabank-entry-api-client-permissions').that_notifies('Service[uitdatabank-entry-api]') }
194+
it { is_expected.to contain_file('uitdatabank-entry-api-api-keys-matched-to-client-ids').that_requires('Group[www-data]') }
195+
it { is_expected.to contain_file('uitdatabank-entry-api-api-keys-matched-to-client-ids').that_requires('User[www-data]') }
196+
it { is_expected.to contain_file('uitdatabank-entry-api-api-keys-matched-to-client-ids').that_requires('Package[uitdatabank-entry-api]') }
197+
it { is_expected.to contain_file('uitdatabank-entry-api-api-keys-matched-to-client-ids').that_notifies('Service[uitdatabank-entry-api]') }
184198
it { is_expected.to contain_file('uitdatabank-entry-api-movie-fetcher-config').that_requires('Group[www-data]') }
185199
it { is_expected.to contain_file('uitdatabank-entry-api-movie-fetcher-config').that_requires('User[www-data]') }
186200
it { is_expected.to contain_file('uitdatabank-entry-api-movie-fetcher-config').that_requires('Package[uitdatabank-entry-api]') }
@@ -286,17 +300,18 @@
286300
end
287301
end
288302

289-
context 'with config_source => appconfig/uitdatabank/udb3-backend/my.config.php, admin_permissions_source => appconfig/uitdatabank/udb3-backend/config.my.allow_all.php, client_permissions_source => appconfig/uitdatabank/udb3-backend/config.my.client_permissions.php, movie_fetcher_config_source => appconfig/uitdatabank/udb3-backend/config.my.kinepolis.php, completeness_source => appconfig/uitdatabank/udb3-backend/config.my.completeness.php, externalid_mapping_organizer_source => appconfig/uitdatabank/udb3-backend/config.my.external_id_mapping_organizer.php, externalid_mapping_place_source => appconfig/uitdatabank/udb3-backend/config.my.external_id_mapping_place.php, pubkey_uitidv1_source => appconfig/uitdatabank/keys/my_public_key.pem and pubkey_keycloak_source => appconfig/uitdatabank/keys/mypubkey-keycloak.pem' do
303+
context 'with config_source => appconfig/uitdatabank/udb3-backend/my.config.php, admin_permissions_source => appconfig/uitdatabank/udb3-backend/config.my.allow_all.php, client_permissions_source => appconfig/uitdatabank/udb3-backend/config.my.client_permissions.php, api_keys_matched_to_client_ids_source => config.my.api_keys_matched_to_client_ids.php, movie_fetcher_config_source => appconfig/uitdatabank/udb3-backend/config.my.kinepolis.php, completeness_source => appconfig/uitdatabank/udb3-backend/config.my.completeness.php, externalid_mapping_organizer_source => appconfig/uitdatabank/udb3-backend/config.my.external_id_mapping_organizer.php, externalid_mapping_place_source => appconfig/uitdatabank/udb3-backend/config.my.external_id_mapping_place.php, pubkey_uitidv1_source => appconfig/uitdatabank/keys/my_public_key.pem and pubkey_keycloak_source => appconfig/uitdatabank/keys/mypubkey-keycloak.pem' do
290304
let(:params) { {
291-
'config_source' => 'appconfig/uitdatabank/udb3-backend/my.config.php',
292-
'admin_permissions_source' => 'appconfig/uitdatabank/udb3-backend/config.my.allow_all.php',
293-
'client_permissions_source' => 'appconfig/uitdatabank/udb3-backend/config.my.client_permissions.php',
294-
'movie_fetcher_config_source' => 'appconfig/uitdatabank/udb3-backend/config.my.kinepolis.php',
295-
'completeness_source' => 'appconfig/uitdatabank/udb3-backend/config.my.completeness.php',
296-
'externalid_mapping_organizer_source' => 'appconfig/uitdatabank/udb3-backend/config.my.external_id_mapping_organizer.php',
297-
'externalid_mapping_place_source' => 'appconfig/uitdatabank/udb3-backend/config.my.external_id_mapping_place.php',
298-
'pubkey_uitidv1_source' => 'appconfig/uitdatabank/keys/my_public_key.pem',
299-
'pubkey_keycloak_source' => 'appconfig/uitdatabank/keys/mypubkey-keycloak.pem'
305+
'config_source' => 'appconfig/uitdatabank/udb3-backend/my.config.php',
306+
'admin_permissions_source' => 'appconfig/uitdatabank/udb3-backend/config.my.allow_all.php',
307+
'client_permissions_source' => 'appconfig/uitdatabank/udb3-backend/config.my.client_permissions.php',
308+
'api_keys_matched_to_client_ids_source' => 'appconfig/uitdatabank/udb3-backend/config.my.api_keys_matched_to_client_ids.php',
309+
'movie_fetcher_config_source' => 'appconfig/uitdatabank/udb3-backend/config.my.kinepolis.php',
310+
'completeness_source' => 'appconfig/uitdatabank/udb3-backend/config.my.completeness.php',
311+
'externalid_mapping_organizer_source' => 'appconfig/uitdatabank/udb3-backend/config.my.external_id_mapping_organizer.php',
312+
'externalid_mapping_place_source' => 'appconfig/uitdatabank/udb3-backend/config.my.external_id_mapping_place.php',
313+
'pubkey_uitidv1_source' => 'appconfig/uitdatabank/keys/my_public_key.pem',
314+
'pubkey_keycloak_source' => 'appconfig/uitdatabank/keys/mypubkey-keycloak.pem'
300315
} }
301316

302317
context 'with hieradata' do
@@ -314,6 +329,10 @@
314329
'content' => "bar\n"
315330
) }
316331

332+
it { is_expected.to contain_file('uitdatabank-entry-api-api-keys-matched-to-client-ids').with(
333+
'content' => "akci\n"
334+
) }
335+
317336
it { is_expected.to contain_file('uitdatabank-entry-api-movie-fetcher-config').with(
318337
'content' => ''
319338
) }

spec/support/appconfig/templates/uitdatabank/udb3-backend/config.api_keys_matched_to_client_ids.php

Whitespace-only changes.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
akci

0 commit comments

Comments
 (0)