Tuesday, June 30, 2020

OpenShift on Public IP

Install OpenShift Origin on cloud machine with public IP

Login to remote host

$ ssh -i private_key user@nnn.nnn.nnn.nn

Firewall settings cat /etc/firewalld/zones/public.xml

<?xml version="1.0" encoding="utf-8"?>
<zone>
  <short>Public</short>
  <description>For use in public areas..</description>
  <service name="ssh"/>
  <service name="dhcpv6-client"/>
  <service name="http"/>
  <service name="https"/>
  <port protocol="tcp" port="443"/>
  <port protocol="tcp" port="3000"/>
  <port protocol="tcp" port="3008"/>
  <port protocol="tcp" port="8000"/>
  <port protocol="tcp" port="8080"/>
  <port protocol="tcp" port="8443"/>
  <port protocol="udp" port="53"/>
</zone>

Install Docker

Docker version

# docker version
Client:
 Version:            19.03.11-ol



Download OpenShift and install as root

wget https://github.com/openshift/origin/releases/download/v3.7.2/openshift-origin-client-tools-v3.7.2-282e43f-linux-64bit.tar.gz
tar xf openshift-origin-client-tools-v3.7.2-282e43f-linux-64bit.tar.gz
cd openshift-origin-client-tools-v3.7.2-282e43f-linux-64bit/
mv oc /usr/bin
oc cluster up --public-hostname=


Friday, June 12, 2020

NodeJS Template Engine

Node file app.js

var nunjucks = require('nunjucks')

var res = nunjucks.render(
  'foo.html', {
    messages: ['foo', 'bar'],
    username: "mike"
  }
);

console.log(res)
template file foo.html
{% if username === 'mike' %}
    {{ username }}
{% endif %}

{% for message in messages %}
    {{ message }}
{% endfor %}
Run
node app.js
Practical example for oracle log message
var nunjucks = require('nunjucks')

var res = nunjucks.renderString(
  `
  '{{ "debug output " }}' || {% for var in variables %} '{{ var }} = ' || {{ var }} || {% endfor %}
`, {
    variables: ['foo', 'bar', 'baz']
  }
);

console.log(res.slice(0,-4))
Output
'debug output ' ||  'foo = ' || foo ||  'bar = ' || bar ||  'baz = ' || baz