github.com/mweagle/Sparta@v1.15.0/docs_source/static/presentations/getting-started.html (about) 1 <!doctype html> 2 <html lang="en"> 3 4 <head> 5 <meta charset="utf-8"> 6 7 <title>Sparta - Getting Started</title> 8 9 <meta name="description" content="A framework for transforming Go applications to AWS Serverless applications"> 10 <meta name="author" content="Matt Weagle"> 11 12 <meta name="apple-mobile-web-app-capable" content="yes"> 13 <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"> 14 15 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> 16 17 <link rel="stylesheet" href="/presentations/reveal.js-3.9.2/css/reveal.css"> 18 <link rel="stylesheet" href="/css/reveal-theme.css" id="theme"> 19 20 <!-- Theme used for syntax highlighting of code --> 21 <link rel="stylesheet" href="/presentations/reveal.js-3.9.2/lib/css/zenburn.css"> 22 23 <!-- Printing and PDF exports --> 24 <script> 25 var link = document.createElement( 'link' ); 26 link.rel = 'stylesheet'; 27 link.type = 'text/css'; 28 link.href = window.location.search.match( /print-pdf/gi ) ? 29 '/presentations/reveal.js-3.9.2/css/print/pdf.css' : 30 '/presentations/reveal.js-3.9.2/css/print/paper.css'; 31 document.getElementsByTagName( 'head' )[0].appendChild( link ); 32 </script> 33 34 <!-- Mermaid .JS --> 35 <script src="/external/jquery/jquery-2.2.0.min.js"></script> 36 <script src="/mermaid/mermaid.js/mermaid.js"></script> 37 <!--<link rel="stylesheet" href="/external/mermaid_dist/mermaid.forest.css">--> 38 <link rel="stylesheet" href="/css/mermaid-overrides.css"> 39 <script>mermaid.initialize({startOnLoad:true});</script> 40 41 <!--[if lt IE 9]> 42 <script src="lib/js/html5shiv.js"></script> 43 <![endif]--> 44 </head> 45 46 <body> 47 48 <div class="reveal"> 49 50 <!-- Any section element inside of this container is displayed as a slide --> 51 <div class="slides"> 52 53 <section data-markdown> 54 <textarea data-template> 55  56 57 #### Getting Started 58 </textarea> 59 </section> 60 <!-- Introduction --> 61 62 <section data-markdown> 63 <textarea data-template> 64 ### Prerequisites 65 66 * [Install go](https://golang.org/doc/install) 67 * Configure local AWS [account credentials](https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html) 68 * `env.AWS_REGION` 69 * `env.AWS_ACCESS_KEY_ID` 70 * `env.AWS_SECRET_ACCESS_KEY` 71 * Create an S3 bucket for [AWS artifacts](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-cli-package.html) 72 * S3 bucket region must match `env.AWS_REGION` 73 74 </textarea> 75 </section> 76 77 <section data-markdown> 78 <textarea data-template> 79 ### Get Sparta 80 81 ```bash 82 $> go get -u -v github.com/mweagle/Sparta 83 $> cd $GOPATH/src/github.com/mweagle/Sparta 84 Sparta$> go get -u -v ./... 85 ``` 86 87 88 </textarea> 89 </section> 90 91 <section data-markdown> 92 <textarea> 93 ### Get Sample App 94 95 ```bash 96 Sparta$> go get -u -v github.com/mweagle/SpartaHelloWorld 97 Sparta$> cd $GOPATH/src/github.com/mweagle/SpartaHelloWorld 98 SpartaHelloWorld$> 99 ``` 100 </textarea> 101 </section> 102 103 <section data-markdown> 104 <textarea> 105 ### Deploy Sample App 106 107 ```bash 108 SpartaHelloWorld$> go run main.go provision --s3Bucket MY_S3_BUCKET 109 110 $ go run main.go provision --s3Bucket MY_S3_BUCKET 111 INFO[0000] ════════════════════════════════════════════════ 112 INFO[0000] ╔═╗┌─┐┌─┐┬─┐┌┬┐┌─┐ Version : 1.1.0 113 INFO[0000] ╚═╗├─┘├─┤├┬┘ │ ├─┤ SHA : 2380eb0 114 INFO[0000] ╚═╝┴ ┴ ┴┴└─ ┴ ┴ ┴ Go : go1.10 115 INFO[0000] ════════════════════════════════════════════════ 116 INFO[0000] Service: MyHelloWorldStack-mweagle LinkFlags= Option=provision UTC="2018-02-23T06:25:47Z" 117 INFO[0000] ════════════════════════════════════════════════ 118 INFO[0000] Provisioning service BuildID=49e010fa0178a44eddab85e4f311c75d97ef6885 CodePipelineTrigger= InPlaceUpdates=false NOOP=false Tags= 119 INFO[0000] Verifying IAM Lambda execution roles 120 INFO[0000] IAM roles verified Count=1 121 INFO[0001] Checking S3 versioning Bucket=MY_S3_BUCKET VersioningEnabled=true 122 INFO[0001] Checking S3 region Bucket=MY_S3_BUCKET Region=us-west-2 123 INFO[0001] Running `go generate` 124 INFO[0001] Compiling binary Name=Sparta.lambda.amd64 125 INFO[0003] Creating code ZIP archive for upload TempName=./.sparta/MyHelloWorldStack_mweagle-code.zip 126 INFO[0003] Lambda code archive size Size="14 MB" 127 INFO[0003] Uploading local file to S3 Bucket=MY_S3_BUCKET Key=MyHelloWorldStack-mweagle/MyHelloWorldStack_mweagle-code.zip Path=./.sparta/MyHelloWorldStack_mweagle-code.zip Size="14 MB" 128 INFO[0014] Uploading local file to S3 Bucket=MY_S3_BUCKET Key=MyHelloWorldStack-mweagle/MyHelloWorldStack_mweagle-cftemplate.json Path=./.sparta/MyHelloWorldStack_mweagle-cftemplate.json Size="2.3 kB" 129 INFO[0015] Creating stack StackID="arn:aws:cloudformation:us-west-2:123412341234:stack/MyHelloWorldStack-mweagle/6b71c580-1862-11e8-a26e-503f20f2ad82" 130 INFO[0047] CloudFormation provisioning metrics: 131 INFO[0047] Operation duration Duration=29.00s Resource=MyHelloWorldStack-mweagle Type="AWS::CloudFormation::Stack" 132 INFO[0047] Operation duration Duration=19.36s Resource=IAMRole8ac3388ca48db9dbd6fab6f9410bfef9d10b7b35 Type="AWS::IAM::Role" 133 INFO[0047] Operation duration Duration=2.14s Resource=HelloWorldLambda7d01d27fe422d278bcc652b4a989528718eb88af Type="AWS::Lambda::Function" 134 INFO[0047] Stack provisioned CreationTime="2018-02-23 06:26:02.395 +0000 UTC" StackId="arn:aws:cloudformation:us-west-2:123412341234:stack/MyHelloWorldStack-mweagle/6b71c580-1862-11e8-a26e-503f20f2ad82" StackName=MyHelloWorldStack-mweagle 135 INFO[0047] ════════════════════════════════════════════════ 136 INFO[0047] MyHelloWorldStack-mweagle Summary 137 INFO[0047] ════════════════════════════════════════════════ 138 INFO[0047] Verifying IAM roles Duration (s)=0 139 INFO[0047] Verifying AWS preconditions Duration (s)=1 140 INFO[0047] Creating code bundle Duration (s)=2 141 INFO[0047] Uploading code Duration (s)=11 142 INFO[0047] Ensuring CloudFormation stack Duration (s)=33 143 INFO[0047] Total elapsed time Duration (s)=47 144 ``` 145 </textarea> 146 </section> 147 148 <section data-markdown> 149 <textarea data-template> 150 ### Done 151 152  153 154 </textarea> 155 </section> 156 157 <section data-markdown> 158 <textarea data-template> 159 160  161 162 More examples in [GitHub](https://github.com/mweagle?utf8=%E2%9C%93&tab=repositories&q=Sparta&type=&language=) 163 </textarea> 164 </section> 165 166 </div> 167 168 </div> 169 170 <script src="/presentations/reveal.js-3.9.2/lib/js/head.min.js"></script> 171 <script src="/presentations/reveal.js-3.9.2/js/reveal.js"></script> 172 173 <script> 174 175 // More info https://github.com/hakimel/reveal.js#configuration 176 Reveal.initialize({ 177 controls: true, 178 progress: true, 179 history: true, 180 center: true, 181 182 transition: 'slide', // none/fade/slide/convex/concave/zoom 183 184 // More info https://github.com/hakimel/reveal.js#dependencies 185 dependencies: [ 186 { src: '/presentations/reveal.js-3.9.2/lib/js/classList.js', condition: function() { return !document.body.classList; } }, 187 { src: '/presentations/reveal.js-3.9.2/plugin/markdown/marked.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } }, 188 { src: '/presentations/reveal.js-3.9.2/plugin/markdown/markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } }, 189 { src: '/presentations/reveal.js-3.9.2/plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } }, 190 { src: '/presentations/reveal.js-3.9.2/plugin/zoom-js/zoom.js', async: true }, 191 { src: '/presentations/reveal.js-3.9.2/plugin/notes/notes.js', async: true } 192 ] 193 }); 194 195 </script> 196 197 </body> 198 </html>