Getting Started
Categories:
6 minute read
LambdaStack comes with a number of simple defaults that only require Cloud vendor Key/Secret or UserID/Password!
Information in this section helps your user try your project themselves.
- 
What do your users need to do to start using your project? This could include downloading/installation instructions, including any prerequisites or system requirements. 
- 
Introductory “Hello World” example, if appropriate. More complex tutorials should live in the Tutorials section. 
Consider using the headings below for your getting started page. You can delete any that are not applicable to your project.
Prerequisites (Runtime only - no development)
LambdaStack works on OSX, Windows, and Linux. You can launch it from your desktop/laptop or from build/jump servers. The following are the basic requirements:
- Docker
- Directory on harddrive (laptop or build server depending on where you're wanting to store your LambdaStack generated manifestfiles)
- Git (only if using GitHub fork/cloning to download the source code)
- Internet access (can be executed in an air-gapped environment - details in documentation)
- Python 3.x is NOT required. It's listed here just to illustrate it's not actually required. The LambdaStack container has it already built in
Prerequisites (Development)
If you plan to contribute to the LambdaStack project by doing development then you will need a development and build environment. LambdaStack works on OSX, Windows, and Linux. You can launch it from your desktop/laptop or from build/jump servers. The following are the basic requirements for development:
- Docker
- Git
- GitHub account - Free or paid. You will need to Fork LambdaStack to your GitHub account, make changes, commit, and issue a pull request. The development documentation details this for you with examples
- Internet access (can be executed in an air-gapped environment - details in documentation). If your environment requires proxies then see documentation on how to set that up)
- Python 3.x
- IDE (Visual Code or PyCharm are good environments). We use Visual Code since it's open source. We recommend a few plugin extensions but they get automatically installed if you follow the instructions in the documention on setting up your development environment using Visual Code
- Forked and cloned LambdaStack source code - Start contributing!
Installation
Where can your user find your project code? How can they install it (binaries, installable package, build from source)? Are there multiple options/versions they can install and how should they choose the right one for them?
Setup
Is there any initial setup users need to do after installation to try your project?
Try it out!
As of LambdaStack v1.3, there are two ways to get started:
- Simply issue a docker run ...command
- Fork/Clone the LambdaStack GitHub repo at https://github.com/lambdastack/lambdastack
The upcoming pre-relase version, LambdaStack v2.0.0beta, will have a full Admin UI that will use the default APIs/CLI to manage the full automation of Kubernetes
The easiest is option #1:
Most of below are actually defaults but they are explain for your reference
- Decide where to store your LambdaStack generated manifestfiles and your SSH key pair (private and public). For example, you may decide to launch from your laptop if you're leaving the defaultuse_public_ips: True. So, create a directory if one does not already exist:
mkdir -p /projects/lambdastack/build/<whatever name you give it>/keys/ssh- Linux/Mac (note:buildwould also happen automatically withlambdastack init...but by creating it and<whatever name you give it>/keys/sshhere you don't have to exit thedocker container) Thelambdastack init -p <cloud provider> -n <use the name you gave it above>(e.g.,lambdastack init -p aws -n demo). Theinitcommand will automatically append the/build/<name you give it>/keys/sshif it is not already present. So, using the example,projects/lambdastack/will havebuild/demo/keys/sshappend to formprojects/lambdastack/build/demo/keys/ssh(the only hardcoded values arebuildat the beginningkeys/sshat the end. The rest are up to you)
- Create your SSH keys unless you already have a pair you would like to use (note - if you don't have a keypair to use then the following will create them and this is only required once):
ssh-keygen- It will prompt you for a name and a few other items. At the end it will generate a private and public key (e.g., give it the name and directory - using the example above, give it/projects/lambdastack/build/demo/keys/ssh/and it will create the key pair there). If you left the default keypair name oflambdastack-operationsthen you would seeprojects/lambdastack/build/demo/keys/ssh/lambdastack-operationsand another file calledlambdastack-operations.pubin the.../keys/ssh/directory
- If doing AWS - simply copy and paste the key and secretfrom the AWS settings console into the<name you give it>.ymlfile that was generated bylambdastack init.... Using the example from above, the name of the file would bedemo.ymllocated in the/projects/lambdastack/build/demodirectory to create/operations/lambdastack/build/demo/demo.yml. Simply exchange theXXXXXXXvalue for the correspondingkey: and secret:values
- Run cd <whereever the base of projects is located>/projects/lambdastack/
- Launch Docker...as follows (using the example above):
docker run -it -v $PWD:/shared --rm lambdastack/lambdastack:latest.-v $PWD:/sharedis very important. It represents the drive volume you wish to associate with the container (containers can't persist data so you have to mount a volume [some drive location] to it).$PWDsimply means Present Workding Directory (Linux/Mac). The:/sharedis the name of the volume LambdaStack is looking for.-ittells the container it will be aninteractivecontainer that allows you interact at the command line of the Linux container.-rmtells the container to stop and release itself from memory after you typeexiton the container command line to exit. Thelambdastack/lambdastack:latestis the latest version of lambdastack from the public lambdastack registry athttps://hub.docker.com/lambdastack
- The docker command above will put you into /shareddirectory that showsbuild/demo/keys/ssh
Option #2:
If you wish to pull down the open source repo and execute from there then simply do the following:
- Click the Forkoption button in the top right in the https://github.com/lambdastack/lambdastack repo. This assumes you haveGitHubaccount already. It will ask where you want the forked version to be copied to
- Next step is to now Cloneyour newly forked LambdaStack repo onto your local hard drive
- Next step is to go to the root directory of the newly cloned repo on your hard drive
- By using the following simple bash script, lsio, a defaultclusterssubdirectory will automatically get created and all of the build information for the cluster will reside there:
./lsio- this is a bash script located in the root directory and usesclustersas the required/shareddirectory needed for thedocker run -it -v $PWD/clusters:/shared --rm lambdastack/lambdastack:{tag}that gets executed by thelsiobash script. An improvement to this would be to allow for passin a parameter of specific location for LambdaStack to store the build information in - great opportunity for a Pull Request (PR)!
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.