11# gostint-client
2- GoStint API client and commandline tool
2+ [ GoStint] ( https://goethite.github.io/gostint/ ) API client and commandline tool
33
4- ## Testing agains GoStint Vagrant dev instance
4+ Note: The examples below have been taken in conjunction with deploying GoStint
5+ using the [ gostint-helm] ( https://github.com/goethite/gostint-helm ) chart in Kubernetes.
6+
7+ Note: The examples below all use ` VAULT_SKIP_VERIFY=1 ` , this is because they
8+ are pointint to a port-forward url on 127.0.0.1. In Production you would
9+ instead get the ` vault-client-ca.crt ` from k8s Secret
10+ ` RELEASE-gostint-vault-default-vault-client-tls ` , extract the base64 string to
11+ a certificate file and set VAULT_CACERT to point to it.
12+
13+ ## Testing against GoStint Vagrant dev instance
514```
6- go run main.go -vault-token=root \
15+ VAULT_SKIP_VERIFY=1 go run main.go -vault-token=root \
716 -url=https://127.0.0.1:3232 \
8- -vault-url=http ://127.0.0.1:8300 \
17+ -vault-url=https ://127.0.0.1:8300 \
918 -job-json=@../gostint/tests/job1.json
1019```
1120
@@ -17,9 +26,9 @@ go run main.go -vault-token=root \
1726
1827### Debugging with -debug option
1928```
20- $ gostint-client -vault-token=@.vault_token \
29+ $ VAULT_SKIP_VERIFY=1 gostint-client -vault-token=@.vault_token \
2130 -url=https://127.0.0.1:13232 \
22- -vault-url=http ://127.0.0.1:18200 \
31+ -vault-url=https ://127.0.0.1:18200 \
2332 -image=alpine \
2433 -run='["cat", "/etc/os-release"]' \
2534 -debug
@@ -42,9 +51,9 @@ $ gostint-client -vault-token=@.vault_token \
4251
4352### Run a command in a container
4453```
45- $ gostint-client -vault-token=@.vault_token \
54+ $ VAULT_SKIP_VERIFY=1 gostint-client -vault-token=@.vault_token \
4655 -url=https://127.0.0.1:13232 \
47- -vault-url=http ://127.0.0.1:18200 \
56+ -vault-url=https ://127.0.0.1:18200 \
4857 -image=alpine \
4958 -run='["cat", "/etc/os-release"]'
5059NAME="Alpine Linux"
@@ -56,9 +65,9 @@ BUG_REPORT_URL="http://bugs.alpinelinux.org"
5665```
5766### Running Ansible containers
5867```
59- $ gostint-client -vault-token=@.vault_token \
68+ $ VAULT_SKIP_VERIFY=1 gostint-client -vault-token=@.vault_token \
6069 -url=https://127.0.0.1:13232 \
61- -vault-url=http ://127.0.0.1:18200 \
70+ -vault-url=https ://127.0.0.1:18200 \
6271 -image="jmal98/ansiblecm:2.5.5" \
6372 -entrypoint='["ansible"]' \
6473 -run='["--version"]'
@@ -71,9 +80,9 @@ ansible 2.5.5
7180```
7281
7382```
74- $ gostint-client -vault-token=@.vault_token \
83+ $ VAULT_SKIP_VERIFY=1 gostint-client -vault-token=@.vault_token \
7584 -url=https://127.0.0.1:13232 \
76- -vault-url=http ://127.0.0.1:18200 \
85+ -vault-url=https ://127.0.0.1:18200 \
7786 -image="jmal98/ansiblecm:2.5.5" \
7887 -entrypoint='["ansible"]' \
7988 -run='["-i", "127.0.0.1 ansible_connection=local,", "-m", "ping", "127.0.0.1"]'
@@ -84,7 +93,12 @@ $ gostint-client -vault-token=@.vault_token \
8493```
8594
8695```
87- $ gostint-client -vault-token=@.vault_token -url=https://127.0.0.1:13232 -vault-url=http://127.0.0.1:18200 -image="jmal98/ansiblecm:2.5.5" -content=../gostint/tests/content_ansible_play -run='["-i", "hosts", "play1.yml"]'
96+ $ VAULT_SKIP_VERIFY=1 gostint-client -vault-token=@.vault_token \
97+ -url=https://127.0.0.1:13232 \
98+ -vault-url=https://127.0.0.1:18200 \
99+ -image="jmal98/ansiblecm:2.5.5" \
100+ -content=../gostint/tests/content_ansible_play \
101+ -run='["-i", "hosts", "play1.yml"]'
88102
89103PLAY [all] *********************************************************************
90104
@@ -113,21 +127,21 @@ Success! Data written to: secret/k8s_cluster_1
113127```
114128Test kubectl can use the vaulted config:
115129```
116- $ gostint-client -vault-roleid=@.vault_roleid \
130+ $ VAULT_SKIP_VERIFY=1 gostint-client -vault-roleid=@.vault_roleid \
117131 -vault-secretid=@.vault_secretid \
118132 -url=https://127.0.0.1:3232 \
119- -vault-url=http ://127.0.0.1:8200 \
133+ -vault-url=https ://127.0.0.1:8200 \
120134 -image=goethite/gostint-kubectl \
121135 -run='["version"]' \
122136 -secret-refs='["KUBECONFIG_BASE64@secret/k8s_cluster_1.kubeconfig_base64"]'
123137
124138Client Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.1", GitCommit:"b1b29978270dc22fecc592ac55d903350454310a", GitTreeState:"clean", BuildDate:"2018-07-17T18:53:20Z", GoVersion:"go1.10.3", Compiler:"gc", Platform:"linux/amd64"}
125139Server Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.3", GitCommit:"2bba0127d85d5a46ab4b778548be28623b32d0b0", GitTreeState:"clean", BuildDate:"2018-05-21T09:05:37Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}
126140
127- $ gostint-client -vault-roleid=@.vault_roleid \
141+ $ VAULT_SKIP_VERIFY=1 gostint-client -vault-roleid=@.vault_roleid \
128142 -vault-secretid=@.vault_secretid \
129143 -url=https://127.0.0.1:3232 \
130- -vault-url=http ://127.0.0.1:8200 \
144+ -vault-url=https ://127.0.0.1:8200 \
131145 -image=goethite/gostint-kubectl \
132146 -run='["get", "services"]' \
133147 -secret-refs='["KUBECONFIG_BASE64@secret/k8s_cluster_1.kubeconfig_base64"]'
@@ -143,10 +157,10 @@ kubernetes ClusterIP 10.96.0.1 <none> 443/TCP
143157```
144158Test helm can use the vaulted config:
145159```
146- $ gostint-client -vault-roleid=@.vault_roleid \
160+ $ VAULT_SKIP_VERIFY=1 gostint-client -vault-roleid=@.vault_roleid \
147161 -vault-secretid=@.vault_secretid \
148162 -url=https://127.0.0.1:3232 \
149- -vault-url=http ://127.0.0.1:8200 \
163+ -vault-url=https ://127.0.0.1:8200 \
150164 -image=goethite/gostint-kubectl \
151165 -env-vars='["RUNCMD=/usr/local/bin/helm"]' \
152166 -run='["ls"]' \
@@ -193,10 +207,10 @@ vault write auth/approle/role/gostint-client-role/custom-secret-id \
193207
194208Run gostint-client using the AppRole:
195209```
196- $ gostint-client -vault-roleid=43a03f77-7461-d4d2-c14d-76b39ea400d5 \
210+ $ VAULT_SKIP_VERIFY=1 gostint-client -vault-roleid=43a03f77-7461-d4d2-c14d-76b39ea400d5 \
197211 -vault-secretid=7a32c590-aacc-11e8-a59c-8b71f9a0c1a4 \
198212 -url=https://127.0.0.1:13232 \
199- -vault-url=http ://127.0.0.1:18200 \
213+ -vault-url=https ://127.0.0.1:18200 \
200214 -image=alpine \
201215 -run='["cat", "/etc/os-release"]'
202216```
0 commit comments