Swimlane Platform Installer Gu...
...
Automate Installation
Automate an Online Embedded Installation
7 min
this topic provides automation steps for setting up an online, single node swimlane installation on embedded clusters installation preparation and customization before you begin, review the system requirements for an embedded cluster install docid\ ld6yzgax gpbbdt2c1h3s to confirm your system's compliance the swimlane platform installer (spi) performs several checks in the initial phases of the installation to ensure the underlying host is compatible with the application to bypass any applicable checks, an installer patch yaml file can be applied at installation time to account for several of these settings refer to overriding installer settings docid\ x7jkijjg4ip6y3fqqqxyi for more options installer patch file example here is an example installer patch file apiversion "cluster kurl sh/v1beta1" kind "installer" metadata name "patch" spec kubernetes hacluster true loadbalanceraddress "\<load balancer fqdn or ip> 6443" firewalldconfig disablefirewalld true selinuxconfig disableselinux true you also need the following files swimlane platform installer license file (ends with yaml ) swimlane license file (ends with lic ) embedded cluster installation once you've accounted for any customizations and system checks, install an embedded cluster by running the following command curl ssl https //get swimlane io/install | bash s installer spec file=\<path to patch file> yaml swimlane installation and deployment after the embedded kubernetes cluster has been installed, install swimlane with the following command kubectl kots install swimlane platform \\ \ namespace default \\ \ shared password \<spi admin console password> \\ \ license file \<spi license file> yaml \\ \ port forward=false \\ \ config values \<spi config file> yaml creating an spi config file the \<spi config file> yaml file is a yaml formatted file that outlines the specifications of a swimlane deployment you can get the yaml file from a previously configured installation of spi or by creating a new file manually to obtain a file from a previously configured spi install, run the following command from a system with access to the kubernetes api and the spi kubectl add on installed kubectl kots download swimlane platform n \<namespace> this command downloads a copy of the entire spi deployment specifications to a local folder named swimlane platform the config file is located at /swimlane platform/upstream/userdata/config yaml in the downloaded folder to create the file manually, review the configurable options available in the embedded cluster spi config file docid\ uaykeaeqkglr5tpeznlxq here is a basic version of the config file that you can use for an initial single node configuration apiversion kots io/v1beta1 kind configvalues metadata creationtimestamp null name swimlane spec values is ha value "0" mongo admin user password value \<base64 encoded string> mongo admin user password confirm value \<base64 encoded string> mongo swimlane user password value \<base64 encoded string> mongo swimlane user password confirm value \<base64 encoded string> swimlane database encrypt key value \<base64 encoded string> swimlane database encrypt key confirm value \<base64 encoded string> swimlane enable ingress value "1" swimlane hostname value \<swimlane hostname> swimlane initial login it takes a few minutes for swimlane to initialize all of the required components however, automation can effectively 'wait' for a ready state by waiting for a ready status from different parts of the deployment there are multiple ways to accomplish this wait period, the following code block is just one example kubectl wait l statefulset kubernetes io/pod name=swimlane sw mongo 0 for=condition=ready pod namespace \<swimlane namspace> timeout=240s export sw api=$(kubectl get po n \<namespace> no headers o custom columns="\ metadata name" | grep i api) kubectl wait for=condition=ready pod $sw api n \<namespace> timeout=240s next, continue with the swimlane installation by creating the first administrative user using your swimlane license lic file, first generate the necessary license block for the api call with a curl command curl klv x post https //\<swimlane url>/api/settings/license/upload h 'content type multipart/form data' f file=@\<swimlane license file> lic then, to create the initial administrative user, insert the returned json into the following curl command curl klv x post https //\<swimlane url>/api/settings/install \\ \ header "content type application/json" \\ d '{"mailsettings" {}, "password" "\<admin password>","confirmpassword" "\<admin password>", "databaseencryptionkey" "", "swimlaneurl" "https //\<swimlane url>", "license" \<generated json data from previous step>, "adminusername" "\<admin username>", "adminemail" "\<admin email>"}'