├── .dockerignore ├── .editorconfig ├── .gitattributes ├── .gitignore ├── CONTRIBUTING.md ├── CONTRIBUTORS ├── IMGLicense.md ├── Imagination.DeviceServer.sln ├── Nix-VM-install.sh ├── NuGet.Config ├── README.md ├── Vagrantfile ├── ansible ├── install.sh ├── inventory │ └── hosts ├── playbook.yml └── roles │ ├── _template_role │ ├── files │ │ └── readme.md │ ├── handlers │ │ └── readme.md │ ├── meta │ │ ├── main.yml │ │ └── readme.md │ ├── tasks │ │ ├── main.yml │ │ └── readme.md │ ├── templates │ │ └── readme.md │ └── vars │ │ ├── main.yml │ │ └── readme.md │ ├── docker-compose │ ├── docker-compose.yml │ ├── files │ │ └── readme.md │ ├── handlers │ │ └── readme.md │ ├── meta │ │ ├── main.yml │ │ └── readme.md │ ├── tasks │ │ ├── main.yml │ │ └── readme.md │ ├── templates │ │ └── readme.md │ └── vars │ │ ├── CentOS.yml │ │ ├── default.yml │ │ ├── main.yml │ │ └── readme.md │ └── docker-engine │ ├── docker-engine.yml │ ├── files │ └── readme.md │ ├── handlers │ └── readme.md │ ├── meta │ ├── main.yml │ └── readme.md │ ├── tasks │ ├── main.yml │ └── readme.md │ ├── templates │ └── readme.md │ ├── tests │ ├── inventory │ └── test.yml │ └── vars │ ├── CentOS-6.yml │ ├── CentOS-7.yml │ ├── Ubuntu-12.04.yml │ ├── Ubuntu-14.04.yml │ ├── Ubuntu-14.10.yml │ ├── Ubuntu-15.04.yml │ ├── Ubuntu-15.10.yml │ ├── Ubuntu-16.04.yml │ ├── defaults.yml │ ├── main.yml │ └── readme.md ├── appsettings.env ├── build ├── Makefile ├── docker │ ├── Makefile │ ├── alpine-glibc │ │ └── Dockerfile │ ├── alpine-mono │ │ ├── Dockerfile │ │ ├── Dockerfile.libuv-build │ │ └── Makefile │ ├── dotnet-mono-base │ │ ├── Dockerfile │ │ └── key.txt │ ├── ds-mono-lwm2m-bootstrap │ │ └── Dockerfile │ ├── ds-mono-lwm2m-server │ │ └── Dockerfile │ ├── ds-mono-service-changenotification │ │ └── Dockerfile │ ├── ds-mono-service-subscription │ │ └── Dockerfile │ ├── ds-mono-service-webhook │ │ └── Dockerfile │ ├── ds-mono-webservice-deviceserver │ │ └── Dockerfile │ └── ubuntu-mono │ │ └── Dockerfile └── scripts │ ├── build_source.sh │ ├── nuget_pack.sh │ ├── nuget_push.sh │ └── service_publish.sh ├── ci ├── deviceserver-wait.sh └── run-tests.sh ├── doc ├── Attribution.md ├── DSRESTindex.md ├── Licenses │ └── IMGLicense.md ├── ResponseOptimization.md ├── Vagrant.md ├── authentication.md ├── coding_style.md ├── commonDeviceServerOperations.md ├── devServer.md ├── devServerInstallation.md ├── devauth.md ├── furtherExamples.md ├── images │ ├── .gitkeep │ ├── Awa_LWM2M_device_server_positioning.png │ ├── Awa_LWM2M_device_server_positioning_150dpi.png │ ├── Awa_application_overview.png │ ├── Bootstrap_server_process_descriptions.png │ ├── Bootstrap_server_process_descriptions_100dpi.png │ ├── Bootstrap_server_process_descriptions_with_management_layer_100dpi.png │ ├── Bootstrap_server_process_with_management_layer.png │ ├── CreatorDev_IoT_framework_device_server_overview.png │ ├── CreatorDev_IoT_framework_device_server_overview_100dpi.png │ ├── Device_server_process_descriptions.png │ ├── Device_server_process_descriptions_100dpi.png │ ├── Device_server_process_descriptions_subscribe.png │ ├── Device_server_process_descriptions_subscribe_100dpi.png │ └── img.png ├── img.png ├── index.md ├── lwm2mOverview.md ├── metrics.md ├── packageVersions.md ├── rebasing_info.md ├── subscribingToObservations.md ├── tasks.md └── userGuide.md ├── docker-compose.yml ├── docker ├── Dockerfile.DeviceServerBuild ├── Dockerfile.DeviceServerTest ├── Dockerfile.base ├── Vagrantfile ├── ds │ ├── .gitignore │ ├── int │ │ ├── .gitignore │ │ ├── index.txt │ │ └── serial │ ├── intermediate.cnf │ ├── root.cnf │ └── root │ │ ├── .gitignore │ │ ├── index.txt │ │ └── serial ├── fabio │ └── fabio.properties ├── nginx.conf └── ssl │ └── .gitignore ├── global.json ├── launch_all.bat ├── quickstart.sh ├── scripts ├── ObjectDefinitions.json ├── ObjectDefinitions.xml └── register-definitions.sh ├── src ├── Imagination.Common │ ├── BusinessLogic │ │ └── ServiceMessages.cs │ ├── Configuration │ │ └── ServiceConfiguration.cs │ ├── DataAccess │ │ ├── DALChangeNotification.cs │ │ ├── DALMongoBase.cs │ │ ├── NotificationEventArgs.cs │ │ └── RabbitMQ │ │ │ ├── DALRabbitMQ.cs │ │ │ ├── MessageFormatter.cs │ │ │ ├── RabbitMQConnection.cs │ │ │ └── RabbitMQSubscription.cs │ ├── Exceptions │ │ ├── BadRequestException.cs │ │ ├── ConflictException.cs │ │ ├── DeadlockException.cs │ │ └── NoLongerAvailableException.cs │ ├── Imagination.Common.xproj │ ├── Model │ │ ├── ModelBase.cs │ │ ├── OrganisationIdentity.cs │ │ ├── ServiceEventMessage.cs │ │ ├── TAccessRight.cs │ │ ├── TDBAccessPermission.cs │ │ ├── TMessagePublishMode.cs │ │ └── TObjectState.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── Utilities │ │ ├── ApplicationEventLog.cs │ │ ├── Base32Encoder.cs │ │ ├── BsonHelper.cs │ │ ├── GenericCache.cs │ │ ├── JsonReader.cs │ │ ├── JsonWriter.cs │ │ ├── NetworkByteOrderConverter.cs │ │ ├── PlatformHelper.cs │ │ ├── ReaderWriterSpinLock.cs │ │ ├── Security.cs │ │ ├── Singleton.cs │ │ ├── StringUtils.cs │ │ ├── TJsonReaderState.cs │ │ ├── VersionsHelper.cs │ │ ├── XmlHelper.cs │ │ └── ZBase32Encoder.cs │ └── project.json ├── Imagination.LWM2M.Bootstrap │ ├── BootstrapServer.cs │ ├── BusinessLogic │ │ ├── BusinessLogicFactory.cs │ │ ├── Clients.cs │ │ ├── Identities.cs │ │ └── Servers.cs │ ├── DataAccess │ │ ├── DataAccessFactory.cs │ │ └── MongoDB │ │ │ └── DALServers.cs │ ├── Imagination.LWM2M.Bootstrap.xproj │ ├── Interfaces │ │ └── IDALServers.cs │ ├── Model │ │ ├── Client.cs │ │ ├── Security.cs │ │ ├── Server.cs │ │ ├── TSMSSecurityMode.cs │ │ └── TSecurityMode.cs │ ├── PSKIdentities.xml │ ├── Program.cs │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ └── launchSettings.json │ ├── appsettings.json │ └── project.json ├── Imagination.LWM2M.Common │ ├── DataAccess │ │ ├── DALLWM2MServers.cs │ │ ├── MongoDB │ │ │ ├── DALClients.cs │ │ │ ├── DALIdentities.cs │ │ │ ├── DALObjectDefinitions.cs │ │ │ └── DALSubscriptions.cs │ │ └── NativeIPCClient.cs │ ├── FlowChannel.cs │ ├── FlowSecureChannel.cs │ ├── ITlvSerialisable.cs │ ├── Imagination.LWM2M.Common.xproj │ ├── Interfaces │ │ ├── IDALBlacklistedClients.cs │ │ ├── IDALClients.cs │ │ ├── IDALIdentities.cs │ │ ├── IDALLWM2MServers.cs │ │ ├── IDALObjectDefinitions.cs │ │ ├── IDALSubscriptions.cs │ │ └── ILWM2MServerService.cs │ ├── MetricNames.cs │ ├── Model │ │ ├── Client.cs │ │ ├── DeviceConnectedStatus.cs │ │ ├── LWM2MServer.cs │ │ ├── TBindingMode.cs │ │ └── TDataFormat.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── QueueNames.cs │ ├── RouteKeys.cs │ ├── TLV │ │ ├── TTlvTypeIdentifier.cs │ │ ├── TlvConstant.cs │ │ ├── TlvReader.cs │ │ ├── TlvRecord.cs │ │ └── TlvWriter.cs │ └── project.json ├── Imagination.LWM2M.Server │ ├── BusinessLogic │ │ ├── BusinessLogicFactory.cs │ │ ├── Clients.cs │ │ ├── Events.cs │ │ └── Identities.cs │ ├── DataAccess │ │ └── DataAccessFactory.cs │ ├── Imagination.LWM2M.Server.xproj │ ├── Model │ │ ├── Client.cs │ │ └── ClientMetrics.cs │ ├── NativeIPCServer.cs │ ├── ObjectUtils.cs │ ├── PSKIdentities.xml │ ├── Program.cs │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ └── launchSettings.json │ ├── Server.cs │ ├── ServerAPI.cs │ ├── appsettings.json │ └── project.json ├── Imagination.Model │ ├── Configuration │ │ ├── BootstrapServer.cs │ │ ├── Certificate.cs │ │ ├── PSKIdentity.cs │ │ └── TCertificateFormat.cs │ ├── IPCHelper.cs │ ├── IPCRequest.cs │ ├── Imagination.Model.xproj │ ├── Metrics │ │ ├── ClientMetric.cs │ │ ├── MetricBase.cs │ │ └── OrganisationMetric.cs │ ├── ObjectDefinitions │ │ ├── ObjectDefinition.cs │ │ ├── ObjectDefinitionLookups.cs │ │ ├── PropertyDefinition.cs │ │ └── TPropertyDataType.cs │ ├── Objects │ │ ├── Object.cs │ │ ├── ObjectType.cs │ │ ├── ObjectTypes.cs │ │ ├── Property.cs │ │ └── PropertyValue.cs │ ├── Organisations │ │ └── AccessKey.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── Subscriptions │ │ ├── NotificationParameters.cs │ │ ├── Subscription.cs │ │ └── TSubscriptionType.cs │ └── project.json ├── Imagination.Service.ChangeNotification │ ├── BusinessLogic │ │ ├── BusinessLogicFactory.cs │ │ └── NotificationOrchestrator.cs │ ├── Imagination.Service.ChangeNotification.xproj │ ├── Model │ │ ├── NotificationTcpClient.cs │ │ └── TNotificationState.cs │ ├── Program.cs │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ └── launchSettings.json │ ├── Service │ │ └── NotificationTcpServer.cs │ ├── TTracePriority.cs │ ├── Trace.cs │ ├── appsettings.json │ └── project.json ├── Imagination.Service.Common │ ├── Extensions │ │ ├── LinkExtensions.cs │ │ ├── PageInfoExtensions.cs │ │ ├── RequestExtensionsBase.cs │ │ └── TypeExtensions.cs │ ├── Imagination.Service.Common.xproj │ ├── ServiceModels │ │ ├── CollectionBase.cs │ │ ├── ContentTypeAttribute.cs │ │ ├── Link.cs │ │ ├── LinkableResource.cs │ │ ├── ObjectDefinition.cs │ │ ├── ObjectDefinitions.cs │ │ ├── ObjectInstance.cs │ │ ├── ObjectInstances.cs │ │ ├── ObjectType.cs │ │ ├── ObjectTypes.cs │ │ ├── PageInfo.cs │ │ └── PropertyDefinition.cs │ └── project.json ├── Imagination.Service.Subscription │ ├── BusinessLogic │ │ ├── BusinessLogicFactory.cs │ │ └── Subscriptions.cs │ ├── DataAccess │ │ └── DataAccessFactory.cs │ ├── Imagination.Service.Subscription.xproj │ ├── Program.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── appsettings.json │ └── project.json ├── Imagination.Service.Webhook │ ├── BusinessLogic │ │ ├── BusinessLogicFactory.cs │ │ └── Subscriptions.cs │ ├── DataAccess │ │ └── DataAccessFactory.cs │ ├── Imagination.Service.Webhook.xproj │ ├── Models │ │ └── WebhookNotification.cs │ ├── Program.cs │ ├── ServiceModels │ │ └── WebhookNotification.cs │ ├── Utilities │ │ ├── HttpMethod.cs │ │ └── RESTClient.cs │ ├── appsettings.json │ └── project.json ├── Imagination.WebService.Common │ ├── Controllers │ │ ├── ContentTypeConstraint.cs │ │ └── ContentTypeRouteAttribute.cs │ ├── ExceptionResultFilterAttribute.cs │ ├── Extensions │ │ ├── LinkExtensions.cs │ │ └── RequestExtensions.cs │ ├── Formatters │ │ ├── MediaTypeJsonInputFormatter.cs │ │ ├── MediaTypeJsonOutputFormatter.cs │ │ ├── MediaTypeXmlSerializerInputFormatter.cs │ │ └── MediaTypeXmlSerializerOutputFormatter.cs │ ├── Imagination.WebService.Common.xproj │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── Security │ │ ├── MonoFriendlyCryptoProviderFactory.cs │ │ ├── OrganisationSecurityExtensions.cs │ │ └── OrganisationSecurityTokenHandler.cs │ ├── ServiceModels │ │ ├── ErrorResponse.cs │ │ ├── OAuthToken.cs │ │ ├── OAuthTokenRequest.cs │ │ ├── ResourceCreated.cs │ │ ├── ResourcesCreated.cs │ │ ├── TResponseFormat.cs │ │ ├── VersionComponent.cs │ │ └── Versions.cs │ └── project.json └── Imagination.WebService.DeviceServer │ ├── BusinessLogic │ ├── AccessKeys.cs │ ├── BusinessLogicFactory.cs │ ├── Clients.cs │ ├── Configuration.cs │ ├── Identities.cs │ ├── Metrics.cs │ ├── ObjectDefinitions.cs │ └── Subscriptions.cs │ ├── Controllers │ ├── APIEntryController.cs │ ├── AccessKeysController.cs │ ├── AuthenticationController.cs │ ├── ClientsController.cs │ ├── ConfigurationController.cs │ ├── IdentitiesController.cs │ ├── MetricsController.cs │ ├── ObjectDefinitionsController.cs │ ├── SubscriptionsController.cs │ └── VersionsController.cs │ ├── DataAccess │ ├── DataAccessFactory.cs │ └── MongoDB │ │ ├── DALAccessKeys.cs │ │ ├── DALConfiguration.cs │ │ └── DALMetrics.cs │ ├── Documentation │ ├── MethodDocumentationAttribute.cs │ ├── NamedParameterDocumentationAttribute.cs │ ├── RouteDocumentationAttribute.cs │ └── TNamedParameterType.cs │ ├── Imagination.WebService.DeviceServer.xproj │ ├── Interfaces │ ├── IDALAccessKeys.cs │ ├── IDALConfiguration.cs │ └── IDALMetrics.cs │ ├── Program.cs │ ├── Properties │ └── launchSettings.json │ ├── ServiceModels │ ├── APIEntryPoint.cs │ ├── AccessKey.cs │ ├── AccessKeys.cs │ ├── Bootstrap.cs │ ├── Certificate.cs │ ├── Certificates.cs │ ├── Client.cs │ ├── Clients.cs │ ├── Configuration.cs │ ├── Identities.cs │ ├── Metric.cs │ ├── Metrics.cs │ ├── PSKIdentities.cs │ ├── PSKIdentity.cs │ ├── Subscription.cs │ └── Subscriptions.cs │ ├── Startup.cs │ ├── appsettings.json │ ├── project.json │ └── wwwroot │ └── web.config ├── test.json ├── test ├── DeviceServerTests │ ├── DeviceServerTests.xproj │ ├── Extensions │ │ └── HttpClientExtensions.cs │ ├── Fixtures │ │ ├── DeviceServerClientFixture.cs │ │ ├── LWM2MTestClientFixture.cs │ │ └── TestWebAppFixture.cs │ ├── FunctionalTests │ │ ├── APIEntryPointTests.cs │ │ ├── AuthenticationTests.cs │ │ ├── InstancesTests.cs │ │ ├── SubscriptionTests.cs │ │ └── VersionsTests.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── Utilities │ │ └── TestConfiguration.cs │ ├── project.json │ ├── testconfig.json │ └── xunit.runner.json ├── LWM2MTestClient │ ├── Client.cs │ ├── Commands │ │ ├── BootstrapCommand.cs │ │ ├── CertificateFileCommand.cs │ │ ├── Command.cs │ │ ├── ConnectCommand.cs │ │ ├── DisplayResourceCommand.cs │ │ ├── EchoCommand.cs │ │ ├── FCAPCommand.cs │ │ ├── HelpCommand.cs │ │ ├── PSKCommand.cs │ │ ├── SaveCommand.cs │ │ └── SetResourceCommand.cs │ ├── FlowClientChannel.cs │ ├── FlowClientSecureChannel.cs │ ├── LWM2MTestClient.xproj │ ├── Program.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── Resources │ │ ├── Base │ │ │ ├── BooleanResource.cs │ │ │ ├── BooleanResources.cs │ │ │ ├── ChildCreatedEventArgs.cs │ │ │ ├── DateTimeResource.cs │ │ │ ├── DateTimeResources.cs │ │ │ ├── ExecuteResource.cs │ │ │ ├── FloatResource.cs │ │ │ ├── FloatResources.cs │ │ │ ├── IntegerResource.cs │ │ │ ├── IntegerResources.cs │ │ │ ├── LWM2MResource.cs │ │ │ ├── LWM2MResources.cs │ │ │ ├── OpaqueResource.cs │ │ │ ├── OpaqueResources.cs │ │ │ ├── StringResource.cs │ │ │ └── StringResources.cs │ │ ├── BootsrapCompleteResource.cs │ │ ├── ConnectivityMonitoringResource.cs │ │ ├── ConnectivityMonitoringResources.cs │ │ ├── ConnectivityStatisticsResource.cs │ │ ├── ConnectivityStatisticsResources.cs │ │ ├── DeviceCapabilityResource.cs │ │ ├── DeviceCapabilityResources.cs │ │ ├── DeviceResource.cs │ │ ├── DeviceResources.cs │ │ ├── FirmwareUpdateResource.cs │ │ ├── FirmwareUpdateResources.cs │ │ ├── FlowAccessResource.cs │ │ ├── FlowAccessResources.cs │ │ ├── FlowCommandResource.cs │ │ ├── FlowCommandResources.cs │ │ ├── FlowObjectResource.cs │ │ ├── FlowObjectResources.cs │ │ ├── LWM2MAccessControlResource.cs │ │ ├── LWM2MAccessControlResources.cs │ │ ├── LWM2MSecurityResource.cs │ │ ├── LWM2MSecurityResources.cs │ │ ├── LWM2MServerResource.cs │ │ ├── LWM2MServerResources.cs │ │ ├── LocationResource.cs │ │ ├── LocationResources.cs │ │ ├── SecurityResource.cs │ │ ├── SecurityResources.cs │ │ ├── ServerResource.cs │ │ ├── ServerResources.cs │ │ ├── TSMSSecurityMode.cs │ │ ├── TSecurityMode.cs │ │ ├── WLANConnectivityResource.cs │ │ └── WLANConnectivityResources.cs │ └── project.json └── TestWebApplication │ ├── Controllers │ └── APIEntryController.cs │ ├── Program.cs │ ├── Properties │ └── launchSettings.json │ ├── Startup.cs │ ├── TestWebApp.xproj │ ├── appsettings.json │ ├── project.json │ └── web.config └── tools └── Imagination.APIDocGenerator ├── AssemblyReader.cs ├── DocumentationHeaderSettings.cs ├── DocumentationSerialiserFactory.cs ├── Example.cs ├── ExampleStore.cs ├── IDocumentationSerialiser.cs ├── Imagination.APIDocGenerator.xproj ├── Program.cs ├── Properties ├── AssemblyInfo.cs └── launchSettings.json ├── README.md ├── ResourceNode.cs ├── Schema.cs ├── SchemaStore.cs ├── SerialisationLog.cs ├── SerialisationUtils.cs ├── Serialisers ├── RAML08DocumentationSerialiser.cs ├── RAML10DocumentationSerialiser.cs ├── SwaggerJSONDocumentationSerialiser.cs └── SwaggerYAMLDocumentationSerialiser.cs ├── TDataExchangeFormat.cs ├── TMessageType.cs ├── appsettings.json └── project.json /.dockerignore: -------------------------------------------------------------------------------- 1 | .gitignore 2 | .git 3 | .vs 4 | .vagrant 5 | src/*/project.lock.json 6 | src/*/bin 7 | src/*/obj 8 | src/artifacts 9 | artifacts 10 | build 11 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = space 5 | indent_size = 4 6 | 7 | [Makefile] 8 | indent_style = tab -------------------------------------------------------------------------------- /CONTRIBUTORS: -------------------------------------------------------------------------------- 1 | Chris Dewbery (chris-dewbery-imgtec) 2 | Delme Thomas 3 | Kevin Dyer 4 | Matthew Hartstonge 5 | Roland Bewick 6 | Tony Walsworth 7 | Hayden Brown -------------------------------------------------------------------------------- /IMGLicense.md: -------------------------------------------------------------------------------- 1 | Copyright (c) 2016, Imagination Technologies Limited and/or its affiliated group companies. 2 | 3 | All rights reserved. 4 | 5 | Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 6 | 7 | 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 8 | 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 9 | 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. 10 | 11 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 12 | IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 13 | -------------------------------------------------------------------------------- /NuGet.Config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /Vagrantfile: -------------------------------------------------------------------------------- 1 | # -*- mode: ruby -*- 2 | # vi: set ft=ruby : 3 | 4 | $script = <