#860 closed feature request (done)
Deployment server for plugin installation from web locations
Reported by: | gkronber | Owned by: | gkronber |
---|---|---|---|
Priority: | highest | Milestone: | HeuristicLab 3.3.0 |
Component: | Services.Deployment | Version: | 3.2 |
Keywords: | Cc: |
Description
Change History (22)
comment:1 Changed 15 years ago by gkronber
- Status changed from new to assigned
comment:2 Changed 15 years ago by gkronber
comment:3 Changed 15 years ago by gkronber
Set svn properties with r2743.
comment:4 Changed 15 years ago by gkronber
- Worked on deployment server.
- Fixed DB-schema.
- Implemented all test-cases.
comment:5 Changed 15 years ago by gkronber
Added script to create database for deployment service with r2767.
comment:6 Changed 15 years ago by gkronber
Implemented and tested rudimentary WCF service interface on top of the Linq2Sql data access layer with r2771.
comment:7 Changed 15 years ago by gkronber
Refreshed service reference in plugin infrastructure with r2783.
comment:8 Changed 15 years ago by gkronber
Worked on administration front-end for deployment service with r2802.
comment:9 Changed 15 years ago by gkronber
Worked on administration front-end for deployment service with r2804.
comment:10 Changed 15 years ago by gkronber
Fixed service references in plugin infrastructure with r2811.
comment:11 Changed 15 years ago by gkronber
changed proxy generation script to merge service binding definitions into app.config of plugin infrastructure with r2812.
comment:12 Changed 15 years ago by gkronber
Updated service reference with r2814.
comment:13 Changed 15 years ago by gkronber
Added contact info and license text to plugin descriptions with r2815.
comment:14 Changed 15 years ago by gkronber
- Worked on plugin deployment GUI.
- Added contact info and license text to DB schema.
comment:15 Changed 15 years ago by gkronber
- replaced column ContactInformation with ContactName and ContactEmail in DB-schema and updated WCF deployment service
- regenerated proxy classes
- made PluginDescription from data contract implement IPluginDescription from plugin infrastructure
- updated GUI on request by swagner (icons)
- fixed problems in the upload plugins control.
comment:16 Changed 15 years ago by gkronber
Setup of the HeuristicLab Deployment Service: http://wcfsecurity.codeplex.com/wikipage?title=Internet%20%u2013%20Windows%20Forms%20Client%20Calling%20WCF%20Using%20Message%20Security&referringTitle=Application%20Scenarios
comment:17 follow-up: ↓ 18 Changed 15 years ago by gkronber
Necessary additional steps:
- Create a self-signed certificate for the web server.
- Allow access of the net application user to the private key (file system read access to private key file. Use FindPrivateKey tool from Microsoft (http://msdn.microsoft.com/en-us/library/aa717039.aspx)
- Make public key available at client (either install into certificate store or use embedded resource in client code)
comment:18 in reply to: ↑ 17 Changed 15 years ago by gkronber
Replying to gkronber:
Necessary additional steps:
- Create a self-signed certificate for the web server.
This is not possible from within IIS7 because the common name will by the machine name and for WCF the common name has to match the domain name. Create a certificate including private key with makecert.exe and include capability for key exchange (option -sky exchange. Use pvk2pfx to translate into *.pfx file and install on the server (via IIS Configuration 'Server Certificates'). Don't forget to add the self signed certificate to the trusted certificates.
makecert -r -pe -n CN=services.heuristiclab.com -sky exchange services.heursiticlab.com.cer -sv services.heuristiclab.com.pvk pvk2pfx -pvk services.heuristiclab.com.pvk -spc services.heursiticlab.com.cer
- Make public key available at client (either install into certificate store or use embedded resource in client code)
The preferred way is to add it as an embedded resource and set the certificate programmatically:
var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("servdev.cer"); serverCrtData = new byte[stream.Length]; stream.Read(serverCrtData, 0, serverCrtData.Length); var client = new UpdateClient(); client.ClientCredentials.UserName.UserName = <username>; client.ClientCredentials.UserName.Password = <password>; client.Endpoint.Address = new EndpointAddress(<address>); client.ClientCredentials.ServiceCertificate.DefaultCertificate = new X509Certificate2(serverCrtData); // otherwise the service certificate has to be added to the client certificate store client.ClientCredentials.ServiceCertificate.Authentication.CertificateValidationMode = System.ServiceModel.Security.X509CertificateValidationMode.None; return client; }
comment:19 Changed 15 years ago by gkronber
- Implemented deployment service on servdev.heuristiclab.com and changed all service references and configurations to point to the service address.
- Improved GUI of installation manager.
- Implemented user name authentication and authorization for the deployment service.
comment:20 Changed 15 years ago by gkronber
- Resolution set to fixed
- Status changed from assigned to closed
Deployment service is up and running on servdev. Further changes should be tracked in more specific tickets.
comment:21 Changed 14 years ago by swagner
- Milestone changed from Iteration 4 to Current
Milestone Iteration 4 deleted
comment:11 Changed 14 years ago by swagner
- Milestone changed from Current to HeuristicLab 3.3.0
Milestone Current deleted
Worked on prototype of plugin deployment service with r2742.