Skip to content

Commit dc62bf3

Browse files
committed
Fixed #7 -- updated README and published to pypi.
1 parent 9328e5a commit dc62bf3

4 files changed

Lines changed: 83 additions & 67 deletions

File tree

client/README.rst

Lines changed: 67 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,68 +1,85 @@
1-
deis
2-
====
3-
4-
**Deis** is an open source *platform-as-a-service* (PaaS) for public and
5-
private clouds.
6-
7-
Take your agile development to the next level. Free your mind and focus
8-
on your code. Deploy updates to local metal or worldwide clouds with
9-
``git push``. Scale servers, processes, and proxies with a simple
10-
command. Enjoy the *twelve-factor app* workflow while keeping total
11-
control.
12-
13-
The `opdemand/deis <https://github.com/opdemand/deis>`__ project
14-
contains a command-line interface to the **Deis** system. It's all you
15-
need to work with an existing **Deis** controller. To set up your own
16-
private application platform, the
17-
`deis-controller <https://github.com/opdemand/deis-controller>`__ and
18-
`deis-chef <https://github.com/opdemand/deis-chef>`__ projects are also
19-
required.
1+
deis: Command-line client for your PaaS
2+
=======================================
203

21-
Getting Started
4+
.. image:: https://badge.fury.io/py/deis.png
5+
:target: http://badge.fury.io/py/deis
6+
7+
.. image:: https://travis-ci.org/opdemand/deis.png?branch=master
8+
:target: https://travis-ci.org/opdemand/deis
9+
10+
.. image:: https://pypip.in/d/deis/badge.png
11+
:target: https://crate.io/packages/deis/
12+
13+
What is Deis?
14+
-------------
15+
16+
Deis is an open source PaaS inspired by Heroku, that makes it easy to deploy
17+
and scale LXC containers used to host applications, databases, middleware and
18+
other services. Deis leverages Docker, Chef and Heroku Buildpacks to provide a
19+
private PaaS that is lightweight and flexible.
20+
21+
Deis comes with out-of-the-box support for Ruby, Python, Node.js, Java,
22+
Clojure, PHP, Dart and Go. However, Deis can deploy *anything* using Heroku
23+
Buildpacks or pre-built Docker images. Containers can be deployed to any
24+
cloud provider, although only EC2 is currently supported.
25+
26+
Why Deis?
27+
=========
28+
29+
Deploy anything
2230
---------------
2331

24-
Clone the git repository at `<https://github.com/opdemand/deis.git>`_:
32+
Leverage Heroku Buildpacks to deploy a wide range of languages and frameworks
33+
with a simple "git push" or create custom Docker images to deploy pre-built
34+
apps, databases and other services.
2535

26-
::
36+
Control everything
37+
------------------
2738

28-
$ git clone https://github.com/opdemand/deis.git
29-
Cloning into 'deis'...
30-
...
31-
Resolving deltas: 100%, done.
32-
$ cd deis
39+
Choose your hosting providers. Define your application formations. Scale
40+
nodes and containers independently. Control your routing layer. Manage the
41+
entire platform with a private Deis controller.
3342

43+
Scale effortlessly
44+
------------------
3445

35-
Use an isolated python environment:
46+
Scale nodes, containers and proxies with a single command. Node provisioning is
47+
transparent, container formations are rebalanced automatically and proxies are
48+
updated to re-route traffic without downtime.
3649

37-
::
50+
100% Open Source
51+
----------------
3852

39-
$ virtualenv venv
40-
New python executable in venv/bin/python
41-
...
42-
Installing pip................done.
43-
$ source venv/bin/activate
44-
(venv) $
53+
Free, transparent and easily customized. Join the open-source PaaS and DevOps
54+
community by using Deis and complimentary projects like Docker, Chef and
55+
Heroku Buildpacks.
4556

57+
Getting Started
58+
---------------
4659

47-
Next Steps
48-
----------
60+
Installing the Deis client from the Python Package Index is simple:
4961

50-
License
51-
-------
62+
::
5263

53-
**Deis** is open source software under the Apache 2.0 license. Please
54-
see the **LICENSE** file in the root directory for details.
64+
$ pip install deis
5565

56-
Credits
66+
The client will automatically install the following dependencies:
67+
68+
- `pyyaml <https://bitbucket.org/xi/pyyaml>`__
69+
- `requests <http://python-requests.org>`__
70+
71+
72+
License
5773
-------
5874

59-
**Deis** rests on the shoulders of leading open source technologies:
75+
Copyright 2013, OpDemand LLC
6076

61-
- Docker
62-
- Chef
63-
- Django
64-
- Heroku buildpacks
65-
- Gitosis
77+
Licensed under the Apache License, Version 2.0 (the "License"); you may not
78+
use this file except in compliance with the License. You may obtain a copy of
79+
the License at <http://www.apache.org/licenses/LICENSE-2.0>
6680

67-
`OpDemand <http://www.opdemand.com/>`__ sponsors and maintains the
68-
**Deis** project.
81+
Unless required by applicable law or agreed to in writing, software
82+
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
83+
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
84+
License for the specific language governing permissions and limitations under
85+
the License.

client/deis/client.py

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,15 @@
1919
rotate rotate in fresh backends, proxies or containers
2020
balance rebalance and converge the container formation
2121
destroy destroy a container formation
22-
22+
2323
Use `deis help [subcommand]` to learn about these subcommands:
24-
24+
2525
formations manage container formations
2626
containers manage the containers running on backends
2727
backends manage the backend nodes hosting containers
2828
proxies manage the proxy nodes routing to containers
2929
nodes manage nodes of all types
30-
30+
3131
flavors create and manage node flavors
3232
providers create and manage cloud provider credentials
3333
@@ -55,7 +55,7 @@
5555
import yaml
5656

5757

58-
__version__ = '0.0.1'
58+
__version__ = '0.0.4'
5959

6060

6161
USAGE = {
@@ -280,7 +280,7 @@ def auth_register(self, args):
280280
print('Registered {}'.format(username))
281281
login_args = {'--username': username, '--password': password,
282282
'<controller>': controller}
283-
# login after registering
283+
# login after registering
284284
if self.auth_login(login_args) is False:
285285
print('Login failed')
286286
return
@@ -327,7 +327,7 @@ def auth_logout(self, args):
327327
self._settings['controller'] = None
328328
self._settings.save()
329329
print('Logged out')
330-
330+
331331
def backends_list(self, args):
332332
formation = args.get('--formation')
333333
if not formation:
@@ -523,7 +523,7 @@ def keys_remove(self, args):
523523
print('done')
524524
else:
525525
print('Error!', response.text)
526-
526+
527527
def flavors_create(self, args):
528528
"""Create a flavor using a provider"""
529529
body = {'id': args.get('--id'), 'provider': args.get('--provider')}
@@ -562,7 +562,7 @@ def flavors_info(self, args):
562562
print(json.dumps(response.json(), indent=2))
563563
else:
564564
print('Error!', response.text)
565-
565+
566566
def flavors_list(self, args):
567567
"""List flavors for a user."""
568568
response = self._session.get(
@@ -685,7 +685,7 @@ def formations_balance(self, args):
685685
print(json.dumps(databag, indent=2))
686686
else:
687687
print('Error!', response.text)
688-
688+
689689
def formations_converge(self, args):
690690
formation = args.get('--formation')
691691
if not formation:
@@ -709,7 +709,7 @@ def nodes_info(self, args):
709709
print(json.dumps(response.json(), indent=2))
710710
else:
711711
print('Error!', response.text)
712-
712+
713713
def nodes_list(self, args):
714714
"""List nodes for this formation."""
715715
formation = args.get('--formation')
@@ -782,7 +782,7 @@ def providers_info(self, args):
782782
print(json.dumps(response.json(), indent=2))
783783
else:
784784
print('Error!', response.text)
785-
785+
786786
def proxies_list(self, args):
787787
"""List proxies for this formation."""
788788
formation = args.get('--formation')
@@ -827,7 +827,7 @@ def main():
827827
'calculate': cli.formations_calculate,
828828
'balance': cli.formations_balance,
829829
'converge': cli.formations_converge}
830-
# dispatch based on primary command
830+
# dispatch based on primary command
831831
if cmd == 'help':
832832
docopt(__doc__, argv=['--help'])
833833
elif hasattr(cli, cmd):

client/setup.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,13 +35,13 @@
3535

3636

3737
# pylint: disable=W0142
38-
setup(name='opdemand',
39-
version=__version__,
38+
setup(name='deis',
39+
version='0.0.4',
4040
license=APACHE_LICENSE,
4141
description='Command-line Client for Deis',
4242
author='OpDemand',
4343
author_email='info@opdemand.com',
44-
url='https://github.com/opdemand/deis-cli',
44+
url='https://github.com/opdemand/deis',
4545
keywords=['opdemand', 'deis', 'cloud', 'aws', 'ec2', 'heroku'],
4646
classifiers=[
4747
'Development Status :: 5 - Production/Stable',
@@ -52,7 +52,6 @@
5252
'License :: OSI Approved :: Apache Software License',
5353
'Operating System :: OS Independent',
5454
'Programming Language :: Python',
55-
'Programming Language :: Python :: 2.6',
5655
'Programming Language :: Python :: 2.7',
5756
'Topic :: Internet',
5857
'Topic :: System :: Systems Administration',

deis/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@
44
the api, celerytasks, and web Django apps.
55
"""
66

7-
__version__ = '0.0.1'
7+
__version__ = '0.0.4'

0 commit comments

Comments
 (0)