├── .gitignore ├── LICENSE ├── README.md ├── _config.yml ├── _docs ├── qs-git-clone.png ├── qs-prep-remote.png ├── quickstart-console-explore.png ├── quickstart-console-external-endpoint.png └── quickstart-console-git-remote.png ├── csharp-aspnet ├── Dockerfile └── app │ └── src │ ├── .bowerrc │ ├── .dockerignore │ ├── .gitignore │ ├── Controllers │ └── HomeController.cs │ ├── Program.cs │ ├── Properties │ └── launchSettings.json │ ├── README.md │ ├── Startup.cs │ ├── Views │ ├── Home │ │ ├── About.cshtml │ │ ├── Contact.cshtml │ │ └── Index.cshtml │ ├── Shared │ │ ├── Error.cshtml │ │ └── _Layout.cshtml │ ├── _ViewImports.cshtml │ └── _ViewStart.cshtml │ ├── appsettings.Development.json │ ├── appsettings.json │ ├── bower.json │ ├── bundleconfig.json │ ├── csharp-aspnet.csproj │ ├── global.json │ ├── web.config │ └── wwwroot │ ├── css │ ├── site.css │ └── site.min.css │ ├── favicon.ico │ ├── images │ ├── banner1.svg │ ├── banner2.svg │ ├── banner3.svg │ └── banner4.svg │ ├── js │ ├── site.js │ └── site.min.js │ └── lib │ ├── bootstrap │ ├── .bower.json │ ├── CHANGELOG.md │ ├── Gemfile │ ├── Gemfile.lock │ ├── Gruntfile.js │ ├── ISSUE_TEMPLATE.md │ ├── LICENSE │ ├── README.md │ ├── bower.json │ ├── dist │ │ ├── css │ │ │ ├── bootstrap-theme.css │ │ │ ├── bootstrap-theme.css.map │ │ │ ├── bootstrap-theme.min.css │ │ │ ├── bootstrap-theme.min.css.map │ │ │ ├── bootstrap.css │ │ │ ├── bootstrap.css.map │ │ │ ├── bootstrap.min.css │ │ │ └── bootstrap.min.css.map │ │ ├── fonts │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ ├── glyphicons-halflings-regular.svg │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ ├── glyphicons-halflings-regular.woff │ │ │ └── glyphicons-halflings-regular.woff2 │ │ └── js │ │ │ ├── bootstrap.js │ │ │ ├── bootstrap.min.js │ │ │ └── npm.js │ ├── fonts │ │ ├── glyphicons-halflings-regular.eot │ │ ├── glyphicons-halflings-regular.svg │ │ ├── glyphicons-halflings-regular.ttf │ │ ├── glyphicons-halflings-regular.woff │ │ └── glyphicons-halflings-regular.woff2 │ ├── grunt │ │ ├── .jshintrc │ │ ├── bs-commonjs-generator.js │ │ ├── bs-glyphicons-data-generator.js │ │ ├── bs-lessdoc-parser.js │ │ ├── bs-raw-files-generator.js │ │ ├── change-version.js │ │ ├── configBridge.json │ │ ├── npm-shrinkwrap.json │ │ └── sauce_browsers.yml │ ├── js │ │ ├── .jscsrc │ │ ├── .jshintrc │ │ ├── affix.js │ │ ├── alert.js │ │ ├── button.js │ │ ├── carousel.js │ │ ├── collapse.js │ │ ├── dropdown.js │ │ ├── modal.js │ │ ├── popover.js │ │ ├── scrollspy.js │ │ ├── tab.js │ │ ├── tooltip.js │ │ └── transition.js │ ├── less │ │ ├── .csscomb.json │ │ ├── .csslintrc │ │ ├── alerts.less │ │ ├── badges.less │ │ ├── bootstrap.less │ │ ├── breadcrumbs.less │ │ ├── button-groups.less │ │ ├── buttons.less │ │ ├── carousel.less │ │ ├── close.less │ │ ├── code.less │ │ ├── component-animations.less │ │ ├── dropdowns.less │ │ ├── forms.less │ │ ├── glyphicons.less │ │ ├── grid.less │ │ ├── input-groups.less │ │ ├── jumbotron.less │ │ ├── labels.less │ │ ├── list-group.less │ │ ├── media.less │ │ ├── mixins.less │ │ ├── mixins │ │ │ ├── alerts.less │ │ │ ├── background-variant.less │ │ │ ├── border-radius.less │ │ │ ├── buttons.less │ │ │ ├── center-block.less │ │ │ ├── clearfix.less │ │ │ ├── forms.less │ │ │ ├── gradients.less │ │ │ ├── grid-framework.less │ │ │ ├── grid.less │ │ │ ├── hide-text.less │ │ │ ├── image.less │ │ │ ├── labels.less │ │ │ ├── list-group.less │ │ │ ├── nav-divider.less │ │ │ ├── nav-vertical-align.less │ │ │ ├── opacity.less │ │ │ ├── pagination.less │ │ │ ├── panels.less │ │ │ ├── progress-bar.less │ │ │ ├── reset-filter.less │ │ │ ├── reset-text.less │ │ │ ├── resize.less │ │ │ ├── responsive-visibility.less │ │ │ ├── size.less │ │ │ ├── tab-focus.less │ │ │ ├── table-row.less │ │ │ ├── text-emphasis.less │ │ │ ├── text-overflow.less │ │ │ └── vendor-prefixes.less │ │ ├── modals.less │ │ ├── navbar.less │ │ ├── navs.less │ │ ├── normalize.less │ │ ├── pager.less │ │ ├── pagination.less │ │ ├── panels.less │ │ ├── popovers.less │ │ ├── print.less │ │ ├── progress-bars.less │ │ ├── responsive-embed.less │ │ ├── responsive-utilities.less │ │ ├── scaffolding.less │ │ ├── tables.less │ │ ├── theme.less │ │ ├── thumbnails.less │ │ ├── tooltip.less │ │ ├── type.less │ │ ├── utilities.less │ │ ├── variables.less │ │ └── wells.less │ ├── nuget │ │ ├── MyGet.ps1 │ │ ├── bootstrap.less.nuspec │ │ └── bootstrap.nuspec │ ├── package.js │ └── package.json │ ├── jquery-validation-unobtrusive │ ├── .bower.json │ ├── LICENSE.txt │ ├── bower.json │ ├── jquery.validate.unobtrusive.js │ └── jquery.validate.unobtrusive.min.js │ ├── jquery-validation │ ├── .bower.json │ ├── CONTRIBUTING.md │ ├── Gruntfile.js │ ├── LICENSE.md │ ├── README.md │ ├── bower.json │ ├── build │ │ └── release.js │ ├── changelog.md │ ├── dist │ │ ├── additional-methods.js │ │ ├── additional-methods.min.js │ │ ├── jquery.validate.js │ │ └── jquery.validate.min.js │ ├── package.json │ ├── src │ │ ├── additional │ │ │ ├── accept.js │ │ │ ├── additional.js │ │ │ ├── alphanumeric.js │ │ │ ├── bankaccountNL.js │ │ │ ├── bankorgiroaccountNL.js │ │ │ ├── bic.js │ │ │ ├── cifES.js │ │ │ ├── cpfBR.js │ │ │ ├── creditcard.js │ │ │ ├── creditcardtypes.js │ │ │ ├── currency.js │ │ │ ├── dateFA.js │ │ │ ├── dateITA.js │ │ │ ├── dateNL.js │ │ │ ├── extension.js │ │ │ ├── giroaccountNL.js │ │ │ ├── iban.js │ │ │ ├── integer.js │ │ │ ├── ipv4.js │ │ │ ├── ipv6.js │ │ │ ├── lettersonly.js │ │ │ ├── letterswithbasicpunc.js │ │ │ ├── mobileNL.js │ │ │ ├── mobileUK.js │ │ │ ├── nieES.js │ │ │ ├── nifES.js │ │ │ ├── notEqualTo.js │ │ │ ├── nowhitespace.js │ │ │ ├── pattern.js │ │ │ ├── phoneNL.js │ │ │ ├── phoneUK.js │ │ │ ├── phoneUS.js │ │ │ ├── phonesUK.js │ │ │ ├── postalCodeCA.js │ │ │ ├── postalcodeBR.js │ │ │ ├── postalcodeIT.js │ │ │ ├── postalcodeNL.js │ │ │ ├── postcodeUK.js │ │ │ ├── require_from_group.js │ │ │ ├── skip_or_fill_minimum.js │ │ │ ├── statesUS.js │ │ │ ├── strippedminlength.js │ │ │ ├── time.js │ │ │ ├── time12h.js │ │ │ ├── url2.js │ │ │ ├── vinUS.js │ │ │ ├── zipcodeUS.js │ │ │ └── ziprange.js │ │ ├── ajax.js │ │ ├── core.js │ │ └── localization │ │ │ ├── messages_ar.js │ │ │ ├── messages_bg.js │ │ │ ├── messages_bn_BD.js │ │ │ ├── messages_ca.js │ │ │ ├── messages_cs.js │ │ │ ├── messages_da.js │ │ │ ├── messages_de.js │ │ │ ├── messages_el.js │ │ │ ├── messages_es.js │ │ │ ├── messages_es_AR.js │ │ │ ├── messages_es_PE.js │ │ │ ├── messages_et.js │ │ │ ├── messages_eu.js │ │ │ ├── messages_fa.js │ │ │ ├── messages_fi.js │ │ │ ├── messages_fr.js │ │ │ ├── messages_ge.js │ │ │ ├── messages_gl.js │ │ │ ├── messages_he.js │ │ │ ├── messages_hr.js │ │ │ ├── messages_hu.js │ │ │ ├── messages_hy_AM.js │ │ │ ├── messages_id.js │ │ │ ├── messages_is.js │ │ │ ├── messages_it.js │ │ │ ├── messages_ja.js │ │ │ ├── messages_ka.js │ │ │ ├── messages_kk.js │ │ │ ├── messages_ko.js │ │ │ ├── messages_lt.js │ │ │ ├── messages_lv.js │ │ │ ├── messages_mk.js │ │ │ ├── messages_my.js │ │ │ ├── messages_nl.js │ │ │ ├── messages_no.js │ │ │ ├── messages_pl.js │ │ │ ├── messages_pt_BR.js │ │ │ ├── messages_pt_PT.js │ │ │ ├── messages_ro.js │ │ │ ├── messages_ru.js │ │ │ ├── messages_si.js │ │ │ ├── messages_sk.js │ │ │ ├── messages_sl.js │ │ │ ├── messages_sr.js │ │ │ ├── messages_sr_lat.js │ │ │ ├── messages_sv.js │ │ │ ├── messages_th.js │ │ │ ├── messages_tj.js │ │ │ ├── messages_tr.js │ │ │ ├── messages_uk.js │ │ │ ├── messages_vi.js │ │ │ ├── messages_zh.js │ │ │ ├── messages_zh_TW.js │ │ │ ├── methods_de.js │ │ │ ├── methods_es_CL.js │ │ │ ├── methods_fi.js │ │ │ ├── methods_nl.js │ │ │ └── methods_pt.js │ └── validation.jquery.json │ └── jquery │ ├── .bower.json │ ├── AUTHORS.txt │ ├── LICENSE.txt │ ├── README.md │ ├── bower.json │ ├── dist │ ├── jquery.js │ ├── jquery.min.js │ └── jquery.min.map │ ├── external │ └── sizzle │ │ ├── LICENSE.txt │ │ └── dist │ │ ├── sizzle.js │ │ ├── sizzle.min.js │ │ └── sizzle.min.map │ └── src │ ├── .jshintrc │ ├── ajax.js │ ├── ajax │ ├── jsonp.js │ ├── load.js │ ├── parseJSON.js │ ├── parseXML.js │ ├── script.js │ ├── var │ │ ├── location.js │ │ ├── nonce.js │ │ └── rquery.js │ └── xhr.js │ ├── attributes.js │ ├── attributes │ ├── attr.js │ ├── classes.js │ ├── prop.js │ ├── support.js │ └── val.js │ ├── callbacks.js │ ├── core.js │ ├── core │ ├── access.js │ ├── init.js │ ├── parseHTML.js │ ├── ready.js │ └── var │ │ └── rsingleTag.js │ ├── css.js │ ├── css │ ├── addGetHookIf.js │ ├── adjustCSS.js │ ├── curCSS.js │ ├── defaultDisplay.js │ ├── hiddenVisibleSelectors.js │ ├── showHide.js │ ├── support.js │ └── var │ │ ├── cssExpand.js │ │ ├── getStyles.js │ │ ├── isHidden.js │ │ ├── rmargin.js │ │ ├── rnumnonpx.js │ │ └── swap.js │ ├── data.js │ ├── data │ ├── Data.js │ └── var │ │ ├── acceptData.js │ │ ├── dataPriv.js │ │ └── dataUser.js │ ├── deferred.js │ ├── deprecated.js │ ├── dimensions.js │ ├── effects.js │ ├── effects │ ├── Tween.js │ └── animatedSelector.js │ ├── event.js │ ├── event │ ├── ajax.js │ ├── alias.js │ ├── focusin.js │ ├── support.js │ └── trigger.js │ ├── exports │ ├── amd.js │ └── global.js │ ├── intro.js │ ├── jquery.js │ ├── manipulation.js │ ├── manipulation │ ├── _evalUrl.js │ ├── buildFragment.js │ ├── getAll.js │ ├── setGlobalEval.js │ ├── support.js │ ├── var │ │ ├── rcheckableType.js │ │ ├── rscriptType.js │ │ └── rtagName.js │ └── wrapMap.js │ ├── offset.js │ ├── outro.js │ ├── queue.js │ ├── queue │ └── delay.js │ ├── selector-native.js │ ├── selector-sizzle.js │ ├── selector.js │ ├── serialize.js │ ├── traversing.js │ ├── traversing │ ├── findFilter.js │ └── var │ │ ├── dir.js │ │ ├── rneedsContext.js │ │ └── siblings.js │ ├── var │ ├── arr.js │ ├── class2type.js │ ├── concat.js │ ├── document.js │ ├── documentElement.js │ ├── hasOwn.js │ ├── indexOf.js │ ├── pnum.js │ ├── push.js │ ├── rcssNum.js │ ├── rnotwhite.js │ ├── slice.js │ ├── support.js │ └── toString.js │ └── wrap.js ├── docker ├── Dockerfile └── bin │ └── app ├── elasticsearch ├── Dockerfile └── app │ └── conf │ └── elasticsearch.yml ├── go-beego ├── .dockerignore ├── .gitignore ├── Dockerfile ├── README.md ├── glide.lock ├── glide.yaml ├── k8s.yaml ├── run-local-server.sh └── src │ └── main.go ├── go-gin ├── .dockerignore ├── .gitignore ├── Dockerfile ├── README.md ├── glide.lock ├── glide.yaml ├── k8s.yaml ├── run-local-server.sh └── src │ └── main.go ├── go-iris ├── Dockerfile ├── app │ └── main.go ├── glide.lock └── glide.yaml ├── go-raw ├── .dockerignore ├── .gitignore ├── Dockerfile ├── README.md ├── glide.lock ├── glide.yaml ├── k8s.yaml ├── run-local-server.sh └── src │ └── main.go ├── go-simple-server ├── Dockerfile ├── README.md ├── k8s.yaml └── src │ └── main.go ├── haskell-spock ├── .gitignore ├── Dockerfile ├── LICENSE ├── Makefile ├── Setup.hs ├── app │ └── Main.hs ├── build │ └── Dockerfile ├── haskell-spock.cabal ├── src │ ├── Conf.hs │ └── Lib.hs ├── stack.yaml └── test │ └── Spec.hs ├── java-play ├── .gitignore ├── Dockerfile ├── LICENSE ├── README ├── app │ ├── Filters.java │ ├── Module.java │ ├── controllers │ │ ├── AsyncController.java │ │ ├── CountController.java │ │ └── HomeController.java │ ├── filters │ │ └── ExampleFilter.java │ ├── services │ │ ├── ApplicationTimer.java │ │ ├── AtomicCounter.java │ │ └── Counter.java │ └── views │ │ ├── index.scala.html │ │ └── main.scala.html ├── bin │ ├── activator │ └── activator.bat ├── build.sbt ├── conf │ ├── application.conf │ ├── logback.xml │ └── routes ├── libexec │ └── activator-launch-1.3.12.jar ├── project │ ├── build.properties │ └── plugins.sbt ├── public │ ├── images │ │ └── favicon.png │ ├── javascripts │ │ └── hello.js │ └── stylesheets │ │ └── main.css └── test │ ├── ApplicationTest.java │ └── IntegrationTest.java ├── java-spark ├── .idea │ ├── compiler.xml │ ├── libraries │ │ ├── Maven__com_sparkjava_spark_core_2_5_5.xml │ │ ├── Maven__javax_servlet_javax_servlet_api_3_1_0.xml │ │ ├── Maven__org_eclipse_jetty_jetty_http_9_3_6_v20151106.xml │ │ ├── Maven__org_eclipse_jetty_jetty_io_9_3_6_v20151106.xml │ │ ├── Maven__org_eclipse_jetty_jetty_security_9_3_6_v20151106.xml │ │ ├── Maven__org_eclipse_jetty_jetty_server_9_3_6_v20151106.xml │ │ ├── Maven__org_eclipse_jetty_jetty_servlet_9_3_6_v20151106.xml │ │ ├── Maven__org_eclipse_jetty_jetty_util_9_3_6_v20151106.xml │ │ ├── Maven__org_eclipse_jetty_jetty_webapp_9_3_6_v20151106.xml │ │ ├── Maven__org_eclipse_jetty_jetty_xml_9_3_6_v20151106.xml │ │ ├── Maven__org_eclipse_jetty_websocket_websocket_api_9_3_6_v20151106.xml │ │ ├── Maven__org_eclipse_jetty_websocket_websocket_client_9_3_6_v20151106.xml │ │ ├── Maven__org_eclipse_jetty_websocket_websocket_common_9_3_6_v20151106.xml │ │ ├── Maven__org_eclipse_jetty_websocket_websocket_server_9_3_6_v20151106.xml │ │ ├── Maven__org_eclipse_jetty_websocket_websocket_servlet_9_3_6_v20151106.xml │ │ └── Maven__org_slf4j_slf4j_api_1_7_13.xml │ ├── misc.xml │ ├── modules.xml │ └── workspace.xml ├── Dockerfile ├── java-spark.iml ├── pom.xml ├── src │ └── main │ │ └── java │ │ └── Main.java └── target │ └── classes │ └── Main.class ├── java-spring-boot ├── .idea │ ├── compiler.xml │ ├── encodings.xml │ ├── libraries │ │ ├── Maven__ch_qos_logback_logback_classic_1_1_11.xml │ │ ├── Maven__ch_qos_logback_logback_core_1_1_11.xml │ │ ├── Maven__com_fasterxml_classmate_1_3_3.xml │ │ ├── Maven__com_fasterxml_jackson_core_jackson_annotations_2_8_0.xml │ │ ├── Maven__com_fasterxml_jackson_core_jackson_core_2_8_7.xml │ │ ├── Maven__com_fasterxml_jackson_core_jackson_databind_2_8_7.xml │ │ ├── Maven__javax_validation_validation_api_1_1_0_Final.xml │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_core_8_5_11.xml │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_el_8_5_11.xml │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_websocket_8_5_11.xml │ │ ├── Maven__org_hibernate_hibernate_validator_5_3_4_Final.xml │ │ ├── Maven__org_jboss_logging_jboss_logging_3_3_0_Final.xml │ │ ├── Maven__org_slf4j_jcl_over_slf4j_1_7_24.xml │ │ ├── Maven__org_slf4j_jul_to_slf4j_1_7_24.xml │ │ ├── Maven__org_slf4j_log4j_over_slf4j_1_7_24.xml │ │ ├── Maven__org_slf4j_slf4j_api_1_7_24.xml │ │ ├── Maven__org_springframework_boot_spring_boot_1_5_2_RELEASE.xml │ │ ├── Maven__org_springframework_boot_spring_boot_autoconfigure_1_5_2_RELEASE.xml │ │ ├── Maven__org_springframework_boot_spring_boot_starter_1_5_2_RELEASE.xml │ │ ├── Maven__org_springframework_boot_spring_boot_starter_logging_1_5_2_RELEASE.xml │ │ ├── Maven__org_springframework_boot_spring_boot_starter_tomcat_1_5_2_RELEASE.xml │ │ ├── Maven__org_springframework_boot_spring_boot_starter_web_1_5_2_RELEASE.xml │ │ ├── Maven__org_springframework_spring_aop_4_3_7_RELEASE.xml │ │ ├── Maven__org_springframework_spring_beans_4_3_7_RELEASE.xml │ │ ├── Maven__org_springframework_spring_context_4_3_7_RELEASE.xml │ │ ├── Maven__org_springframework_spring_core_4_3_7_RELEASE.xml │ │ ├── Maven__org_springframework_spring_expression_4_3_7_RELEASE.xml │ │ ├── Maven__org_springframework_spring_web_4_3_7_RELEASE.xml │ │ ├── Maven__org_springframework_spring_webmvc_4_3_7_RELEASE.xml │ │ └── Maven__org_yaml_snakeyaml_1_17.xml │ ├── misc.xml │ ├── modules.xml │ └── workspace.xml ├── Dockerfile ├── java-spring-boot.iml ├── pom.xml ├── src │ └── main │ │ └── java │ │ └── Main.java └── target │ └── classes │ └── Main.class ├── js-angularjs ├── .bowerrc ├── .dockerignore ├── .editorconfig ├── .gitattributes ├── .gitignore ├── .jscsrc ├── .jshintrc ├── .yo-rc.json ├── Dockerfile ├── Gruntfile.js ├── app │ ├── 404.html │ ├── favicon.ico │ ├── images │ │ └── yeoman.png │ ├── index.html │ ├── robots.txt │ ├── scripts │ │ ├── app.js │ │ └── controllers │ │ │ ├── about.js │ │ │ └── main.js │ ├── styles │ │ └── main.css │ └── views │ │ ├── about.html │ │ └── main.html ├── bower.json ├── package.json ├── runserver.sh └── test │ ├── .jshintrc │ ├── karma.conf.js │ └── spec │ └── controllers │ ├── about.js │ └── main.js ├── mysql ├── Dockerfile ├── README.md ├── conf │ ├── conf.d │ │ ├── docker.cnf │ │ └── mysql.cnf │ ├── my.cnf │ ├── my.cnf.fallback │ ├── mysql.cnf │ └── mysql.conf.d │ │ └── mysqld.cnf └── k8s.yaml ├── nginx ├── Dockerfile └── app │ ├── conf │ └── nginx.conf │ └── src │ ├── index.html │ └── static │ └── hello.js ├── nodejs-express-sass ├── Dockerfile └── app │ ├── conf │ └── sass-watch.sh │ └── src │ ├── package.json │ ├── public │ └── html │ │ ├── 404.html │ │ └── index.html │ ├── sass │ ├── 404.sass │ └── main.sass │ └── server.js ├── nodejs-express ├── Dockerfile └── app │ └── src │ ├── .gitignore │ ├── package.json │ └── server.js ├── php-apache ├── Dockerfile └── app │ ├── conf │ ├── apache-config.conf │ └── ports.conf │ └── src │ └── index.php ├── php-laravel ├── .dockerignore ├── Dockerfile ├── README ├── app │ ├── .env.example │ ├── .gitattributes │ ├── .gitignore │ ├── app │ │ ├── Console │ │ │ └── Kernel.php │ │ ├── Exceptions │ │ │ └── Handler.php │ │ ├── Http │ │ │ ├── Controllers │ │ │ │ ├── Auth │ │ │ │ │ ├── ForgotPasswordController.php │ │ │ │ │ ├── LoginController.php │ │ │ │ │ ├── RegisterController.php │ │ │ │ │ └── ResetPasswordController.php │ │ │ │ └── Controller.php │ │ │ ├── Kernel.php │ │ │ └── Middleware │ │ │ │ ├── EncryptCookies.php │ │ │ │ ├── RedirectIfAuthenticated.php │ │ │ │ ├── TrimStrings.php │ │ │ │ ├── TrustProxies.php │ │ │ │ └── VerifyCsrfToken.php │ │ ├── Providers │ │ │ ├── AppServiceProvider.php │ │ │ ├── AuthServiceProvider.php │ │ │ ├── BroadcastServiceProvider.php │ │ │ ├── EventServiceProvider.php │ │ │ └── RouteServiceProvider.php │ │ └── User.php │ ├── artisan │ ├── bootstrap │ │ ├── app.php │ │ └── cache │ │ │ └── .gitignore │ ├── composer.json │ ├── composer.lock │ ├── config │ │ ├── app.php │ │ ├── auth.php │ │ ├── broadcasting.php │ │ ├── cache.php │ │ ├── database.php │ │ ├── filesystems.php │ │ ├── mail.php │ │ ├── queue.php │ │ ├── services.php │ │ ├── session.php │ │ └── view.php │ ├── database │ │ ├── .gitignore │ │ ├── factories │ │ │ └── UserFactory.php │ │ ├── migrations │ │ │ ├── 2014_10_12_000000_create_users_table.php │ │ │ └── 2014_10_12_100000_create_password_resets_table.php │ │ └── seeds │ │ │ └── DatabaseSeeder.php │ ├── package.json │ ├── phpunit.xml │ ├── public │ │ ├── .htaccess │ │ ├── css │ │ │ └── app.css │ │ ├── favicon.ico │ │ ├── index.php │ │ ├── js │ │ │ └── app.js │ │ └── robots.txt │ ├── resources │ │ ├── assets │ │ │ ├── js │ │ │ │ ├── app.js │ │ │ │ ├── bootstrap.js │ │ │ │ └── components │ │ │ │ │ └── ExampleComponent.vue │ │ │ └── sass │ │ │ │ ├── _variables.scss │ │ │ │ └── app.scss │ │ ├── lang │ │ │ └── en │ │ │ │ ├── auth.php │ │ │ │ ├── pagination.php │ │ │ │ ├── passwords.php │ │ │ │ └── validation.php │ │ └── views │ │ │ └── welcome.blade.php │ ├── routes │ │ ├── api.php │ │ ├── channels.php │ │ ├── console.php │ │ └── web.php │ ├── server.php │ ├── storage │ │ ├── app │ │ │ ├── .gitignore │ │ │ └── public │ │ │ │ └── .gitignore │ │ ├── framework │ │ │ ├── .gitignore │ │ │ ├── cache │ │ │ │ └── .gitignore │ │ │ ├── sessions │ │ │ │ └── .gitignore │ │ │ ├── testing │ │ │ │ └── .gitignore │ │ │ └── views │ │ │ │ └── .gitignore │ │ └── logs │ │ │ └── .gitignore │ ├── tests │ │ ├── CreatesApplication.php │ │ ├── Feature │ │ │ └── ExampleTest.php │ │ ├── TestCase.php │ │ └── Unit │ │ │ └── ExampleTest.php │ ├── webpack.mix.js │ └── yarn.lock └── k8s.yaml ├── python-cron ├── k8s.yaml └── src │ ├── Dockerfile │ ├── hello.py │ ├── main.py │ └── requirements.txt ├── python-flask ├── .gitignore ├── Dockerfile ├── README.md ├── conf │ └── gunicorn_config.py ├── k8s.yaml └── src │ ├── .gitignore │ ├── __init__.py │ ├── hasura.py │ ├── requirements.txt │ └── server.py ├── r-shiny ├── Dockerfile ├── app │ ├── global.R │ ├── merchant.txt │ ├── romeo.txt │ ├── server.R │ ├── summer.txt │ ├── temp │ └── ui.R ├── shiny-server.conf └── shiny-server.sh ├── react ├── Dockerfile └── app │ ├── .gitignore │ ├── README.md │ ├── package.json │ ├── public │ ├── favicon.ico │ ├── index.html │ └── manifest.json │ ├── src │ ├── App.css │ ├── App.js │ ├── App.test.js │ ├── index.css │ ├── index.js │ ├── logo.svg │ └── registerServiceWorker.js │ └── yarn.lock ├── schemaspy ├── Dockerfile ├── README.md ├── app │ ├── .gitignore │ ├── conf │ │ └── nginx.conf │ └── init.sh ├── docker-config.yaml └── k8s.yaml ├── serverless-functions ├── Dockerfile ├── config.json ├── deploy.py ├── functions │ └── hello.py └── requirements.txt ├── swift-perfect ├── .gitignore ├── Dockerfile ├── Package.swift └── Sources │ └── main.swift ├── swift-vapor ├── .dockerignore ├── .gitignore ├── Config │ └── servers.json ├── Dockerfile ├── Package.swift └── Sources │ └── main.swift └── typescript-angular ├── .angular-cli.json ├── .dockerignore ├── .editorconfig ├── .gitignore ├── Dockerfile ├── e2e ├── app.e2e-spec.ts ├── app.po.ts └── tsconfig.e2e.json ├── karma.conf.js ├── package.json ├── protractor.conf.js ├── runserver.sh ├── src ├── app │ ├── app.component.html │ ├── app.component.sass │ ├── app.component.spec.ts │ ├── app.component.ts │ └── app.module.ts ├── assets │ └── .gitkeep ├── environments │ ├── environment.prod.ts │ └── environment.ts ├── favicon.ico ├── index.html ├── main.ts ├── polyfills.ts ├── styles.sass ├── test.ts ├── tsconfig.app.json ├── tsconfig.spec.json └── typings.d.ts ├── tsconfig.json └── tslint.json /.gitignore: -------------------------------------------------------------------------------- 1 | *.swp 2 | *.swo 3 | *node_modules 4 | *.pyc 5 | go-iris/vendor 6 | haskell-spock/build/rootfs 7 | -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | theme: jekyll-theme-cayman 2 | title: Quickstart for docker projects 3 | description: Boostrap your project with a Dockerfile and a folder structure that works. 4 | author: 5 | url: https://hasura.io 6 | -------------------------------------------------------------------------------- /_docs/qs-git-clone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k8s-platform-hub/microservice-templates/43468b38c3b4c3e3a141be08f98d364ff2858937/_docs/qs-git-clone.png -------------------------------------------------------------------------------- /_docs/qs-prep-remote.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k8s-platform-hub/microservice-templates/43468b38c3b4c3e3a141be08f98d364ff2858937/_docs/qs-prep-remote.png -------------------------------------------------------------------------------- /_docs/quickstart-console-explore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k8s-platform-hub/microservice-templates/43468b38c3b4c3e3a141be08f98d364ff2858937/_docs/quickstart-console-explore.png -------------------------------------------------------------------------------- /_docs/quickstart-console-external-endpoint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k8s-platform-hub/microservice-templates/43468b38c3b4c3e3a141be08f98d364ff2858937/_docs/quickstart-console-external-endpoint.png -------------------------------------------------------------------------------- /_docs/quickstart-console-git-remote.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k8s-platform-hub/microservice-templates/43468b38c3b4c3e3a141be08f98d364ff2858937/_docs/quickstart-console-git-remote.png -------------------------------------------------------------------------------- /csharp-aspnet/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM microsoft/dotnet:1.1-sdk-msbuild 2 | RUN mkdir /src 3 | WORKDIR /src 4 | ADD app/src/ /src 5 | RUN dotnet restore 6 | RUN dotnet build 7 | CMD dotnet run 8 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "wwwroot/lib" 3 | } 4 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/.dockerignore: -------------------------------------------------------------------------------- 1 | bin/* 2 | obj/* 3 | out/* 4 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/Controllers/HomeController.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using Microsoft.AspNetCore.Mvc; 6 | 7 | namespace csharp_aspnet.Controllers 8 | { 9 | public class HomeController : Controller 10 | { 11 | public IActionResult Index() 12 | { 13 | return View(); 14 | } 15 | 16 | public IActionResult About() 17 | { 18 | ViewData["Message"] = "Your application description page."; 19 | 20 | return View(); 21 | } 22 | 23 | public IActionResult Contact() 24 | { 25 | ViewData["Message"] = "Your contact page."; 26 | 27 | return View(); 28 | } 29 | 30 | public IActionResult Error() 31 | { 32 | return View(); 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | using Microsoft.AspNetCore.Hosting; 7 | 8 | namespace csharp_aspnet 9 | { 10 | public class Program 11 | { 12 | public static void Main(string[] args) 13 | { 14 | var host = new WebHostBuilder() 15 | .UseKestrel() 16 | .UseContentRoot(Directory.GetCurrentDirectory()) 17 | .UseIISIntegration() 18 | .UseStartup() 19 | .UseUrls("http://0.0.0.0:8080") 20 | .Build(); 21 | 22 | host.Run(); 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "iisSettings": { 3 | "windowsAuthentication": false, 4 | "anonymousAuthentication": true, 5 | "iisExpress": { 6 | "applicationUrl": "http://localhost:55462/", 7 | "sslPort": 0 8 | } 9 | }, 10 | "profiles": { 11 | "IIS Express": { 12 | "commandName": "IISExpress", 13 | "launchBrowser": true, 14 | "environmentVariables": { 15 | "ASPNETCORE_ENVIRONMENT": "Development" 16 | } 17 | }, 18 | "csharp_aspnet": { 19 | "commandName": "Project", 20 | "launchBrowser": true, 21 | "launchUrl": "http://localhost:5000", 22 | "environmentVariables": { 23 | "ASPNETCORE_ENVIRONMENT": "Development" 24 | } 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/Views/Home/About.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewData["Title"] = "About"; 3 | } 4 |

@ViewData["Title"].

5 |

@ViewData["Message"]

6 | 7 |

Use this area to provide additional information.

8 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/Views/Home/Contact.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewData["Title"] = "Contact"; 3 | } 4 |

@ViewData["Title"].

5 |

@ViewData["Message"]

6 | 7 |
8 | One Microsoft Way
9 | Redmond, WA 98052-6399
10 | P: 11 | 425.555.0100 12 |
13 | 14 |
15 | Support: Support@example.com
16 | Marketing: Marketing@example.com 17 |
18 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/Views/Shared/Error.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewData["Title"] = "Error"; 3 | } 4 | 5 |

Error.

6 |

An error occurred while processing your request.

7 | 8 |

Development Mode

9 |

10 | Swapping to Development environment will display more detailed information about the error that occurred. 11 |

12 |

13 | Development environment should not be enabled in deployed applications, as it can result in sensitive information from exceptions being displayed to end users. For local debugging, development environment can be enabled by setting the ASPNETCORE_ENVIRONMENT environment variable to Development, and restarting the application. 14 |

15 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/Views/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @using csharp_aspnet 2 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 3 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/Views/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "_Layout"; 3 | } 4 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "IncludeScopes": false, 4 | "LogLevel": { 5 | "Default": "Debug", 6 | "System": "Information", 7 | "Microsoft": "Information" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "IncludeScopes": false, 4 | "LogLevel": { 5 | "Default": "Warning" 6 | } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "csharp_aspnet", 3 | "private": true, 4 | "dependencies": { 5 | "bootstrap": "3.3.7", 6 | "jquery": "2.2.4", 7 | "jquery-validation": "1.15.0", 8 | "jquery-validation-unobtrusive": "3.2.6" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/bundleconfig.json: -------------------------------------------------------------------------------- 1 | // Configure bundling and minification for the project. 2 | // More info at https://go.microsoft.com/fwlink/?LinkId=808241 3 | [ 4 | { 5 | "outputFileName": "wwwroot/css/site.min.css", 6 | // An array of relative input file paths. Globbing patterns supported 7 | "inputFiles": [ 8 | "wwwroot/css/site.css" 9 | ] 10 | }, 11 | { 12 | "outputFileName": "wwwroot/js/site.min.js", 13 | "inputFiles": [ 14 | "wwwroot/js/site.js" 15 | ], 16 | // Optionally specify minification options 17 | "minify": { 18 | "enabled": true, 19 | "renameLocals": true 20 | }, 21 | // Optionally generate .map file 22 | "sourceMap": false 23 | } 24 | ] 25 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/csharp-aspnet.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netcoreapp1.0 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/global.json: -------------------------------------------------------------------------------- 1 | { 2 | "sdk": { 3 | "version": "1.0.0-rc4-004771" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/web.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/css/site.min.css: -------------------------------------------------------------------------------- 1 | body{padding-top:50px;padding-bottom:20px}.body-content{padding-left:15px;padding-right:15px}input,select,textarea{max-width:280px}.carousel-caption p{font-size:20px;line-height:1.4}.carousel-inner .item img[src$=".svg"]{width:100%}@media screen and (max-width:767px){.carousel-caption{display:none}} 2 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k8s-platform-hub/microservice-templates/43468b38c3b4c3e3a141be08f98d364ff2858937/csharp-aspnet/app/src/wwwroot/favicon.ico -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/js/site.js: -------------------------------------------------------------------------------- 1 | // Write your Javascript code. 2 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/js/site.min.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k8s-platform-hub/microservice-templates/43468b38c3b4c3e3a141be08f98d364ff2858937/csharp-aspnet/app/src/wwwroot/js/site.min.js -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/bootstrap/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | Bootstrap uses [GitHub's Releases feature](https://github.com/blog/1547-release-your-software) for its changelogs. 2 | 3 | See [the Releases section of our GitHub project](https://github.com/twbs/bootstrap/releases) for changelogs for each release version of Bootstrap. 4 | 5 | Release announcement posts on [the official Bootstrap blog](http://blog.getbootstrap.com) contain summaries of the most noteworthy changes made in each release. 6 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/bootstrap/Gemfile: -------------------------------------------------------------------------------- 1 | source 'https://rubygems.org' 2 | 3 | group :development, :test do 4 | gem 'jekyll', '~> 3.1.2' 5 | gem 'jekyll-sitemap', '~> 0.11.0' 6 | end 7 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/bootstrap/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bootstrap", 3 | "description": "The most popular front-end framework for developing responsive, mobile first projects on the web.", 4 | "keywords": [ 5 | "css", 6 | "js", 7 | "less", 8 | "mobile-first", 9 | "responsive", 10 | "front-end", 11 | "framework", 12 | "web" 13 | ], 14 | "homepage": "http://getbootstrap.com", 15 | "license": "MIT", 16 | "moduleType": "globals", 17 | "main": [ 18 | "less/bootstrap.less", 19 | "dist/js/bootstrap.js" 20 | ], 21 | "ignore": [ 22 | "/.*", 23 | "_config.yml", 24 | "CNAME", 25 | "composer.json", 26 | "CONTRIBUTING.md", 27 | "docs", 28 | "js/tests", 29 | "test-infra" 30 | ], 31 | "dependencies": { 32 | "jquery": "1.9.1 - 3" 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k8s-platform-hub/microservice-templates/43468b38c3b4c3e3a141be08f98d364ff2858937/csharp-aspnet/app/src/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k8s-platform-hub/microservice-templates/43468b38c3b4c3e3a141be08f98d364ff2858937/csharp-aspnet/app/src/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k8s-platform-hub/microservice-templates/43468b38c3b4c3e3a141be08f98d364ff2858937/csharp-aspnet/app/src/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k8s-platform-hub/microservice-templates/43468b38c3b4c3e3a141be08f98d364ff2858937/csharp-aspnet/app/src/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/bootstrap/dist/js/npm.js: -------------------------------------------------------------------------------- 1 | // This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment. 2 | require('../../js/transition.js') 3 | require('../../js/alert.js') 4 | require('../../js/button.js') 5 | require('../../js/carousel.js') 6 | require('../../js/collapse.js') 7 | require('../../js/dropdown.js') 8 | require('../../js/modal.js') 9 | require('../../js/tooltip.js') 10 | require('../../js/popover.js') 11 | require('../../js/scrollspy.js') 12 | require('../../js/tab.js') 13 | require('../../js/affix.js') -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k8s-platform-hub/microservice-templates/43468b38c3b4c3e3a141be08f98d364ff2858937/csharp-aspnet/app/src/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k8s-platform-hub/microservice-templates/43468b38c3b4c3e3a141be08f98d364ff2858937/csharp-aspnet/app/src/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k8s-platform-hub/microservice-templates/43468b38c3b4c3e3a141be08f98d364ff2858937/csharp-aspnet/app/src/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k8s-platform-hub/microservice-templates/43468b38c3b4c3e3a141be08f98d364ff2858937/csharp-aspnet/app/src/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/bootstrap/grunt/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "extends" : "../js/.jshintrc", 3 | "asi" : false, 4 | "browser" : false, 5 | "es3" : false, 6 | "node" : true 7 | } 8 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/bootstrap/js/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "asi" : true, 3 | "browser" : true, 4 | "eqeqeq" : false, 5 | "eqnull" : true, 6 | "es3" : true, 7 | "expr" : true, 8 | "jquery" : true, 9 | "latedef" : true, 10 | "laxbreak" : true, 11 | "nonbsp" : true, 12 | "strict" : true, 13 | "undef" : true, 14 | "unused" : true 15 | } 16 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/bootstrap/less/.csslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "adjoining-classes": false, 3 | "box-sizing": false, 4 | "box-model": false, 5 | "compatible-vendor-prefixes": false, 6 | "floats": false, 7 | "font-sizes": false, 8 | "gradients": false, 9 | "important": false, 10 | "known-properties": false, 11 | "outline-none": false, 12 | "qualified-headings": false, 13 | "regex-selectors": false, 14 | "shorthand": false, 15 | "text-indent": false, 16 | "unique-headings": false, 17 | "universal-selector": false, 18 | "unqualified-attributes": false 19 | } 20 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/bootstrap/less/breadcrumbs.less: -------------------------------------------------------------------------------- 1 | // 2 | // Breadcrumbs 3 | // -------------------------------------------------- 4 | 5 | 6 | .breadcrumb { 7 | padding: @breadcrumb-padding-vertical @breadcrumb-padding-horizontal; 8 | margin-bottom: @line-height-computed; 9 | list-style: none; 10 | background-color: @breadcrumb-bg; 11 | border-radius: @border-radius-base; 12 | 13 | > li { 14 | display: inline-block; 15 | 16 | + li:before { 17 | content: "@{breadcrumb-separator}\00a0"; // Unicode space added since inline-block means non-collapsing white-space 18 | padding: 0 5px; 19 | color: @breadcrumb-color; 20 | } 21 | } 22 | 23 | > .active { 24 | color: @breadcrumb-active-color; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/bootstrap/less/component-animations.less: -------------------------------------------------------------------------------- 1 | // 2 | // Component animations 3 | // -------------------------------------------------- 4 | 5 | // Heads up! 6 | // 7 | // We don't use the `.opacity()` mixin here since it causes a bug with text 8 | // fields in IE7-8. Source: https://github.com/twbs/bootstrap/pull/3552. 9 | 10 | .fade { 11 | opacity: 0; 12 | .transition(opacity .15s linear); 13 | &.in { 14 | opacity: 1; 15 | } 16 | } 17 | 18 | .collapse { 19 | display: none; 20 | 21 | &.in { display: block; } 22 | tr&.in { display: table-row; } 23 | tbody&.in { display: table-row-group; } 24 | } 25 | 26 | .collapsing { 27 | position: relative; 28 | height: 0; 29 | overflow: hidden; 30 | .transition-property(~"height, visibility"); 31 | .transition-duration(.35s); 32 | .transition-timing-function(ease); 33 | } 34 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/bootstrap/less/mixins/alerts.less: -------------------------------------------------------------------------------- 1 | // Alerts 2 | 3 | .alert-variant(@background; @border; @text-color) { 4 | background-color: @background; 5 | border-color: @border; 6 | color: @text-color; 7 | 8 | hr { 9 | border-top-color: darken(@border, 5%); 10 | } 11 | .alert-link { 12 | color: darken(@text-color, 10%); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/bootstrap/less/mixins/background-variant.less: -------------------------------------------------------------------------------- 1 | // Contextual backgrounds 2 | 3 | .bg-variant(@color) { 4 | background-color: @color; 5 | a&:hover, 6 | a&:focus { 7 | background-color: darken(@color, 10%); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/bootstrap/less/mixins/border-radius.less: -------------------------------------------------------------------------------- 1 | // Single side border-radius 2 | 3 | .border-top-radius(@radius) { 4 | border-top-right-radius: @radius; 5 | border-top-left-radius: @radius; 6 | } 7 | .border-right-radius(@radius) { 8 | border-bottom-right-radius: @radius; 9 | border-top-right-radius: @radius; 10 | } 11 | .border-bottom-radius(@radius) { 12 | border-bottom-right-radius: @radius; 13 | border-bottom-left-radius: @radius; 14 | } 15 | .border-left-radius(@radius) { 16 | border-bottom-left-radius: @radius; 17 | border-top-left-radius: @radius; 18 | } 19 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/bootstrap/less/mixins/center-block.less: -------------------------------------------------------------------------------- 1 | // Center-align a block level element 2 | 3 | .center-block() { 4 | display: block; 5 | margin-left: auto; 6 | margin-right: auto; 7 | } 8 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/bootstrap/less/mixins/clearfix.less: -------------------------------------------------------------------------------- 1 | // Clearfix 2 | // 3 | // For modern browsers 4 | // 1. The space content is one way to avoid an Opera bug when the 5 | // contenteditable attribute is included anywhere else in the document. 6 | // Otherwise it causes space to appear at the top and bottom of elements 7 | // that are clearfixed. 8 | // 2. The use of `table` rather than `block` is only necessary if using 9 | // `:before` to contain the top-margins of child elements. 10 | // 11 | // Source: http://nicolasgallagher.com/micro-clearfix-hack/ 12 | 13 | .clearfix() { 14 | &:before, 15 | &:after { 16 | content: " "; // 1 17 | display: table; // 2 18 | } 19 | &:after { 20 | clear: both; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/bootstrap/less/mixins/hide-text.less: -------------------------------------------------------------------------------- 1 | // CSS image replacement 2 | // 3 | // Heads up! v3 launched with only `.hide-text()`, but per our pattern for 4 | // mixins being reused as classes with the same name, this doesn't hold up. As 5 | // of v3.0.1 we have added `.text-hide()` and deprecated `.hide-text()`. 6 | // 7 | // Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757 8 | 9 | // Deprecated as of v3.0.1 (has been removed in v4) 10 | .hide-text() { 11 | font: ~"0/0" a; 12 | color: transparent; 13 | text-shadow: none; 14 | background-color: transparent; 15 | border: 0; 16 | } 17 | 18 | // New mixin to use as of v3.0.1 19 | .text-hide() { 20 | .hide-text(); 21 | } 22 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/bootstrap/less/mixins/labels.less: -------------------------------------------------------------------------------- 1 | // Labels 2 | 3 | .label-variant(@color) { 4 | background-color: @color; 5 | 6 | &[href] { 7 | &:hover, 8 | &:focus { 9 | background-color: darken(@color, 10%); 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/bootstrap/less/mixins/list-group.less: -------------------------------------------------------------------------------- 1 | // List Groups 2 | 3 | .list-group-item-variant(@state; @background; @color) { 4 | .list-group-item-@{state} { 5 | color: @color; 6 | background-color: @background; 7 | 8 | a&, 9 | button& { 10 | color: @color; 11 | 12 | .list-group-item-heading { 13 | color: inherit; 14 | } 15 | 16 | &:hover, 17 | &:focus { 18 | color: @color; 19 | background-color: darken(@background, 5%); 20 | } 21 | &.active, 22 | &.active:hover, 23 | &.active:focus { 24 | color: #fff; 25 | background-color: @color; 26 | border-color: @color; 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/bootstrap/less/mixins/nav-divider.less: -------------------------------------------------------------------------------- 1 | // Horizontal dividers 2 | // 3 | // Dividers (basically an hr) within dropdowns and nav lists 4 | 5 | .nav-divider(@color: #e5e5e5) { 6 | height: 1px; 7 | margin: ((@line-height-computed / 2) - 1) 0; 8 | overflow: hidden; 9 | background-color: @color; 10 | } 11 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/bootstrap/less/mixins/nav-vertical-align.less: -------------------------------------------------------------------------------- 1 | // Navbar vertical align 2 | // 3 | // Vertically center elements in the navbar. 4 | // Example: an element has a height of 30px, so write out `.navbar-vertical-align(30px);` to calculate the appropriate top margin. 5 | 6 | .navbar-vertical-align(@element-height) { 7 | margin-top: ((@navbar-height - @element-height) / 2); 8 | margin-bottom: ((@navbar-height - @element-height) / 2); 9 | } 10 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/bootstrap/less/mixins/opacity.less: -------------------------------------------------------------------------------- 1 | // Opacity 2 | 3 | .opacity(@opacity) { 4 | opacity: @opacity; 5 | // IE8 filter 6 | @opacity-ie: (@opacity * 100); 7 | filter: ~"alpha(opacity=@{opacity-ie})"; 8 | } 9 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/bootstrap/less/mixins/pagination.less: -------------------------------------------------------------------------------- 1 | // Pagination 2 | 3 | .pagination-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) { 4 | > li { 5 | > a, 6 | > span { 7 | padding: @padding-vertical @padding-horizontal; 8 | font-size: @font-size; 9 | line-height: @line-height; 10 | } 11 | &:first-child { 12 | > a, 13 | > span { 14 | .border-left-radius(@border-radius); 15 | } 16 | } 17 | &:last-child { 18 | > a, 19 | > span { 20 | .border-right-radius(@border-radius); 21 | } 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/bootstrap/less/mixins/panels.less: -------------------------------------------------------------------------------- 1 | // Panels 2 | 3 | .panel-variant(@border; @heading-text-color; @heading-bg-color; @heading-border) { 4 | border-color: @border; 5 | 6 | & > .panel-heading { 7 | color: @heading-text-color; 8 | background-color: @heading-bg-color; 9 | border-color: @heading-border; 10 | 11 | + .panel-collapse > .panel-body { 12 | border-top-color: @border; 13 | } 14 | .badge { 15 | color: @heading-bg-color; 16 | background-color: @heading-text-color; 17 | } 18 | } 19 | & > .panel-footer { 20 | + .panel-collapse > .panel-body { 21 | border-bottom-color: @border; 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/bootstrap/less/mixins/progress-bar.less: -------------------------------------------------------------------------------- 1 | // Progress bars 2 | 3 | .progress-bar-variant(@color) { 4 | background-color: @color; 5 | 6 | // Deprecated parent class requirement as of v3.2.0 7 | .progress-striped & { 8 | #gradient > .striped(); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/bootstrap/less/mixins/reset-filter.less: -------------------------------------------------------------------------------- 1 | // Reset filters for IE 2 | // 3 | // When you need to remove a gradient background, do not forget to use this to reset 4 | // the IE filter for IE9 and below. 5 | 6 | .reset-filter() { 7 | filter: e(%("progid:DXImageTransform.Microsoft.gradient(enabled = false)")); 8 | } 9 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/bootstrap/less/mixins/reset-text.less: -------------------------------------------------------------------------------- 1 | .reset-text() { 2 | font-family: @font-family-base; 3 | // We deliberately do NOT reset font-size. 4 | font-style: normal; 5 | font-weight: normal; 6 | letter-spacing: normal; 7 | line-break: auto; 8 | line-height: @line-height-base; 9 | text-align: left; // Fallback for where `start` is not supported 10 | text-align: start; 11 | text-decoration: none; 12 | text-shadow: none; 13 | text-transform: none; 14 | white-space: normal; 15 | word-break: normal; 16 | word-spacing: normal; 17 | word-wrap: normal; 18 | } 19 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/bootstrap/less/mixins/resize.less: -------------------------------------------------------------------------------- 1 | // Resize anything 2 | 3 | .resizable(@direction) { 4 | resize: @direction; // Options: horizontal, vertical, both 5 | overflow: auto; // Per CSS3 UI, `resize` only applies when `overflow` isn't `visible` 6 | } 7 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/bootstrap/less/mixins/responsive-visibility.less: -------------------------------------------------------------------------------- 1 | // Responsive utilities 2 | 3 | // 4 | // More easily include all the states for responsive-utilities.less. 5 | .responsive-visibility() { 6 | display: block !important; 7 | table& { display: table !important; } 8 | tr& { display: table-row !important; } 9 | th&, 10 | td& { display: table-cell !important; } 11 | } 12 | 13 | .responsive-invisibility() { 14 | display: none !important; 15 | } 16 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/bootstrap/less/mixins/size.less: -------------------------------------------------------------------------------- 1 | // Sizing shortcuts 2 | 3 | .size(@width; @height) { 4 | width: @width; 5 | height: @height; 6 | } 7 | 8 | .square(@size) { 9 | .size(@size; @size); 10 | } 11 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/bootstrap/less/mixins/tab-focus.less: -------------------------------------------------------------------------------- 1 | // WebKit-style focus 2 | 3 | .tab-focus() { 4 | // WebKit-specific. Other browsers will keep their default outline style. 5 | // (Initially tried to also force default via `outline: initial`, 6 | // but that seems to erroneously remove the outline in Firefox altogether.) 7 | outline: 5px auto -webkit-focus-ring-color; 8 | outline-offset: -2px; 9 | } 10 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/bootstrap/less/mixins/table-row.less: -------------------------------------------------------------------------------- 1 | // Tables 2 | 3 | .table-row-variant(@state; @background) { 4 | // Exact selectors below required to override `.table-striped` and prevent 5 | // inheritance to nested tables. 6 | .table > thead > tr, 7 | .table > tbody > tr, 8 | .table > tfoot > tr { 9 | > td.@{state}, 10 | > th.@{state}, 11 | &.@{state} > td, 12 | &.@{state} > th { 13 | background-color: @background; 14 | } 15 | } 16 | 17 | // Hover states for `.table-hover` 18 | // Note: this is not available for cells or rows within `thead` or `tfoot`. 19 | .table-hover > tbody > tr { 20 | > td.@{state}:hover, 21 | > th.@{state}:hover, 22 | &.@{state}:hover > td, 23 | &:hover > .@{state}, 24 | &.@{state}:hover > th { 25 | background-color: darken(@background, 5%); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/bootstrap/less/mixins/text-emphasis.less: -------------------------------------------------------------------------------- 1 | // Typography 2 | 3 | .text-emphasis-variant(@color) { 4 | color: @color; 5 | a&:hover, 6 | a&:focus { 7 | color: darken(@color, 10%); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/bootstrap/less/mixins/text-overflow.less: -------------------------------------------------------------------------------- 1 | // Text overflow 2 | // Requires inline-block or block for proper styling 3 | 4 | .text-overflow() { 5 | overflow: hidden; 6 | text-overflow: ellipsis; 7 | white-space: nowrap; 8 | } 9 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/bootstrap/less/responsive-embed.less: -------------------------------------------------------------------------------- 1 | // Embeds responsive 2 | // 3 | // Credit: Nicolas Gallagher and SUIT CSS. 4 | 5 | .embed-responsive { 6 | position: relative; 7 | display: block; 8 | height: 0; 9 | padding: 0; 10 | overflow: hidden; 11 | 12 | .embed-responsive-item, 13 | iframe, 14 | embed, 15 | object, 16 | video { 17 | position: absolute; 18 | top: 0; 19 | left: 0; 20 | bottom: 0; 21 | height: 100%; 22 | width: 100%; 23 | border: 0; 24 | } 25 | } 26 | 27 | // Modifier class for 16:9 aspect ratio 28 | .embed-responsive-16by9 { 29 | padding-bottom: 56.25%; 30 | } 31 | 32 | // Modifier class for 4:3 aspect ratio 33 | .embed-responsive-4by3 { 34 | padding-bottom: 75%; 35 | } 36 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/bootstrap/less/wells.less: -------------------------------------------------------------------------------- 1 | // 2 | // Wells 3 | // -------------------------------------------------- 4 | 5 | 6 | // Base class 7 | .well { 8 | min-height: 20px; 9 | padding: 19px; 10 | margin-bottom: 20px; 11 | background-color: @well-bg; 12 | border: 1px solid @well-border; 13 | border-radius: @border-radius-base; 14 | .box-shadow(inset 0 1px 1px rgba(0,0,0,.05)); 15 | blockquote { 16 | border-color: #ddd; 17 | border-color: rgba(0,0,0,.15); 18 | } 19 | } 20 | 21 | // Sizes 22 | .well-lg { 23 | padding: 24px; 24 | border-radius: @border-radius-large; 25 | } 26 | .well-sm { 27 | padding: 9px; 28 | border-radius: @border-radius-small; 29 | } 30 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/bootstrap/nuget/MyGet.ps1: -------------------------------------------------------------------------------- 1 | $nuget = $env:NuGet 2 | 3 | # parse the version number out of package.json 4 | $bsversion = ((Get-Content $env:SourcesPath\package.json) -join "`n" | ConvertFrom-Json).version 5 | 6 | # create packages 7 | & $nuget pack "nuget\bootstrap.nuspec" -Verbosity detailed -NonInteractive -NoPackageAnalysis -BasePath $env:SourcesPath -Version $bsversion 8 | & $nuget pack "nuget\bootstrap.less.nuspec" -Verbosity detailed -NonInteractive -NoPackageAnalysis -BasePath $env:SourcesPath -Version $bsversion 9 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery-validation-unobtrusive/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) .NET Foundation. All rights reserved. 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); you may not use 4 | these files except in compliance with the License. You may obtain a copy of the 5 | License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software distributed 10 | under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 11 | CONDITIONS OF ANY KIND, either express or implied. See the License for the 12 | specific language governing permissions and limitations under the License. 13 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery-validation/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery-validation", 3 | "homepage": "http://jqueryvalidation.org/", 4 | "repository": { 5 | "type": "git", 6 | "url": "git://github.com/jzaefferer/jquery-validation.git" 7 | }, 8 | "authors": [ 9 | "Jörn Zaefferer " 10 | ], 11 | "description": "Form validation made easy", 12 | "main": "dist/jquery.validate.js", 13 | "keywords": [ 14 | "forms", 15 | "validation", 16 | "validate" 17 | ], 18 | "license": "MIT", 19 | "ignore": [ 20 | "**/.*", 21 | "node_modules", 22 | "bower_components", 23 | "test", 24 | "demo", 25 | "lib" 26 | ], 27 | "dependencies": { 28 | "jquery": ">= 1.7.2" 29 | }, 30 | "version": "1.15.0" 31 | } 32 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery-validation/src/additional/alphanumeric.js: -------------------------------------------------------------------------------- 1 | $.validator.addMethod( "alphanumeric", function( value, element ) { 2 | return this.optional( element ) || /^\w+$/i.test( value ); 3 | }, "Letters, numbers, and underscores only please" ); 4 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery-validation/src/additional/bankorgiroaccountNL.js: -------------------------------------------------------------------------------- 1 | $.validator.addMethod( "bankorgiroaccountNL", function( value, element ) { 2 | return this.optional( element ) || 3 | ( $.validator.methods.bankaccountNL.call( this, value, element ) ) || 4 | ( $.validator.methods.giroaccountNL.call( this, value, element ) ); 5 | }, "Please specify a valid bank or giro account number" ); 6 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery-validation/src/additional/dateFA.js: -------------------------------------------------------------------------------- 1 | $.validator.addMethod( "dateFA", function( value, element ) { 2 | return this.optional( element ) || /^[1-4]\d{3}\/((0?[1-6]\/((3[0-1])|([1-2][0-9])|(0?[1-9])))|((1[0-2]|(0?[7-9]))\/(30|([1-2][0-9])|(0?[1-9]))))$/.test( value ); 3 | }, $.validator.messages.date ); 4 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery-validation/src/additional/dateNL.js: -------------------------------------------------------------------------------- 1 | $.validator.addMethod( "dateNL", function( value, element ) { 2 | return this.optional( element ) || /^(0?[1-9]|[12]\d|3[01])[\.\/\-](0?[1-9]|1[012])[\.\/\-]([12]\d)?(\d\d)$/.test( value ); 3 | }, $.validator.messages.date ); 4 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery-validation/src/additional/extension.js: -------------------------------------------------------------------------------- 1 | // Older "accept" file extension method. Old docs: http://docs.jquery.com/Plugins/Validation/Methods/accept 2 | $.validator.addMethod( "extension", function( value, element, param ) { 3 | param = typeof param === "string" ? param.replace( /,/g, "|" ) : "png|jpe?g|gif"; 4 | return this.optional( element ) || value.match( new RegExp( "\\.(" + param + ")$", "i" ) ); 5 | }, $.validator.format( "Please enter a value with a valid extension." ) ); 6 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery-validation/src/additional/giroaccountNL.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Dutch giro account numbers (not bank numbers) have max 7 digits 3 | */ 4 | $.validator.addMethod( "giroaccountNL", function( value, element ) { 5 | return this.optional( element ) || /^[0-9]{1,7}$/.test( value ); 6 | }, "Please specify a valid giro account number" ); 7 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery-validation/src/additional/integer.js: -------------------------------------------------------------------------------- 1 | $.validator.addMethod( "integer", function( value, element ) { 2 | return this.optional( element ) || /^-?\d+$/.test( value ); 3 | }, "A positive or negative non-decimal number please" ); 4 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery-validation/src/additional/ipv4.js: -------------------------------------------------------------------------------- 1 | $.validator.addMethod( "ipv4", function( value, element ) { 2 | return this.optional( element ) || /^(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)$/i.test( value ); 3 | }, "Please enter a valid IP v4 address." ); 4 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery-validation/src/additional/lettersonly.js: -------------------------------------------------------------------------------- 1 | $.validator.addMethod( "lettersonly", function( value, element ) { 2 | return this.optional( element ) || /^[a-z]+$/i.test( value ); 3 | }, "Letters only please" ); 4 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery-validation/src/additional/letterswithbasicpunc.js: -------------------------------------------------------------------------------- 1 | $.validator.addMethod( "letterswithbasicpunc", function( value, element ) { 2 | return this.optional( element ) || /^[a-z\-.,()'"\s]+$/i.test( value ); 3 | }, "Letters or punctuation only please" ); 4 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery-validation/src/additional/mobileNL.js: -------------------------------------------------------------------------------- 1 | $.validator.addMethod( "mobileNL", function( value, element ) { 2 | return this.optional( element ) || /^((\+|00(\s|\s?\-\s?)?)31(\s|\s?\-\s?)?(\(0\)[\-\s]?)?|0)6((\s|\s?\-\s?)?[0-9]){8}$/.test( value ); 3 | }, "Please specify a valid mobile number" ); 4 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery-validation/src/additional/nifES.js: -------------------------------------------------------------------------------- 1 | /* 2 | * The Número de Identificación Fiscal ( NIF ) is the way tax identification used in Spain for individuals 3 | */ 4 | $.validator.addMethod( "nifES", function( value ) { 5 | "use strict"; 6 | 7 | value = value.toUpperCase(); 8 | 9 | // Basic format test 10 | if ( !value.match( "((^[A-Z]{1}[0-9]{7}[A-Z0-9]{1}$|^[T]{1}[A-Z0-9]{8}$)|^[0-9]{8}[A-Z]{1}$)" ) ) { 11 | return false; 12 | } 13 | 14 | // Test NIF 15 | if ( /^[0-9]{8}[A-Z]{1}$/.test( value ) ) { 16 | return ( "TRWAGMYFPDXBNJZSQVHLCKE".charAt( value.substring( 8, 0 ) % 23 ) === value.charAt( 8 ) ); 17 | } 18 | 19 | // Test specials NIF (starts with K, L or M) 20 | if ( /^[KLM]{1}/.test( value ) ) { 21 | return ( value[ 8 ] === String.fromCharCode( 64 ) ); 22 | } 23 | 24 | return false; 25 | 26 | }, "Please specify a valid NIF number." ); 27 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery-validation/src/additional/notEqualTo.js: -------------------------------------------------------------------------------- 1 | jQuery.validator.addMethod( "notEqualTo", function( value, element, param ) { 2 | return this.optional( element ) || !$.validator.methods.equalTo.call( this, value, element, param ); 3 | }, "Please enter a different value, values must not be the same." ); 4 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery-validation/src/additional/nowhitespace.js: -------------------------------------------------------------------------------- 1 | $.validator.addMethod( "nowhitespace", function( value, element ) { 2 | return this.optional( element ) || /^\S+$/i.test( value ); 3 | }, "No white space please" ); 4 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery-validation/src/additional/pattern.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Return true if the field value matches the given format RegExp 3 | * 4 | * @example $.validator.methods.pattern("AR1004",element,/^AR\d{4}$/) 5 | * @result true 6 | * 7 | * @example $.validator.methods.pattern("BR1004",element,/^AR\d{4}$/) 8 | * @result false 9 | * 10 | * @name $.validator.methods.pattern 11 | * @type Boolean 12 | * @cat Plugins/Validate/Methods 13 | */ 14 | $.validator.addMethod( "pattern", function( value, element, param ) { 15 | if ( this.optional( element ) ) { 16 | return true; 17 | } 18 | if ( typeof param === "string" ) { 19 | param = new RegExp( "^(?:" + param + ")$" ); 20 | } 21 | return param.test( value ); 22 | }, "Invalid format." ); 23 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery-validation/src/additional/phoneNL.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Dutch phone numbers have 10 digits (or 11 and start with +31). 3 | */ 4 | $.validator.addMethod( "phoneNL", function( value, element ) { 5 | return this.optional( element ) || /^((\+|00(\s|\s?\-\s?)?)31(\s|\s?\-\s?)?(\(0\)[\-\s]?)?|0)[1-9]((\s|\s?\-\s?)?[0-9]){8}$/.test( value ); 6 | }, "Please specify a valid phone number." ); 7 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery-validation/src/additional/phoneUS.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Matches US phone number format 3 | * 4 | * where the area code may not start with 1 and the prefix may not start with 1 5 | * allows '-' or ' ' as a separator and allows parens around area code 6 | * some people may want to put a '1' in front of their number 7 | * 8 | * 1(212)-999-2345 or 9 | * 212 999 2344 or 10 | * 212-999-0983 11 | * 12 | * but not 13 | * 111-123-5434 14 | * and not 15 | * 212 123 4567 16 | */ 17 | $.validator.addMethod( "phoneUS", function( phone_number, element ) { 18 | phone_number = phone_number.replace( /\s+/g, "" ); 19 | return this.optional( element ) || phone_number.length > 9 && 20 | phone_number.match( /^(\+?1-?)?(\([2-9]([02-9]\d|1[02-9])\)|[2-9]([02-9]\d|1[02-9]))-?[2-9]([02-9]\d|1[02-9])-?\d{4}$/ ); 21 | }, "Please specify a valid phone number" ); 22 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery-validation/src/additional/postalCodeCA.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Matches a valid Canadian Postal Code 3 | * 4 | * @example jQuery.validator.methods.postalCodeCA( "H0H 0H0", element ) 5 | * @result true 6 | * 7 | * @example jQuery.validator.methods.postalCodeCA( "H0H0H0", element ) 8 | * @result false 9 | * 10 | * @name jQuery.validator.methods.postalCodeCA 11 | * @type Boolean 12 | * @cat Plugins/Validate/Methods 13 | */ 14 | $.validator.addMethod( "postalCodeCA", function( value, element ) { 15 | return this.optional( element ) || /^[ABCEGHJKLMNPRSTVXY]\d[ABCEGHJKLMNPRSTVWXYZ] *\d[ABCEGHJKLMNPRSTVWXYZ]\d$/i.test( value ); 16 | }, "Please specify a valid postal code" ); 17 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery-validation/src/additional/postalcodeBR.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Valida CEPs do brasileiros: 3 | * 4 | * Formatos aceitos: 5 | * 99999-999 6 | * 99.999-999 7 | * 99999999 8 | */ 9 | $.validator.addMethod( "postalcodeBR", function( cep_value, element ) { 10 | return this.optional( element ) || /^\d{2}.\d{3}-\d{3}?$|^\d{5}-?\d{3}?$/.test( cep_value ); 11 | }, "Informe um CEP válido." ); 12 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery-validation/src/additional/postalcodeIT.js: -------------------------------------------------------------------------------- 1 | /* Matches Italian postcode (CAP) */ 2 | $.validator.addMethod( "postalcodeIT", function( value, element ) { 3 | return this.optional( element ) || /^\d{5}$/.test( value ); 4 | }, "Please specify a valid postal code" ); 5 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery-validation/src/additional/postalcodeNL.js: -------------------------------------------------------------------------------- 1 | $.validator.addMethod( "postalcodeNL", function( value, element ) { 2 | return this.optional( element ) || /^[1-9][0-9]{3}\s?[a-zA-Z]{2}$/.test( value ); 3 | }, "Please specify a valid postal code" ); 4 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery-validation/src/additional/postcodeUK.js: -------------------------------------------------------------------------------- 1 | // Matches UK postcode. Does not match to UK Channel Islands that have their own postcodes (non standard UK) 2 | $.validator.addMethod( "postcodeUK", function( value, element ) { 3 | return this.optional( element ) || /^((([A-PR-UWYZ][0-9])|([A-PR-UWYZ][0-9][0-9])|([A-PR-UWYZ][A-HK-Y][0-9])|([A-PR-UWYZ][A-HK-Y][0-9][0-9])|([A-PR-UWYZ][0-9][A-HJKSTUW])|([A-PR-UWYZ][A-HK-Y][0-9][ABEHMNPRVWXY]))\s?([0-9][ABD-HJLNP-UW-Z]{2})|(GIR)\s?(0AA))$/i.test( value ); 4 | }, "Please specify a valid UK postcode" ); 5 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery-validation/src/additional/strippedminlength.js: -------------------------------------------------------------------------------- 1 | // TODO check if value starts with <, otherwise don't try stripping anything 2 | $.validator.addMethod( "strippedminlength", function( value, element, param ) { 3 | return $( value ).text().length >= param; 4 | }, $.validator.format( "Please enter at least {0} characters" ) ); 5 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery-validation/src/additional/time.js: -------------------------------------------------------------------------------- 1 | $.validator.addMethod( "time", function( value, element ) { 2 | return this.optional( element ) || /^([01]\d|2[0-3]|[0-9])(:[0-5]\d){1,2}$/.test( value ); 3 | }, "Please enter a valid time, between 00:00 and 23:59" ); 4 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery-validation/src/additional/time12h.js: -------------------------------------------------------------------------------- 1 | $.validator.addMethod( "time12h", function( value, element ) { 2 | return this.optional( element ) || /^((0?[1-9]|1[012])(:[0-5]\d){1,2}(\ ?[AP]M))$/i.test( value ); 3 | }, "Please enter a valid time in 12-hour am/pm format" ); 4 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery-validation/src/additional/zipcodeUS.js: -------------------------------------------------------------------------------- 1 | $.validator.addMethod( "zipcodeUS", function( value, element ) { 2 | return this.optional( element ) || /^\d{5}(-\d{4})?$/.test( value ); 3 | }, "The specified US ZIP Code is invalid" ); 4 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery-validation/src/additional/ziprange.js: -------------------------------------------------------------------------------- 1 | $.validator.addMethod( "ziprange", function( value, element ) { 2 | return this.optional( element ) || /^90[2-5]\d\{2\}-\d{4}$/.test( value ); 3 | }, "Your ZIP-code must be in the range 902xx-xxxx to 905xx-xxxx" ); 4 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery-validation/src/localization/messages_zh.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: ZH (Chinese, 中文 (Zhōngwén), 汉语, 漢語) 4 | */ 5 | $.extend( $.validator.messages, { 6 | required: "这是必填字段", 7 | remote: "请修正此字段", 8 | email: "请输入有效的电子邮件地址", 9 | url: "请输入有效的网址", 10 | date: "请输入有效的日期", 11 | dateISO: "请输入有效的日期 (YYYY-MM-DD)", 12 | number: "请输入有效的数字", 13 | digits: "只能输入数字", 14 | creditcard: "请输入有效的信用卡号码", 15 | equalTo: "你的输入不相同", 16 | extension: "请输入有效的后缀", 17 | maxlength: $.validator.format( "最多可以输入 {0} 个字符" ), 18 | minlength: $.validator.format( "最少要输入 {0} 个字符" ), 19 | rangelength: $.validator.format( "请输入长度在 {0} 到 {1} 之间的字符串" ), 20 | range: $.validator.format( "请输入范围在 {0} 到 {1} 之间的数值" ), 21 | max: $.validator.format( "请输入不大于 {0} 的数值" ), 22 | min: $.validator.format( "请输入不小于 {0} 的数值" ) 23 | } ); 24 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery-validation/src/localization/methods_de.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Localized default methods for the jQuery validation plugin. 3 | * Locale: DE 4 | */ 5 | $.extend( $.validator.methods, { 6 | date: function( value, element ) { 7 | return this.optional( element ) || /^\d\d?\.\d\d?\.\d\d\d?\d?$/.test( value ); 8 | }, 9 | number: function( value, element ) { 10 | return this.optional( element ) || /^-?(?:\d+|\d{1,3}(?:\.\d{3})+)(?:,\d+)?$/.test( value ); 11 | } 12 | } ); 13 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery-validation/src/localization/methods_es_CL.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Localized default methods for the jQuery validation plugin. 3 | * Locale: ES_CL 4 | */ 5 | $.extend( $.validator.methods, { 6 | date: function( value, element ) { 7 | return this.optional( element ) || /^\d\d?\-\d\d?\-\d\d\d?\d?$/.test( value ); 8 | }, 9 | number: function( value, element ) { 10 | return this.optional( element ) || /^-?(?:\d+|\d{1,3}(?:\.\d{3})+)(?:,\d+)?$/.test( value ); 11 | } 12 | } ); 13 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery-validation/src/localization/methods_fi.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Localized default methods for the jQuery validation plugin. 3 | * Locale: FI 4 | */ 5 | $.extend( $.validator.methods, { 6 | date: function( value, element ) { 7 | return this.optional( element ) || /^\d{1,2}\.\d{1,2}\.\d{4}$/.test( value ); 8 | }, 9 | number: function( value, element ) { 10 | return this.optional( element ) || /^-?(?:\d+)(?:,\d+)?$/.test( value ); 11 | } 12 | } ); 13 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery-validation/src/localization/methods_nl.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Localized default methods for the jQuery validation plugin. 3 | * Locale: NL 4 | */ 5 | $.extend( $.validator.methods, { 6 | date: function( value, element ) { 7 | return this.optional( element ) || /^\d\d?[\.\/\-]\d\d?[\.\/\-]\d\d\d?\d?$/.test( value ); 8 | } 9 | } ); 10 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery-validation/src/localization/methods_pt.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Localized default methods for the jQuery validation plugin. 3 | * Locale: PT_BR 4 | */ 5 | $.extend( $.validator.methods, { 6 | date: function( value, element ) { 7 | return this.optional( element ) || /^\d\d?\/\d\d?\/\d\d\d?\d?$/.test( value ); 8 | } 9 | } ); 10 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery", 3 | "main": "dist/jquery.js", 4 | "license": "MIT", 5 | "ignore": [ 6 | "package.json" 7 | ], 8 | "keywords": [ 9 | "jquery", 10 | "javascript", 11 | "browser", 12 | "library" 13 | ], 14 | "homepage": "https://github.com/jquery/jquery-dist", 15 | "version": "2.2.4", 16 | "_release": "2.2.4", 17 | "_resolution": { 18 | "type": "version", 19 | "tag": "2.2.4", 20 | "commit": "c0185ab7c75aab88762c5aae780b9d83b80eda72" 21 | }, 22 | "_source": "https://github.com/jquery/jquery-dist.git", 23 | "_target": "2.2.4", 24 | "_originalSource": "jquery" 25 | } -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery", 3 | "main": "dist/jquery.js", 4 | "license": "MIT", 5 | "ignore": [ 6 | "package.json" 7 | ], 8 | "keywords": [ 9 | "jquery", 10 | "javascript", 11 | "browser", 12 | "library" 13 | ] 14 | } -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery/src/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "boss": true, 3 | "curly": true, 4 | "eqeqeq": true, 5 | "eqnull": true, 6 | "expr": true, 7 | "immed": true, 8 | "noarg": true, 9 | "quotmark": "double", 10 | "undef": true, 11 | "unused": true, 12 | 13 | "sub": true, 14 | 15 | // Support: IE < 10, Android < 4.1 16 | // The above browsers are failing a lot of tests in the ES5 17 | // test suite at http://test262.ecmascript.org. 18 | "es3": true, 19 | 20 | "globals": { 21 | "window": true, 22 | "JSON": false, 23 | 24 | "jQuery": true, 25 | "define": true, 26 | "module": true, 27 | "noGlobal": true 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery/src/ajax/parseJSON.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core" 3 | ], function( jQuery ) { 4 | 5 | // Support: Android 2.3 6 | // Workaround failure to string-cast null input 7 | jQuery.parseJSON = function( data ) { 8 | return JSON.parse( data + "" ); 9 | }; 10 | 11 | return jQuery.parseJSON; 12 | 13 | } ); 14 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery/src/ajax/parseXML.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core" 3 | ], function( jQuery ) { 4 | 5 | // Cross-browser xml parsing 6 | jQuery.parseXML = function( data ) { 7 | var xml; 8 | if ( !data || typeof data !== "string" ) { 9 | return null; 10 | } 11 | 12 | // Support: IE9 13 | try { 14 | xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); 15 | } catch ( e ) { 16 | xml = undefined; 17 | } 18 | 19 | if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) { 20 | jQuery.error( "Invalid XML: " + data ); 21 | } 22 | return xml; 23 | }; 24 | 25 | return jQuery.parseXML; 26 | 27 | } ); 28 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery/src/ajax/var/location.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | return window.location; 3 | } ); 4 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery/src/ajax/var/nonce.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../../core" 3 | ], function( jQuery ) { 4 | return jQuery.now(); 5 | } ); 6 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery/src/ajax/var/rquery.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | return ( /\?/ ); 3 | } ); 4 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery/src/attributes.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./core", 3 | "./attributes/attr", 4 | "./attributes/prop", 5 | "./attributes/classes", 6 | "./attributes/val" 7 | ], function( jQuery ) { 8 | 9 | // Return jQuery for attributes-only inclusion 10 | return jQuery; 11 | } ); 12 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery/src/core/var/rsingleTag.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | 3 | // Match a standalone tag 4 | return ( /^<([\w-]+)\s*\/?>(?:<\/\1>|)$/ ); 5 | } ); 6 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery/src/css/addGetHookIf.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | 3 | function addGetHookIf( conditionFn, hookFn ) { 4 | 5 | // Define the hook, we'll check on the first run if it's really needed. 6 | return { 7 | get: function() { 8 | if ( conditionFn() ) { 9 | 10 | // Hook not needed (or it's not possible to use it due 11 | // to missing dependency), remove it. 12 | delete this.get; 13 | return; 14 | } 15 | 16 | // Hook needed; redefine it so that the support test is not executed again. 17 | return ( this.get = hookFn ).apply( this, arguments ); 18 | } 19 | }; 20 | } 21 | 22 | return addGetHookIf; 23 | 24 | } ); 25 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery/src/css/hiddenVisibleSelectors.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core", 3 | "../selector" 4 | ], function( jQuery ) { 5 | 6 | jQuery.expr.filters.hidden = function( elem ) { 7 | return !jQuery.expr.filters.visible( elem ); 8 | }; 9 | jQuery.expr.filters.visible = function( elem ) { 10 | 11 | // Support: Opera <= 12.12 12 | // Opera reports offsetWidths and offsetHeights less than zero on some elements 13 | // Use OR instead of AND as the element is not visible if either is true 14 | // See tickets #10406 and #13132 15 | return elem.offsetWidth > 0 || elem.offsetHeight > 0 || elem.getClientRects().length > 0; 16 | }; 17 | 18 | } ); 19 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery/src/css/var/cssExpand.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | return [ "Top", "Right", "Bottom", "Left" ]; 3 | } ); 4 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery/src/css/var/getStyles.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | return function( elem ) { 3 | 4 | // Support: IE<=11+, Firefox<=30+ (#15098, #14150) 5 | // IE throws on elements created in popups 6 | // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" 7 | var view = elem.ownerDocument.defaultView; 8 | 9 | if ( !view || !view.opener ) { 10 | view = window; 11 | } 12 | 13 | return view.getComputedStyle( elem ); 14 | }; 15 | } ); 16 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery/src/css/var/isHidden.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../../core", 3 | "../../selector" 4 | 5 | // css is assumed 6 | ], function( jQuery ) { 7 | 8 | return function( elem, el ) { 9 | 10 | // isHidden might be called from jQuery#filter function; 11 | // in that case, element will be second argument 12 | elem = el || elem; 13 | return jQuery.css( elem, "display" ) === "none" || 14 | !jQuery.contains( elem.ownerDocument, elem ); 15 | }; 16 | } ); 17 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery/src/css/var/rmargin.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | return ( /^margin/ ); 3 | } ); 4 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery/src/css/var/rnumnonpx.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../../var/pnum" 3 | ], function( pnum ) { 4 | return new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); 5 | } ); 6 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery/src/css/var/swap.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | 3 | // A method for quickly swapping in/out CSS properties to get correct calculations. 4 | return function( elem, options, callback, args ) { 5 | var ret, name, 6 | old = {}; 7 | 8 | // Remember the old values, and insert the new ones 9 | for ( name in options ) { 10 | old[ name ] = elem.style[ name ]; 11 | elem.style[ name ] = options[ name ]; 12 | } 13 | 14 | ret = callback.apply( elem, args || [] ); 15 | 16 | // Revert the old values 17 | for ( name in options ) { 18 | elem.style[ name ] = old[ name ]; 19 | } 20 | 21 | return ret; 22 | }; 23 | 24 | } ); 25 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery/src/data/var/acceptData.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | 3 | /** 4 | * Determines whether an object can have data 5 | */ 6 | return function( owner ) { 7 | 8 | // Accepts only: 9 | // - Node 10 | // - Node.ELEMENT_NODE 11 | // - Node.DOCUMENT_NODE 12 | // - Object 13 | // - Any 14 | /* jshint -W018 */ 15 | return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); 16 | }; 17 | 18 | } ); 19 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery/src/data/var/dataPriv.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../Data" 3 | ], function( Data ) { 4 | return new Data(); 5 | } ); 6 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery/src/data/var/dataUser.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../Data" 3 | ], function( Data ) { 4 | return new Data(); 5 | } ); 6 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery/src/deprecated.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./core" 3 | ], function( jQuery ) { 4 | 5 | jQuery.fn.extend( { 6 | 7 | bind: function( types, data, fn ) { 8 | return this.on( types, null, data, fn ); 9 | }, 10 | unbind: function( types, fn ) { 11 | return this.off( types, null, fn ); 12 | }, 13 | 14 | delegate: function( selector, types, data, fn ) { 15 | return this.on( types, selector, data, fn ); 16 | }, 17 | undelegate: function( selector, types, fn ) { 18 | 19 | // ( namespace ) or ( selector, types [, fn] ) 20 | return arguments.length === 1 ? 21 | this.off( selector, "**" ) : 22 | this.off( types, selector || "**", fn ); 23 | }, 24 | size: function() { 25 | return this.length; 26 | } 27 | } ); 28 | 29 | jQuery.fn.andSelf = jQuery.fn.addBack; 30 | 31 | } ); 32 | 33 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery/src/effects/animatedSelector.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core", 3 | "../selector", 4 | "../effects" 5 | ], function( jQuery ) { 6 | 7 | jQuery.expr.filters.animated = function( elem ) { 8 | return jQuery.grep( jQuery.timers, function( fn ) { 9 | return elem === fn.elem; 10 | } ).length; 11 | }; 12 | 13 | } ); 14 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery/src/event/ajax.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core", 3 | "../event" 4 | ], function( jQuery ) { 5 | 6 | // Attach a bunch of functions for handling common AJAX events 7 | jQuery.each( [ 8 | "ajaxStart", 9 | "ajaxStop", 10 | "ajaxComplete", 11 | "ajaxError", 12 | "ajaxSuccess", 13 | "ajaxSend" 14 | ], function( i, type ) { 15 | jQuery.fn[ type ] = function( fn ) { 16 | return this.on( type, fn ); 17 | }; 18 | } ); 19 | 20 | } ); 21 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery/src/event/alias.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core", 3 | 4 | "../event", 5 | "./trigger" 6 | ], function( jQuery ) { 7 | 8 | jQuery.each( ( "blur focus focusin focusout load resize scroll unload click dblclick " + 9 | "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + 10 | "change select submit keydown keypress keyup error contextmenu" ).split( " " ), 11 | function( i, name ) { 12 | 13 | // Handle event binding 14 | jQuery.fn[ name ] = function( data, fn ) { 15 | return arguments.length > 0 ? 16 | this.on( name, null, data, fn ) : 17 | this.trigger( name ); 18 | }; 19 | } ); 20 | 21 | jQuery.fn.extend( { 22 | hover: function( fnOver, fnOut ) { 23 | return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); 24 | } 25 | } ); 26 | 27 | } ); 28 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery/src/event/support.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../var/support" 3 | ], function( support ) { 4 | 5 | support.focusin = "onfocusin" in window; 6 | 7 | return support; 8 | 9 | } ); 10 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery/src/exports/global.js: -------------------------------------------------------------------------------- 1 | var 2 | 3 | // Map over jQuery in case of overwrite 4 | _jQuery = window.jQuery, 5 | 6 | // Map over the $ in case of overwrite 7 | _$ = window.$; 8 | 9 | jQuery.noConflict = function( deep ) { 10 | if ( window.$ === jQuery ) { 11 | window.$ = _$; 12 | } 13 | 14 | if ( deep && window.jQuery === jQuery ) { 15 | window.jQuery = _jQuery; 16 | } 17 | 18 | return jQuery; 19 | }; 20 | 21 | // Expose jQuery and $ identifiers, even in AMD 22 | // (#7102#comment:10, https://github.com/jquery/jquery/pull/557) 23 | // and CommonJS for browser emulators (#13566) 24 | if ( !noGlobal ) { 25 | window.jQuery = window.$ = jQuery; 26 | } 27 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery/src/jquery.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./core", 3 | "./selector", 4 | "./traversing", 5 | "./callbacks", 6 | "./deferred", 7 | "./core/ready", 8 | "./data", 9 | "./queue", 10 | "./queue/delay", 11 | "./attributes", 12 | "./event", 13 | "./event/alias", 14 | "./event/focusin", 15 | "./manipulation", 16 | "./manipulation/_evalUrl", 17 | "./wrap", 18 | "./css", 19 | "./css/hiddenVisibleSelectors", 20 | "./serialize", 21 | "./ajax", 22 | "./ajax/xhr", 23 | "./ajax/script", 24 | "./ajax/jsonp", 25 | "./ajax/load", 26 | "./event/ajax", 27 | "./effects", 28 | "./effects/animatedSelector", 29 | "./offset", 30 | "./dimensions", 31 | "./deprecated", 32 | "./exports/amd" 33 | ], function( jQuery ) { 34 | 35 | return ( window.jQuery = window.$ = jQuery ); 36 | 37 | } ); 38 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery/src/manipulation/_evalUrl.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../ajax" 3 | ], function( jQuery ) { 4 | 5 | jQuery._evalUrl = function( url ) { 6 | return jQuery.ajax( { 7 | url: url, 8 | 9 | // Make this explicit, since user can override this through ajaxSetup (#11264) 10 | type: "GET", 11 | dataType: "script", 12 | async: false, 13 | global: false, 14 | "throws": true 15 | } ); 16 | }; 17 | 18 | return jQuery._evalUrl; 19 | 20 | } ); 21 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery/src/manipulation/getAll.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core" 3 | ], function( jQuery ) { 4 | 5 | function getAll( context, tag ) { 6 | 7 | // Support: IE9-11+ 8 | // Use typeof to avoid zero-argument method invocation on host objects (#15151) 9 | var ret = typeof context.getElementsByTagName !== "undefined" ? 10 | context.getElementsByTagName( tag || "*" ) : 11 | typeof context.querySelectorAll !== "undefined" ? 12 | context.querySelectorAll( tag || "*" ) : 13 | []; 14 | 15 | return tag === undefined || tag && jQuery.nodeName( context, tag ) ? 16 | jQuery.merge( [ context ], ret ) : 17 | ret; 18 | } 19 | 20 | return getAll; 21 | } ); 22 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery/src/manipulation/setGlobalEval.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../data/var/dataPriv" 3 | ], function( dataPriv ) { 4 | 5 | // Mark scripts as having already been evaluated 6 | function setGlobalEval( elems, refElements ) { 7 | var i = 0, 8 | l = elems.length; 9 | 10 | for ( ; i < l; i++ ) { 11 | dataPriv.set( 12 | elems[ i ], 13 | "globalEval", 14 | !refElements || dataPriv.get( refElements[ i ], "globalEval" ) 15 | ); 16 | } 17 | } 18 | 19 | return setGlobalEval; 20 | } ); 21 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery/src/manipulation/var/rcheckableType.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | return ( /^(?:checkbox|radio)$/i ); 3 | } ); 4 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery/src/manipulation/var/rscriptType.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | return ( /^$|\/(?:java|ecma)script/i ); 3 | } ); 4 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery/src/manipulation/var/rtagName.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | return ( /<([\w:-]+)/ ); 3 | } ); 4 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery/src/outro.js: -------------------------------------------------------------------------------- 1 | return jQuery; 2 | })); 3 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery/src/queue/delay.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core", 3 | "../queue", 4 | "../effects" // Delay is optional because of this dependency 5 | ], function( jQuery ) { 6 | 7 | // Based off of the plugin by Clint Helfers, with permission. 8 | // http://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ 9 | jQuery.fn.delay = function( time, type ) { 10 | time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; 11 | type = type || "fx"; 12 | 13 | return this.queue( type, function( next, hooks ) { 14 | var timeout = window.setTimeout( next, time ); 15 | hooks.stop = function() { 16 | window.clearTimeout( timeout ); 17 | }; 18 | } ); 19 | }; 20 | 21 | return jQuery.fn.delay; 22 | } ); 23 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery/src/selector-sizzle.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./core", 3 | "../external/sizzle/dist/sizzle" 4 | ], function( jQuery, Sizzle ) { 5 | 6 | jQuery.find = Sizzle; 7 | jQuery.expr = Sizzle.selectors; 8 | jQuery.expr[ ":" ] = jQuery.expr.pseudos; 9 | jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; 10 | jQuery.text = Sizzle.getText; 11 | jQuery.isXMLDoc = Sizzle.isXML; 12 | jQuery.contains = Sizzle.contains; 13 | 14 | } ); 15 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery/src/selector.js: -------------------------------------------------------------------------------- 1 | define( [ "./selector-sizzle" ], function() {} ); 2 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery/src/traversing/var/dir.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../../core" 3 | ], function( jQuery ) { 4 | 5 | return function( elem, dir, until ) { 6 | var matched = [], 7 | truncate = until !== undefined; 8 | 9 | while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { 10 | if ( elem.nodeType === 1 ) { 11 | if ( truncate && jQuery( elem ).is( until ) ) { 12 | break; 13 | } 14 | matched.push( elem ); 15 | } 16 | } 17 | return matched; 18 | }; 19 | 20 | } ); 21 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery/src/traversing/var/rneedsContext.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../../core", 3 | "../../selector" 4 | ], function( jQuery ) { 5 | return jQuery.expr.match.needsContext; 6 | } ); 7 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery/src/traversing/var/siblings.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | 3 | return function( n, elem ) { 4 | var matched = []; 5 | 6 | for ( ; n; n = n.nextSibling ) { 7 | if ( n.nodeType === 1 && n !== elem ) { 8 | matched.push( n ); 9 | } 10 | } 11 | 12 | return matched; 13 | }; 14 | 15 | } ); 16 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery/src/var/arr.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | return []; 3 | } ); 4 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery/src/var/class2type.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | 3 | // [[Class]] -> type pairs 4 | return {}; 5 | } ); 6 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery/src/var/concat.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./arr" 3 | ], function( arr ) { 4 | return arr.concat; 5 | } ); 6 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery/src/var/document.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | return window.document; 3 | } ); 4 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery/src/var/documentElement.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./document" 3 | ], function( document ) { 4 | return document.documentElement; 5 | } ); 6 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery/src/var/hasOwn.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./class2type" 3 | ], function( class2type ) { 4 | return class2type.hasOwnProperty; 5 | } ); 6 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery/src/var/indexOf.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./arr" 3 | ], function( arr ) { 4 | return arr.indexOf; 5 | } ); 6 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery/src/var/pnum.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | return ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; 3 | } ); 4 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery/src/var/push.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./arr" 3 | ], function( arr ) { 4 | return arr.push; 5 | } ); 6 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery/src/var/rcssNum.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../var/pnum" 3 | ], function( pnum ) { 4 | 5 | return new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); 6 | 7 | } ); 8 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery/src/var/rnotwhite.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | return ( /\S+/g ); 3 | } ); 4 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery/src/var/slice.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./arr" 3 | ], function( arr ) { 4 | return arr.slice; 5 | } ); 6 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery/src/var/support.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | 3 | // All support tests are defined in their respective modules. 4 | return {}; 5 | } ); 6 | -------------------------------------------------------------------------------- /csharp-aspnet/app/src/wwwroot/lib/jquery/src/var/toString.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./class2type" 3 | ], function( class2type ) { 4 | return class2type.toString; 5 | } ); 6 | -------------------------------------------------------------------------------- /docker/Dockerfile: -------------------------------------------------------------------------------- 1 | # Define the base image 2 | FROM alpine:3.5 3 | 4 | # Set environment variables 5 | ENV APP_HOME /app 6 | 7 | # Create app directory 8 | RUN mkdir $APP_HOME 9 | 10 | # Copy files from dev environment to container 11 | COPY bin/app $APP_HOME 12 | 13 | # Give exec permissions 14 | RUN chmod +x $APP_HOME/app 15 | 16 | # Set directory path 17 | WORKDIR $APP_HOME 18 | 19 | # Run executable 20 | CMD ["./app"] 21 | -------------------------------------------------------------------------------- /docker/bin/app: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k8s-platform-hub/microservice-templates/43468b38c3b4c3e3a141be08f98d364ff2858937/docker/bin/app -------------------------------------------------------------------------------- /elasticsearch/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM elasticsearch:latest 2 | 3 | # Edit elasticsearch configuation if needed 4 | #COPY app/conf/elasticsearch.yml /etc/elasticsearch 5 | 6 | # Install elasticsearch Plugins if needed 7 | #RUN /usr/share/elasticsearch/bin/plugin install --batch analysis-icu 8 | -------------------------------------------------------------------------------- /go-beego/.dockerignore: -------------------------------------------------------------------------------- 1 | vendor/ 2 | -------------------------------------------------------------------------------- /go-beego/.gitignore: -------------------------------------------------------------------------------- 1 | vendor/ 2 | main-bin 3 | -------------------------------------------------------------------------------- /go-beego/glide.lock: -------------------------------------------------------------------------------- 1 | hash: bf1e6aa7964ddc565b1ea52a843b47f9e1d9df56a5cacf2267b635dcd2b4c1b5 2 | updated: 2018-01-29T19:52:36.736736015+05:30 3 | imports: 4 | - name: github.com/astaxie/beego 5 | version: bf5c5626ab429e66d88602e1ab1ab5fbf4629a01 6 | subpackages: 7 | - config 8 | - context 9 | - context/param 10 | - grace 11 | - logs 12 | - session 13 | - toolbox 14 | - utils 15 | - name: github.com/google/go-querystring 16 | version: 53e6ce116135b80d037921a7fdd5138cf32d7a8a 17 | subpackages: 18 | - query 19 | - name: github.com/levigross/grequests 20 | version: 3f92c0acb6cd7f2b11aa81f82a33783249fc1bcd 21 | - name: golang.org/x/net 22 | version: f2499483f923065a842d38eb4c7f1927e6fc6e6d 23 | subpackages: 24 | - publicsuffix 25 | testImports: [] 26 | -------------------------------------------------------------------------------- /go-beego/glide.yaml: -------------------------------------------------------------------------------- 1 | package: . 2 | import: 3 | - package: github.com/astaxie/beego 4 | version: ~1.9.2 5 | subpackages: 6 | - context 7 | - package: github.com/levigross/grequests 8 | version: ~0.9.0 9 | -------------------------------------------------------------------------------- /go-beego/run-local-server.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | glide install 4 | gin --path src --bin main-bin --port 8080 run main.go 5 | -------------------------------------------------------------------------------- /go-gin/.dockerignore: -------------------------------------------------------------------------------- 1 | vendor/ 2 | -------------------------------------------------------------------------------- /go-gin/.gitignore: -------------------------------------------------------------------------------- 1 | vendor/ 2 | main-bin 3 | -------------------------------------------------------------------------------- /go-gin/glide.yaml: -------------------------------------------------------------------------------- 1 | package: . 2 | import: 3 | - package: github.com/gin-gonic/gin 4 | version: ~1.2.0 5 | - package: github.com/levigross/grequests 6 | version: ~0.9.0 7 | - package: github.com/google/go-querystring 8 | subpackages: 9 | - query 10 | -------------------------------------------------------------------------------- /go-gin/run-local-server.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | glide install 4 | gin --path src --bin main-bin --port 8080 run main.go 5 | -------------------------------------------------------------------------------- /go-iris/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM golang:1.8-alpine 2 | 3 | RUN apk add --no-cache git build-base 4 | 5 | RUN go get github.com/Masterminds/glide 6 | 7 | WORKDIR /go/src/github.com/hasura/quickstart-docker-git/go-iris 8 | 9 | ADD glide.lock glide.lock 10 | 11 | ADD glide.yaml glide.yaml 12 | 13 | RUN glide install --skip-test 14 | 15 | ADD . . 16 | 17 | RUN CGO_ENABLED=0 go build -a app/main.go 18 | 19 | CMD ./main 20 | -------------------------------------------------------------------------------- /go-iris/app/main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "gopkg.in/kataras/iris.v6" 5 | "gopkg.in/kataras/iris.v6/adaptors/httprouter" 6 | ) 7 | 8 | // Hello response structure 9 | type Hello struct { 10 | Message string 11 | } 12 | 13 | func main() { 14 | app := iris.New() 15 | 16 | app.Adapt( 17 | iris.DevLogger(), 18 | httprouter.New(), 19 | ) 20 | 21 | app.Get("/", index) 22 | 23 | app.Listen(":8080") 24 | } 25 | 26 | func index(ctx *iris.Context) { 27 | m := Hello{"Welcome to Hasura"} 28 | ctx.JSON(iris.StatusOK, m) 29 | } 30 | -------------------------------------------------------------------------------- /go-iris/glide.yaml: -------------------------------------------------------------------------------- 1 | package: . 2 | import: 3 | - package: github.com/kataras/iris 4 | subpackages: 5 | - adaptors/httprouter 6 | - package: gopkg.in/kataras/iris.v6 7 | version: v6.2 8 | -------------------------------------------------------------------------------- /go-raw/.dockerignore: -------------------------------------------------------------------------------- 1 | vendor/ 2 | -------------------------------------------------------------------------------- /go-raw/.gitignore: -------------------------------------------------------------------------------- 1 | vendor/ 2 | main-bin 3 | -------------------------------------------------------------------------------- /go-raw/glide.lock: -------------------------------------------------------------------------------- 1 | hash: 120f249627be5b861e6bea533685c6ed21287845e4953101618b653b7c9198d1 2 | updated: 2018-01-25T13:52:31.754368827+05:30 3 | imports: 4 | - name: github.com/google/go-querystring 5 | version: 53e6ce116135b80d037921a7fdd5138cf32d7a8a 6 | subpackages: 7 | - query 8 | - name: github.com/levigross/grequests 9 | version: 3f92c0acb6cd7f2b11aa81f82a33783249fc1bcd 10 | - name: golang.org/x/net 11 | version: f2499483f923065a842d38eb4c7f1927e6fc6e6d 12 | subpackages: 13 | - publicsuffix 14 | testImports: [] 15 | -------------------------------------------------------------------------------- /go-raw/glide.yaml: -------------------------------------------------------------------------------- 1 | package: . 2 | import: 3 | - package: github.com/levigross/grequests 4 | version: ~0.9.0 5 | -------------------------------------------------------------------------------- /go-raw/run-local-server.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | glide install 4 | gin --path src --bin main-bin --port 8080 run main.go 5 | -------------------------------------------------------------------------------- /go-simple-server/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM golang:1.8.5-jessie 2 | 3 | # uncomment to install required debian packages 4 | # add any package that is required after `build-essential`, end the line with \ 5 | # RUN apt-get update && apt-get install -y \ 6 | # build-essential \ 7 | # && rm -rf /var/lib/apt/lists/* 8 | 9 | # setup the working directory 10 | WORKDIR /go/src/app 11 | 12 | # add source code 13 | ADD src src 14 | 15 | # build the source 16 | RUN go build src/main.go 17 | 18 | # command to be executed on running the container 19 | CMD ["./main"] 20 | 21 | -------------------------------------------------------------------------------- /haskell-spock/.gitignore: -------------------------------------------------------------------------------- 1 | .stack-work 2 | -------------------------------------------------------------------------------- /haskell-spock/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM haskell:8.0.2 2 | 3 | RUN mkdir /usr/src/app 4 | 5 | COPY haskell-spock.cabal /usr/src/app/haskell-spock.cabal 6 | COPY stack.yaml /usr/src/app/stack.yaml 7 | 8 | WORKDIR /usr/src/app 9 | 10 | RUN stack --stack-yaml /usr/src/app/stack.yaml setup 11 | RUN stack build --only-dependencies 12 | 13 | COPY . /usr/src/app 14 | 15 | RUN pwd 16 | RUN stack build --fast 17 | RUN stack install --local-bin-path /usr/bin 18 | RUN rm -rf /usr/src/app /opt/ghc /root/.stack 19 | CMD haskell-spock 20 | -------------------------------------------------------------------------------- /haskell-spock/Setup.hs: -------------------------------------------------------------------------------- 1 | import Distribution.Simple 2 | main = defaultMain 3 | -------------------------------------------------------------------------------- /haskell-spock/app/Main.hs: -------------------------------------------------------------------------------- 1 | {-# LANGUAGE OverloadedStrings #-} 2 | 3 | import Web.Spock 4 | import Web.Spock.Config 5 | import Data.Text (pack) 6 | import Conf 7 | 8 | 9 | main :: IO () 10 | main = do 11 | appCfg <- defaultSpockCfg () PCNoDatabase () 12 | runSpock port (spock appCfg routes) 13 | 14 | routes :: SpockM () () () () 15 | routes = do 16 | get root $ do 17 | text $ pack "Hello Haskell Spock" 18 | 19 | get "inside" $ do 20 | text $ pack "Hello from the inside" -------------------------------------------------------------------------------- /haskell-spock/build/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM scratch 2 | COPY rootfs/ / 3 | 4 | <<<<<<< HEAD 5 | CMD haskell-spock 6 | ======= 7 | #CMD haskell-spock 8 | #Add your own binary name here to run that command by default 9 | >>>>>>> 631bed093e3770953317dbbcf42770de7e3ef7f7 10 | -------------------------------------------------------------------------------- /haskell-spock/src/Conf.hs: -------------------------------------------------------------------------------- 1 | module Conf where 2 | 3 | port :: Int 4 | port = 8080 -------------------------------------------------------------------------------- /haskell-spock/src/Lib.hs: -------------------------------------------------------------------------------- 1 | module Lib 2 | ( someFunc 3 | ) where 4 | 5 | someFunc :: IO () 6 | someFunc = putStrLn "someFunc" 7 | -------------------------------------------------------------------------------- /haskell-spock/test/Spec.hs: -------------------------------------------------------------------------------- 1 | main :: IO () 2 | main = putStrLn "Test suite not yet implemented" 3 | -------------------------------------------------------------------------------- /java-play/.gitignore: -------------------------------------------------------------------------------- 1 | logs 2 | target 3 | /.idea 4 | /.idea_modules 5 | /.classpath 6 | /.project 7 | /.settings 8 | /RUNNING_PID 9 | -------------------------------------------------------------------------------- /java-play/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ingensi/oracle-jdk 2 | 3 | RUN yum install -y yum-plugin-ovl && yum install -y unzip 4 | RUN curl -O http://downloads.typesafe.com/typesafe-activator/1.3.12/typesafe-activator-1.3.12.zip 5 | RUN unzip typesafe-activator-1.3.12.zip -d / && rm typesafe-activator-1.3.12.zip && chmod a+x /activator-dist-1.3.12/bin/activator 6 | ENV PATH $PATH:/activator-dist-1.3.12/bin 7 | 8 | WORKDIR /app 9 | ADD . /app 10 | 11 | CMD ["activator", "run"] 12 | 13 | -------------------------------------------------------------------------------- /java-play/LICENSE: -------------------------------------------------------------------------------- 1 | This software is licensed under the Apache 2 license, quoted below. 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); you may not use this project except in compliance with 4 | the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0. 5 | 6 | Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an 7 | "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific 8 | language governing permissions and limitations under the License. -------------------------------------------------------------------------------- /java-play/app/controllers/HomeController.java: -------------------------------------------------------------------------------- 1 | package controllers; 2 | 3 | import play.mvc.*; 4 | 5 | import views.html.*; 6 | 7 | /** 8 | * This controller contains an action to handle HTTP requests 9 | * to the application's home page. 10 | */ 11 | public class HomeController extends Controller { 12 | 13 | /** 14 | * An action that renders an HTML page with a welcome message. 15 | * The configuration in the routes file means that 16 | * this method will be called when the application receives a 17 | * GET request with a path of /. 18 | */ 19 | public Result index() { 20 | return ok(index.render("Your new application is ready.")); 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /java-play/app/services/AtomicCounter.java: -------------------------------------------------------------------------------- 1 | package services; 2 | 3 | import java.util.concurrent.atomic.AtomicInteger; 4 | import javax.inject.*; 5 | 6 | /** 7 | * This class is a concrete implementation of the {@link Counter} trait. 8 | * It is configured for Guice dependency injection in the {@link Module} 9 | * class. 10 | * 11 | * This class has a {@link Singleton} annotation because we need to make 12 | * sure we only use one counter per application. Without this 13 | * annotation we would get a new instance every time a {@link Counter} is 14 | * injected. 15 | */ 16 | @Singleton 17 | public class AtomicCounter implements Counter { 18 | 19 | private final AtomicInteger atomicCounter = new AtomicInteger(); 20 | 21 | @Override 22 | public int nextCount() { 23 | return atomicCounter.getAndIncrement(); 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /java-play/app/services/Counter.java: -------------------------------------------------------------------------------- 1 | package services; 2 | 3 | /** 4 | * This interface demonstrates how to create a component that is injected 5 | * into a controller. The interface represents a counter that returns a 6 | * incremented number each time it is called. 7 | * 8 | * The {@link Modules} class binds this interface to the 9 | * {@link AtomicCounter} implementation. 10 | */ 11 | public interface Counter { 12 | int nextCount(); 13 | } 14 | -------------------------------------------------------------------------------- /java-play/app/views/index.scala.html: -------------------------------------------------------------------------------- 1 | @* 2 | * This template takes a single argument, a String containing a 3 | * message to display. 4 | *@ 5 | @(message: String) 6 | 7 | @* 8 | * Call the `main` template with two arguments. The first 9 | * argument is a `String` with the title of the page, the second 10 | * argument is an `Html` object containing the body of the page. 11 | *@ 12 | @main("Welcome to Play") { 13 | 14 | @* 15 | * Get an `Html` object by calling the built-in Play welcome 16 | * template and passing a `String` message. 17 | *@ 18 | @play20.welcome(message, style = "Java") 19 | 20 | } 21 | -------------------------------------------------------------------------------- /java-play/build.sbt: -------------------------------------------------------------------------------- 1 | name := """java-play""" 2 | 3 | version := "1.0-SNAPSHOT" 4 | offline := true 5 | lazy val root = (project in file(".")).enablePlugins(PlayJava) 6 | 7 | scalaVersion := "2.11.7" 8 | 9 | libraryDependencies ++= Seq( 10 | javaJdbc, 11 | cache, 12 | javaWs 13 | ) 14 | -------------------------------------------------------------------------------- /java-play/conf/routes: -------------------------------------------------------------------------------- 1 | # Routes 2 | # This file defines all application routes (Higher priority routes first) 3 | # ~~~~ 4 | 5 | # An example controller showing a sample home page 6 | GET / controllers.HomeController.index 7 | # An example controller showing how to use dependency injection 8 | GET /count controllers.CountController.count 9 | # An example controller showing how to write asynchronous code 10 | GET /message controllers.AsyncController.message 11 | 12 | # Map static resources from the /public folder to the /assets URL path 13 | GET /assets/*file controllers.Assets.versioned(path="/public", file: Asset) 14 | -------------------------------------------------------------------------------- /java-play/libexec/activator-launch-1.3.12.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k8s-platform-hub/microservice-templates/43468b38c3b4c3e3a141be08f98d364ff2858937/java-play/libexec/activator-launch-1.3.12.jar -------------------------------------------------------------------------------- /java-play/project/build.properties: -------------------------------------------------------------------------------- 1 | #Activator-generated Properties 2 | #Mon Mar 13 15:13:20 IST 2017 3 | template.uuid=3ae04e99-eaf4-4283-a326-f9d0c45df7b4 4 | sbt.version=0.13.11 5 | -------------------------------------------------------------------------------- /java-play/public/images/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k8s-platform-hub/microservice-templates/43468b38c3b4c3e3a141be08f98d364ff2858937/java-play/public/images/favicon.png -------------------------------------------------------------------------------- /java-play/public/javascripts/hello.js: -------------------------------------------------------------------------------- 1 | if (window.console) { 2 | console.log("Welcome to your Play application's JavaScript!"); 3 | } 4 | -------------------------------------------------------------------------------- /java-play/public/stylesheets/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k8s-platform-hub/microservice-templates/43468b38c3b4c3e3a141be08f98d364ff2858937/java-play/public/stylesheets/main.css -------------------------------------------------------------------------------- /java-play/test/IntegrationTest.java: -------------------------------------------------------------------------------- 1 | import org.junit.*; 2 | 3 | import play.mvc.*; 4 | import play.test.*; 5 | 6 | import static play.test.Helpers.*; 7 | import static org.junit.Assert.*; 8 | 9 | import static org.fluentlenium.core.filter.FilterConstructor.*; 10 | 11 | public class IntegrationTest { 12 | 13 | /** 14 | * add your integration test here 15 | * in this example we just check if the welcome page is being shown 16 | */ 17 | @Test 18 | public void test() { 19 | running(testServer(3333, fakeApplication(inMemoryDatabase())), HTMLUNIT, browser -> { 20 | browser.goTo("http://localhost:3333"); 21 | assertTrue(browser.pageSource().contains("Your new application is ready.")); 22 | }); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /java-spark/.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /java-spark/.idea/libraries/Maven__com_sparkjava_spark_core_2_5_5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /java-spark/.idea/libraries/Maven__javax_servlet_javax_servlet_api_3_1_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /java-spark/.idea/libraries/Maven__org_eclipse_jetty_jetty_http_9_3_6_v20151106.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /java-spark/.idea/libraries/Maven__org_eclipse_jetty_jetty_io_9_3_6_v20151106.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /java-spark/.idea/libraries/Maven__org_eclipse_jetty_jetty_security_9_3_6_v20151106.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /java-spark/.idea/libraries/Maven__org_eclipse_jetty_jetty_server_9_3_6_v20151106.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /java-spark/.idea/libraries/Maven__org_eclipse_jetty_jetty_servlet_9_3_6_v20151106.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /java-spark/.idea/libraries/Maven__org_eclipse_jetty_jetty_util_9_3_6_v20151106.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /java-spark/.idea/libraries/Maven__org_eclipse_jetty_jetty_webapp_9_3_6_v20151106.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /java-spark/.idea/libraries/Maven__org_eclipse_jetty_jetty_xml_9_3_6_v20151106.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /java-spark/.idea/libraries/Maven__org_eclipse_jetty_websocket_websocket_api_9_3_6_v20151106.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /java-spark/.idea/libraries/Maven__org_eclipse_jetty_websocket_websocket_client_9_3_6_v20151106.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /java-spark/.idea/libraries/Maven__org_eclipse_jetty_websocket_websocket_common_9_3_6_v20151106.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /java-spark/.idea/libraries/Maven__org_eclipse_jetty_websocket_websocket_server_9_3_6_v20151106.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /java-spark/.idea/libraries/Maven__org_eclipse_jetty_websocket_websocket_servlet_9_3_6_v20151106.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /java-spark/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_13.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /java-spark/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /java-spark/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /java-spark/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM java:8 2 | 3 | # Install maven 4 | RUN apt-get update 5 | RUN apt-get install -y maven 6 | 7 | WORKDIR /spark 8 | Add . /spark 9 | 10 | RUN mvn package 11 | #Replace target/java-spark-jar-with-dependencies.jar with the name and description specified by the maven-assembly-plugin in your pom.xml 12 | CMD ["/usr/lib/jvm/java-8-openjdk-amd64/bin/java", "-jar", "target/java-spark-jar-with-dependencies.jar"] 13 | 14 | -------------------------------------------------------------------------------- /java-spark/src/main/java/Main.java: -------------------------------------------------------------------------------- 1 | import static spark.Spark.get; 2 | import static spark.Spark.port; 3 | 4 | /** 5 | * Created by jaison on 08/03/17. 6 | */ 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | port(getPort()); 11 | get("/", (req, res) -> "Hello There"); 12 | } 13 | 14 | //Getting the port 15 | private static int getPort() { 16 | String portString = System.getenv("PORT"); 17 | int envPort = 8080; 18 | if (portString != null) { 19 | if (portString.length() > 0) { 20 | int portInt = Integer.parseInt(portString); 21 | if (portInt != -1) 22 | envPort = portInt; 23 | } 24 | } 25 | return envPort; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /java-spark/target/classes/Main.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k8s-platform-hub/microservice-templates/43468b38c3b4c3e3a141be08f98d364ff2858937/java-spark/target/classes/Main.class -------------------------------------------------------------------------------- /java-spring-boot/.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /java-spring-boot/.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /java-spring-boot/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_1_11.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /java-spring-boot/.idea/libraries/Maven__ch_qos_logback_logback_core_1_1_11.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /java-spring-boot/.idea/libraries/Maven__com_fasterxml_classmate_1_3_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /java-spring-boot/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_8_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /java-spring-boot/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_8_7.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /java-spring-boot/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_8_7.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /java-spring-boot/.idea/libraries/Maven__javax_validation_validation_api_1_1_0_Final.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /java-spring-boot/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_core_8_5_11.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /java-spring-boot/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_el_8_5_11.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /java-spring-boot/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_8_5_11.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /java-spring-boot/.idea/libraries/Maven__org_hibernate_hibernate_validator_5_3_4_Final.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /java-spring-boot/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_3_0_Final.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /java-spring-boot/.idea/libraries/Maven__org_slf4j_jcl_over_slf4j_1_7_24.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /java-spring-boot/.idea/libraries/Maven__org_slf4j_jul_to_slf4j_1_7_24.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /java-spring-boot/.idea/libraries/Maven__org_slf4j_log4j_over_slf4j_1_7_24.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /java-spring-boot/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_24.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /java-spring-boot/.idea/libraries/Maven__org_springframework_boot_spring_boot_1_5_2_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /java-spring-boot/.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_1_5_2_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /java-spring-boot/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_1_5_2_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /java-spring-boot/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_1_5_2_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /java-spring-boot/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_1_5_2_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /java-spring-boot/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_1_5_2_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /java-spring-boot/.idea/libraries/Maven__org_springframework_spring_aop_4_3_7_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /java-spring-boot/.idea/libraries/Maven__org_springframework_spring_beans_4_3_7_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /java-spring-boot/.idea/libraries/Maven__org_springframework_spring_context_4_3_7_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /java-spring-boot/.idea/libraries/Maven__org_springframework_spring_core_4_3_7_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /java-spring-boot/.idea/libraries/Maven__org_springframework_spring_expression_4_3_7_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /java-spring-boot/.idea/libraries/Maven__org_springframework_spring_web_4_3_7_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /java-spring-boot/.idea/libraries/Maven__org_springframework_spring_webmvc_4_3_7_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /java-spring-boot/.idea/libraries/Maven__org_yaml_snakeyaml_1_17.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /java-spring-boot/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /java-spring-boot/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /java-spring-boot/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM java:8 2 | 3 | # Install maven 4 | RUN apt-get update 5 | RUN apt-get install -y maven 6 | 7 | WORKDIR /spring-boot 8 | Add . /spring-boot 9 | 10 | RUN mvn package 11 | 12 | #Replace java-spring-boot-1.0-SNAPSHOT.jar with -.jar specified in your pom.xml 13 | CMD ["/usr/lib/jvm/java-8-openjdk-amd64/bin/java", "-jar", "target/java-spring-boot-1.0-SNAPSHOT.jar"] 14 | 15 | -------------------------------------------------------------------------------- /java-spring-boot/src/main/java/Main.java: -------------------------------------------------------------------------------- 1 | import org.springframework.boot.SpringApplication; 2 | import org.springframework.boot.autoconfigure.EnableAutoConfiguration; 3 | import org.springframework.stereotype.Controller; 4 | import org.springframework.web.bind.annotation.RequestMapping; 5 | import org.springframework.web.bind.annotation.ResponseBody; 6 | 7 | /** 8 | * Created by jaison on 08/03/17. 9 | */ 10 | @Controller 11 | @EnableAutoConfiguration 12 | public class Main { 13 | 14 | @RequestMapping("/") 15 | @ResponseBody 16 | String home() { 17 | return "Hello World!"; 18 | } 19 | 20 | public static void main(String[] args) throws Exception { 21 | SpringApplication.run(Main.class, args); 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /java-spring-boot/target/classes/Main.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k8s-platform-hub/microservice-templates/43468b38c3b4c3e3a141be08f98d364ff2858937/java-spring-boot/target/classes/Main.class -------------------------------------------------------------------------------- /js-angularjs/.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "bower_components" 3 | } 4 | -------------------------------------------------------------------------------- /js-angularjs/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules/* 2 | bower_components/* 3 | dist/* 4 | -------------------------------------------------------------------------------- /js-angularjs/.editorconfig: -------------------------------------------------------------------------------- 1 | # EditorConfig helps developers define and maintain consistent 2 | # coding styles between different editors and IDEs 3 | # editorconfig.org 4 | 5 | root = true 6 | 7 | 8 | [*] 9 | 10 | # Change these settings to your own preference 11 | indent_style = space 12 | indent_size = 2 13 | 14 | # We recommend you to keep these unchanged 15 | end_of_line = lf 16 | charset = utf-8 17 | trim_trailing_whitespace = true 18 | insert_final_newline = true 19 | 20 | [*.md] 21 | trim_trailing_whitespace = false 22 | -------------------------------------------------------------------------------- /js-angularjs/.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto -------------------------------------------------------------------------------- /js-angularjs/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | dist 3 | .tmp 4 | .sass-cache 5 | bower_components 6 | -------------------------------------------------------------------------------- /js-angularjs/.jscsrc: -------------------------------------------------------------------------------- 1 | { 2 | "requireCamelCaseOrUpperCaseIdentifiers": true, 3 | "requireCapitalizedConstructors": true, 4 | "requireParenthesesAroundIIFE": true, 5 | "validateQuoteMarks": "'" 6 | } 7 | -------------------------------------------------------------------------------- /js-angularjs/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "bitwise": true, 3 | "browser": true, 4 | "curly": true, 5 | "eqeqeq": true, 6 | "esnext": true, 7 | "latedef": true, 8 | "noarg": true, 9 | "node": true, 10 | "strict": true, 11 | "undef": true, 12 | "unused": true, 13 | "globals": { 14 | "angular": false 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /js-angularjs/.yo-rc.json: -------------------------------------------------------------------------------- 1 | { 2 | "generator-karma": { 3 | "base-path": "../", 4 | "frameworks": "jasmine", 5 | "browsers": "PhantomJS", 6 | "app-files": "app/scripts/**/*.js", 7 | "files-comments": "bower:js,endbower", 8 | "bower-components-path": "bower_components", 9 | "test-files": "test/mock/**/*.js,test/spec/**/*.js" 10 | } 11 | } -------------------------------------------------------------------------------- /js-angularjs/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:6 2 | 3 | #Install deps 4 | RUN npm install -g http-server grunt-cli bower yo generator-karma generator-angular 5 | RUN mkdir /app 6 | COPY package.json /app/package.json 7 | COPY bower.json /app/bower.json 8 | 9 | WORKDIR /app 10 | 11 | RUN npm install 12 | RUN bower --allow-root install 13 | 14 | #Add all source code 15 | ADD . . 16 | 17 | # Execute build 18 | RUN grunt build 19 | 20 | # Make command executable 21 | RUN chmod +x /app/runserver.sh 22 | 23 | # Default command 24 | CMD ["/app/runserver.sh"] 25 | -------------------------------------------------------------------------------- /js-angularjs/app/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k8s-platform-hub/microservice-templates/43468b38c3b4c3e3a141be08f98d364ff2858937/js-angularjs/app/favicon.ico -------------------------------------------------------------------------------- /js-angularjs/app/images/yeoman.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k8s-platform-hub/microservice-templates/43468b38c3b4c3e3a141be08f98d364ff2858937/js-angularjs/app/images/yeoman.png -------------------------------------------------------------------------------- /js-angularjs/app/robots.txt: -------------------------------------------------------------------------------- 1 | # robotstxt.org 2 | 3 | User-agent: * 4 | Disallow: 5 | -------------------------------------------------------------------------------- /js-angularjs/app/scripts/app.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * @ngdoc overview 5 | * @name angularjsHasuraApp 6 | * @description 7 | * # angularjsHasuraApp 8 | * 9 | * Main module of the application. 10 | */ 11 | angular 12 | .module('angularjsHasuraApp', [ 13 | 'ngAnimate', 14 | 'ngCookies', 15 | 'ngResource', 16 | 'ngRoute', 17 | 'ngSanitize', 18 | 'ngTouch' 19 | ]) 20 | .config(function ($routeProvider) { 21 | $routeProvider 22 | .when('/', { 23 | templateUrl: 'views/main.html', 24 | controller: 'MainCtrl', 25 | controllerAs: 'main' 26 | }) 27 | .when('/about', { 28 | templateUrl: 'views/about.html', 29 | controller: 'AboutCtrl', 30 | controllerAs: 'about' 31 | }) 32 | .otherwise({ 33 | redirectTo: '/' 34 | }); 35 | }); 36 | -------------------------------------------------------------------------------- /js-angularjs/app/scripts/controllers/about.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * @ngdoc function 5 | * @name angularjsHasuraApp.controller:AboutCtrl 6 | * @description 7 | * # AboutCtrl 8 | * Controller of the angularjsHasuraApp 9 | */ 10 | angular.module('angularjsHasuraApp') 11 | .controller('AboutCtrl', function () { 12 | this.awesomeThings = [ 13 | 'HTML5 Boilerplate', 14 | 'AngularJS', 15 | 'Karma' 16 | ]; 17 | }); 18 | -------------------------------------------------------------------------------- /js-angularjs/app/views/about.html: -------------------------------------------------------------------------------- 1 |

This is the about view.

2 | -------------------------------------------------------------------------------- /js-angularjs/app/views/main.html: -------------------------------------------------------------------------------- 1 |
2 |

Hasura AngularJS

3 |

4 | Hasura Backend APIs ready to use with AngularJS 5 |

6 |

7 | 8 |
9 | 10 |
11 | -------------------------------------------------------------------------------- /js-angularjs/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angularjs-hasura", 3 | "version": "0.0.0", 4 | "dependencies": { 5 | "angular": "^1.4.0", 6 | "bootstrap": "^3.2.0", 7 | "angular-animate": "^1.4.0", 8 | "angular-cookies": "^1.4.0", 9 | "angular-resource": "^1.4.0", 10 | "angular-route": "^1.4.0", 11 | "angular-sanitize": "^1.4.0", 12 | "angular-touch": "^1.4.0" 13 | }, 14 | "devDependencies": { 15 | "angular-mocks": "^1.4.0" 16 | }, 17 | "appPath": "app", 18 | "moduleName": "angularjsHasuraApp", 19 | "overrides": { 20 | "bootstrap": { 21 | "main": [ 22 | "less/bootstrap.less", 23 | "dist/css/bootstrap.css", 24 | "dist/js/bootstrap.js" 25 | ] 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /js-angularjs/runserver.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # File: runserver.sh 3 | # Author: Shahidh K Muhammed 4 | # Date: 27.07.2017 5 | # Last Modified: 27.07.2017 6 | 7 | cd /app/dist && http-server -p 8080 8 | -------------------------------------------------------------------------------- /js-angularjs/test/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "bitwise": true, 3 | "browser": true, 4 | "curly": true, 5 | "eqeqeq": true, 6 | "esnext": true, 7 | "jasmine": true, 8 | "latedef": true, 9 | "noarg": true, 10 | "node": true, 11 | "strict": true, 12 | "undef": true, 13 | "unused": true, 14 | "globals": { 15 | "angular": false, 16 | "inject": false 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /js-angularjs/test/spec/controllers/about.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | describe('Controller: AboutCtrl', function () { 4 | 5 | // load the controller's module 6 | beforeEach(module('angularjsHasuraApp')); 7 | 8 | var AboutCtrl, 9 | scope; 10 | 11 | // Initialize the controller and a mock scope 12 | beforeEach(inject(function ($controller, $rootScope) { 13 | scope = $rootScope.$new(); 14 | AboutCtrl = $controller('AboutCtrl', { 15 | $scope: scope 16 | // place here mocked dependencies 17 | }); 18 | })); 19 | 20 | it('should attach a list of awesomeThings to the scope', function () { 21 | expect(AboutCtrl.awesomeThings.length).toBe(3); 22 | }); 23 | }); 24 | -------------------------------------------------------------------------------- /js-angularjs/test/spec/controllers/main.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | describe('Controller: MainCtrl', function () { 4 | 5 | // load the controller's module 6 | beforeEach(module('angularjsHasuraApp')); 7 | 8 | var MainCtrl, 9 | scope; 10 | 11 | // Initialize the controller and a mock scope 12 | beforeEach(inject(function ($controller, $rootScope) { 13 | scope = $rootScope.$new(); 14 | MainCtrl = $controller('MainCtrl', { 15 | $scope: scope 16 | // place here mocked dependencies 17 | }); 18 | })); 19 | 20 | it('should attach a list of awesomeThings to the scope', function () { 21 | expect(MainCtrl.awesomeThings.length).toBe(3); 22 | }); 23 | }); 24 | -------------------------------------------------------------------------------- /mysql/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM mysql:latest 2 | 3 | # Copy mysql conf if needed 4 | #COPY app/conf/ /etc/mysql/ # uncomment if conf needs to be overridden 5 | 6 | #add permissions for mounting 7 | RUN usermod -u 1000 mysql 8 | -------------------------------------------------------------------------------- /mysql/conf/conf.d/docker.cnf: -------------------------------------------------------------------------------- 1 | [mysqld] 2 | skip-host-cache 3 | skip-name-resolve 4 | -------------------------------------------------------------------------------- /mysql/conf/my.cnf: -------------------------------------------------------------------------------- 1 | # 2 | # The MySQL database server configuration file. 3 | # 4 | # You can copy this to one of: 5 | # - "/etc/mysql/my.cnf" to set global options, 6 | # - "~/.my.cnf" to set user-specific options. 7 | # 8 | # One can use all long options that the program supports. 9 | # Run program with --help to get a list of available options and with 10 | # --print-defaults to see which it would actually understand and use. 11 | # 12 | # For explanations see 13 | # http://dev.mysql.com/doc/mysql/en/server-system-variables.html 14 | 15 | # 16 | # * IMPORTANT: Additional settings that can override those from this file! 17 | # The files must end with '.cnf', otherwise they'll be ignored. 18 | # 19 | 20 | !includedir /etc/mysql/conf.d/ 21 | !includedir /etc/mysql/mysql.conf.d/ 22 | -------------------------------------------------------------------------------- /mysql/conf/mysql.cnf: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. 2 | # 3 | # This program is free software; you can redistribute it and/or modify 4 | # it under the terms of the GNU General Public License as published by 5 | # the Free Software Foundation; version 2 of the License. 6 | # 7 | # This program is distributed in the hope that it will be useful, 8 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 9 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 | # GNU General Public License for more details. 11 | # 12 | # You should have received a copy of the GNU General Public License 13 | # along with this program; if not, write to the Free Software 14 | # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 15 | 16 | !includedir /etc/mysql/conf.d/ 17 | !includedir /etc/mysql/mysql.conf.d/ 18 | -------------------------------------------------------------------------------- /nginx/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM nginx:latest 2 | 3 | #Copy the configuration 4 | COPY app/conf/nginx.conf /etc/nginx 5 | 6 | #Copy the static files to be served 7 | COPY app/src/ /usr/share/nginx/html 8 | -------------------------------------------------------------------------------- /nginx/app/src/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Hasura Nginx Git Push Template 8 | 9 | 10 | 11 | Hello World! 12 | 13 | 14 | -------------------------------------------------------------------------------- /nginx/app/src/static/hello.js: -------------------------------------------------------------------------------- 1 | console.log("Hello World"); 2 | -------------------------------------------------------------------------------- /nodejs-express-sass/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM mhart/alpine-node:7.6.0 2 | WORKDIR /src 3 | # Add app source files 4 | ADD app/src /src 5 | #install node modules 6 | RUN npm install --only=production 7 | 8 | CMD ["node", "server.js"] 9 | -------------------------------------------------------------------------------- /nodejs-express-sass/app/conf/sass-watch.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "Hit CTRL + C to kill the Node-sass watcher..." 4 | ./app/src/node_modules/node-sass/bin/node-sass -o app/src/public/css app/src/sass -w 5 | -------------------------------------------------------------------------------- /nodejs-express-sass/app/src/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hasura-nodejs-express-sass-example", 3 | "version": "1.0.0", 4 | "description": "Demo to show git push build and deploy", 5 | "scripts": { 6 | "start": "node server.js" 7 | }, 8 | "author": "Verghese Koshy ", 9 | "license": "ISC", 10 | "dependencies": { 11 | "express": "^4.15.2" 12 | }, 13 | "devDependencies": { 14 | "node-sass": "^4.5.0" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /nodejs-express-sass/app/src/public/html/404.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 404 - Page Not Found 5 | 6 | 7 | 8 | 9 | 10 |

Page Not Found

11 |
12 |

13 | yoda: Lost are you, hmm? Herh herh herh. 14 |

15 |
16 | 17 | 18 | -------------------------------------------------------------------------------- /nodejs-express-sass/app/src/sass/404.sass: -------------------------------------------------------------------------------- 1 | @import "./main.sass" 2 | $dark-blue: #222286 3 | $dark-green: #224622 4 | 5 | body 6 | .not-found 7 | display: inline-flex 8 | img 9 | height: 200px 10 | 11 | p 12 | margin-left: 10px 13 | margin-top: 10px 14 | font-size: 20px 15 | 16 | b 17 | color: $dark-green 18 | text-transform: capitalize 19 | font-size: 25px 20 | -------------------------------------------------------------------------------- /nodejs-express-sass/app/src/sass/main.sass: -------------------------------------------------------------------------------- 1 | $dark-red: #962222 2 | 3 | body 4 | margin-left: 20px 5 | margin-top: 20px 6 | 7 | h1 8 | font-size: 48px 9 | 10 | .my-container 11 | margin-top: 10px 12 | 13 | p 14 | margin-left: 20px 15 | margin-right: 80px 16 | margin-bottom: 15px 17 | text-align: justify 18 | 19 | p::first-letter 20 | color: $dark-red 21 | font-weight: bolder 22 | font-style: italic 23 | font-size: 20px 24 | -------------------------------------------------------------------------------- /nodejs-express-sass/app/src/server.js: -------------------------------------------------------------------------------- 1 | var express = require('express'); 2 | var path = require('path'); 3 | var app = express(); 4 | 5 | // Redirect all static files to public/ 6 | app.use('/static', express.static(path.join(__dirname, 'public'))); 7 | 8 | var homePath = path.join(__dirname, 'public','html','index.html'); 9 | app.get('/', function (req, res) { 10 | res.sendFile(homePath); 11 | }); 12 | 13 | var notFoundPath = path.join(__dirname, 'public','html','404.html'); 14 | app.all('*', function (req, res) { 15 | res.sendFile(notFoundPath); 16 | }); 17 | 18 | var port = process.env.APP_PORT ? process.env.APP_PORT : '8080'; 19 | app.listen(port, function () { 20 | console.log(`Example app listening on port ${port}!`); 21 | }); 22 | -------------------------------------------------------------------------------- /nodejs-express/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM mhart/alpine-node:7.6.0 2 | 3 | WORKDIR /src 4 | 5 | # Add package.json 6 | ADD app/src/package.json /src/package.json 7 | 8 | #install node modules 9 | RUN npm install 10 | 11 | #Add the source code 12 | ADD app/src /src 13 | 14 | CMD ["node", "server.js"] 15 | -------------------------------------------------------------------------------- /nodejs-express/app/src/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /nodejs-express/app/src/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "quickstart-docker-express-example", 3 | "version": "1.0.0", 4 | "description": "Demo to show git push build and deploy", 5 | "scripts": { 6 | "start": "node server.js" 7 | }, 8 | "author": "", 9 | "license": "ISC", 10 | "dependencies": { 11 | "express": "^4.14.0" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /nodejs-express/app/src/server.js: -------------------------------------------------------------------------------- 1 | var express = require('express'); 2 | var app = express(); 3 | 4 | //your routes here 5 | app.get('/', function (req, res) { 6 | res.send("Hello World!"); 7 | }); 8 | 9 | app.listen(8080, function () { 10 | console.log('Example app listening on port 8080!'); 11 | }); 12 | -------------------------------------------------------------------------------- /php-apache/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM php:7.1.2-apache 2 | 3 | # Add default apache listener 4 | COPY app/conf/apache-config.conf /etc/apache2/sites-enabled/000-default.conf 5 | COPY app/conf/ports.conf /etc/apache2/ports.conf 6 | COPY app/src /var/www/html/ 7 | -------------------------------------------------------------------------------- /php-apache/app/conf/ports.conf: -------------------------------------------------------------------------------- 1 | # If you just change the port or add more ports here, you will likely also 2 | # have to change the VirtualHost statement in 3 | # /etc/apache2/sites-enabled/000-default.conf 4 | 5 | Listen 8080 6 | 7 | 8 | Listen 443 9 | 10 | 11 | 12 | Listen 443 13 | 14 | 15 | # vim: syntax=apache ts=4 sw=4 sts=4 sr noet 16 | -------------------------------------------------------------------------------- /php-apache/app/src/index.php: -------------------------------------------------------------------------------- 1 | 'Hello World!' 4 | )); 5 | echo $json; 6 | ?> 7 | -------------------------------------------------------------------------------- /php-laravel/.dockerignore: -------------------------------------------------------------------------------- 1 | **/node_modules 2 | -------------------------------------------------------------------------------- /php-laravel/README: -------------------------------------------------------------------------------- 1 | # Usage 2 | 3 | 4 | Head to: https://docs.hasura.io/0.13/tutorials/deploying-a-php-laravel-app.html for instructions on local development. 5 | -------------------------------------------------------------------------------- /php-laravel/app/.env.example: -------------------------------------------------------------------------------- 1 | APP_NAME=Laravel 2 | APP_ENV=local 3 | APP_KEY= 4 | APP_DEBUG=true 5 | APP_LOG_LEVEL=debug 6 | APP_URL=http://localhost 7 | 8 | DB_CONNECTION=pgsql 9 | DB_HOST=postgres.hasura # Change this to 127.0.0.1 for local development 10 | DB_PORT=5432 11 | DB_DATABASE=hasuradb 12 | DB_USERNAME=admin 13 | DB_PASSWORD=secret 14 | 15 | BROADCAST_DRIVER=log 16 | CACHE_DRIVER=file 17 | SESSION_DRIVER=file 18 | SESSION_LIFETIME=120 19 | QUEUE_DRIVER=sync 20 | 21 | REDIS_HOST=127.0.0.1 22 | REDIS_PASSWORD=null 23 | REDIS_PORT=6379 24 | 25 | MAIL_DRIVER=smtp 26 | MAIL_HOST=smtp.mailtrap.io 27 | MAIL_PORT=2525 28 | MAIL_USERNAME=null 29 | MAIL_PASSWORD=null 30 | MAIL_ENCRYPTION=null 31 | 32 | PUSHER_APP_ID= 33 | PUSHER_APP_KEY= 34 | PUSHER_APP_SECRET= 35 | PUSHER_APP_CLUSTER=mt1 36 | -------------------------------------------------------------------------------- /php-laravel/app/.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | *.css linguist-vendored 3 | *.scss linguist-vendored 4 | *.js linguist-vendored 5 | CHANGELOG.md export-ignore 6 | -------------------------------------------------------------------------------- /php-laravel/app/.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules 2 | /public/hot 3 | /public/storage 4 | /storage/*.key 5 | /vendor 6 | /.idea 7 | /.vagrant 8 | Homestead.json 9 | Homestead.yaml 10 | npm-debug.log 11 | yarn-error.log 12 | .env 13 | -------------------------------------------------------------------------------- /php-laravel/app/app/Http/Controllers/Controller.php: -------------------------------------------------------------------------------- 1 | check()) { 21 | return redirect('/home'); 22 | } 23 | 24 | return $next($request); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /php-laravel/app/app/Http/Middleware/TrimStrings.php: -------------------------------------------------------------------------------- 1 | 'FORWARDED', 24 | Request::HEADER_X_FORWARDED_FOR => 'X_FORWARDED_FOR', 25 | Request::HEADER_X_FORWARDED_HOST => 'X_FORWARDED_HOST', 26 | Request::HEADER_X_FORWARDED_PORT => 'X_FORWARDED_PORT', 27 | Request::HEADER_X_FORWARDED_PROTO => 'X_FORWARDED_PROTO', 28 | ]; 29 | } 30 | -------------------------------------------------------------------------------- /php-laravel/app/app/Http/Middleware/VerifyCsrfToken.php: -------------------------------------------------------------------------------- 1 | 'App\Policies\ModelPolicy', 17 | ]; 18 | 19 | /** 20 | * Register any authentication / authorization services. 21 | * 22 | * @return void 23 | */ 24 | public function boot() 25 | { 26 | $this->registerPolicies(); 27 | 28 | // 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /php-laravel/app/app/Providers/BroadcastServiceProvider.php: -------------------------------------------------------------------------------- 1 | [ 17 | 'App\Listeners\EventListener', 18 | ], 19 | ]; 20 | 21 | /** 22 | * Register any events for your application. 23 | * 24 | * @return void 25 | */ 26 | public function boot() 27 | { 28 | parent::boot(); 29 | 30 | // 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /php-laravel/app/app/User.php: -------------------------------------------------------------------------------- 1 | define(App\User::class, function (Faker $faker) { 17 | return [ 18 | 'name' => $faker->name, 19 | 'email' => $faker->unique()->safeEmail, 20 | 'password' => '$2y$10$TKh8H1.PfQx37YgCzwiKb.KjNyWgaHb9cbcoQgdIVFlYg7B77UdFm', // secret 21 | 'remember_token' => str_random(10), 22 | ]; 23 | }); 24 | -------------------------------------------------------------------------------- /php-laravel/app/database/seeds/DatabaseSeeder.php: -------------------------------------------------------------------------------- 1 | call(UsersTableSeeder::class); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /php-laravel/app/public/.htaccess: -------------------------------------------------------------------------------- 1 | 2 | 3 | Options -MultiViews -Indexes 4 | 5 | 6 | RewriteEngine On 7 | 8 | # Handle Authorization Header 9 | RewriteCond %{HTTP:Authorization} . 10 | RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] 11 | 12 | # Redirect Trailing Slashes If Not A Folder... 13 | RewriteCond %{REQUEST_FILENAME} !-d 14 | RewriteCond %{REQUEST_URI} (.+)/$ 15 | RewriteRule ^ %1 [L,R=301] 16 | 17 | # Handle Front Controller... 18 | RewriteCond %{REQUEST_FILENAME} !-d 19 | RewriteCond %{REQUEST_FILENAME} !-f 20 | RewriteRule ^ index.php [L] 21 | 22 | -------------------------------------------------------------------------------- /php-laravel/app/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k8s-platform-hub/microservice-templates/43468b38c3b4c3e3a141be08f98d364ff2858937/php-laravel/app/public/favicon.ico -------------------------------------------------------------------------------- /php-laravel/app/public/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: 3 | -------------------------------------------------------------------------------- /php-laravel/app/resources/assets/js/app.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * First we will load all of this project's JavaScript dependencies which 4 | * includes Vue and other libraries. It is a great starting point when 5 | * building robust, powerful web applications using Vue and Laravel. 6 | */ 7 | 8 | require('./bootstrap'); 9 | 10 | window.Vue = require('vue'); 11 | 12 | /** 13 | * Next, we will create a fresh Vue application instance and attach it to 14 | * the page. Then, you may begin adding components to this application 15 | * or customize the JavaScript scaffolding to fit your unique needs. 16 | */ 17 | 18 | Vue.component('example-component', require('./components/ExampleComponent.vue')); 19 | 20 | const app = new Vue({ 21 | el: '#app' 22 | }); 23 | -------------------------------------------------------------------------------- /php-laravel/app/resources/assets/js/components/ExampleComponent.vue: -------------------------------------------------------------------------------- 1 | 16 | 17 | 24 | -------------------------------------------------------------------------------- /php-laravel/app/resources/assets/sass/app.scss: -------------------------------------------------------------------------------- 1 | 2 | // Fonts 3 | @import url("https://fonts.googleapis.com/css?family=Raleway:300,400,600"); 4 | 5 | // Variables 6 | @import "variables"; 7 | 8 | // Bootstrap 9 | @import "~bootstrap-sass/assets/stylesheets/bootstrap"; 10 | -------------------------------------------------------------------------------- /php-laravel/app/resources/lang/en/auth.php: -------------------------------------------------------------------------------- 1 | 'These credentials do not match our records.', 17 | 'throttle' => 'Too many login attempts. Please try again in :seconds seconds.', 18 | 19 | ]; 20 | -------------------------------------------------------------------------------- /php-laravel/app/resources/lang/en/pagination.php: -------------------------------------------------------------------------------- 1 | '« Previous', 17 | 'next' => 'Next »', 18 | 19 | ]; 20 | -------------------------------------------------------------------------------- /php-laravel/app/routes/api.php: -------------------------------------------------------------------------------- 1 | get('/user', function (Request $request) { 17 | return $request->user(); 18 | }); 19 | -------------------------------------------------------------------------------- /php-laravel/app/routes/channels.php: -------------------------------------------------------------------------------- 1 | id === (int) $id; 16 | }); 17 | -------------------------------------------------------------------------------- /php-laravel/app/routes/console.php: -------------------------------------------------------------------------------- 1 | comment(Inspiring::quote()); 18 | })->describe('Display an inspiring quote'); 19 | -------------------------------------------------------------------------------- /php-laravel/app/routes/web.php: -------------------------------------------------------------------------------- 1 | 8 | */ 9 | 10 | $uri = urldecode( 11 | parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH) 12 | ); 13 | 14 | // This file allows us to emulate Apache's "mod_rewrite" functionality from the 15 | // built-in PHP web server. This provides a convenient way to test a Laravel 16 | // application without having installed a "real" web server software here. 17 | if ($uri !== '/' && file_exists(__DIR__.'/public'.$uri)) { 18 | return false; 19 | } 20 | 21 | require_once __DIR__.'/public/index.php'; 22 | -------------------------------------------------------------------------------- /php-laravel/app/storage/app/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !public/ 3 | !.gitignore 4 | -------------------------------------------------------------------------------- /php-laravel/app/storage/app/public/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /php-laravel/app/storage/framework/.gitignore: -------------------------------------------------------------------------------- 1 | config.php 2 | routes.php 3 | schedule-* 4 | compiled.php 5 | services.json 6 | events.scanned.php 7 | routes.scanned.php 8 | down 9 | -------------------------------------------------------------------------------- /php-laravel/app/storage/framework/cache/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /php-laravel/app/storage/framework/sessions/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /php-laravel/app/storage/framework/testing/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /php-laravel/app/storage/framework/views/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /php-laravel/app/storage/logs/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /php-laravel/app/tests/CreatesApplication.php: -------------------------------------------------------------------------------- 1 | make(Kernel::class)->bootstrap(); 20 | 21 | Hash::setRounds(4); 22 | 23 | return $app; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /php-laravel/app/tests/Feature/ExampleTest.php: -------------------------------------------------------------------------------- 1 | get('/'); 18 | 19 | $response->assertStatus(200); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /php-laravel/app/tests/TestCase.php: -------------------------------------------------------------------------------- 1 | assertTrue(true); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /php-laravel/app/webpack.mix.js: -------------------------------------------------------------------------------- 1 | let mix = require('laravel-mix'); 2 | 3 | /* 4 | |-------------------------------------------------------------------------- 5 | | Mix Asset Management 6 | |-------------------------------------------------------------------------- 7 | | 8 | | Mix provides a clean, fluent API for defining some Webpack build steps 9 | | for your Laravel application. By default, we are compiling the Sass 10 | | file for the application as well as bundling up all the JS files. 11 | | 12 | */ 13 | 14 | mix.js('resources/assets/js/app.js', 'public/js') 15 | .sass('resources/assets/sass/app.scss', 'public/css'); 16 | -------------------------------------------------------------------------------- /python-cron/src/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM python:3.6-onbuild 2 | 3 | RUN touch my_cron.tab 4 | 5 | CMD ["python", "-u", "main.py"] 6 | -------------------------------------------------------------------------------- /python-cron/src/hello.py: -------------------------------------------------------------------------------- 1 | import datetime 2 | 3 | with open('hello.txt','a') as outFile: 4 | outFile.write('\n' + str(datetime.datetime.now())) 5 | -------------------------------------------------------------------------------- /python-cron/src/main.py: -------------------------------------------------------------------------------- 1 | from crontab import CronTab 2 | 3 | # File name for cron 4 | my_cron = CronTab(tabfile='my_cron.tab') 5 | 6 | # Add cron command and time span 7 | job = my_cron.new(command='python /usr/src/app/hello.py') 8 | job.minute.every(1) 9 | 10 | # Write cron jobs to cron tab file 11 | my_cron.write() 12 | 13 | # Run the scheduler 14 | for result in my_cron.run_scheduler(): 15 | print ("This was printed to stdout by the process.") 16 | -------------------------------------------------------------------------------- /python-cron/src/requirements.txt: -------------------------------------------------------------------------------- 1 | python-crontab 2 | croniter 3 | -------------------------------------------------------------------------------- /python-flask/.gitignore: -------------------------------------------------------------------------------- 1 | __pycache__ 2 | __pycache__/* 3 | venv 4 | *.pyc 5 | -------------------------------------------------------------------------------- /python-flask/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM python:3 2 | 3 | # install required debian packages 4 | # add any package that is required after `python-dev`, end the line with \ 5 | RUN apt-get update && apt-get install -y \ 6 | build-essential \ 7 | python-dev \ 8 | && rm -rf /var/lib/apt/lists/* 9 | 10 | # install requirements 11 | COPY src/requirements.txt /tmp/requirements.txt 12 | RUN pip3 install -r /tmp/requirements.txt 13 | 14 | # set /app as working directory 15 | WORKDIR /app 16 | 17 | # copy current directory to /app 18 | COPY . /app 19 | 20 | # run gunicorn server 21 | # port is configured through the gunicorn config file 22 | CMD ["gunicorn", "--config", "./conf/gunicorn_config.py", "src:app"] 23 | -------------------------------------------------------------------------------- /python-flask/conf/gunicorn_config.py: -------------------------------------------------------------------------------- 1 | import multiprocessing 2 | 3 | bind = "0.0.0.0:8080" 4 | workers = (multiprocessing.cpu_count() * 2) + 1 5 | accesslog = "-" 6 | access_log_format = '%(h)s %(l)s %(u)s %(t)s "%(r)s" %(s)s %(b)s "%(f)s" "%(a)s"' 7 | loglevel = "debug" 8 | capture_output = True 9 | enable_stdio_inheritance = True 10 | -------------------------------------------------------------------------------- /python-flask/src/.gitignore: -------------------------------------------------------------------------------- 1 | __pycache__ 2 | __pycache__/* 3 | venv 4 | *.pyc 5 | -------------------------------------------------------------------------------- /python-flask/src/__init__.py: -------------------------------------------------------------------------------- 1 | from flask import Flask 2 | 3 | app = Flask(__name__) 4 | 5 | # This line adds the hasura example routes form the hasura.py file. 6 | # Delete these two lines, and delete the file to remove them from your project 7 | from .hasura import hasura_examples 8 | app.register_blueprint(hasura_examples) 9 | 10 | from .server import * 11 | -------------------------------------------------------------------------------- /python-flask/src/requirements.txt: -------------------------------------------------------------------------------- 1 | flask 2 | requests 3 | gunicorn 4 | 5 | # add new packages one per each line 6 | -------------------------------------------------------------------------------- /python-flask/src/server.py: -------------------------------------------------------------------------------- 1 | from src import app 2 | # from flask import jsonify 3 | 4 | 5 | @app.route("/") 6 | def home(): 7 | return "Hasura Hello World" 8 | 9 | # Uncomment to add a new URL at /new 10 | 11 | # @app.route("/json") 12 | # def json_message(): 13 | # return jsonify(message="Hello World") 14 | -------------------------------------------------------------------------------- /r-shiny/app/temp: -------------------------------------------------------------------------------- 1 | Create a hasura project (dashboard.hasura.io and then activate the free trial project) 2 | You'll get a projectname of the type: someword45 3 | Download hasuractl 4 | hasuractl login 5 | hasuractl set-context someword45 6 | hasuractl add-ssh-key 7 | hasuractl quickstart r-shiny app --create 8 | Your R files will be inside app/myapp/. You can change the Server.R and ui.R files. You can add any more files that you need. 9 | git commit and then git push hasura master and your app will go live on app.someword42.hasura-app.io 10 | 11 | -------------------------------------------------------------------------------- /r-shiny/app/ui.R: -------------------------------------------------------------------------------- 1 | fluidPage( 2 | # Application title 3 | titlePanel("Word Cloud"), 4 | 5 | sidebarLayout( 6 | # Sidebar with a slider and selection inputs 7 | sidebarPanel( 8 | selectInput("selection", "Choose a book:", 9 | choices = books), 10 | actionButton("update", "Change"), 11 | hr(), 12 | sliderInput("freq", 13 | "Minimum Frequency:", 14 | min = 1, max = 50, value = 15), 15 | sliderInput("max", 16 | "Maximum Number of Words:", 17 | min = 1, max = 300, value = 100) 18 | ), 19 | 20 | # Show Word Cloud 21 | mainPanel( 22 | plotOutput("plot") 23 | ) 24 | ) 25 | ) -------------------------------------------------------------------------------- /r-shiny/shiny-server.conf: -------------------------------------------------------------------------------- 1 | # Define the user we should use when spawning R Shiny processes 2 | run_as shiny; 3 | 4 | # Define a top-level server which will listen on a port 5 | server { 6 | # Instruct this server to listen on port 80. The app at dokku-alt need expose PORT 80, or 500 e etc. See the docs 7 | listen 8080; 8 | 9 | # Define the location available at the base URL 10 | location / { 11 | 12 | # Run this location in 'site_dir' mode, which hosts the entire directory 13 | # tree at '/srv/shiny-server' 14 | site_dir /srv/shiny-server; 15 | 16 | # Define where we should put the log files for this location 17 | log_dir /var/log/shiny-server; 18 | 19 | # Should we list the contents of a (non-Shiny-App) directory when the user 20 | # visits the corresponding URL? 21 | directory_index on; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /r-shiny/shiny-server.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Make sure the directory for individual app logs exists 4 | mkdir -p /var/log/shiny-server 5 | chown shiny.shiny /var/log/shiny-server 6 | 7 | exec shiny-server >> /var/log/shiny-server.log 2>&1 8 | -------------------------------------------------------------------------------- /react/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:8 2 | 3 | #Alpine APK Manager had build issues so replaced them. 4 | RUN apt-get update && apt-get install -y build-essential python 5 | 6 | #Install deps 7 | RUN mkdir /app 8 | COPY app/package.json /app/package.json 9 | RUN cd /app && npm install 10 | 11 | #Add all source code 12 | ADD app /app/ 13 | RUN cd /app && npm run build 14 | RUN npm -g install serve 15 | 16 | WORKDIR /app 17 | 18 | #Default command 19 | CMD ["serve", "-s", "build", "-p", "8080"] 20 | -------------------------------------------------------------------------------- /react/app/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | 6 | # testing 7 | /coverage 8 | 9 | # production 10 | /build 11 | 12 | # misc 13 | .DS_Store 14 | .env.local 15 | .env.development.local 16 | .env.test.local 17 | .env.production.local 18 | 19 | npm-debug.log* 20 | yarn-debug.log* 21 | yarn-error.log* 22 | -------------------------------------------------------------------------------- /react/app/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "app", 3 | "version": "0.1.0", 4 | "private": true, 5 | "dependencies": { 6 | "react": "^16.2.0", 7 | "react-dom": "^16.2.0", 8 | "react-scripts": "1.0.17" 9 | }, 10 | "scripts": { 11 | "start": "react-scripts start", 12 | "build": "react-scripts build", 13 | "test": "react-scripts test --env=jsdom", 14 | "eject": "react-scripts eject" 15 | } 16 | } -------------------------------------------------------------------------------- /react/app/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k8s-platform-hub/microservice-templates/43468b38c3b4c3e3a141be08f98d364ff2858937/react/app/public/favicon.ico -------------------------------------------------------------------------------- /react/app/public/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "short_name": "React App", 3 | "name": "Create React App Sample", 4 | "icons": [ 5 | { 6 | "src": "favicon.ico", 7 | "sizes": "64x64 32x32 24x24 16x16", 8 | "type": "image/x-icon" 9 | } 10 | ], 11 | "start_url": "./index.html", 12 | "display": "standalone", 13 | "theme_color": "#000000", 14 | "background_color": "#ffffff" 15 | } 16 | -------------------------------------------------------------------------------- /react/app/src/App.css: -------------------------------------------------------------------------------- 1 | .App { 2 | text-align: center; 3 | } 4 | 5 | .App-logo { 6 | animation: App-logo-spin infinite 20s linear; 7 | height: 80px; 8 | } 9 | 10 | .App-header { 11 | background-color: #222; 12 | height: 150px; 13 | padding: 20px; 14 | color: white; 15 | } 16 | 17 | .App-title { 18 | font-size: 1.5em; 19 | } 20 | 21 | .App-intro { 22 | font-size: large; 23 | } 24 | 25 | @keyframes App-logo-spin { 26 | from { transform: rotate(0deg); } 27 | to { transform: rotate(360deg); } 28 | } 29 | -------------------------------------------------------------------------------- /react/app/src/App.js: -------------------------------------------------------------------------------- 1 | import React, { Component } from 'react'; 2 | import logo from './logo.svg'; 3 | import './App.css'; 4 | 5 | class App extends Component { 6 | render() { 7 | return ( 8 |
9 |
10 | logo 11 |

Welcome to React

12 |
13 |

14 | To get started, edit src/App.js and save to reload. 15 |

16 |
17 | ); 18 | } 19 | } 20 | 21 | export default App; 22 | -------------------------------------------------------------------------------- /react/app/src/App.test.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ReactDOM from 'react-dom'; 3 | import App from './App'; 4 | 5 | it('renders without crashing', () => { 6 | const div = document.createElement('div'); 7 | ReactDOM.render(, div); 8 | }); 9 | -------------------------------------------------------------------------------- /react/app/src/index.css: -------------------------------------------------------------------------------- 1 | body { 2 | margin: 0; 3 | padding: 0; 4 | font-family: sans-serif; 5 | } 6 | -------------------------------------------------------------------------------- /react/app/src/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ReactDOM from 'react-dom'; 3 | import './index.css'; 4 | import App from './App'; 5 | import registerServiceWorker from './registerServiceWorker'; 6 | 7 | ReactDOM.render(, document.getElementById('root')); 8 | registerServiceWorker(); 9 | -------------------------------------------------------------------------------- /schemaspy/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM java:8 2 | 3 | RUN apt-get update 4 | 5 | RUN apt-get -y install nginx 6 | 7 | RUN wget https://github.com/schemaspy/schemaspy/releases/download/v6.0.0-rc2/schemaspy-6.0.0-rc2.jar -O schemaSpy.jar 8 | 9 | RUN wget https://jdbc.postgresql.org/download/postgresql-42.1.4.jar -O postgresql-jdbc4.jar 10 | 11 | RUN apt-get install -y graphviz 12 | 13 | RUN rm -v /etc/nginx/nginx.conf 14 | 15 | RUN useradd --no-create-home nginx 16 | 17 | COPY app/conf/nginx.conf /etc/nginx 18 | 19 | COPY app/init.sh /bin/ 20 | 21 | RUN chmod a+x /bin/init.sh 22 | 23 | CMD ["/bin/init.sh"] 24 | -------------------------------------------------------------------------------- /schemaspy/app/.gitignore: -------------------------------------------------------------------------------- 1 | run-with-password.sh 2 | -------------------------------------------------------------------------------- /schemaspy/app/init.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | java -jar schemaSpy.jar -t pgsql -s public -db hasuradb -u admin -p $POSTGRES_PASSWORD -host postgres.hasura -o /usr/share/nginx/html -dp postgresql-jdbc4.jar 3 | nginx -g "daemon off;" -------------------------------------------------------------------------------- /schemaspy/docker-config.yaml: -------------------------------------------------------------------------------- 1 | image: "nginx:latest" 2 | port: 80 3 | volume_mounts: null 4 | env_variables: ["NGINX_HOST", "NGINX_PORT"] 5 | -------------------------------------------------------------------------------- /serverless-functions/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM python:2.7-alpine 2 | 3 | WORKDIR /deploy 4 | 5 | COPY requirements.txt /tmp/requirements.txt 6 | RUN pip install -r /tmp/requirements.txt 7 | 8 | COPY deploy.py /deploy/deploy.py 9 | 10 | COPY config.json /deploy/config.json 11 | 12 | COPY functions /deploy/functions 13 | 14 | CMD ["python", "deploy.py"] -------------------------------------------------------------------------------- /serverless-functions/config.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "name": "hello", 4 | "env": "python", 5 | "file": "hello.py", 6 | "http_triggers": [ 7 | { 8 | "method": "GET", 9 | "urlpattern": "/hello" 10 | } 11 | ] 12 | } 13 | ] 14 | -------------------------------------------------------------------------------- /serverless-functions/functions/hello.py: -------------------------------------------------------------------------------- 1 | def main(): 2 | return "Hello World!" 3 | -------------------------------------------------------------------------------- /serverless-functions/requirements.txt: -------------------------------------------------------------------------------- 1 | requests 2 | -------------------------------------------------------------------------------- /swift-perfect/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | /.build 3 | /Packages 4 | /*.xcodeproj 5 | -------------------------------------------------------------------------------- /swift-perfect/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM swift 2 | 3 | RUN apt-get update 4 | RUN apt-get install -y openssl libssl-dev uuid-dev 5 | 6 | WORKDIR /swift-perfect 7 | ADD . /swift-perfect 8 | RUN swift build 9 | 10 | CMD .build/debug/swift-perfect 11 | 12 | 13 | -------------------------------------------------------------------------------- /swift-perfect/Package.swift: -------------------------------------------------------------------------------- 1 | import PackageDescription 2 | 3 | let package = Package( 4 | name: "swift-perfect", 5 | dependencies: [ 6 | .Package( 7 | url: "https://github.com/PerfectlySoft/Perfect-HTTPServer.git", 8 | majorVersion: 2, 9 | minor: 0 10 | ) 11 | ] 12 | ) 13 | -------------------------------------------------------------------------------- /swift-perfect/Sources/main.swift: -------------------------------------------------------------------------------- 1 | import PerfectLib 2 | import PerfectHTTP 3 | import PerfectHTTPServer 4 | 5 | // Create HTTP server. 6 | let server = HTTPServer() 7 | 8 | // Register your own routes and handlers 9 | var routes = Routes() 10 | routes.add(method: .get, uri: "/", handler: { 11 | request, response in 12 | response.setHeader(.contentType, value: "text/html") 13 | response.appendBody(string: "Hello, world!Hello, world!") 14 | response.completed() 15 | } 16 | ) 17 | 18 | // Add the routes to the server. 19 | server.addRoutes(routes) 20 | 21 | // Set a listen port of 8181 22 | server.serverPort = 8181 23 | 24 | do { 25 | // Launch the HTTP server. 26 | try server.start() 27 | } catch PerfectError.networkError(let err, let msg) { 28 | print("Network error thrown: \(err) \(msg)") 29 | } 30 | -------------------------------------------------------------------------------- /swift-vapor/.dockerignore: -------------------------------------------------------------------------------- 1 | Packages 2 | -------------------------------------------------------------------------------- /swift-vapor/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | /.build 3 | /Packages 4 | /*.xcodeproj 5 | -------------------------------------------------------------------------------- /swift-vapor/Config/servers.json: -------------------------------------------------------------------------------- 1 | { 2 | "http" : { 3 | "host":"0.0.0.0", 4 | "port":"$PORT" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /swift-vapor/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM swift 2 | 3 | WORKDIR /swift-vapor 4 | ADD . /swift-vapor 5 | RUN swift build 6 | 7 | CMD .build/debug/swift-vapor 8 | 9 | -------------------------------------------------------------------------------- /swift-vapor/Package.swift: -------------------------------------------------------------------------------- 1 | import PackageDescription 2 | 3 | let package = Package( 4 | name: "swift-vapor", 5 | dependencies: [ 6 | .Package(url: "https://github.com/vapor/vapor.git", majorVersion: 1, minor: 1) 7 | ] 8 | ) 9 | -------------------------------------------------------------------------------- /swift-vapor/Sources/main.swift: -------------------------------------------------------------------------------- 1 | import Vapor 2 | 3 | let drop = Droplet() 4 | 5 | drop.get("/") { _ in 6 | return "Hello World" 7 | } 8 | 9 | drop.get("/hello") { _ in 10 | return "Aww, Hello to you also" 11 | } 12 | 13 | drop.run() 14 | 15 | -------------------------------------------------------------------------------- /typescript-angular/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .git 3 | -------------------------------------------------------------------------------- /typescript-angular/.editorconfig: -------------------------------------------------------------------------------- 1 | # Editor configuration, see http://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | charset = utf-8 6 | indent_style = space 7 | indent_size = 2 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | 11 | [*.md] 12 | max_line_length = off 13 | trim_trailing_whitespace = false 14 | -------------------------------------------------------------------------------- /typescript-angular/.gitignore: -------------------------------------------------------------------------------- 1 | # See http://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # compiled output 4 | /dist 5 | /tmp 6 | /out-tsc 7 | 8 | # dependencies 9 | /node_modules 10 | 11 | # IDEs and editors 12 | /.idea 13 | .project 14 | .classpath 15 | .c9/ 16 | *.launch 17 | .settings/ 18 | *.sublime-workspace 19 | 20 | # IDE - VSCode 21 | .vscode/* 22 | !.vscode/settings.json 23 | !.vscode/tasks.json 24 | !.vscode/launch.json 25 | !.vscode/extensions.json 26 | 27 | # misc 28 | /.sass-cache 29 | /connect.lock 30 | /coverage 31 | /libpeerconnection.log 32 | npm-debug.log 33 | testem.log 34 | /typings 35 | 36 | # e2e 37 | /e2e/*.js 38 | /e2e/*.map 39 | 40 | # System Files 41 | .DS_Store 42 | Thumbs.db 43 | -------------------------------------------------------------------------------- /typescript-angular/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:8-alpine 2 | 3 | COPY package.json ./ 4 | 5 | RUN npm set progress=false && npm config set depth 0 && npm cache clean --force 6 | 7 | RUN npm install -g http-server 8 | 9 | ## Storing node modules on a separate layer will prevent unnecessary npm installs at each build 10 | RUN npm i && mkdir /ng-app && cp -R ./node_modules ./ng-app 11 | 12 | WORKDIR /ng-app 13 | 14 | COPY . . 15 | 16 | ## Build the angular app in production mode and store the artifacts in dist folder 17 | RUN $(npm bin)/ng build --prod --build-optimizer 18 | 19 | CMD ["/ng-app/runserver.sh"] 20 | -------------------------------------------------------------------------------- /typescript-angular/e2e/app.e2e-spec.ts: -------------------------------------------------------------------------------- 1 | import { MyappPage } from './app.po'; 2 | 3 | describe('myapp App', () => { 4 | let page: MyappPage; 5 | 6 | beforeEach(() => { 7 | page = new MyappPage(); 8 | }); 9 | 10 | it('should display message saying app works', () => { 11 | page.navigateTo(); 12 | expect(page.getParagraphText()).toEqual('app works!'); 13 | }); 14 | }); 15 | -------------------------------------------------------------------------------- /typescript-angular/e2e/app.po.ts: -------------------------------------------------------------------------------- 1 | import { browser, element, by } from 'protractor'; 2 | 3 | export class MyappPage { 4 | navigateTo() { 5 | return browser.get('/'); 6 | } 7 | 8 | getParagraphText() { 9 | return element(by.css('app-root h1')).getText(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /typescript-angular/e2e/tsconfig.e2e.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../out-tsc/e2e", 5 | "module": "commonjs", 6 | "target": "es5", 7 | "types":[ 8 | "jasmine", 9 | "node" 10 | ] 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /typescript-angular/runserver.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | cd /ng-app/dist 4 | http-server -p 8080 -a 0.0.0.0 5 | -------------------------------------------------------------------------------- /typescript-angular/src/app/app.component.html: -------------------------------------------------------------------------------- 1 |

2 | {{title}} 3 |

4 | -------------------------------------------------------------------------------- /typescript-angular/src/app/app.component.sass: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k8s-platform-hub/microservice-templates/43468b38c3b4c3e3a141be08f98d364ff2858937/typescript-angular/src/app/app.component.sass -------------------------------------------------------------------------------- /typescript-angular/src/app/app.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | 3 | @Component({ 4 | selector: 'app-root', 5 | templateUrl: './app.component.html', 6 | styleUrls: ['./app.component.sass'] 7 | }) 8 | export class AppComponent { 9 | title = 'Hello from Angular deployed on Hasura!'; 10 | } 11 | -------------------------------------------------------------------------------- /typescript-angular/src/app/app.module.ts: -------------------------------------------------------------------------------- 1 | import { BrowserModule } from '@angular/platform-browser'; 2 | import { NgModule } from '@angular/core'; 3 | import { FormsModule } from '@angular/forms'; 4 | import { HttpModule } from '@angular/http'; 5 | 6 | import { AppComponent } from './app.component'; 7 | 8 | @NgModule({ 9 | declarations: [ 10 | AppComponent 11 | ], 12 | imports: [ 13 | BrowserModule, 14 | FormsModule, 15 | HttpModule 16 | ], 17 | providers: [], 18 | bootstrap: [AppComponent] 19 | }) 20 | export class AppModule { } 21 | -------------------------------------------------------------------------------- /typescript-angular/src/assets/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k8s-platform-hub/microservice-templates/43468b38c3b4c3e3a141be08f98d364ff2858937/typescript-angular/src/assets/.gitkeep -------------------------------------------------------------------------------- /typescript-angular/src/environments/environment.prod.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: true 3 | }; 4 | -------------------------------------------------------------------------------- /typescript-angular/src/environments/environment.ts: -------------------------------------------------------------------------------- 1 | // The file contents for the current environment will overwrite these during build. 2 | // The build system defaults to the dev environment which uses `environment.ts`, but if you do 3 | // `ng build --env=prod` then `environment.prod.ts` will be used instead. 4 | // The list of which env maps to which file can be found in `.angular-cli.json`. 5 | 6 | export const environment = { 7 | production: false 8 | }; 9 | -------------------------------------------------------------------------------- /typescript-angular/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/k8s-platform-hub/microservice-templates/43468b38c3b4c3e3a141be08f98d364ff2858937/typescript-angular/src/favicon.ico -------------------------------------------------------------------------------- /typescript-angular/src/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Myapp 6 | 7 | 8 | 9 | 10 | 11 | 12 | Loading... 13 | 14 | 15 | -------------------------------------------------------------------------------- /typescript-angular/src/main.ts: -------------------------------------------------------------------------------- 1 | import { enableProdMode } from '@angular/core'; 2 | import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; 3 | 4 | import { AppModule } from './app/app.module'; 5 | import { environment } from './environments/environment'; 6 | 7 | if (environment.production) { 8 | enableProdMode(); 9 | } 10 | 11 | platformBrowserDynamic().bootstrapModule(AppModule); 12 | -------------------------------------------------------------------------------- /typescript-angular/src/styles.sass: -------------------------------------------------------------------------------- 1 | /* You can add global styles to this file, and also import other style files */ 2 | -------------------------------------------------------------------------------- /typescript-angular/src/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../out-tsc/app", 5 | "module": "es2015", 6 | "baseUrl": "", 7 | "types": [] 8 | }, 9 | "exclude": [ 10 | "test.ts", 11 | "**/*.spec.ts" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /typescript-angular/src/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../out-tsc/spec", 5 | "module": "commonjs", 6 | "target": "es5", 7 | "baseUrl": "", 8 | "types": [ 9 | "jasmine", 10 | "node" 11 | ] 12 | }, 13 | "files": [ 14 | "test.ts" 15 | ], 16 | "include": [ 17 | "**/*.spec.ts", 18 | "**/*.d.ts" 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /typescript-angular/src/typings.d.ts: -------------------------------------------------------------------------------- 1 | /* SystemJS module definition */ 2 | declare var module: NodeModule; 3 | interface NodeModule { 4 | id: string; 5 | } 6 | -------------------------------------------------------------------------------- /typescript-angular/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compileOnSave": false, 3 | "compilerOptions": { 4 | "outDir": "./dist/out-tsc", 5 | "baseUrl": "src", 6 | "sourceMap": true, 7 | "declaration": false, 8 | "moduleResolution": "node", 9 | "emitDecoratorMetadata": true, 10 | "experimentalDecorators": true, 11 | "target": "es5", 12 | "typeRoots": [ 13 | "node_modules/@types" 14 | ], 15 | "lib": [ 16 | "es2016", 17 | "dom" 18 | ] 19 | } 20 | } 21 | --------------------------------------------------------------------------------