diff --git a/.github/workflows/default.yml b/.github/workflows/default.yml index 9b3e488..c66870a 100644 --- a/.github/workflows/default.yml +++ b/.github/workflows/default.yml @@ -1,4 +1,4 @@ -name: Broadsea Non-Perseus (Linux and Mac) +name: default profile (Linux and Mac) on: push jobs: default: @@ -51,10 +51,4 @@ jobs: - name: Test WebAPI info endpoint run: | sleep 30 - curl -s -k --retry 10 --retry-connrefused ${{matrix.httpType}}://127.0.0.1/WebAPI/info - - name: Build empty SOLR instance - run: docker-compose --env-file .env --profile solr-vocab-no-import up -d - - name: Test SOLR - run: curl -s -k --retry 10 --retry-connrefused ${{matrix.httpType}}://127.0.0.1/solr - - name: Build OpenLDAP - run: docker-compose --env-file .env --profile openldap up -d \ No newline at end of file + curl -s -k --retry 10 --retry-connrefused ${{matrix.httpType}}://127.0.0.1/WebAPI/info \ No newline at end of file diff --git a/.github/workflows/openldap.yml b/.github/workflows/openldap.yml new file mode 100644 index 0000000..65e02ab --- /dev/null +++ b/.github/workflows/openldap.yml @@ -0,0 +1,33 @@ +name: openldap profile (Linux and Mac) +on: push +jobs: + default: + strategy: + matrix: + os: [ubuntu-latest, macos-latest] + httpType: [http] + runs-on: ${{ matrix.os }} + steps: + - name: Setup Docker on macOS + if: runner.os == 'macOS' + uses: douglascamata/setup-docker-macos-action@v1-alpha + - name: Checkout + uses: actions/checkout@v3 + - name: Create certs folder + run: mkdir -p ./certs + - name: Build traefik container + run: docker-compose --env-file .env up -d + - name: Build atlasdb profile + run: docker-compose --env-file .env --profile atlasdb up -d + - name: Build webapi profile with ldap enabled + run: SECURITY_AUTH_LDAP_ENABLED=true docker-compose --env-file .env --profile webapi-from-image up -d + - name: Test WebAPI info endpoint + run: | + sleep 30 + curl -s -k --retry 10 --retry-connrefused ${{matrix.httpType}}://127.0.0.1/WebAPI/info + - name: Build OpenLDAP + run: docker-compose --env-file .env --profile openldap up -d + - name: Test openldap auth in WebAPI + run: | + sleep 30 + curl -d "login=user1&password=$(<./secrets/openldap/OPENLDAP_ACCOUNT_PASSWORDS)" -H "Content-Type: application/x-www-form-urlencoded" -X POST ${{matrix.httpType}}://127.0.0.1/WebAPI/user/login/ldap diff --git a/.github/workflows/solr-vocab.yml b/.github/workflows/solr-vocab.yml new file mode 100644 index 0000000..3c82ffb --- /dev/null +++ b/.github/workflows/solr-vocab.yml @@ -0,0 +1,42 @@ +name: solr-vocab-no-import profile (Linux and Mac) +on: push +jobs: + default: + strategy: + matrix: + os: [ubuntu-latest, macos-latest] + httpType: [http, https] + runs-on: ${{ matrix.os }} + steps: + - name: Setup Docker on macOS + if: runner.os == 'macOS' + uses: douglascamata/setup-docker-macos-action@v1-alpha + - name: Checkout + uses: actions/checkout@v3 + - name: Create certs folder + run: mkdir -p ./certs + - name: Replace HTTP_TYPE if https (Linux) + if: matrix.httpType == 'https' && runner.os == 'Linux' + run: sed -i 's/HTTP_TYPE=\"http\"/HTTP_TYPE=\"https\"/g' .env + - name: Replace HTTP_TYPE if https (Mac) + if: matrix.httpType == 'https' && runner.os == 'macOS' + run: sed -i '' 's/HTTP_TYPE=\"http\"/HTTP_TYPE=\"https\"/g' .env + - name: Create and trust self signed certs + if: matrix.httpType == 'https' + run: | + openssl req -x509 -out ./certs/broadsea.crt -keyout ./certs/broadsea.key \ + -newkey rsa:2048 -nodes -sha256 \ + -subj '/CN=127.0.0.1' -extensions EXT -config <( \ + printf "[dn]\nCN=127.0.0.1\n[req]\ndistinguished_name = dn\n[EXT]\nsubjectAltName=DNS:127.0.0.1\nkeyUsage=digitalSignature\nextendedKeyUsage=serverAuth") + - name: Build traefik container + run: docker-compose --env-file .env up -d + - name: Build empty SOLR instance + run: docker-compose --env-file .env --profile solr-vocab-no-import up -d + - name: Build webapi profile with SOLR_VOCAB enabled + run: SOLR_VOCAB_ENDPOINT=http://broadsea-solr-vocab:8983/solr docker-compose --env-file .env --profile webapi-from-image up -d + - name: Test WebAPI info endpoint + run: | + sleep 30 + curl -s -k --retry 10 --retry-connrefused ${{matrix.httpType}}://127.0.0.1/WebAPI/info + - name: Test SOLR endpoint + run: curl -s -k --retry 10 --retry-connrefused ${{matrix.httpType}}://127.0.0.1/solr/ \ No newline at end of file