diff --git a/.github/vpn/config.ovpn b/.github/vpn/config.ovpn new file mode 100644 index 0000000..85139b0 --- /dev/null +++ b/.github/vpn/config.ovpn @@ -0,0 +1,25 @@ +# Client +client +tls-client +dev tun +# this will connect with whatever proto DNS tells us (https://community.openvpn.net/openvpn/ticket/934) +proto tcp +remote vpn.4gl.io 7494 +resolv-retry infinite +cipher AES-256-CBC +auth SHA256 +script-security 2 +keepalive 10 120 +remote-cert-tls server + +# Keys +ca ca.crt +cert user.crt +key user.key +tls-auth tls.key 1 + +# Security +nobind +persist-key +persist-tun +verb 3 diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index 1eca8be..e7dfd4b 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -21,6 +21,29 @@ jobs: with: node-version: ${{ matrix.node-version }} + - name: Write VPN Files + run: | + echo "$CA_CRT" > .github/vpn/ca.crt + echo "$USER_CRT" > .github/vpn/user.crt + echo "$USER_KEY" > .github/vpn/user.key + echo "$TLS_KEY" > .github/vpn/tls.key + shell: bash + env: + CA_CRT: ${{ secrets.CA_CRT}} + USER_CRT: ${{ secrets.USER_CRT }} + USER_KEY: ${{ secrets.USER_KEY }} + TLS_KEY: ${{ secrets.TLS_KEY }} + + - name: Install Open VPN + run: | + sudo apt install apt-transport-https + sudo wget https://swupdate.openvpn.net/repos/openvpn-repo-pkg-key.pub + sudo apt-key add openvpn-repo-pkg-key.pub + sudo wget -O /etc/apt/sources.list.d/openvpn3.list https://swupdate.openvpn.net/community/openvpn3/repos/openvpn3-jammy.list + sudo apt update + sudo apt install openvpn3=17~betaUb22042+jammy + - name: Start Open VPN 3 + run: openvpn3 session-start --config .github/vpn/config.ovpn - name: Install Doxygen run: sudo apt-get install doxygen @@ -31,16 +54,10 @@ jobs: run: npm run lint - name: Add client - run: echo "CLIENT=${{secrets.CLIENT}}"> .env.viya - - - name: Add secret - run: echo "SECRET=${{secrets.SECRET}}" >> .env.viya + run: echo "CLIENT=${{secrets.SAS9_4GL_IO_CLIENT}}"> .env.server - name: Add access token - run: echo "ACCESS_TOKEN=${{secrets.ACCESS_TOKEN}}" >> .env.viya - - - name: Add refresh token - run: echo "REFRESH_TOKEN=${{secrets.REFRESH_TOKEN}}" >> .env.viya + run: echo "ACCESS_TOKEN=${{secrets.SAS9_4GL_IO_ACCESS_TOKEN}}" >> .env.server - name: Build Project run: npm run build @@ -54,4 +71,4 @@ jobs: SAS_USERNAME: ${{secrets.SAS_USERNAME}} SAS_PASSWORD: ${{secrets.SAS_PASSWORD}} ACCESS_TOKEN: ${{secrets.ACCESS_TOKEN}} - REFRESH_TOKEN: ${{secrets.REFRESH_TOKEN}} + REFRESH_TOKEN: ${{secrets.REFRESH_TOKEN}} \ No newline at end of file