
{"id":102,"date":"2014-06-15T14:13:17","date_gmt":"2014-06-15T04:13:17","guid":{"rendered":"http:\/\/mnm.at\/markus\/?p=102"},"modified":"2014-06-15T14:17:41","modified_gmt":"2014-06-15T04:17:41","slug":"stackato-local-vm-environment-notes","status":"publish","type":"post","link":"https:\/\/mnm.at\/markus\/2014\/06\/15\/stackato-local-vm-environment-notes\/","title":{"rendered":"Stackato Local VM Environment Notes"},"content":{"rendered":"<p>Similar to my <a href=\"http:\/\/mnm.at\/markus\/2014\/06\/15\/cloud-foundry-environment-notes\/\">Cloud Foundry environment notes<\/a> I was interested what Stackato puts on top of the Cloud Foundry framework. This was running in a local VM that I downloaded from their site.<\/p>\n<h2>Deploying the app<\/h2>\n<p>Still using the same <a href=\"https:\/\/bitbucket.org\/markus_ebenhoeh\/simple-executable-jar-web-server.git\">test code <\/a><\/p>\n<p>After spending quite some time on trying to set the JAVA_OPTS, I instead changed the source code to use the environment variable instead of server.port and server.address and then re-pushed<\/p>\n<pre><code>mkdir build\ncd build\nunzip ..\/target\/simple-executable-jar-web-server-0.0.1.jar\ncd ..\nstackato push --path \/xdata\/local\/dev\/markus\/git\/simple-executable-jar-web-server\/build\n<\/code><\/pre>\n<p>The app worked after my code changes and the test server was up and running, but I could not log into the web console, anymore, thought I had the password wrong, but then used<\/p>\n<pre><code>stackato passwd\n<\/code><\/pre>\n<p>and it accepted my old password. Besides Firefox remembered the same password.<\/p>\n<p>A server restart helped. Since I usually only pause my VMs it might have gotten confused.,<\/p>\n<h2>Runtime Environment and Properties<\/h2>\n<h2>Environment<\/h2>\n<pre><code>'HOME' = '\/home\/stackato\/app'\n'JAVA_OPTS' = '-Dserver.port=$VCAP_APP_PORT -Dserver.address=$VCAP_APP_HOST'\n'LANG' = 'en_US.UTF-8'\n'LANGUAGE' = 'en_US.UTF-8'\n'LC_ALL' = 'en_US.UTF-8'\n'LOGNAME' = 'stackato'\n'MAIL' = '\/var\/mail\/stackato'\n'MEMORY_LIMIT' = '256m'\n'NLSPATH' = '\/usr\/dt\/lib\/nls\/msg\/%L\/%N.cat'\n'OLDPWD' = '\/home\/stackato\/app'\n'PACKAGES_COMMON' = 'git'\n'PATH' = '\/opt\/ActivePython-2.7\/bin:\/opt\/ActivePython-3.3\/bin:\/opt\/ActivePerl-5.16\/bin:\/opt\/rubies\/current\/bin:\/opt\/node-v0.10\/bin:\/usr\/local\/sbin:\/usr\/local\/bin:\/usr\/sbin:\/usr\/bin:\/sbin:\/bin'\n'PORT' = '58761'\n'PWD' = '\/home\/stackato\/app'\n'SHELL' = '\/bin\/bash'\n'SHLVL' = '2'\n'SSH_CLIENT' = '172.17.42.1 51755 22'\n'SSH_CONNECTION' = '172.17.42.1 51755 172.17.0.86 22'\n'STACKATO_APP_ENV' = 'JAVA_OPTS'\n'STACKATO_APP_NAME' = 'simple-executable-jar-web-server'\n'STACKATO_APP_NAME_UPCASE' = 'SIMPLE_EXECUTABLE_JAR_WEB_SERVER'\n'STACKATO_APP_ROOT' = '\/home\/stackato'\n'STACKATO_DOCKER' = 'True'\n'STACKATO_LOG_FILES' = 'stdout=\/home\/stackato\/logs\/stdout.log:stderr=\/home\/stackato\/logs\/stderr.log'\n'STACKATO_SERVICES' = '{}'\n'TMPDIR' = '\/home\/stackato\/tmp'\n'USER' = 'stackato'\n'VCAP_APPLICATION' = '{\"instance_id\":\"e20054cb47ed479c843142b480e12f52\",\"instance_index\":0,\"host\":\"0.0.0.0\",\"port\":58761,\"started_at\":\"2014-06-02 06:33:19 -0700\",\"started_at_timestamp\":1401715999,\"start\":\"2014-06-02 06:33:19 -0700\",\"state_timestamp\":1401715999,\"limits\":{\"mem\":256,\"disk\":2048,\"fds\":16384,\"allow_sudo\":false},\"application_version\":\"8c5b4b0a-5e50-4d69-bf92-f4fe7c5ef0ec\",\"application_name\":\"simple-executable-jar-web-server\",\"application_uris\":[\"simple-executable-jar-web-server.stackato-cr6q.local\"],\"sso_enabled\":false,\"version\":\"8c5b4b0a-5e50-4d69-bf92-f4fe7c5ef0ec\",\"name\":\"simple-executable-jar-web-server\",\"uris\":[\"simple-executable-jar-web-server.stackato-cr6q.local\"],\"users\":null}'\n'VCAP_APP_HOST' = '0.0.0.0'\n'VCAP_APP_PORT' = '58761'\n'VCAP_SERVICES' = '{}'\n'XFILESEARCHPATH' = '\/usr\/dt\/app-defaults\/%L\/Dt'\n'_' = '\/home\/stackato\/app\/.java-buildpack\/open_jdk\/bin\/java'\n<\/code><\/pre>\n<h2>System Properties<\/h2>\n<pre><code>'awt.toolkit' = 'sun.awt.X11.XToolkit'\n'file.encoding' = 'UTF-8'\n'file.encoding.pkg' = 'sun.io'\n'file.separator' = '\/'\n'java.awt.graphicsenv' = 'sun.awt.X11GraphicsEnvironment'\n'java.awt.printerjob' = 'sun.print.PSPrinterJob'\n'java.class.path' = '\/home\/stackato\/app\/.'\n'java.class.version' = '51.0'\n'java.endorsed.dirs' = '\/home\/stackato\/app\/.java-buildpack\/open_jdk\/lib\/endorsed'\n'java.ext.dirs' = '\/home\/stackato\/app\/.java-buildpack\/open_jdk\/lib\/ext:\/usr\/java\/packages\/lib\/ext'\n'java.home' = '\/home\/stackato\/app\/.java-buildpack\/open_jdk'\n'java.io.tmpdir' = '\/home\/stackato\/tmp'\n'java.library.path' = '\/usr\/java\/packages\/lib\/amd64:\/usr\/lib64:\/lib64:\/lib:\/usr\/lib'\n'java.runtime.name' = 'OpenJDK Runtime Environment'\n'java.runtime.version' = '1.7.0_60-b19'\n'java.specification.name' = 'Java Platform API Specification'\n'java.specification.vendor' = 'Oracle Corporation'\n'java.specification.version' = '1.7'\n'java.vendor' = 'Oracle Corporation'\n'java.vendor.url' = 'http:\/\/java.oracle.com\/'\n'java.vendor.url.bug' = 'http:\/\/bugreport.sun.com\/bugreport\/'\n'java.version' = '1.7.0_60'\n'java.vm.info' = 'mixed mode'\n'java.vm.name' = 'OpenJDK 64-Bit Server VM'\n'java.vm.specification.name' = 'Java Virtual Machine Specification'\n'java.vm.specification.vendor' = 'Oracle Corporation'\n'java.vm.specification.version' = '1.7'\n'java.vm.vendor' = 'Oracle Corporation'\n'java.vm.version' = '24.80-b07'\n'line.separator' = '    '\n'os.arch' = 'amd64'\n'os.name' = 'Linux'\n'os.version' = '3.8.0-30-generic'\n'path.separator' = ':'\n'sun.arch.data.model' = '64'\n'sun.boot.class.path' = '\/home\/stackato\/app\/.java-buildpack\/open_jdk\/lib\/resources.jar:\/home\/stackato\/app\/.java-buildpack\/open_jdk\/lib\/rt.jar:\/home\/stackato\/app\/.java-buildpack\/open_jdk\/lib\/sunrsasign.jar:\/home\/stackato\/app\/.java-buildpack\/open_jdk\/lib\/jsse.jar:\/home\/stackato\/app\/.java-buildpack\/open_jdk\/lib\/jce.jar:\/home\/stackato\/app\/.java-buildpack\/open_jdk\/lib\/charsets.jar:\/home\/stackato\/app\/.java-buildpack\/open_jdk\/lib\/jfr.jar:\/home\/stackato\/app\/.java-buildpack\/open_jdk\/classes'\n'sun.boot.library.path' = '\/home\/stackato\/app\/.java-buildpack\/open_jdk\/lib\/amd64'\n'sun.cpu.endian' = 'little'\n'sun.cpu.isalist' = ''\n'sun.io.unicode.encoding' = 'UnicodeLittle'\n'sun.java.command' = 'at.mnm.util.SimpleTestWebServer'\n'sun.java.launcher' = 'SUN_STANDARD'\n'sun.jnu.encoding' = 'UTF-8'\n'sun.management.compiler' = 'HotSpot 64-Bit Tiered Compilers'\n'sun.os.patch.level' = 'unknown'\n'user.country' = 'US'\n'user.dir' = '\/home\/stackato\/app'\n'user.home' = '\/home\/stackato'\n'user.language' = 'en'\n'user.name' = 'stackato'\n<\/code><\/pre>\n<h2>Adding services<\/h2>\n<p>Wanted to add the service via the web UI but did not immediately see how.<\/p>\n<p>stackato create-service mysql testdb simple-executable-jar-web-server<\/p>\n<p>Afterwards the following new environment properties were added :<\/p>\n<pre><code>&gt; 'DATABASE_URL' = 'mysql:\/\/ucLE9lXtowAqf:pYSRyL7jO1vgi@172.16.127.133:3306\/d415c91f5251b450d9a3c20c45b5d7777'\n&gt; 'JDBC_MYSQL_URL' = 'jdbc:mysql:\/\/ucLE9lXtowAqf:pYSRyL7jO1vgi@172.16.127.133:3306\/d415c91f5251b450d9a3c20c45b5d7777'\n&gt; 'MYSQL_URL' = 'mysql:\/\/ucLE9lXtowAqf:pYSRyL7jO1vgi@172.16.127.133:3306\/d415c91f5251b450d9a3c20c45b5d7777'\n<\/code><\/pre>\n<p>And these changed : &lt; &#8216;STACKATO_SERVICES&#8217; = &#8216;{}&#8217; &#8212;<\/p>\n<blockquote>\n<p>&#8216;STACKATO_SERVICES&#8217; = &#8216;{&#8220;testdb&#8221;:{&#8220;name&#8221;:&#8221;d415c91f5251b450d9a3c20c45b5d7777&#8243;, &#8220;hostname&#8221;:&#8221;172.16.127.133&#8243;,&#8221;host&#8221;:&#8221;172.16.127.133&#8243;,&#8221;port&#8221;:3306, &#8220;user&#8221;:&#8221;ucLE9lXtowAqf&#8221;,&#8221;username&#8221;:&#8221;ucLE9lXtowAqf&#8221;,&#8221;password&#8221;:&#8221;pYSRyL7jO1vgi&#8221;, &#8220;uri&#8221;:&#8221;mysql:\/\/ucLE9lXtowAqf:pYSRyL7jO1vgi@172.16.127.133:3306\/d415c91f5251b450d9a3c20c45b5d7777&#8243;, &#8220;jdbcUrl&#8221;:&#8221;jdbc:mysql:\/\/ucLE9lXtowAqf:pYSRyL7jO1vgi@172.16.127.133:3306\/d415c91f5251b450d9a3c20c45b5d7777&#8243;}}&#8217;<\/p>\n<\/blockquote>\n<pre><code>&lt; 'VCAP_SERVICES' = '{}'\n---\n&gt; 'VCAP_SERVICES' = '{\"mysql\":[{\"name\":\"testdb\",\"label\":\"mysql-5.5\",\"tags\":[],\n    \"plan\":\"free\",\"credentials\":{\"name\":\"d415c91f5251b450d9a3c20c45b5d7777\",\n    \"hostname\":\"172.16.127.133\",\"host\":\"172.16.127.133\",\"port\":3306,\n    \"user\":\"ucLE9lXtowAqf\",\"username\":\"ucLE9lXtowAqf\",\"password\":\"pYSRyL7jO1vgi\",\n    \"uri\":\"mysql:\/\/ucLE9lXtowAqf:pYSRyL7jO1vgi@172.16.127.133:3306\/d415c91f5251b450d9a3c20c45b5d7777\",\n    \"jdbcUrl\":\"jdbc:mysql:\/\/ucLE9lXtowAqf:pYSRyL7jO1vgi@172.16.127.133:3306\/d415c91f5251b450d9a3c20c45b5d7777\"}}]}'\n<\/code><\/pre>\n<p>VCAP_APPLICATION seemed to change like for CloudFoundry &#8211; but unrelated to to service.<\/p>\n<p>and this system proeprty changed, simialr to Cloud Foundry:<\/p>\n<pre><code>&lt; 'java.class.path' = '\/home\/stackato\/app\/.'\n---\n&gt; 'java.class.path' = '\/home\/stackato\/app\/.:\/home\/stackato\/app\/.java-buildpack\/maria_db_jdbc\/maria_db_jdbc-1.1.7.jar'\n<\/code><\/pre>\n<h2>Appendix : How to Not Set Environment<\/h2>\n<p>Not sure how this should have worked, but it didn&#8217;t for me&#8230;<\/p>\n<p>I wanted to set Java System Properties to pass in the server.address and server.port. The same worked for <a href=\"http:\/\/mnm.at\/markus\/2014\/06\/15\/cloud-foundry-environment-notes\/\">Cloud Foundry<\/a><\/p>\n<p>Tried to figure out the right amount of escaping &#8230; this is what we want to see: &#8216;JAVA_OPTS&#8217; = &#8216;-Dserver.port=$VCAP_APP_PORT -Dserver.address=$VCAP_APP_HOST&#8217;<\/p>\n<pre><code>stackato set-env simple-executable-jar-web-server JAVA_OPTS \"-Dserver.port=\\\\\\$VCAP_APP_PORT -Dserver.address=\\\\\\$VCAP_APP_HOST\"\nUnknown option -Dserver.port\n\nstackato set-env simple-executable-jar-web-server JAVA_OPTS '-Dserver.port=$VCAP_APP_PORT -Dserver.address=$VCAP_APP_HOST'\nUnknown option -Dserver.port\n\n\nstackato set-env simple-executable-jar-web-server JAVA_OPTS '\\-Dserver.port=\\$VCAP_APP_PORT \\-Dserver.address=\\$VCAP_APP_HOST'\nAdding Environment Variable [JAVA_OPTS=\\-Dserver.port=\\$VCAP_APP_PORT \\-Dserver.address=\\$VCAP_APP_HOST] ... \n...\napp[stdout.0]:    'JAVA_OPTS' = '\\-Dserver.port=$VCAP_APP_PORT \\-Dserver.address=$VCAP_APP_HOST'\n...\n\n\n\n\nstackato set-env simple-executable-jar-web-server JAVA_OPTS '\\\"-Dserver.port=\\$VCAP_APP_PORT \\-Dserver.address=\\$VCAP_APP_HOST\\\"'\nAdding Environment Variable [JAVA_OPTS=\\\"-Dserver.port=\\$VCAP_APP_PORT \\-Dserver.address=\\$VCAP_APP_HOST\\\"] ... \n...\napp[stdout.0]:    'JAVA_OPTS' = '\\-Dserver.port=$VCAP_APP_PORT'\n...\n\n\nstackato set-env simple-executable-jar-web-server JAVA_OPTS \"\\\"-Dserver.port=\\$VCAP_APP_PORT \\-Dserver.address=\\$VCAP_APP_HOST\\\"\"\nAdding Environment Variable [JAVA_OPTS=\"-Dserver.port=$VCAP_APP_PORT \\-Dserver.address=$VCAP_APP_HOST\"] ... \n...\napp[stdout.0]:    'JAVA_OPTS' = '\"-Dserver.port=45238 \\-Dserver.address=0.0.0.0\"'\n...\n\nstackato env-add simple-executable-jar-web-server JAVA_OPTS \"\\\"-Dserver.port=\\$VCAP_APP_PORT \\-Dserver.address=\\$VCAP_APP_HOST\\\"\"\nAdding Environment Variable [JAVA_OPTS=\"-Dserver.port=$VCAP_APP_PORT \\-Dserver.address=$VCAP_APP_HOST\"] ... \n...\napp[stdout.0]:    'JAVA_OPTS' = '\"-Dserver.port=43998 \\-Dserver.address=0.0.0.0\"'\n...\n\n\nstackato set-env simple-executable-jar-web-server JAVA_OPTS \"\\-Dserver.port=\\\\\\$VCAP_APP_PORT \\-Dserver.address=\\\\\\$VCAP_APP_HOST\"\nAdding Environment Variable [JAVA_OPTS=\\-Dserver.port=\\$VCAP_APP_PORT \\-Dserver.address=\\$VCAP_APP_HOST] ... \n...\napp[stdout.0]:    'JAVA_OPTS' = '\\-Dserver.port=$VCAP_APP_PORT \\-Dserver.address=$VCAP_APP_HOST'\n...\n\n\nstackato env-add simple-executable-jar-web-server JAVA_OPTS \"\\\"-Dserver.port=\\$VCAP_APP_PORT -Dserver.address=\\$VCAP_APP_HOST\\\"\"\nAdding Environment Variable [JAVA_OPTS=\"-Dserver.port=$VCAP_APP_PORT -Dserver.address=$VCAP_APP_HOST\"] ... \n...\napp[stdout.0]:    'JAVA_OPTS' = '\"-Dserver.port=48420 -Dserver.address=0.0.0.0\"'\n...\n\nstackato env-add simple-executable-jar-web-server JAVA_OPTS \"\\\"-Dserver.port=\\\\\\$VCAP_APP_PORT -Dserver.address=\\\\\\$VCAP_APP_HOST\\\"\"\nAdding Environment Variable [JAVA_OPTS=\"-Dserver.port=\\$VCAP_APP_PORT -Dserver.address=\\$VCAP_APP_HOST\"] ... \n...\napp[stdout.0]:    'JAVA_OPTS' = '\"-Dserver.port=$VCAP_APP_PORT -Dserver.address=$VCAP_APP_HOST\"'\n...\n\n\nstackato env-add simple-executable-jar-web-server JAVA_OPTS \"\\-Dserver.port=\\\\\\$VCAP_APP_PORT \\-Dserver.address=\\\\\\$VCAP_APP_HOST\"\nAdding Environment Variable [JAVA_OPTS=\\-Dserver.port=\\$VCAP_APP_PORT \\-Dserver.address=\\$VCAP_APP_HOST] ... \n...\napp[stdout.0]:    'JAVA_OPTS' = '\\-Dserver.port=$VCAP_APP_PORT \\-Dserver.address=$VCAP_APP_HOST'\n...\n\nstackato env-add simple-executable-jar-web-server JAVA_OPTS '\"-\"Dserver.port=\\$VCAP_APP_PORT \"-\"Dserver.address=\\$VCAP_APP_HOST\"'\nAdding Environment Variable [JAVA_OPTS=\"-\"Dserver.port=\\$VCAP_APP_PORT \"-\"Dserver.address=\\$VCAP_APP_HOST\"] ... \n...\napp[stdout.0]:    'JAVA_OPTS' = '\"-\"Dserver.port=$VCAP_APP_PORT \"-\"Dserver.address=$VCAP_APP_HOST\"'\n...\n<\/code><\/pre>\n<p>giving up. I use the way it works descibed at http:\/\/community.activestate.com\/node\/9487 (or I could use cf).<\/p>\n<p>vi build\/stackato.yml<\/p>\n<pre><code>app-dir: \/xdata\/local\/dev\/markus\/git\/simple-executable-jar-web-server\/build\ndisk: 2048\nmemory: 256\nname: simple-executable-jar-web-server\nenv:\nJAVA_OPTS: \"-Dserver.port=$VCAP_APP_PORT -Dserver.address=$VCAP_APP_HOST\"\n\n\nstackato push --path \/xdata\/local\/dev\/markus\/git\/simple-executable-jar-web-server\/build\n...\napp[stdout.0]:    'JAVA_OPTS' = '\"-\"Dserver.port=$VCAP_APP_PORT \"-\"Dserver.address=$VCAP_APP_HOST\"'\n...\n\n\nstackato env-del simple-executable-jar-web-server JAVA_OPTS\nDeleting Environment Variable [JAVA_OPTS] ... \n\n\n\nstackato push --path \/xdata\/local\/dev\/markus\/git\/simple-executable-jar-web-server\/build\nUsing manifest file \"build\/stackato.yml\"\n...\nEnter JAVA_OPTS [-Dserver.port=$VCAP_APP_PORT -Dserver.address=$VCAP_APP_HOST]: \n  Adding Environment Variable [JAVA_OPTS=-Dserver.port=$VCAP_APP_PORT -Dserver.address=$VCAP_APP_HOST]\n...\n<\/code><\/pre>\n<p>but no JAVA_OPTS and no system properties<\/p>\n<pre><code>stackato env-del simple-executable-jar-web-server JAVA_OPTS\n\n\ncf login  --skip-ssl-validation -a https:\/\/api.stackato-cr6q.local\nAPI endpoint: https:\/\/api.stackato-cr6q.local\n...\n\ncf set-env simple-executable-jar-web-server JAVA_OPTS \"-Dserver.port=\\\\\\$VCAP_APP_PORT -Dserver.address=\\\\\\$VCAP_APP_HOST\"\nSetting env variable 'JAVA_OPTS' to '-Dserver.port=\\$VCAP_APP_PORT -Dserver.address=\\$VCAP_APP_HOST' for app simple-executable-jar-web-server in org mnm.at \/ space demos as admin...\nOK\nTIP: Use 'cf push' to ensure your env variable changes take effect\n\nrm build\/stackato.yml \nstackato push --path \/xdata\/local\/dev\/markus\/git\/simple-executable-jar-web-server\/build\n<\/code><\/pre>\n<p>even though this time the JAVA_OPTS variable looks right:<\/p>\n<pre><code>app[stdout.0]:    'JAVA_OPTS' = '-Dserver.port=$VCAP_APP_PORT -Dserver.address=$VCAP_APP_HOST'\n<\/code><\/pre>\n<p>there is not server.port system property. so it seems that the build back is different (though it is the java build pack)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Checking out the impact off adding services to a Stackato PaaS hosted application. <a href=\"https:\/\/mnm.at\/markus\/2014\/06\/15\/stackato-local-vm-environment-notes\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":6,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"footnotes":""},"categories":[5],"tags":[15,17,16,14],"class_list":["post-102","post","type-post","status-publish","format-standard","hentry","category-tech","tag-cloud-foundry","tag-java","tag-paas","tag-stackato"],"_links":{"self":[{"href":"https:\/\/mnm.at\/markus\/wp-json\/wp\/v2\/posts\/102","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mnm.at\/markus\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mnm.at\/markus\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mnm.at\/markus\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/mnm.at\/markus\/wp-json\/wp\/v2\/comments?post=102"}],"version-history":[{"count":3,"href":"https:\/\/mnm.at\/markus\/wp-json\/wp\/v2\/posts\/102\/revisions"}],"predecessor-version":[{"id":108,"href":"https:\/\/mnm.at\/markus\/wp-json\/wp\/v2\/posts\/102\/revisions\/108"}],"wp:attachment":[{"href":"https:\/\/mnm.at\/markus\/wp-json\/wp\/v2\/media?parent=102"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mnm.at\/markus\/wp-json\/wp\/v2\/categories?post=102"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mnm.at\/markus\/wp-json\/wp\/v2\/tags?post=102"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}