Skip to content

Commit a8bb3e6

Browse files
committed
first round of changes to improve builder (make functions more modular) and start of work to add tags
1 parent 504f122 commit a8bb3e6

File tree

4 files changed

+191
-203
lines changed

4 files changed

+191
-203
lines changed
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
#!/usr/bin/env python
2+
3+
# This is an example of generating image packages from within python
4+
5+
import os
6+
import shutil
7+
from singularity.cli import get_image
8+
from singularity.package import package
9+
10+
# Save packages here
11+
output_folder = '/home/vanessa/Documents/Dropbox/Code/singularity/singularity-python/examples/package_image/packages'
12+
13+
# Here are my images. I'm lazy so I'm going to use all docker
14+
# https://github.com/docker-library/official-images/tree/master/library
15+
images = ['aerospike','alpine','amazonlinux','arangodb','backdrop','bash','bonita','buildpack-deps',
16+
'busybox','cassandra','celery','centos','chronograf','cirros','clearlinux','clojure','composer',
17+
'consul','couchbase','couchdb','crate','crux','debian','django','docker','drupal','eclipse-mosquitto',
18+
'eggdrop','elasticsearch','elixir','erlang','fedora','fsharp','gazebo','gcc','ghost','golang','haproxy',
19+
'haskell','hello-world','httpd','hylang','ibmjava','influxdb','iojs','irssi','java','jenkins','jetty',
20+
'joomla','jruby','julia','kaazing-gateway','kapacitor','kibana','known','kong','lightstreamer',
21+
'logstash','mageia','mariadb','maven','memcached','mongo','mongo-express','mono','mysql','nats',
22+
'nats-streaming','neo4j','neurodebian','nextcloud','nginx','node','notary','nuxeo','odoo','openjdk',
23+
'opensuse','oraclelinux','orientdb','owncloud','percona','perl','photon','php','php-zendserver',
24+
'piwik','plone','postgres','pypy','python','r-base','rabbitmq','rails','rakudo-star','redis',
25+
'redmine','registry','rethinkdb','rocket.chat','ros','ruby','sentry','solr','sonarqube','sourcemage',
26+
'spiped','storm','swarm','telegraf','thrift','tomcat','tomee','traefik','ubuntu','vault',
27+
'websphere-liberty','wordpress','zookeeper']
28+
29+
# You will need to export your sudopw to an environment variable called pancakes for it to not ask you :)
30+
os.environ['pancakes'] = 'yoursecretpass'
31+
32+
for name in images:
33+
docker_image = "docker://%s:latest" %(name)
34+
image = get_image(docker_image)
35+
package_name = "%s/%s.zip" %(output_folder,os.path.basename(image))
36+
if not os.path.exists(package_name):
37+
image_package = package(image_path=image,
38+
output_folder=output_folder,
39+
remove_image=True,
40+
runscript=True,
41+
software=True)
42+
tmpfolder = os.path.dirname(image)
43+
44+

0 commit comments

Comments
 (0)