-
Notifications
You must be signed in to change notification settings - Fork 170
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Consume changes from main, fixes linter and fixes tests
Signed-off-by: Darshit Chanpura <[email protected]>
- Loading branch information
1 parent
942b2f7
commit e33907e
Showing
20 changed files
with
528 additions
and
31 deletions.
There are no files selected for viewing
49 changes: 49 additions & 0 deletions
49
.github/workflows/cypress-test-multidatasources-disabled-e2e.yml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
name: E2E multi datasources disabled workflow | ||
|
||
on: [ push, pull_request ] | ||
|
||
env: | ||
OPENSEARCH_VERSION: '3.0.0' | ||
CI: 1 | ||
# avoid warnings like "tput: No value for $TERM and no -T specified" | ||
TERM: xterm | ||
PLUGIN_NAME: opensearch-security | ||
OPENSEARCH_INITIAL_ADMIN_PASSWORD: myStrongPassword123! | ||
|
||
jobs: | ||
tests: | ||
name: Run Cypress multidatasources tests | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
os: [ ubuntu-latest ] | ||
runs-on: ${{ matrix.os }} | ||
|
||
steps: | ||
- name: Checkout Branch | ||
uses: actions/checkout@v3 | ||
|
||
# Configure the Dashboard for multi datasources disabled (default) | ||
- name: Create OpenSearch Dashboards Config | ||
if: ${{ runner.os == 'Linux' }} | ||
run: | | ||
cat << 'EOT' > opensearch_dashboards_multidatasources.yml | ||
server.host: "localhost" | ||
opensearch.hosts: ["https://localhost:9200"] | ||
opensearch.ssl.verificationMode: none | ||
opensearch.username: "kibanaserver" | ||
opensearch.password: "kibanaserver" | ||
opensearch.requestHeadersWhitelist: [ authorization,securitytenant ] | ||
opensearch_security.multitenancy.enabled: false | ||
opensearch_security.multitenancy.tenants.preferred: ["Private", "Global"] | ||
opensearch_security.readonly_mode.roles: ["kibana_read_only"] | ||
opensearch_security.cookie.secure: false | ||
data_source.enabled: false | ||
home.disableWelcomeScreen: true | ||
EOT | ||
- name: Run Cypress Tests | ||
uses: ./.github/actions/run-cypress-tests | ||
with: | ||
dashboards_config_file: opensearch_dashboards_multidatasources.yml | ||
yarn_command: 'yarn cypress:run --browser chrome --headless --spec "test/cypress/e2e/multi-datasources/multi_datasources_disabled.spec.js"' |
120 changes: 120 additions & 0 deletions
120
.github/workflows/cypress-test-multidatasources-enabled-e2e.yml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,120 @@ | ||
name: E2E multi datasources enabled workflow | ||
|
||
on: [ push, pull_request ] | ||
|
||
env: | ||
OPENSEARCH_VERSION: '3.0.0' | ||
CI: 1 | ||
# avoid warnings like "tput: No value for $TERM and no -T specified" | ||
TERM: xterm | ||
PLUGIN_NAME: opensearch-security | ||
OPENSEARCH_INITIAL_ADMIN_PASSWORD: myStrongPassword123! | ||
|
||
jobs: | ||
tests: | ||
name: Run Cypress multidatasources tests | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
os: [ ubuntu-latest ] | ||
runs-on: ${{ matrix.os }} | ||
|
||
steps: | ||
- name: Checkout Branch | ||
uses: actions/checkout@v3 | ||
|
||
- name: Set env | ||
run: | | ||
opensearch_version=$(node -p "require('./package.json').opensearchDashboards.version") | ||
plugin_version=$(node -p "require('./package.json').version") | ||
echo "OPENSEARCH_VERSION=$opensearch_version" >> $GITHUB_ENV | ||
echo "PLUGIN_VERSION=$plugin_version" >> $GITHUB_ENV | ||
shell: bash | ||
|
||
- name: Create remote OpenSearch Config | ||
if: ${{ runner.os == 'Linux' }} | ||
run: | | ||
cat << 'EOT' > remote_opensearch.yml | ||
http.port: 9202 | ||
plugins.security.ssl.transport.pemcert_filepath: esnode.pem | ||
plugins.security.ssl.transport.pemkey_filepath: esnode-key.pem | ||
plugins.security.ssl.transport.pemtrustedcas_filepath: root-ca.pem | ||
plugins.security.ssl.transport.enforce_hostname_verification: false | ||
plugins.security.ssl.http.pemcert_filepath: esnode.pem | ||
plugins.security.ssl.http.pemkey_filepath: esnode-key.pem | ||
plugins.security.ssl.http.pemtrustedcas_filepath: root-ca.pem | ||
plugins.security.allow_unsafe_democertificates: true | ||
plugins.security.allow_default_init_securityindex: true | ||
plugins.security.authcz.admin_dn: | ||
- 'CN=A,OU=UNIT,O=ORG,L=TORONTO,ST=ONTARIO,C=CA' | ||
plugins.security.nodes_dn: | ||
- 'CN=node1.dns.a-record,OU=UNIT,O=ORG,L=TORONTO,ST=ONTARIO,C=CA' | ||
- 'CN=node2.dns.a-record,OU=UNIT,O=ORG,L=TORONTO,ST=ONTARIO,C=CA' | ||
plugins.security.audit.type: internal_opensearch | ||
plugins.security.enable_snapshot_restore_privilege: true | ||
plugins.security.check_snapshot_restore_write_privileges: true | ||
# TODO: change this back to true/just append to the created opensearch.yml the new port | ||
# after the self-signed certs issue is fixed | ||
plugins.security.ssl.http.enabled: false | ||
plugins.security.restapi.roles_enabled: [all_access, security_rest_api_access] | ||
plugins.security.system_indices.enabled: true | ||
plugins.security.system_indices.indices: [.plugins-ml-config, .plugins-ml-connector, | ||
.plugins-ml-model-group, .plugins-ml-model, .plugins-ml-task, .plugins-ml-conversation-meta, | ||
.plugins-ml-conversation-interactions, .plugins-ml-memory-meta, .plugins-ml-memory-message, | ||
.opendistro-alerting-config, .opendistro-alerting-alert*, .opendistro-anomaly-results*, | ||
.opendistro-anomaly-detector*, .opendistro-anomaly-checkpoints, .opendistro-anomaly-detection-state, | ||
.opendistro-reports-*, .opensearch-notifications-*, .opensearch-notebooks, .opensearch-observability, | ||
.ql-datasources, .opendistro-asynchronous-search-response*, .replication-metadata-store, | ||
.opensearch-knn-models, .geospatial-ip2geo-data*, .plugins-flow-framework-config, | ||
.plugins-flow-framework-templates, .plugins-flow-framework-state] | ||
node.max_local_storage_nodes: 3 | ||
EOT | ||
- name: Download security plugin and create setup scripts | ||
uses: ./.github/actions/download-plugin | ||
with: | ||
opensearch-version: ${{ env.OPENSEARCH_VERSION }} | ||
plugin-name: ${{ env.PLUGIN_NAME }} | ||
plugin-version: ${{ env.PLUGIN_VERSION }} | ||
|
||
- name: Run Opensearch with A Single Plugin | ||
uses: derek-ho/start-opensearch@9202 | ||
with: | ||
opensearch-version: ${{ env.OPENSEARCH_VERSION }} | ||
plugins: "file:$(pwd)/opensearch-security.zip" | ||
security-enabled: true | ||
admin-password: ${{ env.OPENSEARCH_INITIAL_ADMIN_PASSWORD }} | ||
security_config_file: ${{ inputs.security_config_file }} | ||
opensearch_yml_file: remote_opensearch.yml | ||
opensearch_port: 9202 | ||
|
||
- name: Check OpenSearch is running | ||
# Verify that the server is operational | ||
run: | | ||
curl http://localhost:9202/_cat/plugins -v -u admin:myStrongPassword123! | ||
shell: bash | ||
|
||
# Configure the Dashboard for multi datasources | ||
- name: Create OpenSearch Dashboards Config | ||
if: ${{ runner.os == 'Linux' }} | ||
run: | | ||
cat << 'EOT' > opensearch_dashboards_multidatasources.yml | ||
server.host: "localhost" | ||
opensearch.hosts: ["https://localhost:9200"] | ||
opensearch.ssl.verificationMode: none | ||
opensearch.username: "kibanaserver" | ||
opensearch.password: "kibanaserver" | ||
opensearch.requestHeadersWhitelist: [ authorization,securitytenant ] | ||
opensearch_security.multitenancy.enabled: true | ||
opensearch_security.multitenancy.tenants.preferred: ["Private", "Global"] | ||
opensearch_security.readonly_mode.roles: ["kibana_read_only"] | ||
opensearch_security.cookie.secure: false | ||
data_source.enabled: true | ||
home.disableWelcomeScreen: true | ||
EOT | ||
- name: Run Cypress Tests | ||
uses: ./.github/actions/run-cypress-tests | ||
with: | ||
dashboards_config_file: opensearch_dashboards_multidatasources.yml | ||
yarn_command: 'yarn cypress:run --browser chrome --headless --spec "test/cypress/e2e/multi-datasources/multi_datasources_enabled.spec.js"' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.