The Thor Project is setup to deliver a high quality, solid user experience, and resilient user interface for Cloud Foundry (w/ Iron Foundry Extension Support) PaaS enabled systems to the Apple OS-X System. This project, to ensure a solid user experience utilizes the Cocoa Framework.
Please fork and contribute back.
Copyright 2012 Iron Foundry Organization
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Getting the Code
To clone/fork/download the latest code to work with, contribute, and send pull requests with follow these steps.
https://github.com/IronFoundry/Thor.git
pod Intall
Your local repository should have executable code now. Open the project with XCode and see if everything works. If it doesn't, please post a comment to the issues list.
Working on the Code
Once you've added the feature, or completed one of the stories or items in the Issues List leave a comment on the issue and submit a pull request (or just submit the pull request). I'll then merge it back in, or if there are conflicts we work with you to merge it back in and add the code to the master branch.
When you start Thor you will see the following screen:
This will let you either add a new application or cloud connection. Typically you will want to add a new connection to a cloud account. You can click the add button and then 'New Cloud...'. You will be presented with the following sheet to enter in your information:
The common case is that url will be http://api.ironfoundry.me.
Enter the email address and password credentials that were mailed to you upon signup and click OK. You will see a cloud icon show up in your clouds list.
When you select your cloud connection you will see all the applications that you have pushed and the services that you have assigned to your cloud.
Adding a new application allows you to take a local application from your file system and prepare it for upload to a cloud connection. Adding a new application is similar to adding a cloud connection. You click the add button and you will presented with a finder window. Choose the folder with your application and click open. Once you have an application it will be added to local applications:
To create a new deployment for your application, you click new deployment. You will be presented with the following sheet to choose the cloud to deploy:
Once you choose the cloud to deploy it will present you with the following sheet to create a name, memory and number of instances for your app (the name will be the first part of your uri so choose wisely):
Once you have made the choices for you application the local application will be bound to a cloud connection. You can then push the application to deploy it to the cloud. Anytime you make changes to your local application, you can push those changes by pushing it again. You can always associate the same application to multiple cloud connections.
You can add services associated to your cloud connection that will be available to your applications.
When you add a new service you will be presented with the following sheet containing the available services:
This will show up in your services. You can also remove services by clicking the remove (-) button by a service.
You can monitor your application by clicking on your application from the cloud connection:
Here you can see your instances and their status. You can stop / start / restart your application. You can also edit the settings of your application to add more instances / memory.
When you bind a service you will be presented with a list of services associated with your cloud connection:
Once you bind your service you will see it associated with your application: