1 | #!/usr/bin/env python |
---|
2 | """Distribution Utilities setup program for NDG Security Server Package |
---|
3 | |
---|
4 | NERC Data Grid Project |
---|
5 | """ |
---|
6 | __author__ = "P J Kershaw" |
---|
7 | __date__ = "24/04/06" |
---|
8 | __copyright__ = "(C) 2009 Science and Technology Facilities Council" |
---|
9 | __license__ = "BSD - see LICENSE file in top-level directory" |
---|
10 | __contact__ = "Philip.Kershaw@stfc.ac.uk" |
---|
11 | __revision__ = '$Id$' |
---|
12 | |
---|
13 | # Bootstrap setuptools if necessary. |
---|
14 | from ez_setup import use_setuptools |
---|
15 | use_setuptools() |
---|
16 | |
---|
17 | from setuptools import setup, find_packages |
---|
18 | |
---|
19 | import os |
---|
20 | |
---|
21 | # Other packages needed by this server package |
---|
22 | _pkgDependencies = [ |
---|
23 | 'ndg_security_common', |
---|
24 | 'Paste', |
---|
25 | 'AuthKit==0.4.3rc3_ndg_r174', |
---|
26 | 'MyProxyClient' |
---|
27 | ] |
---|
28 | |
---|
29 | _entryPoints = """ |
---|
30 | [console_scripts] |
---|
31 | myproxy-saml-assertion-cert-ext-app=ndg.security.server.myproxy.certificate_extapp.saml_attribute_assertion:CertExtConsoleApp.run |
---|
32 | |
---|
33 | [paste.app_factory] |
---|
34 | main=ndg.security.server.pylons.container.config.middleware:make_app |
---|
35 | [paste.app_install] |
---|
36 | main=pylons.util:PylonsInstaller |
---|
37 | [paste.paster_create_template] |
---|
38 | ndgsecurity_services=ndg.security.server.paster_templates.template:DefaultDeploymentTemplate |
---|
39 | ndgsecurity_services_with_sso=ndg.security.server.paster_templates.template:FullDeploymentTemplate |
---|
40 | """ |
---|
41 | |
---|
42 | _longDescription = """\ |
---|
43 | NDG Security is the security system for the UK Natural Environment Research |
---|
44 | Council funded NERC DataGrid. NDG Security has been developed to |
---|
45 | provide users with seamless access to secured resources across NDG |
---|
46 | participating organisations whilst at the same time providing an underlying |
---|
47 | system which is easy to deploy around organisation's pre-existing systems. |
---|
48 | NDG Security is designed around a Role Based Access Control mechanism. Cross |
---|
49 | organisational access to resources is enabled through bilateral trust |
---|
50 | agreements between participating organisations expressed through a system for |
---|
51 | single sign and role mapping. |
---|
52 | |
---|
53 | NDG Security employs a web services based architecture enabling different |
---|
54 | combinations of components to be deployed according to a participating site's |
---|
55 | needs and requirements. Resources are secured using a system of Policy |
---|
56 | Enforcement Point (Gatekeeper) and Policy Decision Point components. An |
---|
57 | Attribute Authority provides a service to query a given users attributes used |
---|
58 | for gaining access to resources. Session Manager and MyProxy services can be |
---|
59 | used for management of credentials. NDG Security supports OpenID for Single |
---|
60 | Sign On and can integrate into both web based and non-web based application |
---|
61 | client interfaces. |
---|
62 | """ |
---|
63 | |
---|
64 | setup( |
---|
65 | name = 'ndg_security_server', |
---|
66 | version = '1.4', |
---|
67 | description = 'Server side components for running NERC DataGrid ' |
---|
68 | 'Security Services', |
---|
69 | long_description = _longDescription, |
---|
70 | author = 'Philip Kershaw', |
---|
71 | author_email = 'Philip.Kershaw@stfc.ac.uk', |
---|
72 | maintainer = 'Philip Kershaw', |
---|
73 | maintainer_email = 'Philip.Kershaw@stfc.ac.uk', |
---|
74 | url = 'http://proj.badc.rl.ac.uk/ndg/wiki/Security', |
---|
75 | license = 'BSD - See LICENCE file for details', |
---|
76 | install_requires = _pkgDependencies, |
---|
77 | |
---|
78 | # Set ndg.security.common dependency |
---|
79 | dependency_links = ["http://ndg.nerc.ac.uk/dist"], |
---|
80 | packages = find_packages(), |
---|
81 | namespace_packages = ['ndg', 'ndg.security'], |
---|
82 | include_package_data = True, |
---|
83 | package_data = { |
---|
84 | 'ndg.security.server.sso.sso': [ |
---|
85 | 'i18n/*/LC_MESSAGES/*.mo' |
---|
86 | ], |
---|
87 | 'ndg.security.server.conf': [ |
---|
88 | '*.xml', '*.py', '*.cfg', '*.conf' |
---|
89 | ], |
---|
90 | 'ndg.security.server.share': ['*'], |
---|
91 | 'ndg.security.server.sso': ['*.ini', '*.cfg', '*.txt'], |
---|
92 | 'ndg.security.server.sso.sso': ['public/*.*', 'public/layout/*.*'], |
---|
93 | 'ndg.security.server.sso.sso.badc_site': [ |
---|
94 | 'public/*.*', |
---|
95 | 'public/layout/*.*', |
---|
96 | 'public/layout/logos/*.*', |
---|
97 | 'public/layout/styles/*.*', |
---|
98 | 'public/layout/tabs/*.*' |
---|
99 | ], |
---|
100 | 'ndg.security.server.sso.sso.templates.ndg.security': ['*.kid'], |
---|
101 | 'ndg.security.server.sso.sso.badc_site.templates.ndg.security': ['*.kid'], |
---|
102 | 'ndg.security.server.pylons': ['*.ini', '*.cfg', '*.txt'], |
---|
103 | 'ndg.security.server.pylons.container': [ |
---|
104 | 'public/*.*', |
---|
105 | 'public/layout/*.*', |
---|
106 | 'public/js/*.*', |
---|
107 | 'public/js/img/*.*', |
---|
108 | 'public/js/theme/*.*', |
---|
109 | 'public/js/yui/*.*'], |
---|
110 | 'ndg.security.server.pylons.container.templates.ndg.security': [ |
---|
111 | '*.kid' |
---|
112 | ], |
---|
113 | # See MANIFEST.in for ndg.security.server.paster_templates files |
---|
114 | }, |
---|
115 | entry_points = _entryPoints, |
---|
116 | test_suite = 'ndg.security.test', |
---|
117 | zip_safe = False |
---|
118 | ) |
---|