Generating the Portworx spec using curl

Below is an example of using curl to generate the Portworx spec file. Review the query parameters table below and add parameters as needed.

Openshift Users:
Make sure you use osft=true when generating the spec.

$ VER=$(kubectl version --short | awk -Fv '/Server Version: /{print $3}')
# For the 1.4 tech preview release
$ curl -L -o px-spec.yaml "https://install.portworx.com/1.4/?c=mycluster&k=etcd://<ETCD_ADDRESS>:<ETCD_PORT>&kbver=$VER"

# For the 1.3 stable release
$ curl -L -o px-spec.yaml "https://install.portworx.com/1.3/?c=mycluster&k=etcd://<ETCD_ADDRESS>:<ETCD_PORT>&kbver=$VER"

# For the 1.2 stable release
$ curl -L -o px-spec.yaml "https://install.portworx.com/1.2/?c=mycluster&k=etcd://<ETCD_ADDRESS>:<ETCD_PORT>&kbver=$VER"

Below are all parameters that can be given in the query string.

ValueDescriptionExample
 
REQUIRED PARAMETERS
 
cSpecifies the unique name for the Portworx cluster.c=test_cluster
kYour key value database, such as an etcd cluster or a consul cluster.k=etcd:http://etcd.fake.net:2379
 
OPTIONAL PARAMETERS
 
sSpecify comma-separated list of drives.s=/dev/sdb,/dev/sdc
dSpecify data network interface. This is useful if your instances have non-standard network interfaces.d=eth1
mSpecify management network interface. This is useful if your instances have non-standard network interfaces.m=eth1
kbverSpecify Kubernetes version (current default is 1.7)kbver=1.8.4
storkSpecify if you want to install STORKstork=true
coreosREQUIRED if target nodes are running coreos.coreos=true
osftREQUIRED if installing on Openshift. osft =true
masSpecify if PX should run on the Kubernetes master node. For Kubernetes 1.6.4 and prior, this needs to be true (default is false)mas=true
zInstructs PX to run in zero storage mode on Kubernetes master.z=true
fInstructs PX to use any available, unused and unmounted drives or partitions. PX will never use a drive or partition that is mounted.f=true
stSelect the secrets type (aws, kvdb or vault)st=vault
j(PX 1.3 and higher) Specify a separate block device as a journaling device for px metadata.j=/dev/sde
 
KVDB CONFIGURATION PARAMETERS
 
pwdUsername and password for ETCD authentication in the form user:passwordpwd=username:password
caLocation of CA file for ETCD authentication.ca=/path/to/server.ca
certLocation of certificate for ETCD authentication.cert=/path/to/server.crt
keyLocation of certificate key for ETCD authentication.key=/path/to/server.key
aclACL token value used for Consul authentication.acl=398073a8-5091-4d9c-871a-bbbeb030d1f6
eComma-separated list of environment variables that will be exported to portworx. To view a list of all Portworx environment variables, go to passing environment variables. 
e=MYENV1=myvalue1,MYENV2=myvalue2  

Note:
If using secure etcd provide “https” in the URL and make sure all the certificates are in the /etc/pwx/ directory on each host which is bind mounted inside PX container.