From 83aa53152fe6eb917f48c55bd611414a19ce9065 Mon Sep 17 00:00:00 2001 From: Nikolai Samokhin Date: Wed, 11 Sep 2024 09:35:23 +0300 Subject: [PATCH 1/2] fix readme proposal --- README.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 7edaeea..1aded48 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,11 @@ -# GitHub Actions for Yandex Cloud Load Testig service +# GitHub Actions for Yandex Cloud Load Testing service + +**NOTE**: All actions require `auth-key-json` to authorize requests to Yandex Cloud services. Please check this documentation page for instructions how to create one. ## Short reference * **test-suite** - execute multiple load tests sequentially -* **agents-create** - create and start load testing agents using Yandex Cloud Compute VMs for hosting (Compute is billed separately) +* **agents-create** - create and start load testing agents using Yandex Cloud Compute VMs as a hosting (Compute is billed separately) * **agents-delete** - delete load testing agents * **test-single-run** - execute a single load test * **test-single-check** - check results of a single load test @@ -32,7 +34,7 @@ A list of directories containing `test-config.yaml` test configuration files sho |`auth-key-json-base64`|

BASE64 encoded authorized key string in JSON format. This setting is preferred over auth-key-json.

The action will perform all operations on behalf of a service account for which this authorized key was generated.

Given a json file, encode it via command line base64 <authorized_key.json >authorized_key.pem and add the content of result file to GitHub secrets.

|n/a|no| |`auth-key-json`|

Use 'auth-key-json-base64'.

An authorized key string in JSON format.

The use of this parameter is discouraged because it can lead to unwanted logs obfuscation (see naming your secrets).

|``|no| |`action-log-level`|Action log level.|`NOTICE`|no| -|`data-bucket`|

Bucket used as a proxy storage to send arbitrary test data needed for test execution to agent.

WARNING:
CI service account (authorized via auth-key-json(-base64)) must be able to upload data to this bucket

WARNING2:
agent service account must be able to download data from this bucket.

|``|no| +|`data-bucket`|

Yandex Cloud Object Storage Bucket used as a proxy storage to send arbitrary test data needed for test execution to agent.

WARNING:
CI service account (authorized via auth-key-json(-base64)) must be able to upload data to this bucket

WARNING2:
agent service account must be able to download data from this bucket.

|``|no| |`artifacts-bucket`|

Bucket to store artifacts generated by agent during test execution.

WARNING:
agent service account must be able to upload data to this bucket.

|``|no| |`test-directories`|A whitespace-separated list of directory paths containing test configuration files.|n/a|yes| |`agent-filter`|

A filter expression to select agents to execute tests.

Example:
- 'name contains github' - agents with 'github' substring in name.
- 'labels.workflow=$WORKFLOW_ID' - agents with label 'workflow' equals to $WORKFLOW_ID

|`labels.workflow=${{ github.run_id }}`|no| @@ -73,6 +75,8 @@ Create agents alongside with Cloud Compute VMs to host them. This action is usually used used in pair with 'agents-delete' action. +**NOTE**: For security reasons you should create new service account with 'loadtesting.generatorClient' role to assign to loadtesting agent (see `service-account-id` input below) + ### Inputs |Input|Description|Default|Required| @@ -190,7 +194,7 @@ This action is usually used used in pair with 'agents-create' action. ### Example -This action is usually used in pair with `create-agent`: +This action is usually used in pair with `agents-create` action: ```yaml loadtesting: From a8873d9fb8e69e1b571158de50d0bb7e7eac8d5b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 11 Sep 2024 06:35:58 +0000 Subject: [PATCH 2/2] GitHub Action Auto-Docs --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1aded48..a3b8949 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ A list of directories containing `test-config.yaml` test configuration files sho |`auth-key-json-base64`|

BASE64 encoded authorized key string in JSON format. This setting is preferred over auth-key-json.

The action will perform all operations on behalf of a service account for which this authorized key was generated.

Given a json file, encode it via command line base64 <authorized_key.json >authorized_key.pem and add the content of result file to GitHub secrets.

|n/a|no| |`auth-key-json`|

Use 'auth-key-json-base64'.

An authorized key string in JSON format.

The use of this parameter is discouraged because it can lead to unwanted logs obfuscation (see naming your secrets).

|``|no| |`action-log-level`|Action log level.|`NOTICE`|no| -|`data-bucket`|

Yandex Cloud Object Storage Bucket used as a proxy storage to send arbitrary test data needed for test execution to agent.

WARNING:
CI service account (authorized via auth-key-json(-base64)) must be able to upload data to this bucket

WARNING2:
agent service account must be able to download data from this bucket.

|``|no| +|`data-bucket`|

Bucket used as a proxy storage to send arbitrary test data needed for test execution to agent.

WARNING:
CI service account (authorized via auth-key-json(-base64)) must be able to upload data to this bucket

WARNING2:
agent service account must be able to download data from this bucket.

|``|no| |`artifacts-bucket`|

Bucket to store artifacts generated by agent during test execution.

WARNING:
agent service account must be able to upload data to this bucket.

|``|no| |`test-directories`|A whitespace-separated list of directory paths containing test configuration files.|n/a|yes| |`agent-filter`|

A filter expression to select agents to execute tests.

Example:
- 'name contains github' - agents with 'github' substring in name.
- 'labels.workflow=$WORKFLOW_ID' - agents with label 'workflow' equals to $WORKFLOW_ID

|`labels.workflow=${{ github.run_id }}`|no|