Giter Club home page Giter Club logo

autoparts's People

Contributors

arunthampi avatar benjimarshall avatar chuyeow avatar codelion avatar cschneid avatar deepc avatar diegofigueroa avatar digitalfiz avatar dqminh avatar fdezromero avatar gmckeever avatar jake284773 avatar jeffjewiss avatar keyist avatar koheishingai avatar ksimuk avatar laktek avatar marcinwyszynski avatar maxim-filimonov avatar parkint avatar petejkim avatar phortx avatar ronoaldo avatar sandeepc avatar souzadevinicius avatar sxyuan avatar tgxworld avatar thiagoponte avatar tiagoefmoraes avatar uasi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

autoparts's Issues

ghc doesn't work

$ ghci
GHCi, version 7.8.3: http://www.haskell.org/ghc/ :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... : can't load .so/.DLL for: libgmp.so (libgmp.so: cannot open shared object file: No such file or directory)

handle multiple versions

  • activate version on install
  • start/stop/status/restart should control current active version
  • parts list
mongodb (2.4.6)
php5 (5.5.8-nitrous2)
apache2 (2.4.6, 2.4.7*)

* indicates selected version

  • parts which - list selected versions
mongodb 2.4.6
php5 5.5.8-nitrous2
apache2 2.4.7
  • parts which apache2
apache2 2.4.7
  • parts switch apache2 2.4.6 - activate older version for use
  • parts uninstall apache2 --version 2.4.6
  • parts purge apache2 --version 2.4.6
  • parts upgrade - upgrade all outdated installations
  • parts cleanup - remove all unselected old versions

Add option to download a source file without extracting

For example, some tools such as ack-grep or parse doesnt provide a tar file, but a single file that we can rename and used

curl http://beyondgrep.com/ack-2.08-single-file > ~/bin/ack && chmod 0755 !#:3

I think probably we can add source_filetype: binary option, which tell parts will skip the file extraction process. Any thoughts ?

Services status

Would be good to be able to check for status of services running something like
parts status package_name - get status of specific service
parts status - get status of all installed services

Add Mosh

http://mosh.mit.edu/

Mosh makes remote logins much more robust and reliable, with support for changing IP's, reduces lag (by intelligently updating the local screen immediately).

Build instructions: http://mosh.mit.edu/#build-instructions

While it is possible to install mosh server into a users home directory, it is easier to use, if it's installed in a system path.

Add latest version of PHP

At the time of this post, 5.6.4 is the latest stable version. There are some features in 5.6 that aren't game-changing, but certainly would be nice to have (variadic functions and argument unpacking being the two that caused me to raise this issue).

there are two php.ini

there's one in ~/.parts/lib created by autoparts package
and there's another one in ~/.parts/etc

use the ~/.parts/etc one

nodejs, python

Add python and nodejs so I can run them both in one container.

upgrade / supporting multiple versions

@chuyeow @dqminh @laktek

"parts upgrade" isn't there yet because we didn't have the need for it for version 1, but I think we need it now.

Are we going to support multiple versions like rubygems? Homebrew doesn't do this, they just keep latest versions on its repo and if multiple versions are absolutely necessary (python package for example) they just have different packages like: python, python3...

If we were to support multiple versions (could be good for Gemfile-like Partsfile later) I was thinking about doing something like this:

class Ack3_0 < Package
  name 'ack'  
  version '3.0'
  source_url ...
  ...
end

class Ack2_5 < Ack3_0
  version '2.5'
  source_url ...
  ...
  # inherits build steps from parent class
  # override build steps if necessary
end

class Ack2_0 < Ack2_5
  version '2.0'
  source_url ...
  ...
end

What do you think?

pid checks in running? should verify that the process is indeed alive

The following fails after a restart because pid isn't cleaned up correctly on box shut down.

https://github.com/nitrous-io/autoparts/blob/master/lib/autoparts/packages/apache2.rb#L85

      def running?
        pid = Path.var + name + "run" + "httpd.pid"
        pid.exist?
      end

Do something like this instead:

https://github.com/nitrous-io/autoparts/blob/master/lib/autoparts/packages/mongodb.rb#L84

      def running?
        if mongod_pid_file_path.exist?
          pid = File.read(mongod_pid_file_path).strip
          if pid.length > 0 && `ps -o cmd= #{pid}`.include?(mongod_path.basename.to_s)
            return true
          end
        end
        false
      end

Add ability to uninstall old version of part when new version is introduced.

Currently when a new version is released, installing the part will leave the old version behind. At this point, running parts uninstall meteor (or whichever part) will not uninstall the old version.

There needs to be a uninstall procedure before installing the latest version which was introduced in Autoparts.

Install Postgresql

I might be missing something obvious here, but:

_~/workspace$ parts install postgresql_

=> Downloading https://nitrousio-autoparts-use1.s3.amazonaws.com/postgresql-9.2.4-binary.tar.gz...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 9949k  100 9949k    0     0  1696k      0  0:00:05  0:00:05 --:--:-- 2256k
=> Verifying archive...
=> Extracting archive...
=> Installing...
The files belonging to this database system will be owned by user "action".
This user must also own the server process.

The database cluster will be initialized with locale "en_US.UTF-8".
The default database encoding has accordingly been set to "UTF8".
The default text search configuration will be set to "english".

fixing permissions on existing directory /home/action/.parts/var/postgresql ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 24MB
creating configuration files ... ok
creating template1 database in /home/action/.parts/var/postgresql/base/1 ... ok
initializing pg_authid ... ok
initializing dependencies ... ok
creating system views ... ok
loading system objects' descriptions ... ok
creating collations ... ok
creating conversions ... ok
creating dictionaries ... ok
setting privileges on built-in objects ... ok
creating information schema ... ok
loading PL/pgSQL server-side language ... ok
vacuuming database template1 ... ok
copying template1 to template0 ... ok
copying template1 to postgres ... ok

WARNING: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the option -A, or
--auth-local and --auth-host, the next time you run initdb.

Success. You can now start the database server using:

    /home/action/.parts/packages/postgresql/9.2.4/bin/postgres -D /home/action/.parts/var/postgresql
or
    /home/action/.parts/packages/postgresql/9.2.4/bin/pg_ctl -D /home/action/.parts/var/postgresql -l logfile start

_~/workspace$ parts start postgresql_

=> Starting postgresql...
parts: ERROR: "/home/action/.parts/bin/pg_ctl -D /home/action/.parts/var/postgresql -l /home/action/.parts/var/log/postgresql/postgresql.log -w start" failed
Aborting!

Add detailed install instructions

For example, I have postgresql running in my box. How do I connect it to a rails app with pg as database?

The standard step of running rake db:create:all results in:

$ FATAL:  role "cpursley" does not exist 
.........
$ Couldn't create database for {"adapter"=>"postgresql", "encoding"=>"unicode", 
  "database"=>"app_test", "pool"=>5, "username"=>"cpursley", "password"=>nil} 

php cli seems to load ini in wrong locations

Using these commands:

strace -o strace.log php --version
grep php.ini strace.log

it shows that php cli is loading ext from:

open("/home/action/.parts/etc/php5/php.ini/php-cli.ini", O_RDONLY) = -1 ENOTDIR (Not a di                           
rectory)                                                                                                            
open("/home/action/.parts/packages/php5/5.5.11/bin/php.ini", O_RDONLY) = -1 ENOENT (No su                           
ch file or directory)                                                                                               
open("/home/action/.parts/etc/php5/php.ini/php.ini", O_RDONLY) = -1 ENOTDIR (Not a direct                           
ory)

which is very different from the location we tell php to look for config i.e. /home/action/.parts/etc/php5/php.ini

Version templates in interface

Not sure if this is the best place to post this, this would be an enhancement. It would be great if you guys could somehow version templates in the interface and post the changelogs for those templates. For example, if you make a change to the PHP template which botches something, then you might create a problem for everyone relying on that botched item when creating a new box. I would like to be able to select a certain template version that I know is working for me. Developers need to rely on an environment which doesn't change. If a problem appears, then I have to wonder if it's something I did or if something in the environment changed.

add ftp

It would be really great if you added ftp packages as autoparts

Add Rust

It'd be great to have Rust to make it nice to try out the new language.

zsh command completion failure

This is likely a deployment issue rather than code. The prebuilt zsh 5.0.5 installed via

parts install zsh

does not include file definitions for command completion. If you force an install from source

parts install zsh --source

then completion is correctly installed

~ 1 $ echo $fpath
/home/action/.parts/packages/zsh/5.0.5/share/zsh/site-functions /home/action/.parts/share/zsh/functions
~ 2 $ ls $fpath[2]
_a2ps                          _flex                          _pax                     _tpb
_a2utils                       _floppy                        _pbm                     _tpconfig
...

Uninstall a package should stop it

You can:
1- Install postgresql
2- Start it
3- ....
4- Uninstall postgresql (notice i forgot to stop the server)
5- Postgresql is still running but message says it was uninstalled

You can install it again even process being executed

parts uninstall should stop the server or at least ask you to do it

Latest vim

Not sure that it is a good case for autoparts but some plugins like https://github.com/Valloric/YouCompleteMe
requires more recent version of vim than the one which comes with ubuntu.

Not sure how to contribute a package because most packages are using binary path which is nitrous s3. Is there a way to upload it there somehow?
Commands i've run to compile the latest vim on a nitrobox

hg clone https://vim.googlecode.com/hg/ vim
cd vim
./configure --with-features=huge
make

The only thing left here is to add the new vim to the PATH to replace the old one.
Which might be an interesting issue because usually it's done using sudo make install which I can't ran on the box due to lack of sudo permissions.

parts list doesn't work

action@rube-27252:~$ parts update
=> Pulling latest changes...
From https://github.com/action-io/autoparts

  • branch master -> FETCH_HEAD
    Already up-to-date.
    action@rube-27252:~$ parts help
    Autoparts 0.0.1-0e6325f - A Package Manager for Nitrous.IO

Usage: parts COMMAND [ARGS...]

Some useful commands are:
parts install PACKAGE... # Install one or many packages
parts uninstall PACKAGE... # Uninstall one or many packages
parts list # List all installed packages
parts search [SEARCH_TERM] # Search for a package or list all available packages
parts start PACKAGE... # Start one or many services provided by packages
parts stop PACKAGE... # Stop one or many services provided by packages
parts restart PACKAGE... # Restart one or many services provided by packages
parts update # Update Autoparts
action@rube-27252:~$ parts list
parts: no installed package found

Add git-extras

https://github.com/visionmedia/git-extras
Nice utility for those who manage git repos at Nitrous boxes..

Can't Install Meteor?

I can Install mysql and mongodb with this command below.

parts install mysql
parts install mongodb

Howerver, I can't install meteor in the same way.

parts install meteor

Is it not implemented yet, by any chance?

Unable to install PostgreSQL

This is the error message returned:

action@hasty-dagger-82-183319:~/rails_rss_reader(master)$ parts install postgresql
=> Downloading http://parts.nitrous.io/postgresql-9.3.5-binary.tar.gz...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 41 100 41 0 0 1108 0 --:--:-- --:--:-- --:--:-- 2157
(23) Failed writing body
parts: ERROR: "curl http://parts.nitrous.io/postgresql-9.3.5-binary.sha1 -L -o /home/action/.parts/tmp/postgresql-9.3.5-binary.sha1.partsdownload" failed
Aborting!

RStudio box

Or.. autoparts install to add to a Python Box

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.