Initial commit to golang installation role

Change-Id: I344755e19a5d87d0f4880f5121df6d346f1c85f3
diff --git a/molecule/default/converge.yml b/molecule/default/converge.yml
new file mode 100644
index 0000000..39bb19b
--- /dev/null
+++ b/molecule/default/converge.yml
@@ -0,0 +1,12 @@
+---
+# golang molecule/default/verify.yml
+#
+# SPDX-FileCopyrightText: 2022 Open Networking Foundation <support@opennetworking.org>
+# SPDX-License-Identifier: Apache-2.0
+
+- name: Converge
+  hosts: all
+  tasks:
+    - name: "Include golang"
+      include_role:
+        name: "golang"
diff --git a/molecule/default/molecule.yml b/molecule/default/molecule.yml
new file mode 100644
index 0000000..a1a4819
--- /dev/null
+++ b/molecule/default/molecule.yml
@@ -0,0 +1,31 @@
+---
+# golang molecule/default/molecule.yml
+#
+# SPDX-FileCopyrightText: 2022 Open Networking Foundation <support@opennetworking.org>
+# SPDX-License-Identifier: Apache-2.0
+
+dependency:
+  name: galaxy
+driver:
+  name: docker
+platforms:
+  - name: "ubuntu-18.04-priv"
+    image: "quay.io/paulfantom/molecule-systemd:ubuntu-18.04"
+    privileged: true
+    volumes:
+      - "/sys/fs/cgroup:/sys/fs/cgroup:ro"
+  - name: "debian-11-priv"
+    image: "onfinfra/molecule-systemd:debian-11"
+    privileged: true
+    volumes:
+      - "/sys/fs/cgroup:/sys/fs/cgroup:ro"
+provisioner:
+  name: ansible
+  inventory:
+    host_vars:
+      debian-11-priv:
+        ansible_python_interpreter: /usr/bin/python3
+      ubuntu-18.04-priv:
+        ansible_python_interpreter: /usr/bin/python3
+verifier:
+  name: ansible
diff --git a/molecule/default/verify.yml b/molecule/default/verify.yml
new file mode 100644
index 0000000..fb59166
--- /dev/null
+++ b/molecule/default/verify.yml
@@ -0,0 +1,62 @@
+---
+# golang molecule/default/verify.yml
+#
+# SPDX-FileCopyrightText: 2022 Open Networking Foundation <support@opennetworking.org>
+# SPDX-License-Identifier: Apache-2.0
+
+- name: Verify
+  hosts: all
+  tasks:
+
+    # go
+    - name: Check go version
+      command:
+        cmd: "go version"
+      register: go_version
+      tags:
+        - skip_ansible_lint  # info gathering
+
+    - name: Print go version
+      debug:
+        var: go_version
+
+    - name: Assert go 1.18.x installed
+      assert:
+        that:
+          - "'go version go1.18' in go_version.stdout"
+
+    # golangci-lint
+    - name: Check golangci-lint version
+      command:
+        cmd: "golangci-lint --version"
+      become: true
+      register: glcil_version
+      tags:
+        - skip_ansible_lint  # info gathering
+
+    - name: Print golangci-lint version
+      debug:
+        var: glcil_version
+
+    - name: Assert golangci-lint 1.47.x installed
+      assert:
+        that:
+          - "'golangci-lint has version 1.47' in glcil_version.stdout"
+
+    # go-junit-report
+    - name: Check go-junit-report version
+      command:
+        cmd: "go-junit-report -version"
+      become: true
+      register: gjur_version
+      tags:
+        - skip_ansible_lint  # info gathering
+
+    - name: Print go-junit-report version
+      debug:
+        var: gjur_version
+
+    - name: Assert go-junit-report 2.0.x installed
+      assert:
+        that:
+          - "'go-junit-report v2.0' in gjur_version.stdout"