From 4702768447949b3d0daaeea27d86ad0f2f3304b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Go=CC=88kc=CC=A7e=20Go=CC=88k=20Klingel?= Date: Thu, 22 Aug 2024 09:21:37 +0200 Subject: [PATCH] rename argus to observability --- README.md | 9 +- docs/stackit.md | 2 +- docs/stackit_argus.md | 37 ---- docs/stackit_argus_credentials.md | 35 ---- docs/stackit_argus_credentials_create.md | 41 ----- docs/stackit_argus_credentials_delete.md | 40 ----- docs/stackit_argus_credentials_list.md | 47 ------ docs/stackit_argus_grafana.md | 35 ---- docs/stackit_argus_grafana_describe.md | 48 ------ ...tackit_argus_grafana_public-read-access.md | 35 ---- ...rgus_grafana_public-read-access_disable.md | 40 ----- ...argus_grafana_public-read-access_enable.md | 40 ----- docs/stackit_argus_grafana_single-sign-on.md | 35 ---- ...it_argus_grafana_single-sign-on_disable.md | 40 ----- ...kit_argus_grafana_single-sign-on_enable.md | 40 ----- docs/stackit_argus_instance.md | 37 ---- docs/stackit_argus_instance_create.md | 45 ----- docs/stackit_argus_instance_delete.md | 39 ----- docs/stackit_argus_instance_describe.md | 42 ----- docs/stackit_argus_instance_list.md | 46 ----- docs/stackit_argus_instance_update.md | 48 ------ docs/stackit_argus_plans.md | 46 ----- docs/stackit_argus_scrape-config.md | 38 ----- docs/stackit_argus_scrape-config_create.md | 55 ------ docs/stackit_argus_scrape-config_delete.md | 40 ----- docs/stackit_argus_scrape-config_describe.md | 43 ----- ...it_argus_scrape-config_generate-payload.md | 58 ------- docs/stackit_argus_scrape-config_list.md | 47 ------ docs/stackit_argus_scrape-config_update.md | 51 ------ docs/stackit_config_set.md | 4 +- docs/stackit_config_unset.md | 2 +- ...load-balancer_observability-credentials.md | 2 +- ...-balancer_observability-credentials_add.md | 2 +- ...lancer_observability-credentials_update.md | 2 +- go.mod | 2 +- go.sum | 4 +- internal/cmd/config/set/set.go | 6 +- internal/cmd/config/unset/unset.go | 12 +- internal/cmd/config/unset/unset_test.go | 12 +- .../observability-credentials/add/add.go | 2 +- .../observability-credentials.go | 2 +- .../update/update.go | 2 +- .../cmd/mariadb/credentials/create/create.go | 4 +- .../credentials/create/create.go | 31 ++-- .../credentials/create/create_test.go | 8 +- .../credentials/credentials.go | 10 +- .../credentials/delete/delete.go | 20 +-- .../credentials/delete/delete_test.go | 8 +- .../credentials/list/list.go | 34 ++-- .../credentials/list/list_test.go | 8 +- .../grafana/describe/describe.go | 26 +-- .../grafana/describe/describe_test.go | 12 +- .../grafana/grafana.go | 10 +- .../public-read-access/disable/disable.go | 20 +-- .../disable/disable_test.go | 42 ++--- .../public-read-access/enable/enable.go | 20 +-- .../public-read-access/enable/enable_test.go | 42 ++--- .../public-read-access/public_read_access.go | 8 +- .../grafana/single-sign-on/disable/disable.go | 20 +-- .../single-sign-on/disable/disable_test.go | 42 ++--- .../grafana/single-sign-on/enable/enable.go | 20 +-- .../single-sign-on/enable/enable_test.go | 42 ++--- .../grafana/single-sign-on/single_sign_on.go | 8 +- .../instance/create/create.go | 62 +++---- .../instance/create/create_test.go | 32 ++-- .../instance/delete/delete.go | 24 +-- .../instance/delete/delete_test.go | 8 +- .../instance/describe/describe.go | 26 +-- .../instance/describe/describe_test.go | 8 +- .../instance/instance.go | 14 +- .../instance/list/list.go | 30 ++-- .../instance/list/list_test.go | 8 +- .../instance/update/update.go | 66 ++++---- .../instance/update/update_test.go | 40 ++--- .../observability.go} | 23 +-- .../{argus => observability}/plans/plans.go | 30 ++-- .../plans/plans_test.go | 8 +- .../scrape-config/create/create.go | 46 ++--- .../scrape-config/create/create_test.go | 18 +- .../scrape-config/delete/delete.go | 24 +-- .../scrape-config/delete/delete_test.go | 8 +- .../scrape-config/describe/describe.go | 20 +-- .../scrape-config/describe/describe_test.go | 8 +- .../generate-payload/generate_payload.go | 36 ++-- .../generate-payload/generate_payload_test.go | 8 +- .../scrape-config/list/list.go | 28 ++-- .../scrape-config/list/list_test.go | 8 +- .../scrape-config/scrape_config.go | 16 +- .../scrape-config/update/update.go | 28 ++-- .../scrape-config/update/update_test.go | 14 +- internal/cmd/root.go | 4 +- internal/pkg/config/config.go | 6 +- internal/pkg/errors/errors.go | 16 +- internal/pkg/errors/errors_test.go | 18 +- .../{argus => observability}/client/client.go | 10 +- .../{argus => observability}/utils/utils.go | 71 ++++---- .../utils/utils_test.go | 158 +++++++++--------- 97 files changed, 715 insertions(+), 1857 deletions(-) delete mode 100644 docs/stackit_argus.md delete mode 100644 docs/stackit_argus_credentials.md delete mode 100644 docs/stackit_argus_credentials_create.md delete mode 100644 docs/stackit_argus_credentials_delete.md delete mode 100644 docs/stackit_argus_credentials_list.md delete mode 100644 docs/stackit_argus_grafana.md delete mode 100644 docs/stackit_argus_grafana_describe.md delete mode 100644 docs/stackit_argus_grafana_public-read-access.md delete mode 100644 docs/stackit_argus_grafana_public-read-access_disable.md delete mode 100644 docs/stackit_argus_grafana_public-read-access_enable.md delete mode 100644 docs/stackit_argus_grafana_single-sign-on.md delete mode 100644 docs/stackit_argus_grafana_single-sign-on_disable.md delete mode 100644 docs/stackit_argus_grafana_single-sign-on_enable.md delete mode 100644 docs/stackit_argus_instance.md delete mode 100644 docs/stackit_argus_instance_create.md delete mode 100644 docs/stackit_argus_instance_delete.md delete mode 100644 docs/stackit_argus_instance_describe.md delete mode 100644 docs/stackit_argus_instance_list.md delete mode 100644 docs/stackit_argus_instance_update.md delete mode 100644 docs/stackit_argus_plans.md delete mode 100644 docs/stackit_argus_scrape-config.md delete mode 100644 docs/stackit_argus_scrape-config_create.md delete mode 100644 docs/stackit_argus_scrape-config_delete.md delete mode 100644 docs/stackit_argus_scrape-config_describe.md delete mode 100644 docs/stackit_argus_scrape-config_generate-payload.md delete mode 100644 docs/stackit_argus_scrape-config_list.md delete mode 100644 docs/stackit_argus_scrape-config_update.md rename internal/cmd/{argus => observability}/credentials/create/create.go (74%) rename internal/cmd/{argus => observability}/credentials/create/create_test.go (93%) rename internal/cmd/{argus => observability}/credentials/credentials.go (60%) rename internal/cmd/{argus => observability}/credentials/delete/delete.go (76%) rename internal/cmd/{argus => observability}/credentials/delete/delete_test.go (94%) rename internal/cmd/{argus => observability}/credentials/list/list.go (72%) rename internal/cmd/{argus => observability}/credentials/list/list_test.go (94%) rename internal/cmd/{argus => observability}/grafana/describe/describe.go (80%) rename internal/cmd/{argus => observability}/grafana/describe/describe_test.go (92%) rename internal/cmd/{argus => observability}/grafana/grafana.go (79%) rename internal/cmd/{argus => observability}/grafana/public-read-access/disable/disable.go (75%) rename internal/cmd/{argus => observability}/grafana/public-read-access/disable/disable_test.go (79%) rename internal/cmd/{argus => observability}/grafana/public-read-access/enable/enable.go (75%) rename internal/cmd/{argus => observability}/grafana/public-read-access/enable/enable_test.go (79%) rename internal/cmd/{argus => observability}/grafana/public-read-access/public_read_access.go (66%) rename internal/cmd/{argus => observability}/grafana/single-sign-on/disable/disable.go (75%) rename internal/cmd/{argus => observability}/grafana/single-sign-on/disable/disable_test.go (79%) rename internal/cmd/{argus => observability}/grafana/single-sign-on/enable/enable.go (76%) rename internal/cmd/{argus => observability}/grafana/single-sign-on/enable/enable_test.go (79%) rename internal/cmd/{argus => observability}/grafana/single-sign-on/single_sign_on.go (67%) rename internal/cmd/{argus => observability}/instance/create/create.go (67%) rename internal/cmd/{argus => observability}/instance/create/create_test.go (86%) rename internal/cmd/{argus => observability}/instance/delete/delete.go (77%) rename internal/cmd/{argus => observability}/instance/delete/delete_test.go (94%) rename internal/cmd/{argus => observability}/instance/describe/describe.go (81%) rename internal/cmd/{argus => observability}/instance/describe/describe_test.go (94%) rename internal/cmd/{argus => observability}/instance/instance.go (54%) rename internal/cmd/{argus => observability}/instance/list/list.go (80%) rename internal/cmd/{argus => observability}/instance/list/list_test.go (93%) rename internal/cmd/{argus => observability}/instance/update/update.go (67%) rename internal/cmd/{argus => observability}/instance/update/update_test.go (87%) rename internal/cmd/{argus/argus.go => observability/observability.go} (52%) rename internal/cmd/{argus => observability}/plans/plans.go (81%) rename internal/cmd/{argus => observability}/plans/plans_test.go (93%) rename internal/cmd/{argus => observability}/scrape-config/create/create.go (68%) rename internal/cmd/{argus => observability}/scrape-config/create/create_test.go (91%) rename internal/cmd/{argus => observability}/scrape-config/delete/delete.go (75%) rename internal/cmd/{argus => observability}/scrape-config/delete/delete_test.go (94%) rename internal/cmd/{argus => observability}/scrape-config/describe/describe.go (87%) rename internal/cmd/{argus => observability}/scrape-config/describe/describe_test.go (94%) rename internal/cmd/{argus => observability}/scrape-config/generate-payload/generate_payload.go (76%) rename internal/cmd/{argus => observability}/scrape-config/generate-payload/generate_payload_test.go (95%) rename internal/cmd/{argus => observability}/scrape-config/list/list.go (78%) rename internal/cmd/{argus => observability}/scrape-config/list/list_test.go (94%) rename internal/cmd/{argus => observability}/scrape-config/scrape_config.go (54%) rename internal/cmd/{argus => observability}/scrape-config/update/update.go (73%) rename internal/cmd/{argus => observability}/scrape-config/update/update_test.go (93%) rename internal/pkg/services/{argus => observability}/client/client.go (77%) rename internal/pkg/services/{argus => observability}/utils/utils.go (65%) rename internal/pkg/services/{argus => observability}/utils/utils_test.go (79%) diff --git a/README.md b/README.md index 0bad6336a..571c5b6ba 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,13 @@ Your feedback is appreciated! +> [!WARNING] +> On August 26 2024, The STACKIT Argus service was renamed to STACKIT Observability. +> +> This means that there is a new command group `observability`, which offers the same functionality as the deprecated `argus` command. +> +> Please make sure to **update your STACKIT CLI to the latest version after August 26 2024** to ensure that you start using `observability` command. + > [!WARNING] > On July 9 2024, the new [STACKIT Identity Provider (IDP)](https://docs.stackit.cloud/stackit/en/release-notes-23101442.html#ReleaseNotes-2024-06-21-identity-provider) was released. We are happy to announce that on [v0.9.0](https://github.com/stackitcloud/stackit-cli/releases/tag/v0.9.0), the new IDP was integrated in the STACKIT CLI, where it is used for user authentication. > @@ -67,7 +74,7 @@ Below you can find a list of the STACKIT services already available in the CLI ( | Service | CLI Commands | Status | |------------------------------------|---------------------------|---------------------------| -| Argus | `argus` | :white_check_mark: | +| Observability | `observability` | :white_check_mark: | | Infrastructure as a Service (IaaS) | `beta network-area` | :white_check_mark: (beta) | | Authorization | `project`, `organization` | :white_check_mark: | | DNS | `dns` | :white_check_mark: | diff --git a/docs/stackit.md b/docs/stackit.md index cb2915ace..8ec49c754 100644 --- a/docs/stackit.md +++ b/docs/stackit.md @@ -26,7 +26,6 @@ stackit [flags] ### SEE ALSO -* [stackit argus](./stackit_argus.md) - Provides functionality for Argus * [stackit auth](./stackit_auth.md) - Authenticates the STACKIT CLI * [stackit beta](./stackit_beta.md) - Contains beta STACKIT CLI commands * [stackit config](./stackit_config.md) - Provides functionality for CLI configuration options @@ -37,6 +36,7 @@ stackit [flags] * [stackit mariadb](./stackit_mariadb.md) - Provides functionality for MariaDB * [stackit mongodbflex](./stackit_mongodbflex.md) - Provides functionality for MongoDB Flex * [stackit object-storage](./stackit_object-storage.md) - Provides functionality for Object Storage +* [stackit observability](./stackit_observability.md) - Provides functionality for Observability * [stackit opensearch](./stackit_opensearch.md) - Provides functionality for OpenSearch * [stackit organization](./stackit_organization.md) - Manages organizations * [stackit postgresflex](./stackit_postgresflex.md) - Provides functionality for PostgreSQL Flex diff --git a/docs/stackit_argus.md b/docs/stackit_argus.md deleted file mode 100644 index b09e8d344..000000000 --- a/docs/stackit_argus.md +++ /dev/null @@ -1,37 +0,0 @@ -## stackit argus - -Provides functionality for Argus - -### Synopsis - -Provides functionality for Argus. - -``` -stackit argus [flags] -``` - -### Options - -``` - -h, --help Help for "stackit argus" -``` - -### Options inherited from parent commands - -``` - -y, --assume-yes If set, skips all confirmation prompts - --async If set, runs the command asynchronously - -o, --output-format string Output format, one of ["json" "pretty" "none" "yaml"] - -p, --project-id string Project ID - --verbosity string Verbosity of the CLI, one of ["debug" "info" "warning" "error"] (default "info") -``` - -### SEE ALSO - -* [stackit](./stackit.md) - Manage STACKIT resources using the command line -* [stackit argus credentials](./stackit_argus_credentials.md) - Provides functionality for Argus credentials -* [stackit argus grafana](./stackit_argus_grafana.md) - Provides functionality for the Grafana configuration of Argus instances -* [stackit argus instance](./stackit_argus_instance.md) - Provides functionality for Argus instances -* [stackit argus plans](./stackit_argus_plans.md) - Lists all Argus service plans -* [stackit argus scrape-config](./stackit_argus_scrape-config.md) - Provides functionality for scrape configurations in Argus - diff --git a/docs/stackit_argus_credentials.md b/docs/stackit_argus_credentials.md deleted file mode 100644 index b8cb24b2d..000000000 --- a/docs/stackit_argus_credentials.md +++ /dev/null @@ -1,35 +0,0 @@ -## stackit argus credentials - -Provides functionality for Argus credentials - -### Synopsis - -Provides functionality for Argus credentials. - -``` -stackit argus credentials [flags] -``` - -### Options - -``` - -h, --help Help for "stackit argus credentials" -``` - -### Options inherited from parent commands - -``` - -y, --assume-yes If set, skips all confirmation prompts - --async If set, runs the command asynchronously - -o, --output-format string Output format, one of ["json" "pretty" "none" "yaml"] - -p, --project-id string Project ID - --verbosity string Verbosity of the CLI, one of ["debug" "info" "warning" "error"] (default "info") -``` - -### SEE ALSO - -* [stackit argus](./stackit_argus.md) - Provides functionality for Argus -* [stackit argus credentials create](./stackit_argus_credentials_create.md) - Creates credentials for an Argus instance. -* [stackit argus credentials delete](./stackit_argus_credentials_delete.md) - Deletes credentials of an Argus instance -* [stackit argus credentials list](./stackit_argus_credentials_list.md) - Lists the usernames of all credentials for an Argus instance - diff --git a/docs/stackit_argus_credentials_create.md b/docs/stackit_argus_credentials_create.md deleted file mode 100644 index 9a5c0de17..000000000 --- a/docs/stackit_argus_credentials_create.md +++ /dev/null @@ -1,41 +0,0 @@ -## stackit argus credentials create - -Creates credentials for an Argus instance. - -### Synopsis - -Creates credentials (username and password) for an Argus instance. -The credentials will be generated and included in the response. You won't be able to retrieve the password later. - -``` -stackit argus credentials create [flags] -``` - -### Examples - -``` - Create credentials for Argus instance with ID "xxx" - $ stackit argus credentials create --instance-id xxx -``` - -### Options - -``` - -h, --help Help for "stackit argus credentials create" - --instance-id string Instance ID -``` - -### Options inherited from parent commands - -``` - -y, --assume-yes If set, skips all confirmation prompts - --async If set, runs the command asynchronously - -o, --output-format string Output format, one of ["json" "pretty" "none" "yaml"] - -p, --project-id string Project ID - --verbosity string Verbosity of the CLI, one of ["debug" "info" "warning" "error"] (default "info") -``` - -### SEE ALSO - -* [stackit argus credentials](./stackit_argus_credentials.md) - Provides functionality for Argus credentials - diff --git a/docs/stackit_argus_credentials_delete.md b/docs/stackit_argus_credentials_delete.md deleted file mode 100644 index b88f82b44..000000000 --- a/docs/stackit_argus_credentials_delete.md +++ /dev/null @@ -1,40 +0,0 @@ -## stackit argus credentials delete - -Deletes credentials of an Argus instance - -### Synopsis - -Deletes credentials of an Argus instance. - -``` -stackit argus credentials delete USERNAME [flags] -``` - -### Examples - -``` - Delete credentials of username "xxx" for Argus instance with ID "yyy" - $ stackit argus credentials delete xxx --instance-id yyy -``` - -### Options - -``` - -h, --help Help for "stackit argus credentials delete" - --instance-id string Instance ID -``` - -### Options inherited from parent commands - -``` - -y, --assume-yes If set, skips all confirmation prompts - --async If set, runs the command asynchronously - -o, --output-format string Output format, one of ["json" "pretty" "none" "yaml"] - -p, --project-id string Project ID - --verbosity string Verbosity of the CLI, one of ["debug" "info" "warning" "error"] (default "info") -``` - -### SEE ALSO - -* [stackit argus credentials](./stackit_argus_credentials.md) - Provides functionality for Argus credentials - diff --git a/docs/stackit_argus_credentials_list.md b/docs/stackit_argus_credentials_list.md deleted file mode 100644 index 889f08e04..000000000 --- a/docs/stackit_argus_credentials_list.md +++ /dev/null @@ -1,47 +0,0 @@ -## stackit argus credentials list - -Lists the usernames of all credentials for an Argus instance - -### Synopsis - -Lists the usernames of all credentials for an Argus instance. - -``` -stackit argus credentials list [flags] -``` - -### Examples - -``` - List the usernames of all credentials for an Argus instance with ID "xxx" - $ stackit argus credentials list --instance-id xxx - - List the usernames of all credentials for an Argus instance in JSON format - $ stackit argus credentials list --instance-id xxx --output-format json - - List the usernames of up to 10 credentials for an Argus instance - $ stackit argus credentials list --instance-id xxx --limit 10 -``` - -### Options - -``` - -h, --help Help for "stackit argus credentials list" - --instance-id string Instance ID - --limit int Maximum number of entries to list -``` - -### Options inherited from parent commands - -``` - -y, --assume-yes If set, skips all confirmation prompts - --async If set, runs the command asynchronously - -o, --output-format string Output format, one of ["json" "pretty" "none" "yaml"] - -p, --project-id string Project ID - --verbosity string Verbosity of the CLI, one of ["debug" "info" "warning" "error"] (default "info") -``` - -### SEE ALSO - -* [stackit argus credentials](./stackit_argus_credentials.md) - Provides functionality for Argus credentials - diff --git a/docs/stackit_argus_grafana.md b/docs/stackit_argus_grafana.md deleted file mode 100644 index 3307c0b37..000000000 --- a/docs/stackit_argus_grafana.md +++ /dev/null @@ -1,35 +0,0 @@ -## stackit argus grafana - -Provides functionality for the Grafana configuration of Argus instances - -### Synopsis - -Provides functionality for the Grafana configuration of Argus instances. - -``` -stackit argus grafana [flags] -``` - -### Options - -``` - -h, --help Help for "stackit argus grafana" -``` - -### Options inherited from parent commands - -``` - -y, --assume-yes If set, skips all confirmation prompts - --async If set, runs the command asynchronously - -o, --output-format string Output format, one of ["json" "pretty" "none" "yaml"] - -p, --project-id string Project ID - --verbosity string Verbosity of the CLI, one of ["debug" "info" "warning" "error"] (default "info") -``` - -### SEE ALSO - -* [stackit argus](./stackit_argus.md) - Provides functionality for Argus -* [stackit argus grafana describe](./stackit_argus_grafana_describe.md) - Shows details of the Grafana configuration of an Argus instance -* [stackit argus grafana public-read-access](./stackit_argus_grafana_public-read-access.md) - Enable or disable public read access for Grafana in Argus instances -* [stackit argus grafana single-sign-on](./stackit_argus_grafana_single-sign-on.md) - Enable or disable single sign-on for Grafana in Argus instances - diff --git a/docs/stackit_argus_grafana_describe.md b/docs/stackit_argus_grafana_describe.md deleted file mode 100644 index 53ea3812a..000000000 --- a/docs/stackit_argus_grafana_describe.md +++ /dev/null @@ -1,48 +0,0 @@ -## stackit argus grafana describe - -Shows details of the Grafana configuration of an Argus instance - -### Synopsis - -Shows details of the Grafana configuration of an Argus instance. -The Grafana dashboard URL and initial credentials (admin user and password) will be shown in the "pretty" output format. These credentials are only valid for first login. Please change the password after first login. After changing, the initial password is no longer valid. -The initial password is hidden by default, if you want to show it use the "--show-password" flag. - -``` -stackit argus grafana describe INSTANCE_ID [flags] -``` - -### Examples - -``` - Get details of the Grafana configuration of an Argus instance with ID "xxx" - $ stackit argus credentials describe xxx - - Get details of the Grafana configuration of an Argus instance with ID "xxx" and show the initial admin password - $ stackit argus credentials describe xxx --show-password - - Get details of the Grafana configuration of an Argus instance with ID "xxx" in JSON format - $ stackit argus credentials describe xxx --output-format json -``` - -### Options - -``` - -h, --help Help for "stackit argus grafana describe" - -s, --show-password Show password in output -``` - -### Options inherited from parent commands - -``` - -y, --assume-yes If set, skips all confirmation prompts - --async If set, runs the command asynchronously - -o, --output-format string Output format, one of ["json" "pretty" "none" "yaml"] - -p, --project-id string Project ID - --verbosity string Verbosity of the CLI, one of ["debug" "info" "warning" "error"] (default "info") -``` - -### SEE ALSO - -* [stackit argus grafana](./stackit_argus_grafana.md) - Provides functionality for the Grafana configuration of Argus instances - diff --git a/docs/stackit_argus_grafana_public-read-access.md b/docs/stackit_argus_grafana_public-read-access.md deleted file mode 100644 index 963dbec1d..000000000 --- a/docs/stackit_argus_grafana_public-read-access.md +++ /dev/null @@ -1,35 +0,0 @@ -## stackit argus grafana public-read-access - -Enable or disable public read access for Grafana in Argus instances - -### Synopsis - -Enable or disable public read access for Grafana in Argus instances. -When enabled, anyone can access the Grafana dashboards of the instance without logging in. Otherwise, a login is required. - -``` -stackit argus grafana public-read-access [flags] -``` - -### Options - -``` - -h, --help Help for "stackit argus grafana public-read-access" -``` - -### Options inherited from parent commands - -``` - -y, --assume-yes If set, skips all confirmation prompts - --async If set, runs the command asynchronously - -o, --output-format string Output format, one of ["json" "pretty" "none" "yaml"] - -p, --project-id string Project ID - --verbosity string Verbosity of the CLI, one of ["debug" "info" "warning" "error"] (default "info") -``` - -### SEE ALSO - -* [stackit argus grafana](./stackit_argus_grafana.md) - Provides functionality for the Grafana configuration of Argus instances -* [stackit argus grafana public-read-access disable](./stackit_argus_grafana_public-read-access_disable.md) - Disables public read access for Grafana on Argus instances -* [stackit argus grafana public-read-access enable](./stackit_argus_grafana_public-read-access_enable.md) - Enables public read access for Grafana on Argus instances - diff --git a/docs/stackit_argus_grafana_public-read-access_disable.md b/docs/stackit_argus_grafana_public-read-access_disable.md deleted file mode 100644 index b2f232934..000000000 --- a/docs/stackit_argus_grafana_public-read-access_disable.md +++ /dev/null @@ -1,40 +0,0 @@ -## stackit argus grafana public-read-access disable - -Disables public read access for Grafana on Argus instances - -### Synopsis - -Disables public read access for Grafana on Argus instances. -When disabled, a login is required to access the Grafana dashboards of the instance. Otherwise, anyone can access the dashboards. - -``` -stackit argus grafana public-read-access disable INSTANCE_ID [flags] -``` - -### Examples - -``` - Disable public read access for Grafana on an Argus instance with ID "xxx" - $ stackit argus grafana public-read-access disable xxx -``` - -### Options - -``` - -h, --help Help for "stackit argus grafana public-read-access disable" -``` - -### Options inherited from parent commands - -``` - -y, --assume-yes If set, skips all confirmation prompts - --async If set, runs the command asynchronously - -o, --output-format string Output format, one of ["json" "pretty" "none" "yaml"] - -p, --project-id string Project ID - --verbosity string Verbosity of the CLI, one of ["debug" "info" "warning" "error"] (default "info") -``` - -### SEE ALSO - -* [stackit argus grafana public-read-access](./stackit_argus_grafana_public-read-access.md) - Enable or disable public read access for Grafana in Argus instances - diff --git a/docs/stackit_argus_grafana_public-read-access_enable.md b/docs/stackit_argus_grafana_public-read-access_enable.md deleted file mode 100644 index 1cbe9579a..000000000 --- a/docs/stackit_argus_grafana_public-read-access_enable.md +++ /dev/null @@ -1,40 +0,0 @@ -## stackit argus grafana public-read-access enable - -Enables public read access for Grafana on Argus instances - -### Synopsis - -Enables public read access for Grafana on Argus instances. -When enabled, anyone can access the Grafana dashboards of the instance without logging in. Otherwise, a login is required. - -``` -stackit argus grafana public-read-access enable INSTANCE_ID [flags] -``` - -### Examples - -``` - Enable public read access for Grafana on an Argus instance with ID "xxx" - $ stackit argus grafana public-read-access enable xxx -``` - -### Options - -``` - -h, --help Help for "stackit argus grafana public-read-access enable" -``` - -### Options inherited from parent commands - -``` - -y, --assume-yes If set, skips all confirmation prompts - --async If set, runs the command asynchronously - -o, --output-format string Output format, one of ["json" "pretty" "none" "yaml"] - -p, --project-id string Project ID - --verbosity string Verbosity of the CLI, one of ["debug" "info" "warning" "error"] (default "info") -``` - -### SEE ALSO - -* [stackit argus grafana public-read-access](./stackit_argus_grafana_public-read-access.md) - Enable or disable public read access for Grafana in Argus instances - diff --git a/docs/stackit_argus_grafana_single-sign-on.md b/docs/stackit_argus_grafana_single-sign-on.md deleted file mode 100644 index 37540150e..000000000 --- a/docs/stackit_argus_grafana_single-sign-on.md +++ /dev/null @@ -1,35 +0,0 @@ -## stackit argus grafana single-sign-on - -Enable or disable single sign-on for Grafana in Argus instances - -### Synopsis - -Enable or disable single sign-on for Grafana in Argus instances. -When enabled for an instance, overwrites the generic OAuth2 authentication and configures STACKIT single sign-on for that instance. - -``` -stackit argus grafana single-sign-on [flags] -``` - -### Options - -``` - -h, --help Help for "stackit argus grafana single-sign-on" -``` - -### Options inherited from parent commands - -``` - -y, --assume-yes If set, skips all confirmation prompts - --async If set, runs the command asynchronously - -o, --output-format string Output format, one of ["json" "pretty" "none" "yaml"] - -p, --project-id string Project ID - --verbosity string Verbosity of the CLI, one of ["debug" "info" "warning" "error"] (default "info") -``` - -### SEE ALSO - -* [stackit argus grafana](./stackit_argus_grafana.md) - Provides functionality for the Grafana configuration of Argus instances -* [stackit argus grafana single-sign-on disable](./stackit_argus_grafana_single-sign-on_disable.md) - Disables single sign-on for Grafana on Argus instances -* [stackit argus grafana single-sign-on enable](./stackit_argus_grafana_single-sign-on_enable.md) - Enables single sign-on for Grafana on Argus instances - diff --git a/docs/stackit_argus_grafana_single-sign-on_disable.md b/docs/stackit_argus_grafana_single-sign-on_disable.md deleted file mode 100644 index 2766cb326..000000000 --- a/docs/stackit_argus_grafana_single-sign-on_disable.md +++ /dev/null @@ -1,40 +0,0 @@ -## stackit argus grafana single-sign-on disable - -Disables single sign-on for Grafana on Argus instances - -### Synopsis - -Disables single sign-on for Grafana on Argus instances. -When disabled for an instance, the generic OAuth2 authentication is used for that instance. - -``` -stackit argus grafana single-sign-on disable INSTANCE_ID [flags] -``` - -### Examples - -``` - Disable single sign-on for Grafana on an Argus instance with ID "xxx" - $ stackit argus grafana single-sign-on disable xxx -``` - -### Options - -``` - -h, --help Help for "stackit argus grafana single-sign-on disable" -``` - -### Options inherited from parent commands - -``` - -y, --assume-yes If set, skips all confirmation prompts - --async If set, runs the command asynchronously - -o, --output-format string Output format, one of ["json" "pretty" "none" "yaml"] - -p, --project-id string Project ID - --verbosity string Verbosity of the CLI, one of ["debug" "info" "warning" "error"] (default "info") -``` - -### SEE ALSO - -* [stackit argus grafana single-sign-on](./stackit_argus_grafana_single-sign-on.md) - Enable or disable single sign-on for Grafana in Argus instances - diff --git a/docs/stackit_argus_grafana_single-sign-on_enable.md b/docs/stackit_argus_grafana_single-sign-on_enable.md deleted file mode 100644 index 33b6ae4e1..000000000 --- a/docs/stackit_argus_grafana_single-sign-on_enable.md +++ /dev/null @@ -1,40 +0,0 @@ -## stackit argus grafana single-sign-on enable - -Enables single sign-on for Grafana on Argus instances - -### Synopsis - -Enables single sign-on for Grafana on Argus instances. -When enabled for an instance, overwrites the generic OAuth2 authentication and configures STACKIT single sign-on for that instance. - -``` -stackit argus grafana single-sign-on enable INSTANCE_ID [flags] -``` - -### Examples - -``` - Enable single sign-on for Grafana on an Argus instance with ID "xxx" - $ stackit argus grafana single-sign-on enable xxx -``` - -### Options - -``` - -h, --help Help for "stackit argus grafana single-sign-on enable" -``` - -### Options inherited from parent commands - -``` - -y, --assume-yes If set, skips all confirmation prompts - --async If set, runs the command asynchronously - -o, --output-format string Output format, one of ["json" "pretty" "none" "yaml"] - -p, --project-id string Project ID - --verbosity string Verbosity of the CLI, one of ["debug" "info" "warning" "error"] (default "info") -``` - -### SEE ALSO - -* [stackit argus grafana single-sign-on](./stackit_argus_grafana_single-sign-on.md) - Enable or disable single sign-on for Grafana in Argus instances - diff --git a/docs/stackit_argus_instance.md b/docs/stackit_argus_instance.md deleted file mode 100644 index 8683c76eb..000000000 --- a/docs/stackit_argus_instance.md +++ /dev/null @@ -1,37 +0,0 @@ -## stackit argus instance - -Provides functionality for Argus instances - -### Synopsis - -Provides functionality for Argus instances. - -``` -stackit argus instance [flags] -``` - -### Options - -``` - -h, --help Help for "stackit argus instance" -``` - -### Options inherited from parent commands - -``` - -y, --assume-yes If set, skips all confirmation prompts - --async If set, runs the command asynchronously - -o, --output-format string Output format, one of ["json" "pretty" "none" "yaml"] - -p, --project-id string Project ID - --verbosity string Verbosity of the CLI, one of ["debug" "info" "warning" "error"] (default "info") -``` - -### SEE ALSO - -* [stackit argus](./stackit_argus.md) - Provides functionality for Argus -* [stackit argus instance create](./stackit_argus_instance_create.md) - Creates an Argus instance -* [stackit argus instance delete](./stackit_argus_instance_delete.md) - Deletes an Argus instance -* [stackit argus instance describe](./stackit_argus_instance_describe.md) - Shows details of an Argus instance -* [stackit argus instance list](./stackit_argus_instance_list.md) - Lists all Argus instances -* [stackit argus instance update](./stackit_argus_instance_update.md) - Updates an Argus instance - diff --git a/docs/stackit_argus_instance_create.md b/docs/stackit_argus_instance_create.md deleted file mode 100644 index ed63c92e0..000000000 --- a/docs/stackit_argus_instance_create.md +++ /dev/null @@ -1,45 +0,0 @@ -## stackit argus instance create - -Creates an Argus instance - -### Synopsis - -Creates an Argus instance. - -``` -stackit argus instance create [flags] -``` - -### Examples - -``` - Create an Argus instance with name "my-instance" and specify plan by name - $ stackit argus instance create --name my-instance --plan-name Monitoring-Starter-EU01 - - Create an Argus instance with name "my-instance" and specify plan by ID - $ stackit argus instance create --name my-instance --plan-id xxx -``` - -### Options - -``` - -h, --help Help for "stackit argus instance create" - -n, --name string Instance name - --plan-id string Plan ID - --plan-name string Plan name -``` - -### Options inherited from parent commands - -``` - -y, --assume-yes If set, skips all confirmation prompts - --async If set, runs the command asynchronously - -o, --output-format string Output format, one of ["json" "pretty" "none" "yaml"] - -p, --project-id string Project ID - --verbosity string Verbosity of the CLI, one of ["debug" "info" "warning" "error"] (default "info") -``` - -### SEE ALSO - -* [stackit argus instance](./stackit_argus_instance.md) - Provides functionality for Argus instances - diff --git a/docs/stackit_argus_instance_delete.md b/docs/stackit_argus_instance_delete.md deleted file mode 100644 index b0c681607..000000000 --- a/docs/stackit_argus_instance_delete.md +++ /dev/null @@ -1,39 +0,0 @@ -## stackit argus instance delete - -Deletes an Argus instance - -### Synopsis - -Deletes an Argus instance. - -``` -stackit argus instance delete INSTANCE_ID [flags] -``` - -### Examples - -``` - Delete an Argus instance with ID "xxx" - $ stackit argus instance delete xxx -``` - -### Options - -``` - -h, --help Help for "stackit argus instance delete" -``` - -### Options inherited from parent commands - -``` - -y, --assume-yes If set, skips all confirmation prompts - --async If set, runs the command asynchronously - -o, --output-format string Output format, one of ["json" "pretty" "none" "yaml"] - -p, --project-id string Project ID - --verbosity string Verbosity of the CLI, one of ["debug" "info" "warning" "error"] (default "info") -``` - -### SEE ALSO - -* [stackit argus instance](./stackit_argus_instance.md) - Provides functionality for Argus instances - diff --git a/docs/stackit_argus_instance_describe.md b/docs/stackit_argus_instance_describe.md deleted file mode 100644 index 77d3c6546..000000000 --- a/docs/stackit_argus_instance_describe.md +++ /dev/null @@ -1,42 +0,0 @@ -## stackit argus instance describe - -Shows details of an Argus instance - -### Synopsis - -Shows details of an Argus instance. - -``` -stackit argus instance describe INSTANCE_ID [flags] -``` - -### Examples - -``` - Get details of an Argus instance with ID "xxx" - $ stackit argus instance describe xxx - - Get details of an Argus instance with ID "xxx" in JSON format - $ stackit argus instance describe xxx --output-format json -``` - -### Options - -``` - -h, --help Help for "stackit argus instance describe" -``` - -### Options inherited from parent commands - -``` - -y, --assume-yes If set, skips all confirmation prompts - --async If set, runs the command asynchronously - -o, --output-format string Output format, one of ["json" "pretty" "none" "yaml"] - -p, --project-id string Project ID - --verbosity string Verbosity of the CLI, one of ["debug" "info" "warning" "error"] (default "info") -``` - -### SEE ALSO - -* [stackit argus instance](./stackit_argus_instance.md) - Provides functionality for Argus instances - diff --git a/docs/stackit_argus_instance_list.md b/docs/stackit_argus_instance_list.md deleted file mode 100644 index b91308146..000000000 --- a/docs/stackit_argus_instance_list.md +++ /dev/null @@ -1,46 +0,0 @@ -## stackit argus instance list - -Lists all Argus instances - -### Synopsis - -Lists all Argus instances. - -``` -stackit argus instance list [flags] -``` - -### Examples - -``` - List all Argus instances - $ stackit argus instance list - - List all Argus instances in JSON format - $ stackit argus instance list --output-format json - - List up to 10 Argus instances - $ stackit argus instance list --limit 10 -``` - -### Options - -``` - -h, --help Help for "stackit argus instance list" - --limit int Maximum number of entries to list -``` - -### Options inherited from parent commands - -``` - -y, --assume-yes If set, skips all confirmation prompts - --async If set, runs the command asynchronously - -o, --output-format string Output format, one of ["json" "pretty" "none" "yaml"] - -p, --project-id string Project ID - --verbosity string Verbosity of the CLI, one of ["debug" "info" "warning" "error"] (default "info") -``` - -### SEE ALSO - -* [stackit argus instance](./stackit_argus_instance.md) - Provides functionality for Argus instances - diff --git a/docs/stackit_argus_instance_update.md b/docs/stackit_argus_instance_update.md deleted file mode 100644 index 25155965e..000000000 --- a/docs/stackit_argus_instance_update.md +++ /dev/null @@ -1,48 +0,0 @@ -## stackit argus instance update - -Updates an Argus instance - -### Synopsis - -Updates an Argus instance. - -``` -stackit argus instance update INSTANCE_ID [flags] -``` - -### Examples - -``` - Update the plan of an Argus instance with ID "xxx" by specifying the plan ID - $ stackit argus instance update xxx --plan-id yyy - - Update the plan of an Argus instance with ID "xxx" by specifying the plan name - $ stackit argus instance update xxx --plan-name Frontend-Starter-EU01 - - Update the name of an Argus instance with ID "xxx" - $ stackit argus instance update xxx --name new-instance-name -``` - -### Options - -``` - -h, --help Help for "stackit argus instance update" - -n, --name string Instance name - --plan-id string Plan ID - --plan-name string Plan name -``` - -### Options inherited from parent commands - -``` - -y, --assume-yes If set, skips all confirmation prompts - --async If set, runs the command asynchronously - -o, --output-format string Output format, one of ["json" "pretty" "none" "yaml"] - -p, --project-id string Project ID - --verbosity string Verbosity of the CLI, one of ["debug" "info" "warning" "error"] (default "info") -``` - -### SEE ALSO - -* [stackit argus instance](./stackit_argus_instance.md) - Provides functionality for Argus instances - diff --git a/docs/stackit_argus_plans.md b/docs/stackit_argus_plans.md deleted file mode 100644 index bc65afb9e..000000000 --- a/docs/stackit_argus_plans.md +++ /dev/null @@ -1,46 +0,0 @@ -## stackit argus plans - -Lists all Argus service plans - -### Synopsis - -Lists all Argus service plans. - -``` -stackit argus plans [flags] -``` - -### Examples - -``` - List all Argus service plans - $ stackit argus plans - - List all Argus service plans in JSON format - $ stackit argus plans --output-format json - - List up to 10 Argus service plans - $ stackit argus plans --limit 10 -``` - -### Options - -``` - -h, --help Help for "stackit argus plans" - --limit int Maximum number of entries to list -``` - -### Options inherited from parent commands - -``` - -y, --assume-yes If set, skips all confirmation prompts - --async If set, runs the command asynchronously - -o, --output-format string Output format, one of ["json" "pretty" "none" "yaml"] - -p, --project-id string Project ID - --verbosity string Verbosity of the CLI, one of ["debug" "info" "warning" "error"] (default "info") -``` - -### SEE ALSO - -* [stackit argus](./stackit_argus.md) - Provides functionality for Argus - diff --git a/docs/stackit_argus_scrape-config.md b/docs/stackit_argus_scrape-config.md deleted file mode 100644 index 8a96ec535..000000000 --- a/docs/stackit_argus_scrape-config.md +++ /dev/null @@ -1,38 +0,0 @@ -## stackit argus scrape-config - -Provides functionality for scrape configurations in Argus - -### Synopsis - -Provides functionality for scrape configurations in Argus. - -``` -stackit argus scrape-config [flags] -``` - -### Options - -``` - -h, --help Help for "stackit argus scrape-config" -``` - -### Options inherited from parent commands - -``` - -y, --assume-yes If set, skips all confirmation prompts - --async If set, runs the command asynchronously - -o, --output-format string Output format, one of ["json" "pretty" "none" "yaml"] - -p, --project-id string Project ID - --verbosity string Verbosity of the CLI, one of ["debug" "info" "warning" "error"] (default "info") -``` - -### SEE ALSO - -* [stackit argus](./stackit_argus.md) - Provides functionality for Argus -* [stackit argus scrape-config create](./stackit_argus_scrape-config_create.md) - Creates a scrape configuration for an Argus instance -* [stackit argus scrape-config delete](./stackit_argus_scrape-config_delete.md) - Deletes a scrape configuration from an Argus instance -* [stackit argus scrape-config describe](./stackit_argus_scrape-config_describe.md) - Shows details of a scrape configuration from an Argus instance -* [stackit argus scrape-config generate-payload](./stackit_argus_scrape-config_generate-payload.md) - Generates a payload to create/update scrape configurations for an Argus instance -* [stackit argus scrape-config list](./stackit_argus_scrape-config_list.md) - Lists all scrape configurations of an Argus instance -* [stackit argus scrape-config update](./stackit_argus_scrape-config_update.md) - Updates a scrape configuration of an Argus instance - diff --git a/docs/stackit_argus_scrape-config_create.md b/docs/stackit_argus_scrape-config_create.md deleted file mode 100644 index 0df2e91bd..000000000 --- a/docs/stackit_argus_scrape-config_create.md +++ /dev/null @@ -1,55 +0,0 @@ -## stackit argus scrape-config create - -Creates a scrape configuration for an Argus instance - -### Synopsis - -Creates a scrape configuration job for an Argus instance. -The payload can be provided as a JSON string or a file path prefixed with "@". -If no payload is provided, a default payload will be used. -See https://docs.api.stackit.cloud/documentation/argus/version/v1#tag/scrape-config/operation/v1_projects_instances_scrapeconfigs_create for information regarding the payload structure. - -``` -stackit argus scrape-config create [flags] -``` - -### Examples - -``` - Create a scrape configuration on Argus instance "xxx" using default configuration - $ stackit argus scrape-config create - - Create a scrape configuration on Argus instance "xxx" using an API payload sourced from the file "./payload.json" - $ stackit argus scrape-config create --payload @./payload.json --instance-id xxx - - Create a scrape configuration on Argus instance "xxx" using an API payload provided as a JSON string - $ stackit argus scrape-config create --payload "{...}" --instance-id xxx - - Generate a payload with default values, and adapt it with custom values for the different configuration options - $ stackit argus scrape-config generate-payload > ./payload.json - - $ stackit argus scrape-config create --payload @./payload.json --instance-id xxx -``` - -### Options - -``` - -h, --help Help for "stackit argus scrape-config create" - --instance-id string Instance ID - --payload string Request payload (JSON). Can be a string or a file path, if prefixed with "@" (example: @./payload.json). If unset, will use a default payload (you can check it by running "stackit argus scrape-config generate-payload") -``` - -### Options inherited from parent commands - -``` - -y, --assume-yes If set, skips all confirmation prompts - --async If set, runs the command asynchronously - -o, --output-format string Output format, one of ["json" "pretty" "none" "yaml"] - -p, --project-id string Project ID - --verbosity string Verbosity of the CLI, one of ["debug" "info" "warning" "error"] (default "info") -``` - -### SEE ALSO - -* [stackit argus scrape-config](./stackit_argus_scrape-config.md) - Provides functionality for scrape configurations in Argus - diff --git a/docs/stackit_argus_scrape-config_delete.md b/docs/stackit_argus_scrape-config_delete.md deleted file mode 100644 index 503433973..000000000 --- a/docs/stackit_argus_scrape-config_delete.md +++ /dev/null @@ -1,40 +0,0 @@ -## stackit argus scrape-config delete - -Deletes a scrape configuration from an Argus instance - -### Synopsis - -Deletes a scrape configuration from an Argus instance. - -``` -stackit argus scrape-config delete JOB_NAME [flags] -``` - -### Examples - -``` - Delete a scrape configuration job with name "my-config" from Argus instance "xxx" - $ stackit argus scrape-config delete my-config --instance-id xxx -``` - -### Options - -``` - -h, --help Help for "stackit argus scrape-config delete" - --instance-id string Instance ID -``` - -### Options inherited from parent commands - -``` - -y, --assume-yes If set, skips all confirmation prompts - --async If set, runs the command asynchronously - -o, --output-format string Output format, one of ["json" "pretty" "none" "yaml"] - -p, --project-id string Project ID - --verbosity string Verbosity of the CLI, one of ["debug" "info" "warning" "error"] (default "info") -``` - -### SEE ALSO - -* [stackit argus scrape-config](./stackit_argus_scrape-config.md) - Provides functionality for scrape configurations in Argus - diff --git a/docs/stackit_argus_scrape-config_describe.md b/docs/stackit_argus_scrape-config_describe.md deleted file mode 100644 index 565c8f65f..000000000 --- a/docs/stackit_argus_scrape-config_describe.md +++ /dev/null @@ -1,43 +0,0 @@ -## stackit argus scrape-config describe - -Shows details of a scrape configuration from an Argus instance - -### Synopsis - -Shows details of a scrape configuration from an Argus instance. - -``` -stackit argus scrape-config describe JOB_NAME [flags] -``` - -### Examples - -``` - Get details of a scrape configuration with name "my-config" from Argus instance "xxx" - $ stackit argus scrape-config describe my-config --instance-id xxx - - Get details of a scrape configuration with name "my-config" from Argus instance "xxx" in JSON format - $ stackit argus scrape-config describe my-config --output-format json -``` - -### Options - -``` - -h, --help Help for "stackit argus scrape-config describe" - --instance-id string Instance ID -``` - -### Options inherited from parent commands - -``` - -y, --assume-yes If set, skips all confirmation prompts - --async If set, runs the command asynchronously - -o, --output-format string Output format, one of ["json" "pretty" "none" "yaml"] - -p, --project-id string Project ID - --verbosity string Verbosity of the CLI, one of ["debug" "info" "warning" "error"] (default "info") -``` - -### SEE ALSO - -* [stackit argus scrape-config](./stackit_argus_scrape-config.md) - Provides functionality for scrape configurations in Argus - diff --git a/docs/stackit_argus_scrape-config_generate-payload.md b/docs/stackit_argus_scrape-config_generate-payload.md deleted file mode 100644 index a6d725a27..000000000 --- a/docs/stackit_argus_scrape-config_generate-payload.md +++ /dev/null @@ -1,58 +0,0 @@ -## stackit argus scrape-config generate-payload - -Generates a payload to create/update scrape configurations for an Argus instance - -### Synopsis - -Generates a JSON payload with values to be used as --payload input for scrape configurations creation or update. -This command can be used to generate a payload to update an existing scrape config or to create a new scrape config job. -To update an existing scrape config job, provide the job name and the instance ID of the Argus instance. -To obtain a default payload to create a new scrape config job, run the command with no flags. -Note that some of the default values provided, such as the job name, the metrics path and URL of the targets, should be adapted to your use case. -See https://docs.api.stackit.cloud/documentation/argus/version/v1#tag/scrape-config/operation/v1_projects_instances_scrapeconfigs_create for information regarding the payload structure. - - -``` -stackit argus scrape-config generate-payload [flags] -``` - -### Examples - -``` - Generate a Create payload with default values, and adapt it with custom values for the different configuration options - $ stackit argus scrape-config generate-payload --file-path ./payload.json - - $ stackit argus scrape-config create my-config --payload @./payload.json - - Generate an Update payload with the values of an existing configuration named "my-config" for Argus instance xxx, and adapt it with custom values for the different configuration options - $ stackit argus scrape-config generate-payload --job-name my-config --instance-id xxx --file-path ./payload.json - - $ stackit argus scrape-config update my-config --payload @./payload.json - - Generate an Update payload with the values of an existing configuration named "my-config" for Argus instance xxx, and preview it in the terminal - $ stackit argus scrape-config generate-payload --job-name my-config --instance-id xxx -``` - -### Options - -``` - -f, --file-path string If set, writes the payload to the given file. If unset, writes the payload to the standard output - -h, --help Help for "stackit argus scrape-config generate-payload" - --instance-id string Instance ID - -n, --job-name string If set, generates an update payload with the current state of the given scrape config. If unset, generates a create payload with default values -``` - -### Options inherited from parent commands - -``` - -y, --assume-yes If set, skips all confirmation prompts - --async If set, runs the command asynchronously - -o, --output-format string Output format, one of ["json" "pretty" "none" "yaml"] - -p, --project-id string Project ID - --verbosity string Verbosity of the CLI, one of ["debug" "info" "warning" "error"] (default "info") -``` - -### SEE ALSO - -* [stackit argus scrape-config](./stackit_argus_scrape-config.md) - Provides functionality for scrape configurations in Argus - diff --git a/docs/stackit_argus_scrape-config_list.md b/docs/stackit_argus_scrape-config_list.md deleted file mode 100644 index a4ae284f4..000000000 --- a/docs/stackit_argus_scrape-config_list.md +++ /dev/null @@ -1,47 +0,0 @@ -## stackit argus scrape-config list - -Lists all scrape configurations of an Argus instance - -### Synopsis - -Lists all scrape configurations of an Argus instance. - -``` -stackit argus scrape-config list [flags] -``` - -### Examples - -``` - List all scrape configurations of Argus instance "xxx" - $ stackit argus scrape-config list --instance-id xxx - - List all scrape configurations of Argus instance "xxx" in JSON format - $ stackit argus scrape-config list --instance-id xxx --output-format json - - List up to 10 scrape configurations of Argus instance "xxx" - $ stackit argus scrape-config list --instance-id xxx --limit 10 -``` - -### Options - -``` - -h, --help Help for "stackit argus scrape-config list" - --instance-id string Instance ID - --limit int Maximum number of entries to list -``` - -### Options inherited from parent commands - -``` - -y, --assume-yes If set, skips all confirmation prompts - --async If set, runs the command asynchronously - -o, --output-format string Output format, one of ["json" "pretty" "none" "yaml"] - -p, --project-id string Project ID - --verbosity string Verbosity of the CLI, one of ["debug" "info" "warning" "error"] (default "info") -``` - -### SEE ALSO - -* [stackit argus scrape-config](./stackit_argus_scrape-config.md) - Provides functionality for scrape configurations in Argus - diff --git a/docs/stackit_argus_scrape-config_update.md b/docs/stackit_argus_scrape-config_update.md deleted file mode 100644 index f335fc673..000000000 --- a/docs/stackit_argus_scrape-config_update.md +++ /dev/null @@ -1,51 +0,0 @@ -## stackit argus scrape-config update - -Updates a scrape configuration of an Argus instance - -### Synopsis - -Updates a scrape configuration of an Argus instance. -The payload can be provided as a JSON string or a file path prefixed with "@". -See https://docs.api.stackit.cloud/documentation/argus/version/v1#tag/scrape-config/operation/v1_projects_instances_scrapeconfigs_update for information regarding the payload structure. - -``` -stackit argus scrape-config update JOB_NAME [flags] -``` - -### Examples - -``` - Update a scrape configuration with name "my-config" from Argus instance "xxx", using an API payload sourced from the file "./payload.json" - $ stackit argus scrape-config update my-config --payload @./payload.json --instance-id xxx - - Update an scrape configuration with name "my-config" from Argus instance "xxx", using an API payload provided as a JSON string - $ stackit argus scrape-config update my-config --payload "{...}" --instance-id xxx - - Generate a payload with the current values of a scrape configuration, and adapt it with custom values for the different configuration options - $ stackit argus scrape-config generate-payload --job-name my-config > ./payload.json - - $ stackit argus scrape-configs update my-config --payload @./payload.json -``` - -### Options - -``` - -h, --help Help for "stackit argus scrape-config update" - --instance-id string Instance ID - --payload string Request payload (JSON). Can be a string or a file path, if prefixed with "@". Example: @./payload.json -``` - -### Options inherited from parent commands - -``` - -y, --assume-yes If set, skips all confirmation prompts - --async If set, runs the command asynchronously - -o, --output-format string Output format, one of ["json" "pretty" "none" "yaml"] - -p, --project-id string Project ID - --verbosity string Verbosity of the CLI, one of ["debug" "info" "warning" "error"] (default "info") -``` - -### SEE ALSO - -* [stackit argus scrape-config](./stackit_argus_scrape-config.md) - Provides functionality for scrape configurations in Argus - diff --git a/docs/stackit_config_set.md b/docs/stackit_config_set.md index d739983cc..6c7378e4d 100644 --- a/docs/stackit_config_set.md +++ b/docs/stackit_config_set.md @@ -29,8 +29,7 @@ stackit config set [flags] ### Options ``` - --allowed-url-domain string Domain name, used for the verification of the URLs that are given in the custom identidy provider endpoint and "STACKIT curl" command - --argus-custom-endpoint string Argus API base URL, used in calls to this API + --allowed-url-domain string Domain name, used for the verification of the URLs that are given in the custom identity provider endpoint and "STACKIT curl" command --authorization-custom-endpoint string Authorization API base URL, used in calls to this API --dns-custom-endpoint string DNS API base URL, used in calls to this API -h, --help Help for "stackit config set" @@ -43,6 +42,7 @@ stackit config set [flags] --mariadb-custom-endpoint string MariaDB API base URL, used in calls to this API --mongodbflex-custom-endpoint string MongoDB Flex API base URL, used in calls to this API --object-storage-custom-endpoint string Object Storage API base URL, used in calls to this API + --observability-custom-endpoint string Observability API base URL, used in calls to this API --opensearch-custom-endpoint string OpenSearch API base URL, used in calls to this API --postgresflex-custom-endpoint string PostgreSQL Flex API base URL, used in calls to this API --rabbitmq-custom-endpoint string RabbitMQ API base URL, used in calls to this API diff --git a/docs/stackit_config_unset.md b/docs/stackit_config_unset.md index fc68fe45a..3f6a4e508 100644 --- a/docs/stackit_config_unset.md +++ b/docs/stackit_config_unset.md @@ -27,7 +27,6 @@ stackit config unset [flags] ``` --allowed-url-domain Domain name, used for the verification of the URLs that are given in the IDP endpoint and curl commands. If unset, defaults to stackit.cloud - --argus-custom-endpoint Argus API base URL. If unset, uses the default base URL --async Configuration option to run commands asynchronously --authorization-custom-endpoint Authorization API base URL. If unset, uses the default base URL --dns-custom-endpoint DNS API base URL. If unset, uses the default base URL @@ -41,6 +40,7 @@ stackit config unset [flags] --mariadb-custom-endpoint MariaDB API base URL. If unset, uses the default base URL --mongodbflex-custom-endpoint MongoDB Flex API base URL. If unset, uses the default base URL --object-storage-custom-endpoint Object Storage API base URL. If unset, uses the default base URL + --observability-custom-endpoint Observability API base URL. If unset, uses the default base URL --opensearch-custom-endpoint OpenSearch API base URL. If unset, uses the default base URL --output-format Output format --postgresflex-custom-endpoint PostgreSQL Flex API base URL. If unset, uses the default base URL diff --git a/docs/stackit_load-balancer_observability-credentials.md b/docs/stackit_load-balancer_observability-credentials.md index 187047d14..6a9806d41 100644 --- a/docs/stackit_load-balancer_observability-credentials.md +++ b/docs/stackit_load-balancer_observability-credentials.md @@ -4,7 +4,7 @@ Provides functionality for Load Balancer observability credentials ### Synopsis -Provides functionality for Load Balancer observability credentials. These commands can be used to store and update existing credentials, which are valid to be used for Load Balancer observability. This means, e.g. when using Argus, first of all these credentials must be created for that Argus instance (by using "stackit argus credentials create") and then can be managed for a Load Balancer by using the commands in this group. +Provides functionality for Load Balancer observability credentials. These commands can be used to store and update existing credentials, which are valid to be used for Load Balancer observability. This means, e.g. when using Observability, first of all these credentials must be created for that Observability instance (by using "stackit observability credentials create") and then can be managed for a Load Balancer by using the commands in this group. ``` stackit load-balancer observability-credentials [flags] diff --git a/docs/stackit_load-balancer_observability-credentials_add.md b/docs/stackit_load-balancer_observability-credentials_add.md index 8abbc2fe9..8f86b2aad 100644 --- a/docs/stackit_load-balancer_observability-credentials_add.md +++ b/docs/stackit_load-balancer_observability-credentials_add.md @@ -4,7 +4,7 @@ Adds observability credentials to Load Balancer ### Synopsis -Adds existing observability credentials (username and password) to Load Balancer. The credentials can be for Argus or another monitoring tool. +Adds existing observability credentials (username and password) to Load Balancer. The credentials can be for Observability or another monitoring tool. ``` stackit load-balancer observability-credentials add [flags] diff --git a/docs/stackit_load-balancer_observability-credentials_update.md b/docs/stackit_load-balancer_observability-credentials_update.md index 2ef125bbc..53fa1cd02 100644 --- a/docs/stackit_load-balancer_observability-credentials_update.md +++ b/docs/stackit_load-balancer_observability-credentials_update.md @@ -4,7 +4,7 @@ Updates observability credentials for Load Balancer ### Synopsis -Updates existing observability credentials (username and password) for Load Balancer. The credentials can be for Argus or another monitoring tool. +Updates existing observability credentials (username and password) for Load Balancer. The credentials can be for Observability or another monitoring tool. ``` stackit load-balancer observability-credentials update [flags] diff --git a/go.mod b/go.mod index ef94341f6..d2be18fc3 100644 --- a/go.mod +++ b/go.mod @@ -77,11 +77,11 @@ require ( github.com/sourcegraph/conc v0.3.0 // indirect github.com/spf13/afero v1.11.0 // indirect github.com/spf13/cast v1.6.0 // indirect - github.com/stackitcloud/stackit-sdk-go/services/argus v0.11.0 github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v0.14.0 github.com/stackitcloud/stackit-sdk-go/services/logme v0.17.0 github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.17.0 github.com/stackitcloud/stackit-sdk-go/services/objectstorage v0.10.0 + github.com/stackitcloud/stackit-sdk-go/services/observability v0.1.0 github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.17.0 github.com/stackitcloud/stackit-sdk-go/services/redis v0.17.0 github.com/subosito/gotenv v1.6.0 // indirect diff --git a/go.sum b/go.sum index 3477d20ae..84bd7f50a 100644 --- a/go.sum +++ b/go.sum @@ -125,8 +125,6 @@ github.com/spf13/viper v1.19.0 h1:RWq5SEjt8o25SROyN3z2OrDB9l7RPd3lwTWU8EcEdcI= github.com/spf13/viper v1.19.0/go.mod h1:GQUN9bilAbhU/jgc1bKs99f/suXKeUMct8Adx5+Ntkg= github.com/stackitcloud/stackit-sdk-go/core v0.12.0 h1:auIzUUNRuydKOScvpICP4MifGgvOajiDQd+ncGmBL0U= github.com/stackitcloud/stackit-sdk-go/core v0.12.0/go.mod h1:mDX1mSTsB3mP+tNBGcFNx6gH1mGBN4T+dVt+lcw7nlw= -github.com/stackitcloud/stackit-sdk-go/services/argus v0.11.0 h1:JVEx/ouHB6PlwGzQa3ywyDym1HTWo3WgrxAyXprCnuM= -github.com/stackitcloud/stackit-sdk-go/services/argus v0.11.0/go.mod h1:nVllQfYODhX1q3bgwVTLO7wHOp+8NMLiKbn3u/Dg5nU= github.com/stackitcloud/stackit-sdk-go/services/authorization v0.3.0 h1:AyzBgcbd0rCm+2+xaWqtfibjWmkKlO+U+7qxqvtKpJ8= github.com/stackitcloud/stackit-sdk-go/services/authorization v0.3.0/go.mod h1:1sLuXa7Qvp9f+wKWdRjyNe8B2F8JX7nSTd8fBKadri4= github.com/stackitcloud/stackit-sdk-go/services/dns v0.10.0 h1:QIZfs6nJ/l2pOweH1E+wazXnlAUtqisVbYUxWAokTbc= @@ -143,6 +141,8 @@ github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v0.14.0 h1:FaJYVfha+ github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v0.14.0/go.mod h1:iFerEzGmkg6R13ldFUyHUWHm0ac9cS4ftTDLhP0k/dU= github.com/stackitcloud/stackit-sdk-go/services/objectstorage v0.10.0 h1:tn1MD1nu+gYEbT3lslRI6BrapKwuvHv5Wi2Zw9uVPPc= github.com/stackitcloud/stackit-sdk-go/services/objectstorage v0.10.0/go.mod h1:dkVMJI88eJ3Xs0ZV15r4tUpgitUGJXcvrX3RL4Zq2bQ= +github.com/stackitcloud/stackit-sdk-go/services/observability v0.1.0 h1:VdxYMJqGKUvk7/l2b83Z/bB0FUYuFbELK/ipTicJ5QY= +github.com/stackitcloud/stackit-sdk-go/services/observability v0.1.0/go.mod h1:cSnBZGdtx4jnn9HEefkQHDrm8+PuS0NCWvukVfuwP/8= github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.16.0 h1:EEjhfIFiC4TsaFKB4mkxz6NFz4InfVs5STmWc+oEjgQ= github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.16.0/go.mod h1:ZecMIf9oYj2DGZqWh93l97WdVaRdLl+tW5Fq3YKGwBM= github.com/stackitcloud/stackit-sdk-go/services/postgresflex v0.15.0 h1:05wQYhO37Z4y8xAD+4OTYz6rYu6eJEmwMfCG4tjETEc= diff --git a/internal/cmd/config/set/set.go b/internal/cmd/config/set/set.go index eb62d1053..98eeefbf9 100644 --- a/internal/cmd/config/set/set.go +++ b/internal/cmd/config/set/set.go @@ -22,7 +22,6 @@ const ( identityProviderCustomClientIdFlag = "identity-provider-custom-client-id" allowedUrlDomainFlag = "allowed-url-domain" - argusCustomEndpointFlag = "argus-custom-endpoint" authorizationCustomEndpointFlag = "authorization-custom-endpoint" dnsCustomEndpointFlag = "dns-custom-endpoint" loadBalancerCustomEndpointFlag = "load-balancer-custom-endpoint" @@ -30,6 +29,7 @@ const ( mariaDBCustomEndpointFlag = "mariadb-custom-endpoint" mongoDBFlexCustomEndpointFlag = "mongodbflex-custom-endpoint" objectStorageCustomEndpointFlag = "object-storage-custom-endpoint" + observabilityCustomEndpointFlag = "observability-custom-endpoint" openSearchCustomEndpointFlag = "opensearch-custom-endpoint" postgresFlexCustomEndpointFlag = "postgresflex-custom-endpoint" rabbitMQCustomEndpointFlag = "rabbitmq-custom-endpoint" @@ -135,7 +135,7 @@ func configureFlags(cmd *cobra.Command) { cmd.Flags().String(identityProviderCustomEndpointFlag, "", "Identity Provider base URL, used for user authentication") cmd.Flags().String(identityProviderCustomClientIdFlag, "", "Identity Provider client ID, used for user authentication") cmd.Flags().String(allowedUrlDomainFlag, "", `Domain name, used for the verification of the URLs that are given in the custom identity provider endpoint and "STACKIT curl" command`) - cmd.Flags().String(argusCustomEndpointFlag, "", "Argus API base URL, used in calls to this API") + cmd.Flags().String(observabilityCustomEndpointFlag, "", "Observability API base URL, used in calls to this API") cmd.Flags().String(authorizationCustomEndpointFlag, "", "Authorization API base URL, used in calls to this API") cmd.Flags().String(dnsCustomEndpointFlag, "", "DNS API base URL, used in calls to this API") cmd.Flags().String(loadBalancerCustomEndpointFlag, "", "Load Balancer API base URL, used in calls to this API") @@ -168,7 +168,7 @@ func configureFlags(cmd *cobra.Command) { err = viper.BindPFlag(config.AllowedUrlDomainKey, cmd.Flags().Lookup(allowedUrlDomainFlag)) cobra.CheckErr(err) - err = viper.BindPFlag(config.ArgusCustomEndpointKey, cmd.Flags().Lookup(argusCustomEndpointFlag)) + err = viper.BindPFlag(config.ObservabilityCustomEndpointKey, cmd.Flags().Lookup(observabilityCustomEndpointFlag)) cobra.CheckErr(err) err = viper.BindPFlag(config.AuthorizationCustomEndpointKey, cmd.Flags().Lookup(authorizationCustomEndpointFlag)) cobra.CheckErr(err) diff --git a/internal/cmd/config/unset/unset.go b/internal/cmd/config/unset/unset.go index 44526ba4d..a73f452f6 100644 --- a/internal/cmd/config/unset/unset.go +++ b/internal/cmd/config/unset/unset.go @@ -25,7 +25,6 @@ const ( identityProviderCustomClientIdFlag = "identity-provider-custom-client-id" allowedUrlDomainFlag = "allowed-url-domain" - argusCustomEndpointFlag = "argus-custom-endpoint" authorizationCustomEndpointFlag = "authorization-custom-endpoint" dnsCustomEndpointFlag = "dns-custom-endpoint" loadBalancerCustomEndpointFlag = "load-balancer-custom-endpoint" @@ -33,6 +32,7 @@ const ( mariaDBCustomEndpointFlag = "mariadb-custom-endpoint" mongoDBFlexCustomEndpointFlag = "mongodbflex-custom-endpoint" objectStorageCustomEndpointFlag = "object-storage-custom-endpoint" + observabilityCustomEndpointFlag = "observability-custom-endpoint" openSearchCustomEndpointFlag = "opensearch-custom-endpoint" postgresFlexCustomEndpointFlag = "postgresflex-custom-endpoint" rabbitMQCustomEndpointFlag = "rabbitmq-custom-endpoint" @@ -61,7 +61,6 @@ type inputModel struct { IdentityProviderCustomClientID bool AllowedUrlDomain bool - ArgusCustomEndpoint bool AuthorizationCustomEndpoint bool DNSCustomEndpoint bool LoadBalancerCustomEndpoint bool @@ -69,6 +68,7 @@ type inputModel struct { MariaDBCustomEndpoint bool MongoDBFlexCustomEndpoint bool ObjectStorageCustomEndpoint bool + ObservabilityCustomEndpoint bool OpenSearchCustomEndpoint bool PostgresFlexCustomEndpoint bool RabbitMQCustomEndpoint bool @@ -132,8 +132,8 @@ func NewCmd(p *print.Printer) *cobra.Command { viper.Set(config.AllowedUrlDomainKey, config.AllowedUrlDomainDefault) } - if model.ArgusCustomEndpoint { - viper.Set(config.ArgusCustomEndpointKey, "") + if model.ObservabilityCustomEndpoint { + viper.Set(config.ObservabilityCustomEndpointKey, "") } if model.AuthorizationCustomEndpoint { viper.Set(config.AuthorizationCustomEndpointKey, "") @@ -224,7 +224,7 @@ func configureFlags(cmd *cobra.Command) { cmd.Flags().Bool(identityProviderCustomClientIdFlag, false, "Identity Provider client ID, used for user authentication") cmd.Flags().Bool(allowedUrlDomainFlag, false, fmt.Sprintf("Domain name, used for the verification of the URLs that are given in the IDP endpoint and curl commands. If unset, defaults to %s", config.AllowedUrlDomainDefault)) - cmd.Flags().Bool(argusCustomEndpointFlag, false, "Argus API base URL. If unset, uses the default base URL") + cmd.Flags().Bool(observabilityCustomEndpointFlag, false, "Observability API base URL. If unset, uses the default base URL") cmd.Flags().Bool(authorizationCustomEndpointFlag, false, "Authorization API base URL. If unset, uses the default base URL") cmd.Flags().Bool(dnsCustomEndpointFlag, false, "DNS API base URL. If unset, uses the default base URL") cmd.Flags().Bool(loadBalancerCustomEndpointFlag, false, "Load Balancer API base URL. If unset, uses the default base URL") @@ -261,7 +261,6 @@ func parseInput(p *print.Printer, cmd *cobra.Command) *inputModel { IdentityProviderCustomClientID: flags.FlagToBoolValue(p, cmd, identityProviderCustomClientIdFlag), AllowedUrlDomain: flags.FlagToBoolValue(p, cmd, allowedUrlDomainFlag), - ArgusCustomEndpoint: flags.FlagToBoolValue(p, cmd, argusCustomEndpointFlag), AuthorizationCustomEndpoint: flags.FlagToBoolValue(p, cmd, authorizationCustomEndpointFlag), DNSCustomEndpoint: flags.FlagToBoolValue(p, cmd, dnsCustomEndpointFlag), LoadBalancerCustomEndpoint: flags.FlagToBoolValue(p, cmd, loadBalancerCustomEndpointFlag), @@ -269,6 +268,7 @@ func parseInput(p *print.Printer, cmd *cobra.Command) *inputModel { MariaDBCustomEndpoint: flags.FlagToBoolValue(p, cmd, mariaDBCustomEndpointFlag), MongoDBFlexCustomEndpoint: flags.FlagToBoolValue(p, cmd, mongoDBFlexCustomEndpointFlag), ObjectStorageCustomEndpoint: flags.FlagToBoolValue(p, cmd, objectStorageCustomEndpointFlag), + ObservabilityCustomEndpoint: flags.FlagToBoolValue(p, cmd, observabilityCustomEndpointFlag), OpenSearchCustomEndpoint: flags.FlagToBoolValue(p, cmd, openSearchCustomEndpointFlag), PostgresFlexCustomEndpoint: flags.FlagToBoolValue(p, cmd, postgresFlexCustomEndpointFlag), RabbitMQCustomEndpoint: flags.FlagToBoolValue(p, cmd, rabbitMQCustomEndpointFlag), diff --git a/internal/cmd/config/unset/unset_test.go b/internal/cmd/config/unset/unset_test.go index 5d33ae3ce..b97766ae2 100644 --- a/internal/cmd/config/unset/unset_test.go +++ b/internal/cmd/config/unset/unset_test.go @@ -21,13 +21,13 @@ func fixtureFlagValues(mods ...func(flagValues map[string]bool)) map[string]bool identityProviderCustomClientIdFlag: true, allowedUrlDomainFlag: true, - argusCustomEndpointFlag: true, authorizationCustomEndpointFlag: true, dnsCustomEndpointFlag: true, loadBalancerCustomEndpointFlag: true, logMeCustomEndpointFlag: true, mariaDBCustomEndpointFlag: true, objectStorageCustomEndpointFlag: true, + observabilityCustomEndpointFlag: true, openSearchCustomEndpointFlag: true, rabbitMQCustomEndpointFlag: true, redisCustomEndpointFlag: true, @@ -60,13 +60,13 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel { IdentityProviderCustomClientID: true, AllowedUrlDomain: true, - ArgusCustomEndpoint: true, AuthorizationCustomEndpoint: true, DNSCustomEndpoint: true, LoadBalancerCustomEndpoint: true, LogMeCustomEndpoint: true, MariaDBCustomEndpoint: true, ObjectStorageCustomEndpoint: true, + ObservabilityCustomEndpoint: true, OpenSearchCustomEndpoint: true, RabbitMQCustomEndpoint: true, RedisCustomEndpoint: true, @@ -115,13 +115,13 @@ func TestParseInput(t *testing.T) { model.IdentityProviderCustomClientID = false model.AllowedUrlDomain = false - model.ArgusCustomEndpoint = false model.AuthorizationCustomEndpoint = false model.DNSCustomEndpoint = false model.LoadBalancerCustomEndpoint = false model.LogMeCustomEndpoint = false model.MariaDBCustomEndpoint = false model.ObjectStorageCustomEndpoint = false + model.ObservabilityCustomEndpoint = false model.OpenSearchCustomEndpoint = false model.RabbitMQCustomEndpoint = false model.RedisCustomEndpoint = false @@ -188,13 +188,13 @@ func TestParseInput(t *testing.T) { }), }, { - description: "argus custom endpoint empty", + description: "observability custom endpoint empty", flagValues: fixtureFlagValues(func(flagValues map[string]bool) { - flagValues[argusCustomEndpointFlag] = false + flagValues[observabilityCustomEndpointFlag] = false }), isValid: true, expectedModel: fixtureInputModel(func(model *inputModel) { - model.ArgusCustomEndpoint = false + model.ObservabilityCustomEndpoint = false }), }, { diff --git a/internal/cmd/load-balancer/observability-credentials/add/add.go b/internal/cmd/load-balancer/observability-credentials/add/add.go index b1213eefd..96faa7a87 100644 --- a/internal/cmd/load-balancer/observability-credentials/add/add.go +++ b/internal/cmd/load-balancer/observability-credentials/add/add.go @@ -38,7 +38,7 @@ func NewCmd(p *print.Printer) *cobra.Command { cmd := &cobra.Command{ Use: "add", Short: "Adds observability credentials to Load Balancer", - Long: "Adds existing observability credentials (username and password) to Load Balancer. The credentials can be for Argus or another monitoring tool.", + Long: "Adds existing observability credentials (username and password) to Load Balancer. The credentials can be for Observability or another monitoring tool.", Args: args.NoArgs, Example: examples.Build( examples.NewExample( diff --git a/internal/cmd/load-balancer/observability-credentials/observability-credentials.go b/internal/cmd/load-balancer/observability-credentials/observability-credentials.go index 9ad8500d1..390b83caf 100644 --- a/internal/cmd/load-balancer/observability-credentials/observability-credentials.go +++ b/internal/cmd/load-balancer/observability-credentials/observability-credentials.go @@ -18,7 +18,7 @@ func NewCmd(p *print.Printer) *cobra.Command { cmd := &cobra.Command{ Use: "observability-credentials", Short: "Provides functionality for Load Balancer observability credentials", - Long: `Provides functionality for Load Balancer observability credentials. These commands can be used to store and update existing credentials, which are valid to be used for Load Balancer observability. This means, e.g. when using Argus, first of all these credentials must be created for that Argus instance (by using "stackit argus credentials create") and then can be managed for a Load Balancer by using the commands in this group.`, + Long: `Provides functionality for Load Balancer observability credentials. These commands can be used to store and update existing credentials, which are valid to be used for Load Balancer observability. This means, e.g. when using Observability, first of all these credentials must be created for that Observability instance (by using "stackit observability credentials create") and then can be managed for a Load Balancer by using the commands in this group.`, Args: args.NoArgs, Aliases: []string{"credentials"}, Run: utils.CmdHelp, diff --git a/internal/cmd/load-balancer/observability-credentials/update/update.go b/internal/cmd/load-balancer/observability-credentials/update/update.go index 0f395139f..3372266d5 100644 --- a/internal/cmd/load-balancer/observability-credentials/update/update.go +++ b/internal/cmd/load-balancer/observability-credentials/update/update.go @@ -39,7 +39,7 @@ func NewCmd(p *print.Printer) *cobra.Command { cmd := &cobra.Command{ Use: "update", Short: "Updates observability credentials for Load Balancer", - Long: "Updates existing observability credentials (username and password) for Load Balancer. The credentials can be for Argus or another monitoring tool.", + Long: "Updates existing observability credentials (username and password) for Load Balancer. The credentials can be for Observability or another monitoring tool.", Args: args.SingleArg(credentialsRefArg, nil), Example: examples.Build( examples.NewExample( diff --git a/internal/cmd/mariadb/credentials/create/create.go b/internal/cmd/mariadb/credentials/create/create.go index 4373782ea..487c976b3 100644 --- a/internal/cmd/mariadb/credentials/create/create.go +++ b/internal/cmd/mariadb/credentials/create/create.go @@ -139,14 +139,14 @@ func outputResult(p *print.Printer, model *inputModel, instanceLabel string, res case print.YAMLOutputFormat: details, err := yaml.MarshalWithOptions(resp, yaml.IndentSequence(true)) if err != nil { - return fmt.Errorf("marshal Argus credentials list: %w", err) + return fmt.Errorf("marshal MariaDB credentials list: %w", err) } p.Outputln(string(details)) return nil default: p.Outputf("Created credentials for instance %q. Credentials ID: %s\n\n", instanceLabel, *resp.Id) - // The username field cannot be set by the user so we only display it if it's not returned empty + // The username field cannot be set by the user, so we only display it if it's not returned empty username := *resp.Raw.Credentials.Username if username != "" { p.Outputf("Username: %s\n", *resp.Raw.Credentials.Username) diff --git a/internal/cmd/argus/credentials/create/create.go b/internal/cmd/observability/credentials/create/create.go similarity index 74% rename from internal/cmd/argus/credentials/create/create.go rename to internal/cmd/observability/credentials/create/create.go index 5e613a61d..844f25dda 100644 --- a/internal/cmd/argus/credentials/create/create.go +++ b/internal/cmd/observability/credentials/create/create.go @@ -6,17 +6,16 @@ import ( "fmt" "github.com/goccy/go-yaml" + "github.com/spf13/cobra" "github.com/stackitcloud/stackit-cli/internal/pkg/args" cliErr "github.com/stackitcloud/stackit-cli/internal/pkg/errors" "github.com/stackitcloud/stackit-cli/internal/pkg/examples" "github.com/stackitcloud/stackit-cli/internal/pkg/flags" "github.com/stackitcloud/stackit-cli/internal/pkg/globalflags" "github.com/stackitcloud/stackit-cli/internal/pkg/print" - "github.com/stackitcloud/stackit-cli/internal/pkg/services/argus/client" - argusUtils "github.com/stackitcloud/stackit-cli/internal/pkg/services/argus/utils" - - "github.com/spf13/cobra" - "github.com/stackitcloud/stackit-sdk-go/services/argus" + "github.com/stackitcloud/stackit-cli/internal/pkg/services/observability/client" + observabilityUtils "github.com/stackitcloud/stackit-cli/internal/pkg/services/observability/utils" + "github.com/stackitcloud/stackit-sdk-go/services/observability" ) const ( @@ -32,15 +31,15 @@ type inputModel struct { func NewCmd(p *print.Printer) *cobra.Command { cmd := &cobra.Command{ Use: "create", - Short: "Creates credentials for an Argus instance.", + Short: "Creates credentials for an Observability instance.", Long: fmt.Sprintf("%s\n%s", - "Creates credentials (username and password) for an Argus instance.", + "Creates credentials (username and password) for an Observability instance.", "The credentials will be generated and included in the response. You won't be able to retrieve the password later."), Args: args.NoArgs, Example: examples.Build( examples.NewExample( - `Create credentials for Argus instance with ID "xxx"`, - "$ stackit argus credentials create --instance-id xxx"), + `Create credentials for Observability instance with ID "xxx"`, + "$ stackit observability credentials create --instance-id xxx"), ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() @@ -55,7 +54,7 @@ func NewCmd(p *print.Printer) *cobra.Command { return err } - instanceLabel, err := argusUtils.GetInstanceName(ctx, apiClient, model.InstanceId, model.ProjectId) + instanceLabel, err := observabilityUtils.GetInstanceName(ctx, apiClient, model.InstanceId, model.ProjectId) if err != nil { p.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceId @@ -76,7 +75,7 @@ func NewCmd(p *print.Printer) *cobra.Command { } resp, err := req.Execute() if err != nil { - return fmt.Errorf("create credentials for Argus instance: %w", err) + return fmt.Errorf("create credentials for Observability instance: %w", err) } return outputResult(p, model, instanceLabel, resp) @@ -105,17 +104,17 @@ func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { }, nil } -func buildRequest(ctx context.Context, model *inputModel, apiClient *argus.APIClient) argus.ApiCreateCredentialsRequest { +func buildRequest(ctx context.Context, model *inputModel, apiClient *observability.APIClient) observability.ApiCreateCredentialsRequest { req := apiClient.CreateCredentials(ctx, model.InstanceId, model.ProjectId) return req } -func outputResult(p *print.Printer, model *inputModel, instanceLabel string, resp *argus.CreateCredentialsResponse) error { +func outputResult(p *print.Printer, model *inputModel, instanceLabel string, resp *observability.CreateCredentialsResponse) error { switch model.OutputFormat { case print.JSONOutputFormat: details, err := json.MarshalIndent(resp, "", " ") if err != nil { - return fmt.Errorf("marshal Argus credentials: %w", err) + return fmt.Errorf("marshal Observability credentials: %w", err) } p.Outputln(string(details)) @@ -123,14 +122,14 @@ func outputResult(p *print.Printer, model *inputModel, instanceLabel string, res case print.YAMLOutputFormat: details, err := yaml.MarshalWithOptions(resp, yaml.IndentSequence(true)) if err != nil { - return fmt.Errorf("marshal Argus credentials: %w", err) + return fmt.Errorf("marshal Observability credentials: %w", err) } p.Outputln(string(details)) return nil default: p.Outputf("Created credentials for instance %q.\n\n", instanceLabel) - // The username field cannot be set by the user so we only display it if it's not returned empty + // The username field cannot be set by the user, so we only display it if it's not returned empty username := *resp.Credentials.Username if username != "" { p.Outputf("Username: %s\n", username) diff --git a/internal/cmd/argus/credentials/create/create_test.go b/internal/cmd/observability/credentials/create/create_test.go similarity index 93% rename from internal/cmd/argus/credentials/create/create_test.go rename to internal/cmd/observability/credentials/create/create_test.go index 6bc528545..395876a4f 100644 --- a/internal/cmd/argus/credentials/create/create_test.go +++ b/internal/cmd/observability/credentials/create/create_test.go @@ -5,7 +5,7 @@ import ( "testing" "github.com/stackitcloud/stackit-cli/internal/pkg/globalflags" - "github.com/stackitcloud/stackit-sdk-go/services/argus" + "github.com/stackitcloud/stackit-sdk-go/services/observability" "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" @@ -17,7 +17,7 @@ var projectIdFlag = globalflags.ProjectIdFlag type testCtxKey struct{} var testCtx = context.WithValue(context.Background(), testCtxKey{}, "foo") -var testClient = &argus.APIClient{} +var testClient = &observability.APIClient{} var testProjectId = uuid.NewString() var testInstanceId = uuid.NewString() @@ -46,7 +46,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel { return model } -func fixtureRequest(mods ...func(request *argus.ApiCreateCredentialsRequest)) argus.ApiCreateCredentialsRequest { +func fixtureRequest(mods ...func(request *observability.ApiCreateCredentialsRequest)) observability.ApiCreateCredentialsRequest { request := testClient.CreateCredentials(testCtx, testInstanceId, testProjectId) for _, mod := range mods { mod(&request) @@ -165,7 +165,7 @@ func TestBuildRequest(t *testing.T) { tests := []struct { description string model *inputModel - expectedRequest argus.ApiCreateCredentialsRequest + expectedRequest observability.ApiCreateCredentialsRequest }{ { description: "base", diff --git a/internal/cmd/argus/credentials/credentials.go b/internal/cmd/observability/credentials/credentials.go similarity index 60% rename from internal/cmd/argus/credentials/credentials.go rename to internal/cmd/observability/credentials/credentials.go index b5a64b94c..fb84cf9d6 100644 --- a/internal/cmd/argus/credentials/credentials.go +++ b/internal/cmd/observability/credentials/credentials.go @@ -1,9 +1,9 @@ package credentials import ( - "github.com/stackitcloud/stackit-cli/internal/cmd/argus/credentials/create" - "github.com/stackitcloud/stackit-cli/internal/cmd/argus/credentials/delete" - "github.com/stackitcloud/stackit-cli/internal/cmd/argus/credentials/list" + "github.com/stackitcloud/stackit-cli/internal/cmd/observability/credentials/create" + "github.com/stackitcloud/stackit-cli/internal/cmd/observability/credentials/delete" + "github.com/stackitcloud/stackit-cli/internal/cmd/observability/credentials/list" "github.com/stackitcloud/stackit-cli/internal/pkg/args" "github.com/stackitcloud/stackit-cli/internal/pkg/print" "github.com/stackitcloud/stackit-cli/internal/pkg/utils" @@ -14,8 +14,8 @@ import ( func NewCmd(p *print.Printer) *cobra.Command { cmd := &cobra.Command{ Use: "credentials", - Short: "Provides functionality for Argus credentials", - Long: "Provides functionality for Argus credentials.", + Short: "Provides functionality for Observability credentials", + Long: "Provides functionality for Observability credentials.", Args: args.NoArgs, Run: utils.CmdHelp, } diff --git a/internal/cmd/argus/credentials/delete/delete.go b/internal/cmd/observability/credentials/delete/delete.go similarity index 76% rename from internal/cmd/argus/credentials/delete/delete.go rename to internal/cmd/observability/credentials/delete/delete.go index b81ab3ddb..a501b949a 100644 --- a/internal/cmd/argus/credentials/delete/delete.go +++ b/internal/cmd/observability/credentials/delete/delete.go @@ -10,11 +10,11 @@ import ( "github.com/stackitcloud/stackit-cli/internal/pkg/flags" "github.com/stackitcloud/stackit-cli/internal/pkg/globalflags" "github.com/stackitcloud/stackit-cli/internal/pkg/print" - "github.com/stackitcloud/stackit-cli/internal/pkg/services/argus/client" - argusUtils "github.com/stackitcloud/stackit-cli/internal/pkg/services/argus/utils" - "github.com/stackitcloud/stackit-sdk-go/services/argus" + "github.com/stackitcloud/stackit-cli/internal/pkg/services/observability/client" + observabilityUtils "github.com/stackitcloud/stackit-cli/internal/pkg/services/observability/utils" "github.com/spf13/cobra" + "github.com/stackitcloud/stackit-sdk-go/services/observability" ) const ( @@ -32,13 +32,13 @@ type inputModel struct { func NewCmd(p *print.Printer) *cobra.Command { cmd := &cobra.Command{ Use: fmt.Sprintf("delete %s", usernameArg), - Short: "Deletes credentials of an Argus instance", - Long: "Deletes credentials of an Argus instance.", + Short: "Deletes credentials of an Observability instance", + Long: "Deletes credentials of an Observability instance.", Args: args.SingleArg(usernameArg, nil), Example: examples.Build( examples.NewExample( - `Delete credentials of username "xxx" for Argus instance with ID "yyy"`, - "$ stackit argus credentials delete xxx --instance-id yyy"), + `Delete credentials of username "xxx" for Observability instance with ID "yyy"`, + "$ stackit observability credentials delete xxx --instance-id yyy"), ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() @@ -53,7 +53,7 @@ func NewCmd(p *print.Printer) *cobra.Command { return err } - instanceLabel, err := argusUtils.GetInstanceName(ctx, apiClient, model.InstanceId, model.ProjectId) + instanceLabel, err := observabilityUtils.GetInstanceName(ctx, apiClient, model.InstanceId, model.ProjectId) if err != nil { p.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceId @@ -71,7 +71,7 @@ func NewCmd(p *print.Printer) *cobra.Command { req := buildRequest(ctx, model, apiClient) _, err = req.Execute() if err != nil { - return fmt.Errorf("delete Argus credentials: %w", err) + return fmt.Errorf("delete Observability credentials: %w", err) } p.Info("Deleted credentials for username %q of instance %q\n", model.Username, instanceLabel) @@ -104,7 +104,7 @@ func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inpu }, nil } -func buildRequest(ctx context.Context, model *inputModel, apiClient *argus.APIClient) argus.ApiDeleteCredentialsRequest { +func buildRequest(ctx context.Context, model *inputModel, apiClient *observability.APIClient) observability.ApiDeleteCredentialsRequest { req := apiClient.DeleteCredentials(ctx, model.InstanceId, model.ProjectId, model.Username) return req } diff --git a/internal/cmd/argus/credentials/delete/delete_test.go b/internal/cmd/observability/credentials/delete/delete_test.go similarity index 94% rename from internal/cmd/argus/credentials/delete/delete_test.go rename to internal/cmd/observability/credentials/delete/delete_test.go index 28034e8d9..21965e75c 100644 --- a/internal/cmd/argus/credentials/delete/delete_test.go +++ b/internal/cmd/observability/credentials/delete/delete_test.go @@ -9,7 +9,7 @@ import ( "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/google/uuid" - "github.com/stackitcloud/stackit-sdk-go/services/argus" + "github.com/stackitcloud/stackit-sdk-go/services/observability" ) var projectIdFlag = globalflags.ProjectIdFlag @@ -17,7 +17,7 @@ var projectIdFlag = globalflags.ProjectIdFlag type testCtxKey struct{} var testCtx = context.WithValue(context.Background(), testCtxKey{}, "foo") -var testClient = &argus.APIClient{} +var testClient = &observability.APIClient{} var testProjectId = uuid.NewString() var testInstanceId = uuid.NewString() @@ -59,7 +59,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel { return model } -func fixtureRequest(mods ...func(request *argus.ApiDeleteCredentialsRequest)) argus.ApiDeleteCredentialsRequest { +func fixtureRequest(mods ...func(request *observability.ApiDeleteCredentialsRequest)) observability.ApiDeleteCredentialsRequest { request := testClient.DeleteCredentials(testCtx, testInstanceId, testProjectId, testUsername) for _, mod := range mods { mod(&request) @@ -213,7 +213,7 @@ func TestBuildRequest(t *testing.T) { tests := []struct { description string model *inputModel - expectedRequest argus.ApiDeleteCredentialsRequest + expectedRequest observability.ApiDeleteCredentialsRequest }{ { description: "base", diff --git a/internal/cmd/argus/credentials/list/list.go b/internal/cmd/observability/credentials/list/list.go similarity index 72% rename from internal/cmd/argus/credentials/list/list.go rename to internal/cmd/observability/credentials/list/list.go index 795b4278e..2fb435bb1 100644 --- a/internal/cmd/argus/credentials/list/list.go +++ b/internal/cmd/observability/credentials/list/list.go @@ -12,12 +12,12 @@ import ( "github.com/stackitcloud/stackit-cli/internal/pkg/flags" "github.com/stackitcloud/stackit-cli/internal/pkg/globalflags" "github.com/stackitcloud/stackit-cli/internal/pkg/print" - "github.com/stackitcloud/stackit-cli/internal/pkg/services/argus/client" - argusUtils "github.com/stackitcloud/stackit-cli/internal/pkg/services/argus/utils" + "github.com/stackitcloud/stackit-cli/internal/pkg/services/observability/client" + observabilityUtils "github.com/stackitcloud/stackit-cli/internal/pkg/services/observability/utils" "github.com/stackitcloud/stackit-cli/internal/pkg/tables" - "github.com/stackitcloud/stackit-sdk-go/services/argus" "github.com/spf13/cobra" + "github.com/stackitcloud/stackit-sdk-go/services/observability" ) const ( @@ -34,19 +34,19 @@ type inputModel struct { func NewCmd(p *print.Printer) *cobra.Command { cmd := &cobra.Command{ Use: "list", - Short: "Lists the usernames of all credentials for an Argus instance", - Long: "Lists the usernames of all credentials for an Argus instance.", + Short: "Lists the usernames of all credentials for an Observability instance", + Long: "Lists the usernames of all credentials for an Observability instance.", Args: args.NoArgs, Example: examples.Build( examples.NewExample( - `List the usernames of all credentials for an Argus instance with ID "xxx"`, - "$ stackit argus credentials list --instance-id xxx"), + `List the usernames of all credentials for an Observability instance with ID "xxx"`, + "$ stackit observability credentials list --instance-id xxx"), examples.NewExample( - `List the usernames of all credentials for an Argus instance in JSON format`, - "$ stackit argus credentials list --instance-id xxx --output-format json"), + `List the usernames of all credentials for an Observability instance in JSON format`, + "$ stackit observability credentials list --instance-id xxx --output-format json"), examples.NewExample( - `List the usernames of up to 10 credentials for an Argus instance`, - "$ stackit argus credentials list --instance-id xxx --limit 10"), + `List the usernames of up to 10 credentials for an Observability instance`, + "$ stackit observability credentials list --instance-id xxx --limit 10"), ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() @@ -65,11 +65,11 @@ func NewCmd(p *print.Printer) *cobra.Command { req := buildRequest(ctx, model, apiClient) resp, err := req.Execute() if err != nil { - return fmt.Errorf("list Argus credentials: %w", err) + return fmt.Errorf("list Observability credentials: %w", err) } credentials := *resp.Credentials if len(credentials) == 0 { - instanceLabel, err := argusUtils.GetInstanceName(ctx, apiClient, model.InstanceId, model.ProjectId) + instanceLabel, err := observabilityUtils.GetInstanceName(ctx, apiClient, model.InstanceId, model.ProjectId) if err != nil { p.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceId @@ -118,17 +118,17 @@ func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { }, nil } -func buildRequest(ctx context.Context, model *inputModel, apiClient *argus.APIClient) argus.ApiListCredentialsRequest { +func buildRequest(ctx context.Context, model *inputModel, apiClient *observability.APIClient) observability.ApiListCredentialsRequest { req := apiClient.ListCredentials(ctx, model.InstanceId, model.ProjectId) return req } -func outputResult(p *print.Printer, outputFormat string, credentials []argus.ServiceKeysList) error { +func outputResult(p *print.Printer, outputFormat string, credentials []observability.ServiceKeysList) error { switch outputFormat { case print.JSONOutputFormat: details, err := json.MarshalIndent(credentials, "", " ") if err != nil { - return fmt.Errorf("marshal Argus credentials list: %w", err) + return fmt.Errorf("marshal Observability credentials list: %w", err) } p.Outputln(string(details)) @@ -136,7 +136,7 @@ func outputResult(p *print.Printer, outputFormat string, credentials []argus.Ser case print.YAMLOutputFormat: details, err := yaml.MarshalWithOptions(credentials, yaml.IndentSequence(true)) if err != nil { - return fmt.Errorf("marshal Argus credentials list: %w", err) + return fmt.Errorf("marshal Observability credentials list: %w", err) } p.Outputln(string(details)) diff --git a/internal/cmd/argus/credentials/list/list_test.go b/internal/cmd/observability/credentials/list/list_test.go similarity index 94% rename from internal/cmd/argus/credentials/list/list_test.go rename to internal/cmd/observability/credentials/list/list_test.go index 14509ec68..3d188dba3 100644 --- a/internal/cmd/argus/credentials/list/list_test.go +++ b/internal/cmd/observability/credentials/list/list_test.go @@ -10,7 +10,7 @@ import ( "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/google/uuid" - "github.com/stackitcloud/stackit-sdk-go/services/argus" + "github.com/stackitcloud/stackit-sdk-go/services/observability" ) var projectIdFlag = globalflags.ProjectIdFlag @@ -18,7 +18,7 @@ var projectIdFlag = globalflags.ProjectIdFlag type testCtxKey struct{} var testCtx = context.WithValue(context.Background(), testCtxKey{}, "foo") -var testClient = &argus.APIClient{} +var testClient = &observability.APIClient{} var testProjectId = uuid.NewString() var testInstanceId = uuid.NewString() @@ -49,7 +49,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel { return model } -func fixtureRequest(mods ...func(request *argus.ApiListCredentialsRequest)) argus.ApiListCredentialsRequest { +func fixtureRequest(mods ...func(request *observability.ApiListCredentialsRequest)) observability.ApiListCredentialsRequest { request := testClient.ListCredentials(testCtx, testInstanceId, testProjectId) for _, mod := range mods { mod(&request) @@ -182,7 +182,7 @@ func TestBuildRequest(t *testing.T) { tests := []struct { description string model *inputModel - expectedRequest argus.ApiListCredentialsRequest + expectedRequest observability.ApiListCredentialsRequest }{ { description: "base", diff --git a/internal/cmd/argus/grafana/describe/describe.go b/internal/cmd/observability/grafana/describe/describe.go similarity index 80% rename from internal/cmd/argus/grafana/describe/describe.go rename to internal/cmd/observability/grafana/describe/describe.go index 4c8f930b7..46e7f60ee 100644 --- a/internal/cmd/argus/grafana/describe/describe.go +++ b/internal/cmd/observability/grafana/describe/describe.go @@ -12,12 +12,12 @@ import ( "github.com/stackitcloud/stackit-cli/internal/pkg/flags" "github.com/stackitcloud/stackit-cli/internal/pkg/globalflags" "github.com/stackitcloud/stackit-cli/internal/pkg/print" - "github.com/stackitcloud/stackit-cli/internal/pkg/services/argus/client" + "github.com/stackitcloud/stackit-cli/internal/pkg/services/observability/client" "github.com/stackitcloud/stackit-cli/internal/pkg/tables" "github.com/stackitcloud/stackit-cli/internal/pkg/utils" "github.com/spf13/cobra" - "github.com/stackitcloud/stackit-sdk-go/services/argus" + "github.com/stackitcloud/stackit-sdk-go/services/observability" ) const ( @@ -34,23 +34,23 @@ type inputModel struct { func NewCmd(p *print.Printer) *cobra.Command { cmd := &cobra.Command{ Use: fmt.Sprintf("describe %s", instanceIdArg), - Short: "Shows details of the Grafana configuration of an Argus instance", + Short: "Shows details of the Grafana configuration of an Observability instance", Long: fmt.Sprintf("%s\n%s\n%s", - "Shows details of the Grafana configuration of an Argus instance.", + "Shows details of the Grafana configuration of an Observability instance.", `The Grafana dashboard URL and initial credentials (admin user and password) will be shown in the "pretty" output format. These credentials are only valid for first login. Please change the password after first login. After changing, the initial password is no longer valid.`, `The initial password is hidden by default, if you want to show it use the "--show-password" flag.`, ), Args: args.SingleArg(instanceIdArg, utils.ValidateUUID), Example: examples.Build( examples.NewExample( - `Get details of the Grafana configuration of an Argus instance with ID "xxx"`, - "$ stackit argus credentials describe xxx"), + `Get details of the Grafana configuration of an Observability instance with ID "xxx"`, + "$ stackit observability credentials describe xxx"), examples.NewExample( - `Get details of the Grafana configuration of an Argus instance with ID "xxx" and show the initial admin password`, - "$ stackit argus credentials describe xxx --show-password"), + `Get details of the Grafana configuration of an Observability instance with ID "xxx" and show the initial admin password`, + "$ stackit observability credentials describe xxx --show-password"), examples.NewExample( - `Get details of the Grafana configuration of an Argus instance with ID "xxx" in JSON format`, - "$ stackit argus credentials describe xxx --output-format json"), + `Get details of the Grafana configuration of an Observability instance with ID "xxx" in JSON format`, + "$ stackit observability credentials describe xxx --output-format json"), ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() @@ -114,17 +114,17 @@ func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inpu return &model, nil } -func buildGetGrafanaConfigRequest(ctx context.Context, model *inputModel, apiClient *argus.APIClient) argus.ApiGetGrafanaConfigsRequest { +func buildGetGrafanaConfigRequest(ctx context.Context, model *inputModel, apiClient *observability.APIClient) observability.ApiGetGrafanaConfigsRequest { req := apiClient.GetGrafanaConfigs(ctx, model.InstanceId, model.ProjectId) return req } -func buildGetInstanceRequest(ctx context.Context, model *inputModel, apiClient *argus.APIClient) argus.ApiGetInstanceRequest { +func buildGetInstanceRequest(ctx context.Context, model *inputModel, apiClient *observability.APIClient) observability.ApiGetInstanceRequest { req := apiClient.GetInstance(ctx, model.InstanceId, model.ProjectId) return req } -func outputResult(p *print.Printer, inputModel *inputModel, grafanaConfigs *argus.GrafanaConfigs, instance *argus.GetInstanceResponse) error { +func outputResult(p *print.Printer, inputModel *inputModel, grafanaConfigs *observability.GrafanaConfigs, instance *observability.GetInstanceResponse) error { switch inputModel.OutputFormat { case print.JSONOutputFormat: details, err := json.MarshalIndent(grafanaConfigs, "", " ") diff --git a/internal/cmd/argus/grafana/describe/describe_test.go b/internal/cmd/observability/grafana/describe/describe_test.go similarity index 92% rename from internal/cmd/argus/grafana/describe/describe_test.go rename to internal/cmd/observability/grafana/describe/describe_test.go index 2bc97589b..d2b2daec0 100644 --- a/internal/cmd/argus/grafana/describe/describe_test.go +++ b/internal/cmd/observability/grafana/describe/describe_test.go @@ -10,7 +10,7 @@ import ( "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/google/uuid" - "github.com/stackitcloud/stackit-sdk-go/services/argus" + "github.com/stackitcloud/stackit-sdk-go/services/observability" ) var projectIdFlag = globalflags.ProjectIdFlag @@ -18,7 +18,7 @@ var projectIdFlag = globalflags.ProjectIdFlag type testCtxKey struct{} var testCtx = context.WithValue(context.Background(), testCtxKey{}, "foo") -var testClient = &argus.APIClient{} +var testClient = &observability.APIClient{} var testProjectId = uuid.NewString() var testInstanceId = uuid.NewString() @@ -56,7 +56,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel { return model } -func fixtureGetGrafanaConfigsRequest(mods ...func(request *argus.ApiGetGrafanaConfigsRequest)) argus.ApiGetGrafanaConfigsRequest { +func fixtureGetGrafanaConfigsRequest(mods ...func(request *observability.ApiGetGrafanaConfigsRequest)) observability.ApiGetGrafanaConfigsRequest { request := testClient.GetGrafanaConfigs(testCtx, testInstanceId, testProjectId) for _, mod := range mods { mod(&request) @@ -64,7 +64,7 @@ func fixtureGetGrafanaConfigsRequest(mods ...func(request *argus.ApiGetGrafanaCo return request } -func fixtureGetInstanceRequest(mods ...func(request *argus.ApiGetInstanceRequest)) argus.ApiGetInstanceRequest { +func fixtureGetInstanceRequest(mods ...func(request *observability.ApiGetInstanceRequest)) observability.ApiGetInstanceRequest { request := testClient.GetInstance(testCtx, testInstanceId, testProjectId) for _, mod := range mods { mod(&request) @@ -225,7 +225,7 @@ func TestBuildGetGrafanaConfigsRequest(t *testing.T) { tests := []struct { description string model *inputModel - expectedRequest argus.ApiGetGrafanaConfigsRequest + expectedRequest observability.ApiGetGrafanaConfigsRequest }{ { description: "base", @@ -253,7 +253,7 @@ func TestBuildGetInstanceRequest(t *testing.T) { tests := []struct { description string model *inputModel - expectedRequest argus.ApiGetInstanceRequest + expectedRequest observability.ApiGetInstanceRequest }{ { description: "base", diff --git a/internal/cmd/argus/grafana/grafana.go b/internal/cmd/observability/grafana/grafana.go similarity index 79% rename from internal/cmd/argus/grafana/grafana.go rename to internal/cmd/observability/grafana/grafana.go index 19ed4368a..e9ad230d1 100644 --- a/internal/cmd/argus/grafana/grafana.go +++ b/internal/cmd/observability/grafana/grafana.go @@ -1,9 +1,9 @@ package grafana import ( - "github.com/stackitcloud/stackit-cli/internal/cmd/argus/grafana/describe" - publicreadaccess "github.com/stackitcloud/stackit-cli/internal/cmd/argus/grafana/public-read-access" - singlesignon "github.com/stackitcloud/stackit-cli/internal/cmd/argus/grafana/single-sign-on" + "github.com/stackitcloud/stackit-cli/internal/cmd/observability/grafana/describe" + publicreadaccess "github.com/stackitcloud/stackit-cli/internal/cmd/observability/grafana/public-read-access" + singlesignon "github.com/stackitcloud/stackit-cli/internal/cmd/observability/grafana/single-sign-on" "github.com/stackitcloud/stackit-cli/internal/pkg/args" "github.com/stackitcloud/stackit-cli/internal/pkg/print" "github.com/stackitcloud/stackit-cli/internal/pkg/utils" @@ -14,8 +14,8 @@ import ( func NewCmd(p *print.Printer) *cobra.Command { cmd := &cobra.Command{ Use: "grafana", - Short: "Provides functionality for the Grafana configuration of Argus instances", - Long: "Provides functionality for the Grafana configuration of Argus instances.", + Short: "Provides functionality for the Grafana configuration of Observability instances", + Long: "Provides functionality for the Grafana configuration of Observability instances.", Args: args.NoArgs, Run: utils.CmdHelp, } diff --git a/internal/cmd/argus/grafana/public-read-access/disable/disable.go b/internal/cmd/observability/grafana/public-read-access/disable/disable.go similarity index 75% rename from internal/cmd/argus/grafana/public-read-access/disable/disable.go rename to internal/cmd/observability/grafana/public-read-access/disable/disable.go index fe5383380..ac6cd80a4 100644 --- a/internal/cmd/argus/grafana/public-read-access/disable/disable.go +++ b/internal/cmd/observability/grafana/public-read-access/disable/disable.go @@ -9,12 +9,12 @@ import ( "github.com/stackitcloud/stackit-cli/internal/pkg/examples" "github.com/stackitcloud/stackit-cli/internal/pkg/globalflags" "github.com/stackitcloud/stackit-cli/internal/pkg/print" - "github.com/stackitcloud/stackit-cli/internal/pkg/services/argus/client" - argusUtils "github.com/stackitcloud/stackit-cli/internal/pkg/services/argus/utils" + "github.com/stackitcloud/stackit-cli/internal/pkg/services/observability/client" + observabilityUtils "github.com/stackitcloud/stackit-cli/internal/pkg/services/observability/utils" "github.com/stackitcloud/stackit-cli/internal/pkg/utils" + "github.com/stackitcloud/stackit-sdk-go/services/observability" "github.com/spf13/cobra" - "github.com/stackitcloud/stackit-sdk-go/services/argus" ) const ( @@ -29,16 +29,16 @@ type inputModel struct { func NewCmd(p *print.Printer) *cobra.Command { cmd := &cobra.Command{ Use: fmt.Sprintf("disable %s", instanceIdArg), - Short: "Disables public read access for Grafana on Argus instances", + Short: "Disables public read access for Grafana on Observability instances", Long: fmt.Sprintf("%s\n%s", - "Disables public read access for Grafana on Argus instances.", + "Disables public read access for Grafana on Observability instances.", "When disabled, a login is required to access the Grafana dashboards of the instance. Otherwise, anyone can access the dashboards.", ), Args: args.SingleArg(instanceIdArg, utils.ValidateUUID), Example: examples.Build( examples.NewExample( - `Disable public read access for Grafana on an Argus instance with ID "xxx"`, - "$ stackit argus grafana public-read-access disable xxx"), + `Disable public read access for Grafana on an Observability instance with ID "xxx"`, + "$ stackit observability grafana public-read-access disable xxx"), ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() @@ -53,7 +53,7 @@ func NewCmd(p *print.Printer) *cobra.Command { return err } - instanceLabel, err := argusUtils.GetInstanceName(ctx, apiClient, model.InstanceId, model.ProjectId) + instanceLabel, err := observabilityUtils.GetInstanceName(ctx, apiClient, model.InstanceId, model.ProjectId) if err != nil || instanceLabel == "" { instanceLabel = model.InstanceId } @@ -108,9 +108,9 @@ func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inpu return &model, nil } -func buildRequest(ctx context.Context, model *inputModel, apiClient argusUtils.ArgusClient) (argus.ApiUpdateGrafanaConfigsRequest, error) { +func buildRequest(ctx context.Context, model *inputModel, apiClient observabilityUtils.ObservabilityClient) (observability.ApiUpdateGrafanaConfigsRequest, error) { req := apiClient.UpdateGrafanaConfigs(ctx, model.InstanceId, model.ProjectId) - payload, err := argusUtils.GetPartialUpdateGrafanaConfigsPayload(ctx, apiClient, model.InstanceId, model.ProjectId, nil, utils.Ptr(false)) + payload, err := observabilityUtils.GetPartialUpdateGrafanaConfigsPayload(ctx, apiClient, model.InstanceId, model.ProjectId, nil, utils.Ptr(false)) if err != nil { return req, fmt.Errorf("build request payload: %w", err) } diff --git a/internal/cmd/argus/grafana/public-read-access/disable/disable_test.go b/internal/cmd/observability/grafana/public-read-access/disable/disable_test.go similarity index 79% rename from internal/cmd/argus/grafana/public-read-access/disable/disable_test.go rename to internal/cmd/observability/grafana/public-read-access/disable/disable_test.go index b52ba7223..7e08ac647 100644 --- a/internal/cmd/argus/grafana/public-read-access/disable/disable_test.go +++ b/internal/cmd/observability/grafana/public-read-access/disable/disable_test.go @@ -7,13 +7,13 @@ import ( "github.com/stackitcloud/stackit-cli/internal/pkg/globalflags" "github.com/stackitcloud/stackit-cli/internal/pkg/print" - argusUtils "github.com/stackitcloud/stackit-cli/internal/pkg/services/argus/utils" "github.com/stackitcloud/stackit-cli/internal/pkg/utils" "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/google/uuid" - "github.com/stackitcloud/stackit-sdk-go/services/argus" + observabilityUtils "github.com/stackitcloud/stackit-cli/internal/pkg/services/observability/utils" + "github.com/stackitcloud/stackit-sdk-go/services/observability" ) var projectIdFlag = globalflags.ProjectIdFlag @@ -21,24 +21,24 @@ var projectIdFlag = globalflags.ProjectIdFlag type testCtxKey struct{} var testCtx = context.WithValue(context.Background(), testCtxKey{}, "foo") -var testClient = &argus.APIClient{} +var testClient = &observability.APIClient{} var testProjectId = uuid.NewString() var testInstanceId = uuid.NewString() -type argusClientMocked struct { +type observabilityClientMocked struct { getGrafanaConfigsFails bool - getGrafanaConfigsResp *argus.GrafanaConfigs + getGrafanaConfigsResp *observability.GrafanaConfigs } -func (c *argusClientMocked) GetInstanceExecute(ctx context.Context, instanceId, projectId string) (*argus.GetInstanceResponse, error) { +func (c *observabilityClientMocked) GetInstanceExecute(ctx context.Context, instanceId, projectId string) (*observability.GetInstanceResponse, error) { return testClient.GetInstanceExecute(ctx, instanceId, projectId) } -func (c *argusClientMocked) UpdateGrafanaConfigs(ctx context.Context, instanceId, projectId string) argus.ApiUpdateGrafanaConfigsRequest { +func (c *observabilityClientMocked) UpdateGrafanaConfigs(ctx context.Context, instanceId, projectId string) observability.ApiUpdateGrafanaConfigsRequest { return testClient.UpdateGrafanaConfigs(ctx, instanceId, projectId) } -func (c *argusClientMocked) GetGrafanaConfigsExecute(_ context.Context, _, _ string) (*argus.GrafanaConfigs, error) { +func (c *observabilityClientMocked) GetGrafanaConfigsExecute(_ context.Context, _, _ string) (*observability.GrafanaConfigs, error) { if c.getGrafanaConfigsFails { return nil, fmt.Errorf("get payload failed") } @@ -79,9 +79,9 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel { return model } -func fixtureGrafanaConfigs(mods ...func(gc *argus.GrafanaConfigs)) *argus.GrafanaConfigs { - gc := argus.GrafanaConfigs{ - GenericOauth: &argus.GrafanaOauth{ +func fixtureGrafanaConfigs(mods ...func(gc *observability.GrafanaConfigs)) *observability.GrafanaConfigs { + gc := observability.GrafanaConfigs{ + GenericOauth: &observability.GrafanaOauth{ ApiUrl: utils.Ptr("apiUrl"), AuthUrl: utils.Ptr("authUrl"), Enabled: utils.Ptr(true), @@ -103,9 +103,9 @@ func fixtureGrafanaConfigs(mods ...func(gc *argus.GrafanaConfigs)) *argus.Grafan return &gc } -func fixturePayload(mods ...func(payload *argus.UpdateGrafanaConfigsPayload)) *argus.UpdateGrafanaConfigsPayload { - payload := &argus.UpdateGrafanaConfigsPayload{ - GenericOauth: argusUtils.ToPayloadGenericOAuth(fixtureGrafanaConfigs().GenericOauth), +func fixturePayload(mods ...func(payload *observability.UpdateGrafanaConfigsPayload)) *observability.UpdateGrafanaConfigsPayload { + payload := &observability.UpdateGrafanaConfigsPayload{ + GenericOauth: observabilityUtils.ToPayloadGenericOAuth(fixtureGrafanaConfigs().GenericOauth), PublicReadAccess: utils.Ptr(false), UseStackitSso: fixtureGrafanaConfigs().UseStackitSso, } @@ -115,7 +115,7 @@ func fixturePayload(mods ...func(payload *argus.UpdateGrafanaConfigsPayload)) *a return payload } -func fixtureRequest(mods ...func(request *argus.ApiUpdateGrafanaConfigsRequest)) argus.ApiUpdateGrafanaConfigsRequest { +func fixtureRequest(mods ...func(request *observability.ApiUpdateGrafanaConfigsRequest)) observability.ApiUpdateGrafanaConfigsRequest { request := testClient.UpdateGrafanaConfigs(testCtx, testInstanceId, testProjectId) request = request.UpdateGrafanaConfigsPayload(*fixturePayload()) for _, mod := range mods { @@ -242,9 +242,9 @@ func TestBuildRequest(t *testing.T) { description string model *inputModel getGrafanaConfigsFails bool - getGrafanaConfigsResp *argus.GrafanaConfigs + getGrafanaConfigsResp *observability.GrafanaConfigs isValid bool - expectedRequest argus.ApiUpdateGrafanaConfigsRequest + expectedRequest observability.ApiUpdateGrafanaConfigsRequest }{ { description: "base", @@ -256,12 +256,12 @@ func TestBuildRequest(t *testing.T) { { description: "nil generic oauth", model: fixtureInputModel(), - getGrafanaConfigsResp: fixtureGrafanaConfigs(func(gc *argus.GrafanaConfigs) { + getGrafanaConfigsResp: fixtureGrafanaConfigs(func(gc *observability.GrafanaConfigs) { gc.GenericOauth = nil }), isValid: true, - expectedRequest: fixtureRequest(func(request *argus.ApiUpdateGrafanaConfigsRequest) { - *request = request.UpdateGrafanaConfigsPayload(*fixturePayload(func(payload *argus.UpdateGrafanaConfigsPayload) { + expectedRequest: fixtureRequest(func(request *observability.ApiUpdateGrafanaConfigsRequest) { + *request = request.UpdateGrafanaConfigsPayload(*fixturePayload(func(payload *observability.UpdateGrafanaConfigsPayload) { payload.GenericOauth = nil })) }), @@ -282,7 +282,7 @@ func TestBuildRequest(t *testing.T) { for _, tt := range tests { t.Run(tt.description, func(t *testing.T) { - client := &argusClientMocked{ + client := &observabilityClientMocked{ getGrafanaConfigsFails: tt.getGrafanaConfigsFails, getGrafanaConfigsResp: tt.getGrafanaConfigsResp, } diff --git a/internal/cmd/argus/grafana/public-read-access/enable/enable.go b/internal/cmd/observability/grafana/public-read-access/enable/enable.go similarity index 75% rename from internal/cmd/argus/grafana/public-read-access/enable/enable.go rename to internal/cmd/observability/grafana/public-read-access/enable/enable.go index 07c105fb4..9296a1f24 100644 --- a/internal/cmd/argus/grafana/public-read-access/enable/enable.go +++ b/internal/cmd/observability/grafana/public-read-access/enable/enable.go @@ -9,12 +9,12 @@ import ( "github.com/stackitcloud/stackit-cli/internal/pkg/examples" "github.com/stackitcloud/stackit-cli/internal/pkg/globalflags" "github.com/stackitcloud/stackit-cli/internal/pkg/print" - "github.com/stackitcloud/stackit-cli/internal/pkg/services/argus/client" - argusUtils "github.com/stackitcloud/stackit-cli/internal/pkg/services/argus/utils" + "github.com/stackitcloud/stackit-cli/internal/pkg/services/observability/client" "github.com/stackitcloud/stackit-cli/internal/pkg/utils" "github.com/spf13/cobra" - "github.com/stackitcloud/stackit-sdk-go/services/argus" + observabilityUtils "github.com/stackitcloud/stackit-cli/internal/pkg/services/observability/utils" + "github.com/stackitcloud/stackit-sdk-go/services/observability" ) const ( @@ -29,16 +29,16 @@ type inputModel struct { func NewCmd(p *print.Printer) *cobra.Command { cmd := &cobra.Command{ Use: fmt.Sprintf("enable %s", instanceIdArg), - Short: "Enables public read access for Grafana on Argus instances", + Short: "Enables public read access for Grafana on Observability instances", Long: fmt.Sprintf("%s\n%s", - "Enables public read access for Grafana on Argus instances.", + "Enables public read access for Grafana on Observability instances.", "When enabled, anyone can access the Grafana dashboards of the instance without logging in. Otherwise, a login is required.", ), Args: args.SingleArg(instanceIdArg, utils.ValidateUUID), Example: examples.Build( examples.NewExample( - `Enable public read access for Grafana on an Argus instance with ID "xxx"`, - "$ stackit argus grafana public-read-access enable xxx"), + `Enable public read access for Grafana on an Observability instance with ID "xxx"`, + "$ stackit observability grafana public-read-access enable xxx"), ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() @@ -53,7 +53,7 @@ func NewCmd(p *print.Printer) *cobra.Command { return err } - instanceLabel, err := argusUtils.GetInstanceName(ctx, apiClient, model.InstanceId, model.ProjectId) + instanceLabel, err := observabilityUtils.GetInstanceName(ctx, apiClient, model.InstanceId, model.ProjectId) if err != nil || instanceLabel == "" { instanceLabel = model.InstanceId } @@ -108,9 +108,9 @@ func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inpu return &model, nil } -func buildRequest(ctx context.Context, model *inputModel, apiClient argusUtils.ArgusClient) (argus.ApiUpdateGrafanaConfigsRequest, error) { +func buildRequest(ctx context.Context, model *inputModel, apiClient observabilityUtils.ObservabilityClient) (observability.ApiUpdateGrafanaConfigsRequest, error) { req := apiClient.UpdateGrafanaConfigs(ctx, model.InstanceId, model.ProjectId) - payload, err := argusUtils.GetPartialUpdateGrafanaConfigsPayload(ctx, apiClient, model.InstanceId, model.ProjectId, nil, utils.Ptr(true)) + payload, err := observabilityUtils.GetPartialUpdateGrafanaConfigsPayload(ctx, apiClient, model.InstanceId, model.ProjectId, nil, utils.Ptr(true)) if err != nil { return req, fmt.Errorf("build request payload: %w", err) } diff --git a/internal/cmd/argus/grafana/public-read-access/enable/enable_test.go b/internal/cmd/observability/grafana/public-read-access/enable/enable_test.go similarity index 79% rename from internal/cmd/argus/grafana/public-read-access/enable/enable_test.go rename to internal/cmd/observability/grafana/public-read-access/enable/enable_test.go index 04d80e287..57ebc5bc3 100644 --- a/internal/cmd/argus/grafana/public-read-access/enable/enable_test.go +++ b/internal/cmd/observability/grafana/public-read-access/enable/enable_test.go @@ -7,13 +7,13 @@ import ( "github.com/stackitcloud/stackit-cli/internal/pkg/globalflags" "github.com/stackitcloud/stackit-cli/internal/pkg/print" - argusUtils "github.com/stackitcloud/stackit-cli/internal/pkg/services/argus/utils" "github.com/stackitcloud/stackit-cli/internal/pkg/utils" "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/google/uuid" - "github.com/stackitcloud/stackit-sdk-go/services/argus" + observabilityUtils "github.com/stackitcloud/stackit-cli/internal/pkg/services/observability/utils" + "github.com/stackitcloud/stackit-sdk-go/services/observability" ) var projectIdFlag = globalflags.ProjectIdFlag @@ -21,24 +21,24 @@ var projectIdFlag = globalflags.ProjectIdFlag type testCtxKey struct{} var testCtx = context.WithValue(context.Background(), testCtxKey{}, "foo") -var testClient = &argus.APIClient{} +var testClient = &observability.APIClient{} var testProjectId = uuid.NewString() var testInstanceId = uuid.NewString() -type argusClientMocked struct { +type observabilityClientMocked struct { getGrafanaConfigsFails bool - getGrafanaConfigsResp *argus.GrafanaConfigs + getGrafanaConfigsResp *observability.GrafanaConfigs } -func (c *argusClientMocked) GetInstanceExecute(ctx context.Context, instanceId, projectId string) (*argus.GetInstanceResponse, error) { +func (c *observabilityClientMocked) GetInstanceExecute(ctx context.Context, instanceId, projectId string) (*observability.GetInstanceResponse, error) { return testClient.GetInstanceExecute(ctx, instanceId, projectId) } -func (c *argusClientMocked) UpdateGrafanaConfigs(ctx context.Context, instanceId, projectId string) argus.ApiUpdateGrafanaConfigsRequest { +func (c *observabilityClientMocked) UpdateGrafanaConfigs(ctx context.Context, instanceId, projectId string) observability.ApiUpdateGrafanaConfigsRequest { return testClient.UpdateGrafanaConfigs(ctx, instanceId, projectId) } -func (c *argusClientMocked) GetGrafanaConfigsExecute(_ context.Context, _, _ string) (*argus.GrafanaConfigs, error) { +func (c *observabilityClientMocked) GetGrafanaConfigsExecute(_ context.Context, _, _ string) (*observability.GrafanaConfigs, error) { if c.getGrafanaConfigsFails { return nil, fmt.Errorf("get payload failed") } @@ -79,9 +79,9 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel { return model } -func fixtureGrafanaConfigs(mods ...func(gc *argus.GrafanaConfigs)) *argus.GrafanaConfigs { - gc := argus.GrafanaConfigs{ - GenericOauth: &argus.GrafanaOauth{ +func fixtureGrafanaConfigs(mods ...func(gc *observability.GrafanaConfigs)) *observability.GrafanaConfigs { + gc := observability.GrafanaConfigs{ + GenericOauth: &observability.GrafanaOauth{ ApiUrl: utils.Ptr("apiUrl"), AuthUrl: utils.Ptr("authUrl"), Enabled: utils.Ptr(true), @@ -103,9 +103,9 @@ func fixtureGrafanaConfigs(mods ...func(gc *argus.GrafanaConfigs)) *argus.Grafan return &gc } -func fixturePayload(mods ...func(payload *argus.UpdateGrafanaConfigsPayload)) *argus.UpdateGrafanaConfigsPayload { - payload := &argus.UpdateGrafanaConfigsPayload{ - GenericOauth: argusUtils.ToPayloadGenericOAuth(fixtureGrafanaConfigs().GenericOauth), +func fixturePayload(mods ...func(payload *observability.UpdateGrafanaConfigsPayload)) *observability.UpdateGrafanaConfigsPayload { + payload := &observability.UpdateGrafanaConfigsPayload{ + GenericOauth: observabilityUtils.ToPayloadGenericOAuth(fixtureGrafanaConfigs().GenericOauth), PublicReadAccess: utils.Ptr(true), UseStackitSso: fixtureGrafanaConfigs().UseStackitSso, } @@ -115,7 +115,7 @@ func fixturePayload(mods ...func(payload *argus.UpdateGrafanaConfigsPayload)) *a return payload } -func fixtureRequest(mods ...func(request *argus.ApiUpdateGrafanaConfigsRequest)) argus.ApiUpdateGrafanaConfigsRequest { +func fixtureRequest(mods ...func(request *observability.ApiUpdateGrafanaConfigsRequest)) observability.ApiUpdateGrafanaConfigsRequest { request := testClient.UpdateGrafanaConfigs(testCtx, testInstanceId, testProjectId) request = request.UpdateGrafanaConfigsPayload(*fixturePayload()) for _, mod := range mods { @@ -242,9 +242,9 @@ func TestBuildRequest(t *testing.T) { description string model *inputModel getGrafanaConfigsFails bool - getGrafanaConfigsResp *argus.GrafanaConfigs + getGrafanaConfigsResp *observability.GrafanaConfigs isValid bool - expectedRequest argus.ApiUpdateGrafanaConfigsRequest + expectedRequest observability.ApiUpdateGrafanaConfigsRequest }{ { description: "base", @@ -256,12 +256,12 @@ func TestBuildRequest(t *testing.T) { { description: "nil generic oauth", model: fixtureInputModel(), - getGrafanaConfigsResp: fixtureGrafanaConfigs(func(gc *argus.GrafanaConfigs) { + getGrafanaConfigsResp: fixtureGrafanaConfigs(func(gc *observability.GrafanaConfigs) { gc.GenericOauth = nil }), isValid: true, - expectedRequest: fixtureRequest(func(request *argus.ApiUpdateGrafanaConfigsRequest) { - *request = request.UpdateGrafanaConfigsPayload(*fixturePayload(func(payload *argus.UpdateGrafanaConfigsPayload) { + expectedRequest: fixtureRequest(func(request *observability.ApiUpdateGrafanaConfigsRequest) { + *request = request.UpdateGrafanaConfigsPayload(*fixturePayload(func(payload *observability.UpdateGrafanaConfigsPayload) { payload.GenericOauth = nil })) }), @@ -282,7 +282,7 @@ func TestBuildRequest(t *testing.T) { for _, tt := range tests { t.Run(tt.description, func(t *testing.T) { - client := &argusClientMocked{ + client := &observabilityClientMocked{ getGrafanaConfigsFails: tt.getGrafanaConfigsFails, getGrafanaConfigsResp: tt.getGrafanaConfigsResp, } diff --git a/internal/cmd/argus/grafana/public-read-access/public_read_access.go b/internal/cmd/observability/grafana/public-read-access/public_read_access.go similarity index 66% rename from internal/cmd/argus/grafana/public-read-access/public_read_access.go rename to internal/cmd/observability/grafana/public-read-access/public_read_access.go index 736a6e265..8844e1279 100644 --- a/internal/cmd/argus/grafana/public-read-access/public_read_access.go +++ b/internal/cmd/observability/grafana/public-read-access/public_read_access.go @@ -3,8 +3,8 @@ package publicreadaccess import ( "fmt" - "github.com/stackitcloud/stackit-cli/internal/cmd/argus/grafana/public-read-access/disable" - "github.com/stackitcloud/stackit-cli/internal/cmd/argus/grafana/public-read-access/enable" + "github.com/stackitcloud/stackit-cli/internal/cmd/observability/grafana/public-read-access/disable" + "github.com/stackitcloud/stackit-cli/internal/cmd/observability/grafana/public-read-access/enable" "github.com/stackitcloud/stackit-cli/internal/pkg/args" "github.com/stackitcloud/stackit-cli/internal/pkg/print" "github.com/stackitcloud/stackit-cli/internal/pkg/utils" @@ -15,9 +15,9 @@ import ( func NewCmd(p *print.Printer) *cobra.Command { cmd := &cobra.Command{ Use: "public-read-access", - Short: "Enable or disable public read access for Grafana in Argus instances", + Short: "Enable or disable public read access for Grafana in Observability instances", Long: fmt.Sprintf("%s\n%s", - "Enable or disable public read access for Grafana in Argus instances.", + "Enable or disable public read access for Grafana in Observability instances.", "When enabled, anyone can access the Grafana dashboards of the instance without logging in. Otherwise, a login is required.", ), Args: args.NoArgs, diff --git a/internal/cmd/argus/grafana/single-sign-on/disable/disable.go b/internal/cmd/observability/grafana/single-sign-on/disable/disable.go similarity index 75% rename from internal/cmd/argus/grafana/single-sign-on/disable/disable.go rename to internal/cmd/observability/grafana/single-sign-on/disable/disable.go index d41b1461d..018d7827d 100644 --- a/internal/cmd/argus/grafana/single-sign-on/disable/disable.go +++ b/internal/cmd/observability/grafana/single-sign-on/disable/disable.go @@ -9,12 +9,12 @@ import ( "github.com/stackitcloud/stackit-cli/internal/pkg/examples" "github.com/stackitcloud/stackit-cli/internal/pkg/globalflags" "github.com/stackitcloud/stackit-cli/internal/pkg/print" - "github.com/stackitcloud/stackit-cli/internal/pkg/services/argus/client" - argusUtils "github.com/stackitcloud/stackit-cli/internal/pkg/services/argus/utils" + "github.com/stackitcloud/stackit-cli/internal/pkg/services/observability/client" "github.com/stackitcloud/stackit-cli/internal/pkg/utils" "github.com/spf13/cobra" - "github.com/stackitcloud/stackit-sdk-go/services/argus" + observabilityUtils "github.com/stackitcloud/stackit-cli/internal/pkg/services/observability/utils" + "github.com/stackitcloud/stackit-sdk-go/services/observability" ) const ( @@ -29,16 +29,16 @@ type inputModel struct { func NewCmd(p *print.Printer) *cobra.Command { cmd := &cobra.Command{ Use: fmt.Sprintf("disable %s", instanceIdArg), - Short: "Disables single sign-on for Grafana on Argus instances", + Short: "Disables single sign-on for Grafana on Observability instances", Long: fmt.Sprintf("%s\n%s", - "Disables single sign-on for Grafana on Argus instances.", + "Disables single sign-on for Grafana on Observability instances.", "When disabled for an instance, the generic OAuth2 authentication is used for that instance.", ), Args: args.SingleArg(instanceIdArg, utils.ValidateUUID), Example: examples.Build( examples.NewExample( - `Disable single sign-on for Grafana on an Argus instance with ID "xxx"`, - "$ stackit argus grafana single-sign-on disable xxx"), + `Disable single sign-on for Grafana on an Observability instance with ID "xxx"`, + "$ stackit observability grafana single-sign-on disable xxx"), ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() @@ -53,7 +53,7 @@ func NewCmd(p *print.Printer) *cobra.Command { return err } - instanceLabel, err := argusUtils.GetInstanceName(ctx, apiClient, model.InstanceId, model.ProjectId) + instanceLabel, err := observabilityUtils.GetInstanceName(ctx, apiClient, model.InstanceId, model.ProjectId) if err != nil || instanceLabel == "" { instanceLabel = model.InstanceId } @@ -108,9 +108,9 @@ func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inpu return &model, nil } -func buildRequest(ctx context.Context, model *inputModel, apiClient argusUtils.ArgusClient) (argus.ApiUpdateGrafanaConfigsRequest, error) { +func buildRequest(ctx context.Context, model *inputModel, apiClient observabilityUtils.ObservabilityClient) (observability.ApiUpdateGrafanaConfigsRequest, error) { req := apiClient.UpdateGrafanaConfigs(ctx, model.InstanceId, model.ProjectId) - payload, err := argusUtils.GetPartialUpdateGrafanaConfigsPayload(ctx, apiClient, model.InstanceId, model.ProjectId, utils.Ptr(false), nil) + payload, err := observabilityUtils.GetPartialUpdateGrafanaConfigsPayload(ctx, apiClient, model.InstanceId, model.ProjectId, utils.Ptr(false), nil) if err != nil { return req, fmt.Errorf("build request payload: %w", err) } diff --git a/internal/cmd/argus/grafana/single-sign-on/disable/disable_test.go b/internal/cmd/observability/grafana/single-sign-on/disable/disable_test.go similarity index 79% rename from internal/cmd/argus/grafana/single-sign-on/disable/disable_test.go rename to internal/cmd/observability/grafana/single-sign-on/disable/disable_test.go index e4f9f3f4b..79653608e 100644 --- a/internal/cmd/argus/grafana/single-sign-on/disable/disable_test.go +++ b/internal/cmd/observability/grafana/single-sign-on/disable/disable_test.go @@ -7,13 +7,13 @@ import ( "github.com/stackitcloud/stackit-cli/internal/pkg/globalflags" "github.com/stackitcloud/stackit-cli/internal/pkg/print" - argusUtils "github.com/stackitcloud/stackit-cli/internal/pkg/services/argus/utils" "github.com/stackitcloud/stackit-cli/internal/pkg/utils" "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/google/uuid" - "github.com/stackitcloud/stackit-sdk-go/services/argus" + observabilityUtils "github.com/stackitcloud/stackit-cli/internal/pkg/services/observability/utils" + "github.com/stackitcloud/stackit-sdk-go/services/observability" ) var projectIdFlag = globalflags.ProjectIdFlag @@ -21,24 +21,24 @@ var projectIdFlag = globalflags.ProjectIdFlag type testCtxKey struct{} var testCtx = context.WithValue(context.Background(), testCtxKey{}, "foo") -var testClient = &argus.APIClient{} +var testClient = &observability.APIClient{} var testProjectId = uuid.NewString() var testInstanceId = uuid.NewString() -type argusClientMocked struct { +type observabilityClientMocked struct { getGrafanaConfigsFails bool - getGrafanaConfigsResp *argus.GrafanaConfigs + getGrafanaConfigsResp *observability.GrafanaConfigs } -func (c *argusClientMocked) GetInstanceExecute(ctx context.Context, instanceId, projectId string) (*argus.GetInstanceResponse, error) { +func (c *observabilityClientMocked) GetInstanceExecute(ctx context.Context, instanceId, projectId string) (*observability.GetInstanceResponse, error) { return testClient.GetInstanceExecute(ctx, instanceId, projectId) } -func (c *argusClientMocked) UpdateGrafanaConfigs(ctx context.Context, instanceId, projectId string) argus.ApiUpdateGrafanaConfigsRequest { +func (c *observabilityClientMocked) UpdateGrafanaConfigs(ctx context.Context, instanceId, projectId string) observability.ApiUpdateGrafanaConfigsRequest { return testClient.UpdateGrafanaConfigs(ctx, instanceId, projectId) } -func (c *argusClientMocked) GetGrafanaConfigsExecute(_ context.Context, _, _ string) (*argus.GrafanaConfigs, error) { +func (c *observabilityClientMocked) GetGrafanaConfigsExecute(_ context.Context, _, _ string) (*observability.GrafanaConfigs, error) { if c.getGrafanaConfigsFails { return nil, fmt.Errorf("get payload failed") } @@ -79,9 +79,9 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel { return model } -func fixtureGrafanaConfigs(mods ...func(gc *argus.GrafanaConfigs)) *argus.GrafanaConfigs { - gc := argus.GrafanaConfigs{ - GenericOauth: &argus.GrafanaOauth{ +func fixtureGrafanaConfigs(mods ...func(gc *observability.GrafanaConfigs)) *observability.GrafanaConfigs { + gc := observability.GrafanaConfigs{ + GenericOauth: &observability.GrafanaOauth{ ApiUrl: utils.Ptr("apiUrl"), AuthUrl: utils.Ptr("authUrl"), Enabled: utils.Ptr(true), @@ -103,9 +103,9 @@ func fixtureGrafanaConfigs(mods ...func(gc *argus.GrafanaConfigs)) *argus.Grafan return &gc } -func fixturePayload(mods ...func(payload *argus.UpdateGrafanaConfigsPayload)) *argus.UpdateGrafanaConfigsPayload { - payload := &argus.UpdateGrafanaConfigsPayload{ - GenericOauth: argusUtils.ToPayloadGenericOAuth(fixtureGrafanaConfigs().GenericOauth), +func fixturePayload(mods ...func(payload *observability.UpdateGrafanaConfigsPayload)) *observability.UpdateGrafanaConfigsPayload { + payload := &observability.UpdateGrafanaConfigsPayload{ + GenericOauth: observabilityUtils.ToPayloadGenericOAuth(fixtureGrafanaConfigs().GenericOauth), PublicReadAccess: fixtureGrafanaConfigs().PublicReadAccess, UseStackitSso: utils.Ptr(false), } @@ -115,7 +115,7 @@ func fixturePayload(mods ...func(payload *argus.UpdateGrafanaConfigsPayload)) *a return payload } -func fixtureRequest(mods ...func(request *argus.ApiUpdateGrafanaConfigsRequest)) argus.ApiUpdateGrafanaConfigsRequest { +func fixtureRequest(mods ...func(request *observability.ApiUpdateGrafanaConfigsRequest)) observability.ApiUpdateGrafanaConfigsRequest { request := testClient.UpdateGrafanaConfigs(testCtx, testInstanceId, testProjectId) request = request.UpdateGrafanaConfigsPayload(*fixturePayload()) for _, mod := range mods { @@ -242,9 +242,9 @@ func TestBuildRequest(t *testing.T) { description string model *inputModel getGrafanaConfigsFails bool - getGrafanaConfigsResp *argus.GrafanaConfigs + getGrafanaConfigsResp *observability.GrafanaConfigs isValid bool - expectedRequest argus.ApiUpdateGrafanaConfigsRequest + expectedRequest observability.ApiUpdateGrafanaConfigsRequest }{ { description: "base", @@ -256,12 +256,12 @@ func TestBuildRequest(t *testing.T) { { description: "nil generic oauth", model: fixtureInputModel(), - getGrafanaConfigsResp: fixtureGrafanaConfigs(func(gc *argus.GrafanaConfigs) { + getGrafanaConfigsResp: fixtureGrafanaConfigs(func(gc *observability.GrafanaConfigs) { gc.GenericOauth = nil }), isValid: true, - expectedRequest: fixtureRequest(func(request *argus.ApiUpdateGrafanaConfigsRequest) { - *request = request.UpdateGrafanaConfigsPayload(*fixturePayload(func(payload *argus.UpdateGrafanaConfigsPayload) { + expectedRequest: fixtureRequest(func(request *observability.ApiUpdateGrafanaConfigsRequest) { + *request = request.UpdateGrafanaConfigsPayload(*fixturePayload(func(payload *observability.UpdateGrafanaConfigsPayload) { payload.GenericOauth = nil })) }), @@ -282,7 +282,7 @@ func TestBuildRequest(t *testing.T) { for _, tt := range tests { t.Run(tt.description, func(t *testing.T) { - client := &argusClientMocked{ + client := &observabilityClientMocked{ getGrafanaConfigsFails: tt.getGrafanaConfigsFails, getGrafanaConfigsResp: tt.getGrafanaConfigsResp, } diff --git a/internal/cmd/argus/grafana/single-sign-on/enable/enable.go b/internal/cmd/observability/grafana/single-sign-on/enable/enable.go similarity index 76% rename from internal/cmd/argus/grafana/single-sign-on/enable/enable.go rename to internal/cmd/observability/grafana/single-sign-on/enable/enable.go index 4fa204fb3..9a002b9f9 100644 --- a/internal/cmd/argus/grafana/single-sign-on/enable/enable.go +++ b/internal/cmd/observability/grafana/single-sign-on/enable/enable.go @@ -9,12 +9,12 @@ import ( "github.com/stackitcloud/stackit-cli/internal/pkg/examples" "github.com/stackitcloud/stackit-cli/internal/pkg/globalflags" "github.com/stackitcloud/stackit-cli/internal/pkg/print" - "github.com/stackitcloud/stackit-cli/internal/pkg/services/argus/client" - argusUtils "github.com/stackitcloud/stackit-cli/internal/pkg/services/argus/utils" + "github.com/stackitcloud/stackit-cli/internal/pkg/services/observability/client" + observabilityUtils "github.com/stackitcloud/stackit-cli/internal/pkg/services/observability/utils" "github.com/stackitcloud/stackit-cli/internal/pkg/utils" "github.com/spf13/cobra" - "github.com/stackitcloud/stackit-sdk-go/services/argus" + "github.com/stackitcloud/stackit-sdk-go/services/observability" ) const ( @@ -29,16 +29,16 @@ type inputModel struct { func NewCmd(p *print.Printer) *cobra.Command { cmd := &cobra.Command{ Use: fmt.Sprintf("enable %s", instanceIdArg), - Short: "Enables single sign-on for Grafana on Argus instances", + Short: "Enables single sign-on for Grafana on Observability instances", Long: fmt.Sprintf("%s\n%s", - "Enables single sign-on for Grafana on Argus instances.", + "Enables single sign-on for Grafana on Observability instances.", "When enabled for an instance, overwrites the generic OAuth2 authentication and configures STACKIT single sign-on for that instance.", ), Args: args.SingleArg(instanceIdArg, utils.ValidateUUID), Example: examples.Build( examples.NewExample( - `Enable single sign-on for Grafana on an Argus instance with ID "xxx"`, - "$ stackit argus grafana single-sign-on enable xxx"), + `Enable single sign-on for Grafana on an Observability instance with ID "xxx"`, + "$ stackit observability grafana single-sign-on enable xxx"), ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() @@ -53,7 +53,7 @@ func NewCmd(p *print.Printer) *cobra.Command { return err } - instanceLabel, err := argusUtils.GetInstanceName(ctx, apiClient, model.InstanceId, model.ProjectId) + instanceLabel, err := observabilityUtils.GetInstanceName(ctx, apiClient, model.InstanceId, model.ProjectId) if err != nil || instanceLabel == "" { instanceLabel = model.InstanceId } @@ -108,9 +108,9 @@ func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inpu return &model, nil } -func buildRequest(ctx context.Context, model *inputModel, apiClient argusUtils.ArgusClient) (argus.ApiUpdateGrafanaConfigsRequest, error) { +func buildRequest(ctx context.Context, model *inputModel, apiClient observabilityUtils.ObservabilityClient) (observability.ApiUpdateGrafanaConfigsRequest, error) { req := apiClient.UpdateGrafanaConfigs(ctx, model.InstanceId, model.ProjectId) - payload, err := argusUtils.GetPartialUpdateGrafanaConfigsPayload(ctx, apiClient, model.InstanceId, model.ProjectId, utils.Ptr(true), nil) + payload, err := observabilityUtils.GetPartialUpdateGrafanaConfigsPayload(ctx, apiClient, model.InstanceId, model.ProjectId, utils.Ptr(true), nil) if err != nil { return req, fmt.Errorf("build request payload: %w", err) } diff --git a/internal/cmd/argus/grafana/single-sign-on/enable/enable_test.go b/internal/cmd/observability/grafana/single-sign-on/enable/enable_test.go similarity index 79% rename from internal/cmd/argus/grafana/single-sign-on/enable/enable_test.go rename to internal/cmd/observability/grafana/single-sign-on/enable/enable_test.go index 9b2c6b1d2..e59f23828 100644 --- a/internal/cmd/argus/grafana/single-sign-on/enable/enable_test.go +++ b/internal/cmd/observability/grafana/single-sign-on/enable/enable_test.go @@ -7,13 +7,13 @@ import ( "github.com/stackitcloud/stackit-cli/internal/pkg/globalflags" "github.com/stackitcloud/stackit-cli/internal/pkg/print" - argusUtils "github.com/stackitcloud/stackit-cli/internal/pkg/services/argus/utils" + observabilityUtils "github.com/stackitcloud/stackit-cli/internal/pkg/services/observability/utils" "github.com/stackitcloud/stackit-cli/internal/pkg/utils" "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/google/uuid" - "github.com/stackitcloud/stackit-sdk-go/services/argus" + "github.com/stackitcloud/stackit-sdk-go/services/observability" ) var projectIdFlag = globalflags.ProjectIdFlag @@ -21,24 +21,24 @@ var projectIdFlag = globalflags.ProjectIdFlag type testCtxKey struct{} var testCtx = context.WithValue(context.Background(), testCtxKey{}, "foo") -var testClient = &argus.APIClient{} +var testClient = &observability.APIClient{} var testProjectId = uuid.NewString() var testInstanceId = uuid.NewString() -type argusClientMocked struct { +type observabilityClientMocked struct { getGrafanaConfigsFails bool - getGrafanaConfigsResp *argus.GrafanaConfigs + getGrafanaConfigsResp *observability.GrafanaConfigs } -func (c *argusClientMocked) GetInstanceExecute(ctx context.Context, instanceId, projectId string) (*argus.GetInstanceResponse, error) { +func (c *observabilityClientMocked) GetInstanceExecute(ctx context.Context, instanceId, projectId string) (*observability.GetInstanceResponse, error) { return testClient.GetInstanceExecute(ctx, instanceId, projectId) } -func (c *argusClientMocked) UpdateGrafanaConfigs(ctx context.Context, instanceId, projectId string) argus.ApiUpdateGrafanaConfigsRequest { +func (c *observabilityClientMocked) UpdateGrafanaConfigs(ctx context.Context, instanceId, projectId string) observability.ApiUpdateGrafanaConfigsRequest { return testClient.UpdateGrafanaConfigs(ctx, instanceId, projectId) } -func (c *argusClientMocked) GetGrafanaConfigsExecute(_ context.Context, _, _ string) (*argus.GrafanaConfigs, error) { +func (c *observabilityClientMocked) GetGrafanaConfigsExecute(_ context.Context, _, _ string) (*observability.GrafanaConfigs, error) { if c.getGrafanaConfigsFails { return nil, fmt.Errorf("get payload failed") } @@ -79,9 +79,9 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel { return model } -func fixtureGrafanaConfigs(mods ...func(gc *argus.GrafanaConfigs)) *argus.GrafanaConfigs { - gc := argus.GrafanaConfigs{ - GenericOauth: &argus.GrafanaOauth{ +func fixtureGrafanaConfigs(mods ...func(gc *observability.GrafanaConfigs)) *observability.GrafanaConfigs { + gc := observability.GrafanaConfigs{ + GenericOauth: &observability.GrafanaOauth{ ApiUrl: utils.Ptr("apiUrl"), AuthUrl: utils.Ptr("authUrl"), Enabled: utils.Ptr(true), @@ -103,9 +103,9 @@ func fixtureGrafanaConfigs(mods ...func(gc *argus.GrafanaConfigs)) *argus.Grafan return &gc } -func fixturePayload(mods ...func(payload *argus.UpdateGrafanaConfigsPayload)) *argus.UpdateGrafanaConfigsPayload { - payload := &argus.UpdateGrafanaConfigsPayload{ - GenericOauth: argusUtils.ToPayloadGenericOAuth(fixtureGrafanaConfigs().GenericOauth), +func fixturePayload(mods ...func(payload *observability.UpdateGrafanaConfigsPayload)) *observability.UpdateGrafanaConfigsPayload { + payload := &observability.UpdateGrafanaConfigsPayload{ + GenericOauth: observabilityUtils.ToPayloadGenericOAuth(fixtureGrafanaConfigs().GenericOauth), PublicReadAccess: fixtureGrafanaConfigs().PublicReadAccess, UseStackitSso: utils.Ptr(true), } @@ -115,7 +115,7 @@ func fixturePayload(mods ...func(payload *argus.UpdateGrafanaConfigsPayload)) *a return payload } -func fixtureRequest(mods ...func(request *argus.ApiUpdateGrafanaConfigsRequest)) argus.ApiUpdateGrafanaConfigsRequest { +func fixtureRequest(mods ...func(request *observability.ApiUpdateGrafanaConfigsRequest)) observability.ApiUpdateGrafanaConfigsRequest { request := testClient.UpdateGrafanaConfigs(testCtx, testInstanceId, testProjectId) request = request.UpdateGrafanaConfigsPayload(*fixturePayload()) for _, mod := range mods { @@ -242,9 +242,9 @@ func TestBuildRequest(t *testing.T) { description string model *inputModel getGrafanaConfigsFails bool - getGrafanaConfigsResp *argus.GrafanaConfigs + getGrafanaConfigsResp *observability.GrafanaConfigs isValid bool - expectedRequest argus.ApiUpdateGrafanaConfigsRequest + expectedRequest observability.ApiUpdateGrafanaConfigsRequest }{ { description: "base", @@ -256,12 +256,12 @@ func TestBuildRequest(t *testing.T) { { description: "nil generic oauth", model: fixtureInputModel(), - getGrafanaConfigsResp: fixtureGrafanaConfigs(func(gc *argus.GrafanaConfigs) { + getGrafanaConfigsResp: fixtureGrafanaConfigs(func(gc *observability.GrafanaConfigs) { gc.GenericOauth = nil }), isValid: true, - expectedRequest: fixtureRequest(func(request *argus.ApiUpdateGrafanaConfigsRequest) { - *request = request.UpdateGrafanaConfigsPayload(*fixturePayload(func(payload *argus.UpdateGrafanaConfigsPayload) { + expectedRequest: fixtureRequest(func(request *observability.ApiUpdateGrafanaConfigsRequest) { + *request = request.UpdateGrafanaConfigsPayload(*fixturePayload(func(payload *observability.UpdateGrafanaConfigsPayload) { payload.GenericOauth = nil })) }), @@ -282,7 +282,7 @@ func TestBuildRequest(t *testing.T) { for _, tt := range tests { t.Run(tt.description, func(t *testing.T) { - client := &argusClientMocked{ + client := &observabilityClientMocked{ getGrafanaConfigsFails: tt.getGrafanaConfigsFails, getGrafanaConfigsResp: tt.getGrafanaConfigsResp, } diff --git a/internal/cmd/argus/grafana/single-sign-on/single_sign_on.go b/internal/cmd/observability/grafana/single-sign-on/single_sign_on.go similarity index 67% rename from internal/cmd/argus/grafana/single-sign-on/single_sign_on.go rename to internal/cmd/observability/grafana/single-sign-on/single_sign_on.go index c19147473..c53c4a5cf 100644 --- a/internal/cmd/argus/grafana/single-sign-on/single_sign_on.go +++ b/internal/cmd/observability/grafana/single-sign-on/single_sign_on.go @@ -3,8 +3,8 @@ package singlesignon import ( "fmt" - "github.com/stackitcloud/stackit-cli/internal/cmd/argus/grafana/single-sign-on/disable" - "github.com/stackitcloud/stackit-cli/internal/cmd/argus/grafana/single-sign-on/enable" + "github.com/stackitcloud/stackit-cli/internal/cmd/observability/grafana/single-sign-on/disable" + "github.com/stackitcloud/stackit-cli/internal/cmd/observability/grafana/single-sign-on/enable" "github.com/stackitcloud/stackit-cli/internal/pkg/args" "github.com/stackitcloud/stackit-cli/internal/pkg/print" "github.com/stackitcloud/stackit-cli/internal/pkg/utils" @@ -16,9 +16,9 @@ func NewCmd(p *print.Printer) *cobra.Command { cmd := &cobra.Command{ Use: "single-sign-on", Aliases: []string{"sso"}, - Short: "Enable or disable single sign-on for Grafana in Argus instances", + Short: "Enable or disable single sign-on for Grafana in Observability instances", Long: fmt.Sprintf("%s\n%s", - "Enable or disable single sign-on for Grafana in Argus instances.", + "Enable or disable single sign-on for Grafana in Observability instances.", "When enabled for an instance, overwrites the generic OAuth2 authentication and configures STACKIT single sign-on for that instance.", ), Args: args.NoArgs, diff --git a/internal/cmd/argus/instance/create/create.go b/internal/cmd/observability/instance/create/create.go similarity index 67% rename from internal/cmd/argus/instance/create/create.go rename to internal/cmd/observability/instance/create/create.go index b37396bb7..0f1bd2714 100644 --- a/internal/cmd/argus/instance/create/create.go +++ b/internal/cmd/observability/instance/create/create.go @@ -14,13 +14,13 @@ import ( "github.com/stackitcloud/stackit-cli/internal/pkg/globalflags" "github.com/stackitcloud/stackit-cli/internal/pkg/print" "github.com/stackitcloud/stackit-cli/internal/pkg/projectname" - "github.com/stackitcloud/stackit-cli/internal/pkg/services/argus/client" - argusUtils "github.com/stackitcloud/stackit-cli/internal/pkg/services/argus/utils" + "github.com/stackitcloud/stackit-cli/internal/pkg/services/observability/client" "github.com/stackitcloud/stackit-cli/internal/pkg/spinner" "github.com/spf13/cobra" - "github.com/stackitcloud/stackit-sdk-go/services/argus" - "github.com/stackitcloud/stackit-sdk-go/services/argus/wait" + observabilityUtils "github.com/stackitcloud/stackit-cli/internal/pkg/services/observability/utils" + "github.com/stackitcloud/stackit-sdk-go/services/observability" + "github.com/stackitcloud/stackit-sdk-go/services/observability/wait" ) const ( @@ -40,16 +40,16 @@ type inputModel struct { func NewCmd(p *print.Printer) *cobra.Command { cmd := &cobra.Command{ Use: "create", - Short: "Creates an Argus instance", - Long: "Creates an Argus instance.", + Short: "Creates an Observability instance", + Long: "Creates an Observability instance.", Args: args.NoArgs, Example: examples.Build( examples.NewExample( - `Create an Argus instance with name "my-instance" and specify plan by name`, - "$ stackit argus instance create --name my-instance --plan-name Monitoring-Starter-EU01"), + `Create an Observability instance with name "my-instance" and specify plan by name`, + "$ stackit observability instance create --name my-instance --plan-name Monitoring-Starter-EU01"), examples.NewExample( - `Create an Argus instance with name "my-instance" and specify plan by ID`, - "$ stackit argus instance create --name my-instance --plan-id xxx"), + `Create an Observability instance with name "my-instance" and specify plan by ID`, + "$ stackit observability instance create --name my-instance --plan-id xxx"), ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() @@ -71,7 +71,7 @@ func NewCmd(p *print.Printer) *cobra.Command { } if !model.AssumeYes { - prompt := fmt.Sprintf("Are you sure you want to create an Argus instance for project %q?", projectLabel) + prompt := fmt.Sprintf("Are you sure you want to create an Observability instance for project %q?", projectLabel) err = p.PromptForConfirmation(prompt) if err != nil { return err @@ -81,15 +81,15 @@ func NewCmd(p *print.Printer) *cobra.Command { // Call API req, err := buildRequest(ctx, model, apiClient) if err != nil { - var argusInvalidPlanError *cliErr.ArgusInvalidPlanError - if !errors.As(err, &argusInvalidPlanError) { - return fmt.Errorf("build Argus instance creation request: %w", err) + var observabilityInvalidPlanError *cliErr.ObservabilityInvalidPlanError + if !errors.As(err, &observabilityInvalidPlanError) { + return fmt.Errorf("build Observability instance creation request: %w", err) } return err } resp, err := req.Execute() if err != nil { - return fmt.Errorf("create Argus instance: %w", err) + return fmt.Errorf("create Observability instance: %w", err) } instanceId := *resp.InstanceId @@ -99,7 +99,7 @@ func NewCmd(p *print.Printer) *cobra.Command { s.Start("Creating instance") _, err = wait.CreateInstanceWaitHandler(ctx, apiClient, instanceId, model.ProjectId).WaitWithContext(ctx) if err != nil { - return fmt.Errorf("wait for Argus instance creation: %w", err) + return fmt.Errorf("wait for Observability instance creation: %w", err) } s.Stop() } @@ -130,12 +130,12 @@ func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { planName := flags.FlagToStringValue(p, cmd, planNameFlag) if planId == nil && (planName == "") { - return nil, &cliErr.ArgusInputPlanError{ + return nil, &cliErr.ObservabilityInputPlanError{ Cmd: cmd, } } if planId != nil && (planName != "") { - return nil, &cliErr.ArgusInputPlanError{ + return nil, &cliErr.ObservabilityInputPlanError{ Cmd: cmd, } } @@ -159,12 +159,12 @@ func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { return &model, nil } -type argusClient interface { - CreateInstance(ctx context.Context, projectId string) argus.ApiCreateInstanceRequest - ListPlansExecute(ctx context.Context, projectId string) (*argus.PlansResponse, error) +type observabilityClient interface { + CreateInstance(ctx context.Context, projectId string) observability.ApiCreateInstanceRequest + ListPlansExecute(ctx context.Context, projectId string) (*observability.PlansResponse, error) } -func buildRequest(ctx context.Context, model *inputModel, apiClient argusClient) (argus.ApiCreateInstanceRequest, error) { +func buildRequest(ctx context.Context, model *inputModel, apiClient observabilityClient) (observability.ApiCreateInstanceRequest, error) { req := apiClient.CreateInstance(ctx, model.ProjectId) var planId *string @@ -172,39 +172,39 @@ func buildRequest(ctx context.Context, model *inputModel, apiClient argusClient) plans, err := apiClient.ListPlansExecute(ctx, model.ProjectId) if err != nil { - return req, fmt.Errorf("get Argus plans: %w", err) + return req, fmt.Errorf("get Observability plans: %w", err) } if model.PlanId == nil { - planId, err = argusUtils.LoadPlanId(model.PlanName, plans) + planId, err = observabilityUtils.LoadPlanId(model.PlanName, plans) if err != nil { - var argusInvalidPlanError *cliErr.ArgusInvalidPlanError - if !errors.As(err, &argusInvalidPlanError) { + var observabilityInvalidPlanError *cliErr.ObservabilityInvalidPlanError + if !errors.As(err, &observabilityInvalidPlanError) { return req, fmt.Errorf("load plan ID: %w", err) } return req, err } } else { - err := argusUtils.ValidatePlanId(*model.PlanId, plans) + err := observabilityUtils.ValidatePlanId(*model.PlanId, plans) if err != nil { return req, err } planId = model.PlanId } - req = req.CreateInstancePayload(argus.CreateInstancePayload{ + req = req.CreateInstancePayload(observability.CreateInstancePayload{ Name: model.InstanceName, PlanId: planId, }) return req, nil } -func outputResult(p *print.Printer, model *inputModel, projectLabel string, resp *argus.CreateInstanceResponse) error { +func outputResult(p *print.Printer, model *inputModel, projectLabel string, resp *observability.CreateInstanceResponse) error { switch model.OutputFormat { case print.JSONOutputFormat: details, err := json.MarshalIndent(resp, "", " ") if err != nil { - return fmt.Errorf("marshal Argus instance: %w", err) + return fmt.Errorf("marshal Observability instance: %w", err) } p.Outputln(string(details)) @@ -212,7 +212,7 @@ func outputResult(p *print.Printer, model *inputModel, projectLabel string, resp case print.YAMLOutputFormat: details, err := yaml.MarshalWithOptions(resp, yaml.IndentSequence(true)) if err != nil { - return fmt.Errorf("marshal Argus instance: %w", err) + return fmt.Errorf("marshal Observability instance: %w", err) } p.Outputln(string(details)) diff --git a/internal/cmd/argus/instance/create/create_test.go b/internal/cmd/observability/instance/create/create_test.go similarity index 86% rename from internal/cmd/argus/instance/create/create_test.go rename to internal/cmd/observability/instance/create/create_test.go index eb4b3c2c1..505a03be5 100644 --- a/internal/cmd/argus/instance/create/create_test.go +++ b/internal/cmd/observability/instance/create/create_test.go @@ -12,7 +12,7 @@ import ( "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/google/uuid" - "github.com/stackitcloud/stackit-sdk-go/services/argus" + "github.com/stackitcloud/stackit-sdk-go/services/observability" ) var projectIdFlag = globalflags.ProjectIdFlag @@ -20,18 +20,18 @@ var projectIdFlag = globalflags.ProjectIdFlag type testCtxKey struct{} var testCtx = context.WithValue(context.Background(), testCtxKey{}, "foo") -var testClient = &argus.APIClient{} +var testClient = &observability.APIClient{} -type argusClientMocked struct { +type observabilityClientMocked struct { returnError bool - listPlansResponse *argus.PlansResponse + listPlansResponse *observability.PlansResponse } -func (c *argusClientMocked) CreateInstance(ctx context.Context, projectId string) argus.ApiCreateInstanceRequest { +func (c *observabilityClientMocked) CreateInstance(ctx context.Context, projectId string) observability.ApiCreateInstanceRequest { return testClient.CreateInstance(ctx, projectId) } -func (c *argusClientMocked) ListPlansExecute(_ context.Context, _ string) (*argus.PlansResponse, error) { +func (c *observabilityClientMocked) ListPlansExecute(_ context.Context, _ string) (*observability.PlansResponse, error) { if c.returnError { return nil, fmt.Errorf("list plans failed") } @@ -68,9 +68,9 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel { return model } -func fixtureRequest(mods ...func(request *argus.ApiCreateInstanceRequest)) argus.ApiCreateInstanceRequest { +func fixtureRequest(mods ...func(request *observability.ApiCreateInstanceRequest)) observability.ApiCreateInstanceRequest { request := testClient.CreateInstance(testCtx, testProjectId) - request = request.CreateInstancePayload(argus.CreateInstancePayload{ + request = request.CreateInstancePayload(observability.CreateInstancePayload{ Name: utils.Ptr("example-name"), PlanId: utils.Ptr(testPlanId), }) @@ -80,9 +80,9 @@ func fixtureRequest(mods ...func(request *argus.ApiCreateInstanceRequest)) argus return request } -func fixturePlansResponse(mods ...func(response *argus.PlansResponse)) *argus.PlansResponse { - response := &argus.PlansResponse{ - Plans: &[]argus.Plan{ +func fixturePlansResponse(mods ...func(response *observability.PlansResponse)) *observability.PlansResponse { + response := &observability.PlansResponse{ + Plans: &[]observability.Plan{ { Name: utils.Ptr("example-plan-name"), Id: utils.Ptr(testPlanId), @@ -222,9 +222,9 @@ func TestBuildRequest(t *testing.T) { tests := []struct { description string model *inputModel - expectedRequest argus.ApiCreateInstanceRequest + expectedRequest observability.ApiCreateInstanceRequest getPlansFails bool - getPlansResponse *argus.PlansResponse + getPlansResponse *observability.PlansResponse isValid bool }{ { @@ -287,7 +287,7 @@ func TestBuildRequest(t *testing.T) { ), getPlansResponse: fixturePlansResponse(), expectedRequest: testClient.CreateInstance(testCtx, testProjectId). - CreateInstancePayload(argus.CreateInstancePayload{PlanId: utils.Ptr(testPlanId)}), + CreateInstancePayload(observability.CreateInstancePayload{PlanId: utils.Ptr(testPlanId)}), isValid: true, }, { @@ -301,14 +301,14 @@ func TestBuildRequest(t *testing.T) { ), getPlansResponse: fixturePlansResponse(), expectedRequest: testClient.CreateInstance(testCtx, testProjectId). - CreateInstancePayload(argus.CreateInstancePayload{PlanId: utils.Ptr(testPlanId)}), + CreateInstancePayload(observability.CreateInstancePayload{PlanId: utils.Ptr(testPlanId)}), isValid: true, }, } for _, tt := range tests { t.Run(tt.description, func(t *testing.T) { - client := &argusClientMocked{ + client := &observabilityClientMocked{ returnError: tt.getPlansFails, listPlansResponse: tt.getPlansResponse, } diff --git a/internal/cmd/argus/instance/delete/delete.go b/internal/cmd/observability/instance/delete/delete.go similarity index 77% rename from internal/cmd/argus/instance/delete/delete.go rename to internal/cmd/observability/instance/delete/delete.go index bb361c570..abe93e2a0 100644 --- a/internal/cmd/argus/instance/delete/delete.go +++ b/internal/cmd/observability/instance/delete/delete.go @@ -9,14 +9,14 @@ import ( "github.com/stackitcloud/stackit-cli/internal/pkg/examples" "github.com/stackitcloud/stackit-cli/internal/pkg/globalflags" "github.com/stackitcloud/stackit-cli/internal/pkg/print" - "github.com/stackitcloud/stackit-cli/internal/pkg/services/argus/client" - argusUtils "github.com/stackitcloud/stackit-cli/internal/pkg/services/argus/utils" + "github.com/stackitcloud/stackit-cli/internal/pkg/services/observability/client" + observabilityUtils "github.com/stackitcloud/stackit-cli/internal/pkg/services/observability/utils" "github.com/stackitcloud/stackit-cli/internal/pkg/spinner" "github.com/stackitcloud/stackit-cli/internal/pkg/utils" "github.com/spf13/cobra" - "github.com/stackitcloud/stackit-sdk-go/services/argus" - "github.com/stackitcloud/stackit-sdk-go/services/argus/wait" + "github.com/stackitcloud/stackit-sdk-go/services/observability" + "github.com/stackitcloud/stackit-sdk-go/services/observability/wait" ) const ( @@ -31,13 +31,13 @@ type inputModel struct { func NewCmd(p *print.Printer) *cobra.Command { cmd := &cobra.Command{ Use: fmt.Sprintf("delete %s", instanceIdArg), - Short: "Deletes an Argus instance", - Long: "Deletes an Argus instance.", + Short: "Deletes an Observability instance", + Long: "Deletes an Observability instance.", Args: args.SingleArg(instanceIdArg, utils.ValidateUUID), Example: examples.Build( examples.NewExample( - `Delete an Argus instance with ID "xxx"`, - "$ stackit argus instance delete xxx"), + `Delete an Observability instance with ID "xxx"`, + "$ stackit Observability instance delete xxx"), ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() @@ -52,7 +52,7 @@ func NewCmd(p *print.Printer) *cobra.Command { return err } - instanceLabel, err := argusUtils.GetInstanceName(ctx, apiClient, model.InstanceId, model.ProjectId) + instanceLabel, err := observabilityUtils.GetInstanceName(ctx, apiClient, model.InstanceId, model.ProjectId) if err != nil { p.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceId @@ -70,7 +70,7 @@ func NewCmd(p *print.Printer) *cobra.Command { req := buildRequest(ctx, model, apiClient) _, err = req.Execute() if err != nil { - return fmt.Errorf("delete Argus instance: %w", err) + return fmt.Errorf("delete Observability instance: %w", err) } // Wait for async operation, if async mode not enabled @@ -79,7 +79,7 @@ func NewCmd(p *print.Printer) *cobra.Command { s.Start("Deleting instance") _, err = wait.DeleteInstanceWaitHandler(ctx, apiClient, model.InstanceId, model.ProjectId).WaitWithContext(ctx) if err != nil { - return fmt.Errorf("wait for Argus instance deletion: %w", err) + return fmt.Errorf("wait for Observability instance deletion: %w", err) } s.Stop() } @@ -120,7 +120,7 @@ func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inpu return &model, nil } -func buildRequest(ctx context.Context, model *inputModel, apiClient *argus.APIClient) argus.ApiDeleteInstanceRequest { +func buildRequest(ctx context.Context, model *inputModel, apiClient *observability.APIClient) observability.ApiDeleteInstanceRequest { req := apiClient.DeleteInstance(ctx, model.InstanceId, model.ProjectId) return req } diff --git a/internal/cmd/argus/instance/delete/delete_test.go b/internal/cmd/observability/instance/delete/delete_test.go similarity index 94% rename from internal/cmd/argus/instance/delete/delete_test.go rename to internal/cmd/observability/instance/delete/delete_test.go index 0510769ee..8375214bb 100644 --- a/internal/cmd/argus/instance/delete/delete_test.go +++ b/internal/cmd/observability/instance/delete/delete_test.go @@ -10,7 +10,7 @@ import ( "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/google/uuid" - "github.com/stackitcloud/stackit-sdk-go/services/argus" + "github.com/stackitcloud/stackit-sdk-go/services/observability" ) var projectIdFlag = globalflags.ProjectIdFlag @@ -18,7 +18,7 @@ var projectIdFlag = globalflags.ProjectIdFlag type testCtxKey struct{} var testCtx = context.WithValue(context.Background(), testCtxKey{}, "foo") -var testClient = &argus.APIClient{} +var testClient = &observability.APIClient{} var testProjectId = uuid.NewString() var testInstanceId = uuid.NewString() @@ -56,7 +56,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel { return model } -func fixtureRequest(mods ...func(request *argus.ApiDeleteInstanceRequest)) argus.ApiDeleteInstanceRequest { +func fixtureRequest(mods ...func(request *observability.ApiDeleteInstanceRequest)) observability.ApiDeleteInstanceRequest { request := testClient.DeleteInstance(testCtx, testInstanceId, testProjectId) for _, mod := range mods { mod(&request) @@ -193,7 +193,7 @@ func TestBuildRequest(t *testing.T) { tests := []struct { description string model *inputModel - expectedRequest argus.ApiDeleteInstanceRequest + expectedRequest observability.ApiDeleteInstanceRequest }{ { description: "base", diff --git a/internal/cmd/argus/instance/describe/describe.go b/internal/cmd/observability/instance/describe/describe.go similarity index 81% rename from internal/cmd/argus/instance/describe/describe.go rename to internal/cmd/observability/instance/describe/describe.go index c6e8bc197..9f3764e00 100644 --- a/internal/cmd/argus/instance/describe/describe.go +++ b/internal/cmd/observability/instance/describe/describe.go @@ -11,12 +11,12 @@ import ( "github.com/stackitcloud/stackit-cli/internal/pkg/examples" "github.com/stackitcloud/stackit-cli/internal/pkg/globalflags" "github.com/stackitcloud/stackit-cli/internal/pkg/print" - "github.com/stackitcloud/stackit-cli/internal/pkg/services/argus/client" + "github.com/stackitcloud/stackit-cli/internal/pkg/services/observability/client" "github.com/stackitcloud/stackit-cli/internal/pkg/tables" "github.com/stackitcloud/stackit-cli/internal/pkg/utils" "github.com/spf13/cobra" - "github.com/stackitcloud/stackit-sdk-go/services/argus" + "github.com/stackitcloud/stackit-sdk-go/services/observability" ) const ( @@ -31,16 +31,16 @@ type inputModel struct { func NewCmd(p *print.Printer) *cobra.Command { cmd := &cobra.Command{ Use: fmt.Sprintf("describe %s", instanceIdArg), - Short: "Shows details of an Argus instance", - Long: "Shows details of an Argus instance.", + Short: "Shows details of an Observability instance", + Long: "Shows details of an Observability instance.", Args: args.SingleArg(instanceIdArg, utils.ValidateUUID), Example: examples.Build( examples.NewExample( - `Get details of an Argus instance with ID "xxx"`, - "$ stackit argus instance describe xxx"), + `Get details of an Observability instance with ID "xxx"`, + "$ stackit observability instance describe xxx"), examples.NewExample( - `Get details of an Argus instance with ID "xxx" in JSON format`, - "$ stackit argus instance describe xxx --output-format json"), + `Get details of an Observability instance with ID "xxx" in JSON format`, + "$ stackit observability instance describe xxx --output-format json"), ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() @@ -58,7 +58,7 @@ func NewCmd(p *print.Printer) *cobra.Command { req := buildRequest(ctx, model, apiClient) resp, err := req.Execute() if err != nil { - return fmt.Errorf("read Argus instance: %w", err) + return fmt.Errorf("read Observability instance: %w", err) } return outputResult(p, model.OutputFormat, resp) @@ -92,17 +92,17 @@ func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inpu return &model, nil } -func buildRequest(ctx context.Context, model *inputModel, apiClient *argus.APIClient) argus.ApiGetInstanceRequest { +func buildRequest(ctx context.Context, model *inputModel, apiClient *observability.APIClient) observability.ApiGetInstanceRequest { req := apiClient.GetInstance(ctx, model.InstanceId, model.ProjectId) return req } -func outputResult(p *print.Printer, outputFormat string, instance *argus.GetInstanceResponse) error { +func outputResult(p *print.Printer, outputFormat string, instance *observability.GetInstanceResponse) error { switch outputFormat { case print.JSONOutputFormat: details, err := json.MarshalIndent(instance, "", " ") if err != nil { - return fmt.Errorf("marshal Argus instance: %w", err) + return fmt.Errorf("marshal Observability instance: %w", err) } p.Outputln(string(details)) @@ -110,7 +110,7 @@ func outputResult(p *print.Printer, outputFormat string, instance *argus.GetInst case print.YAMLOutputFormat: details, err := yaml.MarshalWithOptions(instance, yaml.IndentSequence(true)) if err != nil { - return fmt.Errorf("marshal Argus instance: %w", err) + return fmt.Errorf("marshal Observability instance: %w", err) } p.Outputln(string(details)) diff --git a/internal/cmd/argus/instance/describe/describe_test.go b/internal/cmd/observability/instance/describe/describe_test.go similarity index 94% rename from internal/cmd/argus/instance/describe/describe_test.go rename to internal/cmd/observability/instance/describe/describe_test.go index fd9b429b2..f2eea2b4d 100644 --- a/internal/cmd/argus/instance/describe/describe_test.go +++ b/internal/cmd/observability/instance/describe/describe_test.go @@ -10,7 +10,7 @@ import ( "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/google/uuid" - "github.com/stackitcloud/stackit-sdk-go/services/argus" + "github.com/stackitcloud/stackit-sdk-go/services/observability" ) var projectIdFlag = globalflags.ProjectIdFlag @@ -18,7 +18,7 @@ var projectIdFlag = globalflags.ProjectIdFlag type testCtxKey struct{} var testCtx = context.WithValue(context.Background(), testCtxKey{}, "foo") -var testClient = &argus.APIClient{} +var testClient = &observability.APIClient{} var testProjectId = uuid.NewString() var testInstanceId = uuid.NewString() @@ -56,7 +56,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel { return model } -func fixtureRequest(mods ...func(request *argus.ApiGetInstanceRequest)) argus.ApiGetInstanceRequest { +func fixtureRequest(mods ...func(request *observability.ApiGetInstanceRequest)) observability.ApiGetInstanceRequest { request := testClient.GetInstance(testCtx, testInstanceId, testProjectId) for _, mod := range mods { mod(&request) @@ -193,7 +193,7 @@ func TestBuildRequest(t *testing.T) { tests := []struct { description string model *inputModel - expectedRequest argus.ApiGetInstanceRequest + expectedRequest observability.ApiGetInstanceRequest }{ { description: "base", diff --git a/internal/cmd/argus/instance/instance.go b/internal/cmd/observability/instance/instance.go similarity index 54% rename from internal/cmd/argus/instance/instance.go rename to internal/cmd/observability/instance/instance.go index af10b9a7c..efd7d4974 100644 --- a/internal/cmd/argus/instance/instance.go +++ b/internal/cmd/observability/instance/instance.go @@ -1,11 +1,11 @@ package instance import ( - "github.com/stackitcloud/stackit-cli/internal/cmd/argus/instance/create" - "github.com/stackitcloud/stackit-cli/internal/cmd/argus/instance/delete" - "github.com/stackitcloud/stackit-cli/internal/cmd/argus/instance/describe" - "github.com/stackitcloud/stackit-cli/internal/cmd/argus/instance/list" - "github.com/stackitcloud/stackit-cli/internal/cmd/argus/instance/update" + "github.com/stackitcloud/stackit-cli/internal/cmd/observability/instance/create" + "github.com/stackitcloud/stackit-cli/internal/cmd/observability/instance/delete" + "github.com/stackitcloud/stackit-cli/internal/cmd/observability/instance/describe" + "github.com/stackitcloud/stackit-cli/internal/cmd/observability/instance/list" + "github.com/stackitcloud/stackit-cli/internal/cmd/observability/instance/update" "github.com/stackitcloud/stackit-cli/internal/pkg/args" "github.com/stackitcloud/stackit-cli/internal/pkg/print" "github.com/stackitcloud/stackit-cli/internal/pkg/utils" @@ -16,8 +16,8 @@ import ( func NewCmd(p *print.Printer) *cobra.Command { cmd := &cobra.Command{ Use: "instance", - Short: "Provides functionality for Argus instances", - Long: "Provides functionality for Argus instances.", + Short: "Provides functionality for Observability instances", + Long: "Provides functionality for Observability instances.", Args: args.NoArgs, Run: utils.CmdHelp, } diff --git a/internal/cmd/argus/instance/list/list.go b/internal/cmd/observability/instance/list/list.go similarity index 80% rename from internal/cmd/argus/instance/list/list.go rename to internal/cmd/observability/instance/list/list.go index 98a8e74d5..d87fcdf0c 100644 --- a/internal/cmd/argus/instance/list/list.go +++ b/internal/cmd/observability/instance/list/list.go @@ -13,11 +13,11 @@ import ( "github.com/stackitcloud/stackit-cli/internal/pkg/globalflags" "github.com/stackitcloud/stackit-cli/internal/pkg/print" "github.com/stackitcloud/stackit-cli/internal/pkg/projectname" - "github.com/stackitcloud/stackit-cli/internal/pkg/services/argus/client" + "github.com/stackitcloud/stackit-cli/internal/pkg/services/observability/client" "github.com/stackitcloud/stackit-cli/internal/pkg/tables" "github.com/spf13/cobra" - "github.com/stackitcloud/stackit-sdk-go/services/argus" + "github.com/stackitcloud/stackit-sdk-go/services/observability" ) const ( @@ -32,19 +32,19 @@ type inputModel struct { func NewCmd(p *print.Printer) *cobra.Command { cmd := &cobra.Command{ Use: "list", - Short: "Lists all Argus instances", - Long: "Lists all Argus instances.", + Short: "Lists all Observability instances", + Long: "Lists all Observability instances.", Args: args.NoArgs, Example: examples.Build( examples.NewExample( - `List all Argus instances`, - "$ stackit argus instance list"), + `List all Observability instances`, + "$ stackit observability instance list"), examples.NewExample( - `List all Argus instances in JSON format`, - "$ stackit argus instance list --output-format json"), + `List all Observability instances in JSON format`, + "$ stackit observability instance list --output-format json"), examples.NewExample( - `List up to 10 Argus instances`, - "$ stackit argus instance list --limit 10"), + `List up to 10 Observability instances`, + "$ stackit observability instance list --limit 10"), ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() @@ -63,7 +63,7 @@ func NewCmd(p *print.Printer) *cobra.Command { req := buildRequest(ctx, model, apiClient) resp, err := req.Execute() if err != nil { - return fmt.Errorf("get Argus instances: %w", err) + return fmt.Errorf("get Observability instances: %w", err) } instances := *resp.Instances if len(instances) == 0 { @@ -124,17 +124,17 @@ func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { return &model, nil } -func buildRequest(ctx context.Context, model *inputModel, apiClient *argus.APIClient) argus.ApiListInstancesRequest { +func buildRequest(ctx context.Context, model *inputModel, apiClient *observability.APIClient) observability.ApiListInstancesRequest { req := apiClient.ListInstances(ctx, model.ProjectId) return req } -func outputResult(p *print.Printer, outputFormat string, instances []argus.ProjectInstanceFull) error { +func outputResult(p *print.Printer, outputFormat string, instances []observability.ProjectInstanceFull) error { switch outputFormat { case print.JSONOutputFormat: details, err := json.MarshalIndent(instances, "", " ") if err != nil { - return fmt.Errorf("marshal Argus instance list: %w", err) + return fmt.Errorf("marshal Observability instance list: %w", err) } p.Outputln(string(details)) @@ -142,7 +142,7 @@ func outputResult(p *print.Printer, outputFormat string, instances []argus.Proje case print.YAMLOutputFormat: details, err := yaml.MarshalWithOptions(instances, yaml.IndentSequence(true)) if err != nil { - return fmt.Errorf("marshal Argus instance list: %w", err) + return fmt.Errorf("marshal Observability instance list: %w", err) } p.Outputln(string(details)) diff --git a/internal/cmd/argus/instance/list/list_test.go b/internal/cmd/observability/instance/list/list_test.go similarity index 93% rename from internal/cmd/argus/instance/list/list_test.go rename to internal/cmd/observability/instance/list/list_test.go index 5e6e9cb9d..649f70e55 100644 --- a/internal/cmd/argus/instance/list/list_test.go +++ b/internal/cmd/observability/instance/list/list_test.go @@ -12,7 +12,7 @@ import ( "github.com/google/go-cmp/cmp/cmpopts" "github.com/google/uuid" "github.com/spf13/cobra" - "github.com/stackitcloud/stackit-sdk-go/services/argus" + "github.com/stackitcloud/stackit-sdk-go/services/observability" ) var projectIdFlag = globalflags.ProjectIdFlag @@ -20,7 +20,7 @@ var projectIdFlag = globalflags.ProjectIdFlag type testCtxKey struct{} var testCtx = context.WithValue(context.Background(), testCtxKey{}, "foo") -var testClient = &argus.APIClient{} +var testClient = &observability.APIClient{} var testProjectId = uuid.NewString() func fixtureFlagValues(mods ...func(flagValues map[string]string)) map[string]string { @@ -48,7 +48,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel { return model } -func fixtureRequest(mods ...func(request *argus.ApiListInstancesRequest)) argus.ApiListInstancesRequest { +func fixtureRequest(mods ...func(request *observability.ApiListInstancesRequest)) observability.ApiListInstancesRequest { request := testClient.ListInstances(testCtx, testProjectId) for _, mod := range mods { mod(&request) @@ -162,7 +162,7 @@ func TestBuildRequest(t *testing.T) { tests := []struct { description string model *inputModel - expectedRequest argus.ApiListInstancesRequest + expectedRequest observability.ApiListInstancesRequest }{ { description: "base", diff --git a/internal/cmd/argus/instance/update/update.go b/internal/cmd/observability/instance/update/update.go similarity index 67% rename from internal/cmd/argus/instance/update/update.go rename to internal/cmd/observability/instance/update/update.go index dbfe4bc13..192c84366 100644 --- a/internal/cmd/argus/instance/update/update.go +++ b/internal/cmd/observability/instance/update/update.go @@ -11,14 +11,14 @@ import ( "github.com/stackitcloud/stackit-cli/internal/pkg/flags" "github.com/stackitcloud/stackit-cli/internal/pkg/globalflags" "github.com/stackitcloud/stackit-cli/internal/pkg/print" - "github.com/stackitcloud/stackit-cli/internal/pkg/services/argus/client" - argusUtils "github.com/stackitcloud/stackit-cli/internal/pkg/services/argus/utils" + "github.com/stackitcloud/stackit-cli/internal/pkg/services/observability/client" + observabilityUtils "github.com/stackitcloud/stackit-cli/internal/pkg/services/observability/utils" "github.com/stackitcloud/stackit-cli/internal/pkg/spinner" "github.com/stackitcloud/stackit-cli/internal/pkg/utils" "github.com/spf13/cobra" - "github.com/stackitcloud/stackit-sdk-go/services/argus" - "github.com/stackitcloud/stackit-sdk-go/services/argus/wait" + "github.com/stackitcloud/stackit-sdk-go/services/observability" + "github.com/stackitcloud/stackit-sdk-go/services/observability/wait" ) const ( @@ -41,19 +41,19 @@ type inputModel struct { func NewCmd(p *print.Printer) *cobra.Command { cmd := &cobra.Command{ Use: fmt.Sprintf("update %s", instanceIdArg), - Short: "Updates an Argus instance", - Long: "Updates an Argus instance.", + Short: "Updates an Observability instance", + Long: "Updates an Observability instance.", Args: args.SingleArg(instanceIdArg, utils.ValidateUUID), Example: examples.Build( examples.NewExample( - `Update the plan of an Argus instance with ID "xxx" by specifying the plan ID`, - "$ stackit argus instance update xxx --plan-id yyy"), + `Update the plan of an Observability instance with ID "xxx" by specifying the plan ID`, + "$ stackit observability instance update xxx --plan-id yyy"), examples.NewExample( - `Update the plan of an Argus instance with ID "xxx" by specifying the plan name`, - "$ stackit argus instance update xxx --plan-name Frontend-Starter-EU01"), + `Update the plan of an Observability instance with ID "xxx" by specifying the plan name`, + "$ stackit observability instance update xxx --plan-name Frontend-Starter-EU01"), examples.NewExample( - `Update the name of an Argus instance with ID "xxx"`, - "$ stackit argus instance update xxx --name new-instance-name"), + `Update the name of an Observability instance with ID "xxx"`, + "$ stackit observability instance update xxx --name new-instance-name"), ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() @@ -68,7 +68,7 @@ func NewCmd(p *print.Printer) *cobra.Command { return err } - instanceLabel, err := argusUtils.GetInstanceName(ctx, apiClient, model.InstanceId, model.ProjectId) + instanceLabel, err := observabilityUtils.GetInstanceName(ctx, apiClient, model.InstanceId, model.ProjectId) if err != nil || instanceLabel == "" { p.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceId @@ -85,16 +85,16 @@ func NewCmd(p *print.Printer) *cobra.Command { // Call API req, err := buildRequest(ctx, model, apiClient) if err != nil { - var argusInvalidPlanError *cliErr.ArgusInvalidPlanError - if !errors.As(err, &argusInvalidPlanError) { - return fmt.Errorf("build Argus instance update request: %w", err) + var observabilityInvalidPlanError *cliErr.ObservabilityInvalidPlanError + if !errors.As(err, &observabilityInvalidPlanError) { + return fmt.Errorf("build Observability instance update request: %w", err) } return err } _, err = req.Execute() if err != nil { - return fmt.Errorf("update Argus instance: %w", err) + return fmt.Errorf("update Observability instance: %w", err) } instanceId := model.InstanceId @@ -104,7 +104,7 @@ func NewCmd(p *print.Printer) *cobra.Command { s.Start("Updating instance") _, err = wait.UpdateInstanceWaitHandler(ctx, apiClient, instanceId, model.ProjectId).WaitWithContext(ctx) if err != nil { - return fmt.Errorf("wait for Argus instance update: %w", err) + return fmt.Errorf("wait for Observability instance update: %w", err) } s.Stop() } @@ -140,7 +140,7 @@ func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inpu instanceName := flags.FlagToStringPointer(p, cmd, instanceNameFlag) if planId != nil && (planName != "") { - return nil, &cliErr.ArgusInputPlanError{ + return nil, &cliErr.ObservabilityInputPlanError{ Cmd: cmd, } } @@ -169,46 +169,46 @@ func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inpu return &model, nil } -type argusClient interface { - UpdateInstance(ctx context.Context, instanceId, projectId string) argus.ApiUpdateInstanceRequest - ListPlansExecute(ctx context.Context, projectId string) (*argus.PlansResponse, error) - GetInstanceExecute(ctx context.Context, instanceId, projectId string) (*argus.GetInstanceResponse, error) +type observabilityClient interface { + UpdateInstance(ctx context.Context, instanceId, projectId string) observability.ApiUpdateInstanceRequest + ListPlansExecute(ctx context.Context, projectId string) (*observability.PlansResponse, error) + GetInstanceExecute(ctx context.Context, instanceId, projectId string) (*observability.GetInstanceResponse, error) } -func buildRequest(ctx context.Context, model *inputModel, apiClient argusClient) (argus.ApiUpdateInstanceRequest, error) { +func buildRequest(ctx context.Context, model *inputModel, apiClient observabilityClient) (observability.ApiUpdateInstanceRequest, error) { req := apiClient.UpdateInstance(ctx, model.InstanceId, model.ProjectId) var err error plans, err := apiClient.ListPlansExecute(ctx, model.ProjectId) if err != nil { - return req, fmt.Errorf("get Argus plans: %w", err) + return req, fmt.Errorf("get Observability plans: %w", err) } currentInstance, err := apiClient.GetInstanceExecute(ctx, model.InstanceId, model.ProjectId) if err != nil { - return req, fmt.Errorf("get Argus instance: %w", err) + return req, fmt.Errorf("get Observability instance: %w", err) } - payload := argus.UpdateInstancePayload{ + payload := observability.UpdateInstancePayload{ PlanId: currentInstance.PlanId, Name: currentInstance.Name, } if model.PlanId == nil && model.PlanName != "" { - payload.PlanId, err = argusUtils.LoadPlanId(model.PlanName, plans) + payload.PlanId, err = observabilityUtils.LoadPlanId(model.PlanName, plans) if err != nil { - var argusInvalidPlanError *cliErr.ArgusInvalidPlanError - if !errors.As(err, &argusInvalidPlanError) { + var observabilityInvalidPlanError *cliErr.ObservabilityInvalidPlanError + if !errors.As(err, &observabilityInvalidPlanError) { return req, fmt.Errorf("load plan ID: %w", err) } return req, err } } else if model.PlanId != nil && model.PlanName == "" { - err := argusUtils.ValidatePlanId(*model.PlanId, plans) + err := observabilityUtils.ValidatePlanId(*model.PlanId, plans) if err != nil { - var argusInvalidPlanError *cliErr.ArgusInvalidPlanError - if !errors.As(err, &argusInvalidPlanError) { + var observabilityInvalidPlanError *cliErr.ObservabilityInvalidPlanError + if !errors.As(err, &observabilityInvalidPlanError) { return req, fmt.Errorf("validate plan ID: %w", err) } return req, err diff --git a/internal/cmd/argus/instance/update/update_test.go b/internal/cmd/observability/instance/update/update_test.go similarity index 87% rename from internal/cmd/argus/instance/update/update_test.go rename to internal/cmd/observability/instance/update/update_test.go index 89a7f99ca..0b5177b27 100644 --- a/internal/cmd/argus/instance/update/update_test.go +++ b/internal/cmd/observability/instance/update/update_test.go @@ -12,7 +12,7 @@ import ( "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/google/uuid" - "github.com/stackitcloud/stackit-sdk-go/services/argus" + "github.com/stackitcloud/stackit-sdk-go/services/observability" ) var projectIdFlag = globalflags.ProjectIdFlag @@ -20,27 +20,27 @@ var projectIdFlag = globalflags.ProjectIdFlag type testCtxKey struct{} var testCtx = context.WithValue(context.Background(), testCtxKey{}, "foo") -var testClient = &argus.APIClient{} +var testClient = &observability.APIClient{} -type argusClientMocked struct { +type observabilityClientMocked struct { listPlansError bool - listPlansResponse *argus.PlansResponse + listPlansResponse *observability.PlansResponse getInstanceError bool - getInstanceResponse *argus.GetInstanceResponse + getInstanceResponse *observability.GetInstanceResponse } -func (c *argusClientMocked) UpdateInstance(ctx context.Context, instanceId, projectId string) argus.ApiUpdateInstanceRequest { +func (c *observabilityClientMocked) UpdateInstance(ctx context.Context, instanceId, projectId string) observability.ApiUpdateInstanceRequest { return testClient.UpdateInstance(ctx, instanceId, projectId) } -func (c *argusClientMocked) ListPlansExecute(_ context.Context, _ string) (*argus.PlansResponse, error) { +func (c *observabilityClientMocked) ListPlansExecute(_ context.Context, _ string) (*observability.PlansResponse, error) { if c.listPlansError { return nil, fmt.Errorf("list flavors failed") } return c.listPlansResponse, nil } -func (c *argusClientMocked) GetInstanceExecute(_ context.Context, _, _ string) (*argus.GetInstanceResponse, error) { +func (c *observabilityClientMocked) GetInstanceExecute(_ context.Context, _, _ string) (*observability.GetInstanceResponse, error) { if c.getInstanceError { return nil, fmt.Errorf("get instance failed") } @@ -94,9 +94,9 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel { return model } -func fixtureRequest(mods ...func(request *argus.ApiUpdateInstanceRequest)) argus.ApiUpdateInstanceRequest { +func fixtureRequest(mods ...func(request *observability.ApiUpdateInstanceRequest)) observability.ApiUpdateInstanceRequest { request := testClient.UpdateInstance(testCtx, testInstanceId, testProjectId) - request = request.UpdateInstancePayload(argus.UpdateInstancePayload{ + request = request.UpdateInstancePayload(observability.UpdateInstancePayload{ PlanId: utils.Ptr(testNewPlanId), Name: utils.Ptr(testInstanceName), }) @@ -106,9 +106,9 @@ func fixtureRequest(mods ...func(request *argus.ApiUpdateInstanceRequest)) argus return request } -func fixturePlansResponse(mods ...func(response *argus.PlansResponse)) *argus.PlansResponse { - response := &argus.PlansResponse{ - Plans: &[]argus.Plan{ +func fixturePlansResponse(mods ...func(response *observability.PlansResponse)) *observability.PlansResponse { + response := &observability.PlansResponse{ + Plans: &[]observability.Plan{ { Name: utils.Ptr("example-plan-name"), Id: utils.Ptr(testNewPlanId), @@ -121,8 +121,8 @@ func fixturePlansResponse(mods ...func(response *argus.PlansResponse)) *argus.Pl return response } -func fixtureGetInstanceResponse(mods ...func(response *argus.GetInstanceResponse)) *argus.GetInstanceResponse { - response := &argus.GetInstanceResponse{ +func fixtureGetInstanceResponse(mods ...func(response *observability.GetInstanceResponse)) *observability.GetInstanceResponse { + response := &observability.GetInstanceResponse{ PlanId: utils.Ptr(testPlanId), Name: utils.Ptr(testInstanceName), } @@ -295,11 +295,11 @@ func TestBuildRequest(t *testing.T) { tests := []struct { description string model *inputModel - expectedRequest argus.ApiUpdateInstanceRequest + expectedRequest observability.ApiUpdateInstanceRequest getPlansFails bool - getPlansResponse *argus.PlansResponse + getPlansResponse *observability.PlansResponse getInstanceFails bool - getInstanceResponse *argus.GetInstanceResponse + getInstanceResponse *observability.GetInstanceResponse isValid bool }{ { @@ -394,7 +394,7 @@ func TestBuildRequest(t *testing.T) { ), getInstanceResponse: fixtureGetInstanceResponse(), expectedRequest: fixtureRequest(). - UpdateInstancePayload(argus.UpdateInstancePayload{ + UpdateInstancePayload(observability.UpdateInstancePayload{ PlanId: utils.Ptr(testPlanId), Name: utils.Ptr("new-instance-name"), }), @@ -416,7 +416,7 @@ func TestBuildRequest(t *testing.T) { for _, tt := range tests { t.Run(tt.description, func(t *testing.T) { - client := &argusClientMocked{ + client := &observabilityClientMocked{ listPlansError: tt.getPlansFails, listPlansResponse: tt.getPlansResponse, getInstanceError: tt.getInstanceFails, diff --git a/internal/cmd/argus/argus.go b/internal/cmd/observability/observability.go similarity index 52% rename from internal/cmd/argus/argus.go rename to internal/cmd/observability/observability.go index 4bf46ccaa..c6a000568 100644 --- a/internal/cmd/argus/argus.go +++ b/internal/cmd/observability/observability.go @@ -1,11 +1,11 @@ -package argus +package observability import ( - "github.com/stackitcloud/stackit-cli/internal/cmd/argus/credentials" - "github.com/stackitcloud/stackit-cli/internal/cmd/argus/grafana" - "github.com/stackitcloud/stackit-cli/internal/cmd/argus/instance" - "github.com/stackitcloud/stackit-cli/internal/cmd/argus/plans" - scrapeconfig "github.com/stackitcloud/stackit-cli/internal/cmd/argus/scrape-config" + "github.com/stackitcloud/stackit-cli/internal/cmd/observability/credentials" + "github.com/stackitcloud/stackit-cli/internal/cmd/observability/grafana" + "github.com/stackitcloud/stackit-cli/internal/cmd/observability/instance" + "github.com/stackitcloud/stackit-cli/internal/cmd/observability/plans" + scrapeconfig "github.com/stackitcloud/stackit-cli/internal/cmd/observability/scrape-config" "github.com/stackitcloud/stackit-cli/internal/pkg/args" "github.com/stackitcloud/stackit-cli/internal/pkg/print" "github.com/stackitcloud/stackit-cli/internal/pkg/utils" @@ -15,11 +15,12 @@ import ( func NewCmd(p *print.Printer) *cobra.Command { cmd := &cobra.Command{ - Use: "argus", - Short: "Provides functionality for Argus", - Long: "Provides functionality for Argus.", - Args: args.NoArgs, - Run: utils.CmdHelp, + Use: "observability", + Aliases: []string{"argus"}, + Short: "Provides functionality for Observability", + Long: "Provides functionality for Observability.", + Args: args.NoArgs, + Run: utils.CmdHelp, } addSubcommands(cmd, p) return cmd diff --git a/internal/cmd/argus/plans/plans.go b/internal/cmd/observability/plans/plans.go similarity index 81% rename from internal/cmd/argus/plans/plans.go rename to internal/cmd/observability/plans/plans.go index a80800177..14baeaec3 100644 --- a/internal/cmd/argus/plans/plans.go +++ b/internal/cmd/observability/plans/plans.go @@ -13,11 +13,11 @@ import ( "github.com/stackitcloud/stackit-cli/internal/pkg/globalflags" "github.com/stackitcloud/stackit-cli/internal/pkg/print" "github.com/stackitcloud/stackit-cli/internal/pkg/projectname" - "github.com/stackitcloud/stackit-cli/internal/pkg/services/argus/client" + "github.com/stackitcloud/stackit-cli/internal/pkg/services/observability/client" "github.com/stackitcloud/stackit-cli/internal/pkg/tables" "github.com/spf13/cobra" - "github.com/stackitcloud/stackit-sdk-go/services/argus" + "github.com/stackitcloud/stackit-sdk-go/services/observability" ) const ( @@ -32,19 +32,19 @@ type inputModel struct { func NewCmd(p *print.Printer) *cobra.Command { cmd := &cobra.Command{ Use: "plans", - Short: "Lists all Argus service plans", - Long: "Lists all Argus service plans.", + Short: "Lists all Observability service plans", + Long: "Lists all Observability service plans.", Args: args.NoArgs, Example: examples.Build( examples.NewExample( - `List all Argus service plans`, - "$ stackit argus plans"), + `List all Observability service plans`, + "$ stackit observability plans"), examples.NewExample( - `List all Argus service plans in JSON format`, - "$ stackit argus plans --output-format json"), + `List all Observability service plans in JSON format`, + "$ stackit observability plans --output-format json"), examples.NewExample( - `List up to 10 Argus service plans`, - "$ stackit argus plans --limit 10"), + `List up to 10 Observability service plans`, + "$ stackit observability plans --limit 10"), ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() @@ -63,7 +63,7 @@ func NewCmd(p *print.Printer) *cobra.Command { req := buildRequest(ctx, model, apiClient) resp, err := req.Execute() if err != nil { - return fmt.Errorf("get Argus service plans: %w", err) + return fmt.Errorf("get Observability service plans: %w", err) } plans := *resp.Plans if len(plans) == 0 { @@ -124,17 +124,17 @@ func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { return &model, nil } -func buildRequest(ctx context.Context, model *inputModel, apiClient *argus.APIClient) argus.ApiListPlansRequest { +func buildRequest(ctx context.Context, model *inputModel, apiClient *observability.APIClient) observability.ApiListPlansRequest { req := apiClient.ListPlans(ctx, model.ProjectId) return req } -func outputResult(p *print.Printer, outputFormat string, plans []argus.Plan) error { +func outputResult(p *print.Printer, outputFormat string, plans []observability.Plan) error { switch outputFormat { case print.JSONOutputFormat: details, err := json.MarshalIndent(plans, "", " ") if err != nil { - return fmt.Errorf("marshal Argus plans: %w", err) + return fmt.Errorf("marshal Observability plans: %w", err) } p.Outputln(string(details)) @@ -142,7 +142,7 @@ func outputResult(p *print.Printer, outputFormat string, plans []argus.Plan) err case print.YAMLOutputFormat: details, err := yaml.MarshalWithOptions(plans, yaml.IndentSequence(true)) if err != nil { - return fmt.Errorf("marshal Argus plans: %w", err) + return fmt.Errorf("marshal Observability plans: %w", err) } p.Outputln(string(details)) diff --git a/internal/cmd/argus/plans/plans_test.go b/internal/cmd/observability/plans/plans_test.go similarity index 93% rename from internal/cmd/argus/plans/plans_test.go rename to internal/cmd/observability/plans/plans_test.go index d23fe8ec1..3c978a3a7 100644 --- a/internal/cmd/argus/plans/plans_test.go +++ b/internal/cmd/observability/plans/plans_test.go @@ -12,7 +12,7 @@ import ( "github.com/google/go-cmp/cmp/cmpopts" "github.com/google/uuid" "github.com/spf13/cobra" - "github.com/stackitcloud/stackit-sdk-go/services/argus" + "github.com/stackitcloud/stackit-sdk-go/services/observability" ) var projectIdFlag = globalflags.ProjectIdFlag @@ -20,7 +20,7 @@ var projectIdFlag = globalflags.ProjectIdFlag type testCtxKey struct{} var testCtx = context.WithValue(context.Background(), testCtxKey{}, "foo") -var testClient = &argus.APIClient{} +var testClient = &observability.APIClient{} var testProjectId = uuid.NewString() func fixtureFlagValues(mods ...func(flagValues map[string]string)) map[string]string { @@ -48,7 +48,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel { return model } -func fixtureRequest(mods ...func(request *argus.ApiListPlansRequest)) argus.ApiListPlansRequest { +func fixtureRequest(mods ...func(request *observability.ApiListPlansRequest)) observability.ApiListPlansRequest { request := testClient.ListPlans(testCtx, testProjectId) for _, mod := range mods { mod(&request) @@ -163,7 +163,7 @@ func TestBuildRequest(t *testing.T) { tests := []struct { description string model *inputModel - expectedRequest argus.ApiListPlansRequest + expectedRequest observability.ApiListPlansRequest }{ { description: "base", diff --git a/internal/cmd/argus/scrape-config/create/create.go b/internal/cmd/observability/scrape-config/create/create.go similarity index 68% rename from internal/cmd/argus/scrape-config/create/create.go rename to internal/cmd/observability/scrape-config/create/create.go index a2c4d02e5..dd7eba557 100644 --- a/internal/cmd/argus/scrape-config/create/create.go +++ b/internal/cmd/observability/scrape-config/create/create.go @@ -11,13 +11,13 @@ import ( "github.com/stackitcloud/stackit-cli/internal/pkg/flags" "github.com/stackitcloud/stackit-cli/internal/pkg/globalflags" "github.com/stackitcloud/stackit-cli/internal/pkg/print" - "github.com/stackitcloud/stackit-cli/internal/pkg/services/argus/client" - argusUtils "github.com/stackitcloud/stackit-cli/internal/pkg/services/argus/utils" + "github.com/stackitcloud/stackit-cli/internal/pkg/services/observability/client" + observabilityUtils "github.com/stackitcloud/stackit-cli/internal/pkg/services/observability/utils" "github.com/stackitcloud/stackit-cli/internal/pkg/spinner" "github.com/spf13/cobra" - "github.com/stackitcloud/stackit-sdk-go/services/argus" - "github.com/stackitcloud/stackit-sdk-go/services/argus/wait" + "github.com/stackitcloud/stackit-sdk-go/services/observability" + "github.com/stackitcloud/stackit-sdk-go/services/observability/wait" ) const ( @@ -28,15 +28,15 @@ const ( type inputModel struct { *globalflags.GlobalFlagModel InstanceId string - Payload *argus.CreateScrapeConfigPayload + Payload *observability.CreateScrapeConfigPayload } func NewCmd(p *print.Printer) *cobra.Command { cmd := &cobra.Command{ Use: "create", - Short: "Creates a scrape configuration for an Argus instance", + Short: "Creates a scrape configuration for an Observability instance", Long: fmt.Sprintf("%s\n%s\n%s\n%s", - "Creates a scrape configuration job for an Argus instance.", + "Creates a scrape configuration job for an Observability instance.", "The payload can be provided as a JSON string or a file path prefixed with \"@\".", "If no payload is provided, a default payload will be used.", "See https://docs.api.stackit.cloud/documentation/argus/version/v1#tag/scrape-config/operation/v1_projects_instances_scrapeconfigs_create for information regarding the payload structure.", @@ -44,19 +44,19 @@ func NewCmd(p *print.Printer) *cobra.Command { Args: args.NoArgs, Example: examples.Build( examples.NewExample( - `Create a scrape configuration on Argus instance "xxx" using default configuration`, - "$ stackit argus scrape-config create"), + `Create a scrape configuration on Observability instance "xxx" using default configuration`, + "$ stackit observability scrape-config create"), examples.NewExample( - `Create a scrape configuration on Argus instance "xxx" using an API payload sourced from the file "./payload.json"`, - "$ stackit argus scrape-config create --payload @./payload.json --instance-id xxx"), + `Create a scrape configuration on Observability instance "xxx" using an API payload sourced from the file "./payload.json"`, + "$ stackit observability scrape-config create --payload @./payload.json --instance-id xxx"), examples.NewExample( - `Create a scrape configuration on Argus instance "xxx" using an API payload provided as a JSON string`, - `$ stackit argus scrape-config create --payload "{...}" --instance-id xxx`), + `Create a scrape configuration on Observability instance "xxx" using an API payload provided as a JSON string`, + `$ stackit observability scrape-config create --payload "{...}" --instance-id xxx`), examples.NewExample( `Generate a payload with default values, and adapt it with custom values for the different configuration options`, - `$ stackit argus scrape-config generate-payload > ./payload.json`, + `$ stackit observability scrape-config generate-payload > ./payload.json`, ``, - `$ stackit argus scrape-config create --payload @./payload.json --instance-id xxx`), + `$ stackit observability scrape-config create --payload @./payload.json --instance-id xxx`), ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() @@ -71,7 +71,7 @@ func NewCmd(p *print.Printer) *cobra.Command { return err } - instanceLabel, err := argusUtils.GetInstanceName(ctx, apiClient, model.InstanceId, model.ProjectId) + instanceLabel, err := observabilityUtils.GetInstanceName(ctx, apiClient, model.InstanceId, model.ProjectId) if err != nil { p.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceId @@ -79,7 +79,7 @@ func NewCmd(p *print.Printer) *cobra.Command { // Fill in default payload, if needed if model.Payload == nil { - defaultPayload := argusUtils.DefaultCreateScrapeConfigPayload + defaultPayload := observabilityUtils.DefaultCreateScrapeConfigPayload if err != nil { return fmt.Errorf("get default payload: %w", err) } @@ -87,7 +87,7 @@ func NewCmd(p *print.Printer) *cobra.Command { } if !model.AssumeYes { - prompt := fmt.Sprintf("Are you sure you want to create scrape configuration %q on Argus instance %q?", *model.Payload.JobName, instanceLabel) + prompt := fmt.Sprintf("Are you sure you want to create scrape configuration %q on Observability instance %q?", *model.Payload.JobName, instanceLabel) err = p.PromptForConfirmation(prompt) if err != nil { return err @@ -118,7 +118,7 @@ func NewCmd(p *print.Printer) *cobra.Command { if model.Async { operationState = "Triggered creation of" } - p.Outputf("%s scrape configuration with name %q for Argus instance %q\n", operationState, *jobName, instanceLabel) + p.Outputf("%s scrape configuration with name %q for Observability instance %q\n", operationState, *jobName, instanceLabel) return nil }, } @@ -127,7 +127,7 @@ func NewCmd(p *print.Printer) *cobra.Command { } func configureFlags(cmd *cobra.Command) { - cmd.Flags().Var(flags.ReadFromFileFlag(), payloadFlag, `Request payload (JSON). Can be a string or a file path, if prefixed with "@" (example: @./payload.json). If unset, will use a default payload (you can check it by running "stackit argus scrape-config generate-payload")`) + cmd.Flags().Var(flags.ReadFromFileFlag(), payloadFlag, `Request payload (JSON). Can be a string or a file path, if prefixed with "@" (example: @./payload.json). If unset, will use a default payload (you can check it by running "stackit observability scrape-config generate-payload")`) cmd.Flags().Var(flags.UUIDFlag(), instanceIdFlag, "Instance ID") err := flags.MarkFlagsRequired(cmd, instanceIdFlag) @@ -141,9 +141,9 @@ func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { } payloadValue := flags.FlagToStringPointer(p, cmd, payloadFlag) - var payload *argus.CreateScrapeConfigPayload + var payload *observability.CreateScrapeConfigPayload if payloadValue != nil { - payload = &argus.CreateScrapeConfigPayload{} + payload = &observability.CreateScrapeConfigPayload{} err := json.Unmarshal([]byte(*payloadValue), payload) if err != nil { return nil, fmt.Errorf("encode payload: %w", err) @@ -157,7 +157,7 @@ func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { }, nil } -func buildRequest(ctx context.Context, model *inputModel, apiClient *argus.APIClient) argus.ApiCreateScrapeConfigRequest { +func buildRequest(ctx context.Context, model *inputModel, apiClient *observability.APIClient) observability.ApiCreateScrapeConfigRequest { req := apiClient.CreateScrapeConfig(ctx, model.InstanceId, model.ProjectId) req = req.CreateScrapeConfigPayload(*model.Payload) diff --git a/internal/cmd/argus/scrape-config/create/create_test.go b/internal/cmd/observability/scrape-config/create/create_test.go similarity index 91% rename from internal/cmd/argus/scrape-config/create/create_test.go rename to internal/cmd/observability/scrape-config/create/create_test.go index a9ca561b4..54c0573e3 100644 --- a/internal/cmd/argus/scrape-config/create/create_test.go +++ b/internal/cmd/observability/scrape-config/create/create_test.go @@ -10,7 +10,7 @@ import ( "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/google/uuid" - "github.com/stackitcloud/stackit-sdk-go/services/argus" + "github.com/stackitcloud/stackit-sdk-go/services/observability" ) var projectIdFlag = globalflags.ProjectIdFlag @@ -18,12 +18,12 @@ var projectIdFlag = globalflags.ProjectIdFlag type testCtxKey struct{} var testCtx = context.WithValue(context.Background(), testCtxKey{}, "foo") -var testClient = &argus.APIClient{} +var testClient = &observability.APIClient{} var testProjectId = uuid.NewString() var testInstanceId = uuid.NewString() -var testPayload = &argus.CreateScrapeConfigPayload{ - BasicAuth: &argus.CreateScrapeConfigPayloadBasicAuth{ +var testPayload = &observability.CreateScrapeConfigPayload{ + BasicAuth: &observability.CreateScrapeConfigPayloadBasicAuth{ Username: utils.Ptr("username"), Password: utils.Ptr("password"), }, @@ -32,7 +32,7 @@ var testPayload = &argus.CreateScrapeConfigPayload{ HonorTimeStamps: utils.Ptr(true), MetricsPath: utils.Ptr("/metrics"), JobName: utils.Ptr("default-name"), - MetricsRelabelConfigs: &[]argus.CreateScrapeConfigPayloadMetricsRelabelConfigsInner{ + MetricsRelabelConfigs: &[]observability.CreateScrapeConfigPayloadMetricsRelabelConfigsInner{ { Action: utils.Ptr("replace"), Modulus: utils.Ptr(1.0), @@ -51,7 +51,7 @@ var testPayload = &argus.CreateScrapeConfigPayload{ Scheme: utils.Ptr("scheme"), ScrapeInterval: utils.Ptr("interval"), ScrapeTimeout: utils.Ptr("timeout"), - StaticConfigs: &[]argus.CreateScrapeConfigPayloadStaticConfigsInner{ + StaticConfigs: &[]observability.CreateScrapeConfigPayloadStaticConfigsInner{ { Labels: &map[string]interface{}{ "label": "value", @@ -60,7 +60,7 @@ var testPayload = &argus.CreateScrapeConfigPayload{ Targets: &[]string{"target"}, }, }, - TlsConfig: &argus.CreateScrapeConfigPayloadHttpSdConfigsInnerOauth2TlsConfig{ + TlsConfig: &observability.CreateScrapeConfigPayloadHttpSdConfigsInnerOauth2TlsConfig{ InsecureSkipVerify: utils.Ptr(true), }, } @@ -133,7 +133,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel { return model } -func fixtureRequest(mods ...func(request *argus.ApiCreateScrapeConfigRequest)) argus.ApiCreateScrapeConfigRequest { +func fixtureRequest(mods ...func(request *observability.ApiCreateScrapeConfigRequest)) observability.ApiCreateScrapeConfigRequest { request := testClient.CreateScrapeConfig(testCtx, testInstanceId, testProjectId) request = request.CreateScrapeConfigPayload(*testPayload) for _, mod := range mods { @@ -286,7 +286,7 @@ func TestBuildRequest(t *testing.T) { tests := []struct { description string model *inputModel - expectedRequest argus.ApiCreateScrapeConfigRequest + expectedRequest observability.ApiCreateScrapeConfigRequest isValid bool }{ { diff --git a/internal/cmd/argus/scrape-config/delete/delete.go b/internal/cmd/observability/scrape-config/delete/delete.go similarity index 75% rename from internal/cmd/argus/scrape-config/delete/delete.go rename to internal/cmd/observability/scrape-config/delete/delete.go index 31cc6d855..de04c6fcc 100644 --- a/internal/cmd/argus/scrape-config/delete/delete.go +++ b/internal/cmd/observability/scrape-config/delete/delete.go @@ -10,13 +10,13 @@ import ( "github.com/stackitcloud/stackit-cli/internal/pkg/flags" "github.com/stackitcloud/stackit-cli/internal/pkg/globalflags" "github.com/stackitcloud/stackit-cli/internal/pkg/print" - "github.com/stackitcloud/stackit-cli/internal/pkg/services/argus/client" - argusUtils "github.com/stackitcloud/stackit-cli/internal/pkg/services/argus/utils" + "github.com/stackitcloud/stackit-cli/internal/pkg/services/observability/client" + observabilityUtils "github.com/stackitcloud/stackit-cli/internal/pkg/services/observability/utils" "github.com/stackitcloud/stackit-cli/internal/pkg/spinner" "github.com/spf13/cobra" - "github.com/stackitcloud/stackit-sdk-go/services/argus" - "github.com/stackitcloud/stackit-sdk-go/services/argus/wait" + "github.com/stackitcloud/stackit-sdk-go/services/observability" + "github.com/stackitcloud/stackit-sdk-go/services/observability/wait" ) const ( @@ -34,13 +34,13 @@ type inputModel struct { func NewCmd(p *print.Printer) *cobra.Command { cmd := &cobra.Command{ Use: fmt.Sprintf("delete %s", jobNameArg), - Short: "Deletes a scrape configuration from an Argus instance", - Long: "Deletes a scrape configuration from an Argus instance.", + Short: "Deletes a scrape configuration from an Observability instance", + Long: "Deletes a scrape configuration from an Observability instance.", Args: args.SingleArg(jobNameArg, nil), Example: examples.Build( examples.NewExample( - `Delete a scrape configuration job with name "my-config" from Argus instance "xxx"`, - "$ stackit argus scrape-config delete my-config --instance-id xxx"), + `Delete a scrape configuration job with name "my-config" from Observability instance "xxx"`, + "$ stackit observability scrape-config delete my-config --instance-id xxx"), ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() @@ -55,14 +55,14 @@ func NewCmd(p *print.Printer) *cobra.Command { return err } - instanceLabel, err := argusUtils.GetInstanceName(ctx, apiClient, model.InstanceId, model.ProjectId) + instanceLabel, err := observabilityUtils.GetInstanceName(ctx, apiClient, model.InstanceId, model.ProjectId) if err != nil { p.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceId } if !model.AssumeYes { - prompt := fmt.Sprintf("Are you sure you want to delete scrape configuration %q on Argus instance %q? (This cannot be undone)", model.JobName, instanceLabel) + prompt := fmt.Sprintf("Are you sure you want to delete scrape configuration %q on Observability instance %q? (This cannot be undone)", model.JobName, instanceLabel) err = p.PromptForConfirmation(prompt) if err != nil { return err @@ -91,7 +91,7 @@ func NewCmd(p *print.Printer) *cobra.Command { if model.Async { operationState = "Triggered deletion of" } - p.Info("%s scrape configuration with name %q for Argus instance %q\n", operationState, model.JobName, instanceLabel) + p.Info("%s scrape configuration with name %q for Observability instance %q\n", operationState, model.JobName, instanceLabel) return nil }, } @@ -121,7 +121,7 @@ func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inpu }, nil } -func buildRequest(ctx context.Context, model *inputModel, apiClient *argus.APIClient) argus.ApiDeleteScrapeConfigRequest { +func buildRequest(ctx context.Context, model *inputModel, apiClient *observability.APIClient) observability.ApiDeleteScrapeConfigRequest { req := apiClient.DeleteScrapeConfig(ctx, model.InstanceId, model.JobName, model.ProjectId) return req } diff --git a/internal/cmd/argus/scrape-config/delete/delete_test.go b/internal/cmd/observability/scrape-config/delete/delete_test.go similarity index 94% rename from internal/cmd/argus/scrape-config/delete/delete_test.go rename to internal/cmd/observability/scrape-config/delete/delete_test.go index 21d1b79c9..c9549964d 100644 --- a/internal/cmd/argus/scrape-config/delete/delete_test.go +++ b/internal/cmd/observability/scrape-config/delete/delete_test.go @@ -9,7 +9,7 @@ import ( "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/google/uuid" - "github.com/stackitcloud/stackit-sdk-go/services/argus" + "github.com/stackitcloud/stackit-sdk-go/services/observability" ) var projectIdFlag = globalflags.ProjectIdFlag @@ -17,7 +17,7 @@ var projectIdFlag = globalflags.ProjectIdFlag type testCtxKey struct{} var testCtx = context.WithValue(context.Background(), testCtxKey{}, "foo") -var testClient = &argus.APIClient{} +var testClient = &observability.APIClient{} var testProjectId = uuid.NewString() var testInstanceId = uuid.NewString() var testJobName = "my-config" @@ -58,7 +58,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel { return model } -func fixtureRequest(mods ...func(request *argus.ApiDeleteScrapeConfigRequest)) argus.ApiDeleteScrapeConfigRequest { +func fixtureRequest(mods ...func(request *observability.ApiDeleteScrapeConfigRequest)) observability.ApiDeleteScrapeConfigRequest { request := testClient.DeleteScrapeConfig(testCtx, testInstanceId, testJobName, testProjectId) for _, mod := range mods { mod(&request) @@ -207,7 +207,7 @@ func TestBuildRequest(t *testing.T) { description string model *inputModel isValid bool - expectedRequest argus.ApiDeleteScrapeConfigRequest + expectedRequest observability.ApiDeleteScrapeConfigRequest }{ { description: "base", diff --git a/internal/cmd/argus/scrape-config/describe/describe.go b/internal/cmd/observability/scrape-config/describe/describe.go similarity index 87% rename from internal/cmd/argus/scrape-config/describe/describe.go rename to internal/cmd/observability/scrape-config/describe/describe.go index 2b9d1fb99..9a94c8fd6 100644 --- a/internal/cmd/argus/scrape-config/describe/describe.go +++ b/internal/cmd/observability/scrape-config/describe/describe.go @@ -13,9 +13,9 @@ import ( "github.com/stackitcloud/stackit-cli/internal/pkg/flags" "github.com/stackitcloud/stackit-cli/internal/pkg/globalflags" "github.com/stackitcloud/stackit-cli/internal/pkg/print" - "github.com/stackitcloud/stackit-cli/internal/pkg/services/argus/client" + "github.com/stackitcloud/stackit-cli/internal/pkg/services/observability/client" "github.com/stackitcloud/stackit-cli/internal/pkg/tables" - "github.com/stackitcloud/stackit-sdk-go/services/argus" + "github.com/stackitcloud/stackit-sdk-go/services/observability" "github.com/spf13/cobra" ) @@ -35,16 +35,16 @@ type inputModel struct { func NewCmd(p *print.Printer) *cobra.Command { cmd := &cobra.Command{ Use: fmt.Sprintf("describe %s", jobNameArg), - Short: "Shows details of a scrape configuration from an Argus instance", - Long: "Shows details of a scrape configuration from an Argus instance.", + Short: "Shows details of a scrape configuration from an Observability instance", + Long: "Shows details of a scrape configuration from an Observability instance.", Args: args.SingleArg(jobNameArg, nil), Example: examples.Build( examples.NewExample( - `Get details of a scrape configuration with name "my-config" from Argus instance "xxx"`, - "$ stackit argus scrape-config describe my-config --instance-id xxx"), + `Get details of a scrape configuration with name "my-config" from Observability instance "xxx"`, + "$ stackit observability scrape-config describe my-config --instance-id xxx"), examples.NewExample( - `Get details of a scrape configuration with name "my-config" from Argus instance "xxx" in JSON format`, - "$ stackit argus scrape-config describe my-config --output-format json"), + `Get details of a scrape configuration with name "my-config" from Observability instance "xxx" in JSON format`, + "$ stackit observability scrape-config describe my-config --output-format json"), ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() @@ -94,12 +94,12 @@ func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inpu }, nil } -func buildRequest(ctx context.Context, model *inputModel, apiClient *argus.APIClient) argus.ApiGetScrapeConfigRequest { +func buildRequest(ctx context.Context, model *inputModel, apiClient *observability.APIClient) observability.ApiGetScrapeConfigRequest { req := apiClient.GetScrapeConfig(ctx, model.InstanceId, model.JobName, model.ProjectId) return req } -func outputResult(p *print.Printer, outputFormat string, config *argus.Job) error { +func outputResult(p *print.Printer, outputFormat string, config *observability.Job) error { switch outputFormat { case print.JSONOutputFormat: details, err := json.MarshalIndent(config, "", " ") diff --git a/internal/cmd/argus/scrape-config/describe/describe_test.go b/internal/cmd/observability/scrape-config/describe/describe_test.go similarity index 94% rename from internal/cmd/argus/scrape-config/describe/describe_test.go rename to internal/cmd/observability/scrape-config/describe/describe_test.go index 962d373a9..f496da426 100644 --- a/internal/cmd/argus/scrape-config/describe/describe_test.go +++ b/internal/cmd/observability/scrape-config/describe/describe_test.go @@ -9,7 +9,7 @@ import ( "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/google/uuid" - "github.com/stackitcloud/stackit-sdk-go/services/argus" + "github.com/stackitcloud/stackit-sdk-go/services/observability" ) var projectIdFlag = globalflags.ProjectIdFlag @@ -17,7 +17,7 @@ var projectIdFlag = globalflags.ProjectIdFlag type testCtxKey struct{} var testCtx = context.WithValue(context.Background(), testCtxKey{}, "foo") -var testClient = &argus.APIClient{} +var testClient = &observability.APIClient{} var testProjectId = uuid.NewString() var testInstanceId = uuid.NewString() var testJobName = "my-config" @@ -58,7 +58,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel { return model } -func fixtureRequest(mods ...func(request *argus.ApiGetScrapeConfigRequest)) argus.ApiGetScrapeConfigRequest { +func fixtureRequest(mods ...func(request *observability.ApiGetScrapeConfigRequest)) observability.ApiGetScrapeConfigRequest { request := testClient.GetScrapeConfig(testCtx, testInstanceId, testJobName, testProjectId) for _, mod := range mods { mod(&request) @@ -207,7 +207,7 @@ func TestBuildRequest(t *testing.T) { description string model *inputModel isValid bool - expectedRequest argus.ApiGetScrapeConfigRequest + expectedRequest observability.ApiGetScrapeConfigRequest }{ { description: "base", diff --git a/internal/cmd/argus/scrape-config/generate-payload/generate_payload.go b/internal/cmd/observability/scrape-config/generate-payload/generate_payload.go similarity index 76% rename from internal/cmd/argus/scrape-config/generate-payload/generate_payload.go rename to internal/cmd/observability/scrape-config/generate-payload/generate_payload.go index 9d5e720f2..cdd20cd9f 100644 --- a/internal/cmd/argus/scrape-config/generate-payload/generate_payload.go +++ b/internal/cmd/observability/scrape-config/generate-payload/generate_payload.go @@ -11,11 +11,11 @@ import ( "github.com/stackitcloud/stackit-cli/internal/pkg/flags" "github.com/stackitcloud/stackit-cli/internal/pkg/globalflags" "github.com/stackitcloud/stackit-cli/internal/pkg/print" - "github.com/stackitcloud/stackit-cli/internal/pkg/services/argus/client" - argusUtils "github.com/stackitcloud/stackit-cli/internal/pkg/services/argus/utils" + "github.com/stackitcloud/stackit-cli/internal/pkg/services/observability/client" + observabilityUtils "github.com/stackitcloud/stackit-cli/internal/pkg/services/observability/utils" "github.com/spf13/cobra" - "github.com/stackitcloud/stackit-sdk-go/services/argus" + "github.com/stackitcloud/stackit-sdk-go/services/observability" ) const ( @@ -34,11 +34,11 @@ type inputModel struct { func NewCmd(p *print.Printer) *cobra.Command { cmd := &cobra.Command{ Use: "generate-payload", - Short: "Generates a payload to create/update scrape configurations for an Argus instance ", + Short: "Generates a payload to create/update scrape configurations for an Observability instance ", Long: fmt.Sprintf("%s\n%s\n%s\n%s\n%s\n%s\n", "Generates a JSON payload with values to be used as --payload input for scrape configurations creation or update.", "This command can be used to generate a payload to update an existing scrape config or to create a new scrape config job.", - "To update an existing scrape config job, provide the job name and the instance ID of the Argus instance.", + "To update an existing scrape config job, provide the job name and the instance ID of the Observability instance.", "To obtain a default payload to create a new scrape config job, run the command with no flags.", "Note that some of the default values provided, such as the job name, the metrics path and URL of the targets, should be adapted to your use case.", "See https://docs.api.stackit.cloud/documentation/argus/version/v1#tag/scrape-config/operation/v1_projects_instances_scrapeconfigs_create for information regarding the payload structure.", @@ -47,17 +47,17 @@ func NewCmd(p *print.Printer) *cobra.Command { Example: examples.Build( examples.NewExample( `Generate a Create payload with default values, and adapt it with custom values for the different configuration options`, - `$ stackit argus scrape-config generate-payload --file-path ./payload.json`, + `$ stackit observability scrape-config generate-payload --file-path ./payload.json`, ``, - `$ stackit argus scrape-config create my-config --payload @./payload.json`), + `$ stackit observability scrape-config create my-config --payload @./payload.json`), examples.NewExample( - `Generate an Update payload with the values of an existing configuration named "my-config" for Argus instance xxx, and adapt it with custom values for the different configuration options`, - `$ stackit argus scrape-config generate-payload --job-name my-config --instance-id xxx --file-path ./payload.json`, + `Generate an Update payload with the values of an existing configuration named "my-config" for Observability instance xxx, and adapt it with custom values for the different configuration options`, + `$ stackit observability scrape-config generate-payload --job-name my-config --instance-id xxx --file-path ./payload.json`, ``, - `$ stackit argus scrape-config update my-config --payload @./payload.json`), + `$ stackit observability scrape-config update my-config --payload @./payload.json`), examples.NewExample( - `Generate an Update payload with the values of an existing configuration named "my-config" for Argus instance xxx, and preview it in the terminal`, - `$ stackit argus scrape-config generate-payload --job-name my-config --instance-id xxx`), + `Generate an Update payload with the values of an existing configuration named "my-config" for Observability instance xxx, and preview it in the terminal`, + `$ stackit observability scrape-config generate-payload --job-name my-config --instance-id xxx`), ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() @@ -73,17 +73,17 @@ func NewCmd(p *print.Printer) *cobra.Command { } if model.JobName == nil { - createPayload := argusUtils.DefaultCreateScrapeConfigPayload + createPayload := observabilityUtils.DefaultCreateScrapeConfigPayload return outputCreateResult(p, model.FilePath, &createPayload) } req := buildRequest(ctx, model, apiClient) resp, err := req.Execute() if err != nil { - return fmt.Errorf("read Argus scrape config: %w", err) + return fmt.Errorf("read Observability scrape config: %w", err) } - payload, err := argusUtils.MapToUpdateScrapeConfigPayload(resp) + payload, err := observabilityUtils.MapToUpdateScrapeConfigPayload(resp) if err != nil { return fmt.Errorf("map update scrape config payloads: %w", err) } @@ -119,12 +119,12 @@ func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { }, nil } -func buildRequest(ctx context.Context, model *inputModel, apiClient *argus.APIClient) argus.ApiGetScrapeConfigRequest { +func buildRequest(ctx context.Context, model *inputModel, apiClient *observability.APIClient) observability.ApiGetScrapeConfigRequest { req := apiClient.GetScrapeConfig(ctx, model.InstanceId, *model.JobName, model.ProjectId) return req } -func outputCreateResult(p *print.Printer, filePath *string, payload *argus.CreateScrapeConfigPayload) error { +func outputCreateResult(p *print.Printer, filePath *string, payload *observability.CreateScrapeConfigPayload) error { payloadBytes, err := json.MarshalIndent(*payload, "", " ") if err != nil { return fmt.Errorf("marshal payload: %w", err) @@ -142,7 +142,7 @@ func outputCreateResult(p *print.Printer, filePath *string, payload *argus.Creat return nil } -func outputUpdateResult(p *print.Printer, filePath *string, payload *argus.UpdateScrapeConfigPayload) error { +func outputUpdateResult(p *print.Printer, filePath *string, payload *observability.UpdateScrapeConfigPayload) error { payloadBytes, err := json.MarshalIndent(*payload, "", " ") if err != nil { return fmt.Errorf("marshal payload: %w", err) diff --git a/internal/cmd/argus/scrape-config/generate-payload/generate_payload_test.go b/internal/cmd/observability/scrape-config/generate-payload/generate_payload_test.go similarity index 95% rename from internal/cmd/argus/scrape-config/generate-payload/generate_payload_test.go rename to internal/cmd/observability/scrape-config/generate-payload/generate_payload_test.go index 5c04abd5c..e23f4fabc 100644 --- a/internal/cmd/argus/scrape-config/generate-payload/generate_payload_test.go +++ b/internal/cmd/observability/scrape-config/generate-payload/generate_payload_test.go @@ -10,7 +10,7 @@ import ( "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/google/uuid" - "github.com/stackitcloud/stackit-sdk-go/services/argus" + "github.com/stackitcloud/stackit-sdk-go/services/observability" ) var projectIdFlag = globalflags.ProjectIdFlag @@ -18,7 +18,7 @@ var projectIdFlag = globalflags.ProjectIdFlag type testCtxKey struct{} var testCtx = context.WithValue(context.Background(), testCtxKey{}, "foo") -var testClient = &argus.APIClient{} +var testClient = &observability.APIClient{} var testProjectId = uuid.NewString() var testInstanceId = uuid.NewString() @@ -56,7 +56,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel { return model } -func fixtureRequest(mods ...func(request *argus.ApiGetScrapeConfigRequest)) argus.ApiGetScrapeConfigRequest { +func fixtureRequest(mods ...func(request *observability.ApiGetScrapeConfigRequest)) observability.ApiGetScrapeConfigRequest { request := testClient.GetScrapeConfig(testCtx, testInstanceId, testJobName, testProjectId) for _, mod := range mods { mod(&request) @@ -224,7 +224,7 @@ func TestBuildRequest(t *testing.T) { tests := []struct { description string model *inputModel - expectedRequest argus.ApiGetScrapeConfigRequest + expectedRequest observability.ApiGetScrapeConfigRequest isValid bool }{ { diff --git a/internal/cmd/argus/scrape-config/list/list.go b/internal/cmd/observability/scrape-config/list/list.go similarity index 78% rename from internal/cmd/argus/scrape-config/list/list.go rename to internal/cmd/observability/scrape-config/list/list.go index 60f6598a0..f535db051 100644 --- a/internal/cmd/argus/scrape-config/list/list.go +++ b/internal/cmd/observability/scrape-config/list/list.go @@ -12,13 +12,13 @@ import ( "github.com/stackitcloud/stackit-cli/internal/pkg/flags" "github.com/stackitcloud/stackit-cli/internal/pkg/globalflags" "github.com/stackitcloud/stackit-cli/internal/pkg/print" - "github.com/stackitcloud/stackit-cli/internal/pkg/services/argus/client" + "github.com/stackitcloud/stackit-cli/internal/pkg/services/observability/client" "github.com/stackitcloud/stackit-cli/internal/pkg/tables" - argusUtils "github.com/stackitcloud/stackit-cli/internal/pkg/services/argus/utils" + observabilityUtils "github.com/stackitcloud/stackit-cli/internal/pkg/services/observability/utils" "github.com/spf13/cobra" - "github.com/stackitcloud/stackit-sdk-go/services/argus" + "github.com/stackitcloud/stackit-sdk-go/services/observability" ) const ( @@ -35,19 +35,19 @@ type inputModel struct { func NewCmd(p *print.Printer) *cobra.Command { cmd := &cobra.Command{ Use: "list", - Short: "Lists all scrape configurations of an Argus instance", - Long: "Lists all scrape configurations of an Argus instance.", + Short: "Lists all scrape configurations of an Observability instance", + Long: "Lists all scrape configurations of an Observability instance.", Args: args.NoArgs, Example: examples.Build( examples.NewExample( - `List all scrape configurations of Argus instance "xxx"`, - "$ stackit argus scrape-config list --instance-id xxx"), + `List all scrape configurations of Observability instance "xxx"`, + "$ stackit observability scrape-config list --instance-id xxx"), examples.NewExample( - `List all scrape configurations of Argus instance "xxx" in JSON format`, - "$ stackit argus scrape-config list --instance-id xxx --output-format json"), + `List all scrape configurations of Observability instance "xxx" in JSON format`, + "$ stackit observability scrape-config list --instance-id xxx --output-format json"), examples.NewExample( - `List up to 10 scrape configurations of Argus instance "xxx"`, - "$ stackit argus scrape-config list --instance-id xxx --limit 10"), + `List up to 10 scrape configurations of Observability instance "xxx"`, + "$ stackit observability scrape-config list --instance-id xxx --limit 10"), ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() @@ -70,7 +70,7 @@ func NewCmd(p *print.Printer) *cobra.Command { } configs := *resp.Data if len(configs) == 0 { - instanceLabel, err := argusUtils.GetInstanceName(ctx, apiClient, model.InstanceId, model.ProjectId) + instanceLabel, err := observabilityUtils.GetInstanceName(ctx, apiClient, model.InstanceId, model.ProjectId) if err != nil { p.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceId @@ -121,12 +121,12 @@ func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) { }, nil } -func buildRequest(ctx context.Context, model *inputModel, apiClient *argus.APIClient) argus.ApiListScrapeConfigsRequest { +func buildRequest(ctx context.Context, model *inputModel, apiClient *observability.APIClient) observability.ApiListScrapeConfigsRequest { req := apiClient.ListScrapeConfigs(ctx, model.InstanceId, model.ProjectId) return req } -func outputResult(p *print.Printer, outputFormat string, configs []argus.Job) error { +func outputResult(p *print.Printer, outputFormat string, configs []observability.Job) error { switch outputFormat { case print.JSONOutputFormat: details, err := json.MarshalIndent(configs, "", " ") diff --git a/internal/cmd/argus/scrape-config/list/list_test.go b/internal/cmd/observability/scrape-config/list/list_test.go similarity index 94% rename from internal/cmd/argus/scrape-config/list/list_test.go rename to internal/cmd/observability/scrape-config/list/list_test.go index a62605da2..86836fc84 100644 --- a/internal/cmd/argus/scrape-config/list/list_test.go +++ b/internal/cmd/observability/scrape-config/list/list_test.go @@ -11,7 +11,7 @@ import ( "github.com/google/go-cmp/cmp/cmpopts" "github.com/google/uuid" "github.com/spf13/cobra" - "github.com/stackitcloud/stackit-sdk-go/services/argus" + "github.com/stackitcloud/stackit-sdk-go/services/observability" ) var projectIdFlag = globalflags.ProjectIdFlag @@ -19,7 +19,7 @@ var projectIdFlag = globalflags.ProjectIdFlag type testCtxKey struct{} var testCtx = context.WithValue(context.Background(), testCtxKey{}, "foo") -var testClient = &argus.APIClient{} +var testClient = &observability.APIClient{} var testProjectId = uuid.NewString() var testInstanceId = uuid.NewString() @@ -50,7 +50,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel { return model } -func fixtureRequest(mods ...func(request *argus.ApiListScrapeConfigsRequest)) argus.ApiListScrapeConfigsRequest { +func fixtureRequest(mods ...func(request *observability.ApiListScrapeConfigsRequest)) observability.ApiListScrapeConfigsRequest { request := testClient.ListScrapeConfigs(testCtx, testInstanceId, testProjectId) for _, mod := range mods { mod(&request) @@ -185,7 +185,7 @@ func TestBuildRequest(t *testing.T) { tests := []struct { description string model *inputModel - expectedRequest argus.ApiListScrapeConfigsRequest + expectedRequest observability.ApiListScrapeConfigsRequest }{ { description: "base", diff --git a/internal/cmd/argus/scrape-config/scrape_config.go b/internal/cmd/observability/scrape-config/scrape_config.go similarity index 54% rename from internal/cmd/argus/scrape-config/scrape_config.go rename to internal/cmd/observability/scrape-config/scrape_config.go index 781569aa9..f056c6e60 100644 --- a/internal/cmd/argus/scrape-config/scrape_config.go +++ b/internal/cmd/observability/scrape-config/scrape_config.go @@ -1,12 +1,12 @@ package scrapeconfig import ( - "github.com/stackitcloud/stackit-cli/internal/cmd/argus/scrape-config/create" - "github.com/stackitcloud/stackit-cli/internal/cmd/argus/scrape-config/delete" - "github.com/stackitcloud/stackit-cli/internal/cmd/argus/scrape-config/describe" - generatepayload "github.com/stackitcloud/stackit-cli/internal/cmd/argus/scrape-config/generate-payload" - "github.com/stackitcloud/stackit-cli/internal/cmd/argus/scrape-config/list" - "github.com/stackitcloud/stackit-cli/internal/cmd/argus/scrape-config/update" + "github.com/stackitcloud/stackit-cli/internal/cmd/observability/scrape-config/create" + "github.com/stackitcloud/stackit-cli/internal/cmd/observability/scrape-config/delete" + "github.com/stackitcloud/stackit-cli/internal/cmd/observability/scrape-config/describe" + generatepayload "github.com/stackitcloud/stackit-cli/internal/cmd/observability/scrape-config/generate-payload" + "github.com/stackitcloud/stackit-cli/internal/cmd/observability/scrape-config/list" + "github.com/stackitcloud/stackit-cli/internal/cmd/observability/scrape-config/update" "github.com/stackitcloud/stackit-cli/internal/pkg/args" "github.com/stackitcloud/stackit-cli/internal/pkg/print" "github.com/stackitcloud/stackit-cli/internal/pkg/utils" @@ -17,8 +17,8 @@ import ( func NewCmd(p *print.Printer) *cobra.Command { cmd := &cobra.Command{ Use: "scrape-config", - Short: "Provides functionality for scrape configurations in Argus", - Long: "Provides functionality for scrape configurations in Argus.", + Short: "Provides functionality for scrape configurations in Observability", + Long: "Provides functionality for scrape configurations in Observability.", Args: args.NoArgs, Run: utils.CmdHelp, } diff --git a/internal/cmd/argus/scrape-config/update/update.go b/internal/cmd/observability/scrape-config/update/update.go similarity index 73% rename from internal/cmd/argus/scrape-config/update/update.go rename to internal/cmd/observability/scrape-config/update/update.go index ef92943ce..d07e97e1b 100644 --- a/internal/cmd/argus/scrape-config/update/update.go +++ b/internal/cmd/observability/scrape-config/update/update.go @@ -11,10 +11,10 @@ import ( "github.com/stackitcloud/stackit-cli/internal/pkg/flags" "github.com/stackitcloud/stackit-cli/internal/pkg/globalflags" "github.com/stackitcloud/stackit-cli/internal/pkg/print" - "github.com/stackitcloud/stackit-cli/internal/pkg/services/argus/client" + "github.com/stackitcloud/stackit-cli/internal/pkg/services/observability/client" "github.com/spf13/cobra" - "github.com/stackitcloud/stackit-sdk-go/services/argus" + "github.com/stackitcloud/stackit-sdk-go/services/observability" ) const ( @@ -28,31 +28,31 @@ type inputModel struct { *globalflags.GlobalFlagModel JobName string InstanceId string - Payload argus.UpdateScrapeConfigPayload + Payload observability.UpdateScrapeConfigPayload } func NewCmd(p *print.Printer) *cobra.Command { cmd := &cobra.Command{ Use: fmt.Sprintf("update %s", jobNameArg), - Short: "Updates a scrape configuration of an Argus instance", + Short: "Updates a scrape configuration of an Observability instance", Long: fmt.Sprintf("%s\n%s\n%s", - "Updates a scrape configuration of an Argus instance.", + "Updates a scrape configuration of an Observability instance.", "The payload can be provided as a JSON string or a file path prefixed with \"@\".", "See https://docs.api.stackit.cloud/documentation/argus/version/v1#tag/scrape-config/operation/v1_projects_instances_scrapeconfigs_update for information regarding the payload structure.", ), Args: args.SingleArg(jobNameArg, nil), Example: examples.Build( examples.NewExample( - `Update a scrape configuration with name "my-config" from Argus instance "xxx", using an API payload sourced from the file "./payload.json"`, - "$ stackit argus scrape-config update my-config --payload @./payload.json --instance-id xxx"), + `Update a scrape configuration with name "my-config" from Observability instance "xxx", using an API payload sourced from the file "./payload.json"`, + "$ stackit observability scrape-config update my-config --payload @./payload.json --instance-id xxx"), examples.NewExample( - `Update an scrape configuration with name "my-config" from Argus instance "xxx", using an API payload provided as a JSON string`, - `$ stackit argus scrape-config update my-config --payload "{...}" --instance-id xxx`), + `Update an scrape configuration with name "my-config" from Observability instance "xxx", using an API payload provided as a JSON string`, + `$ stackit observability scrape-config update my-config --payload "{...}" --instance-id xxx`), examples.NewExample( `Generate a payload with the current values of a scrape configuration, and adapt it with custom values for the different configuration options`, - `$ stackit argus scrape-config generate-payload --job-name my-config > ./payload.json`, + `$ stackit observability scrape-config generate-payload --job-name my-config > ./payload.json`, ``, - `$ stackit argus scrape-configs update my-config --payload @./payload.json`), + `$ stackit observability scrape-configs update my-config --payload @./payload.json`), ), RunE: func(cmd *cobra.Command, args []string) error { ctx := context.Background() @@ -83,7 +83,7 @@ func NewCmd(p *print.Printer) *cobra.Command { } // The API has no status to wait on, so async mode is default - p.Info("Updated Argus scrape configuration with name %q\n", model.JobName) + p.Info("Updated Observability scrape configuration with name %q\n", model.JobName) return nil }, } @@ -108,7 +108,7 @@ func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inpu } payloadString := flags.FlagToStringValue(p, cmd, payloadFlag) - var payload argus.UpdateScrapeConfigPayload + var payload observability.UpdateScrapeConfigPayload err := json.Unmarshal([]byte(payloadString), &payload) if err != nil { return nil, fmt.Errorf("encode payload: %w", err) @@ -122,7 +122,7 @@ func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inpu }, nil } -func buildRequest(ctx context.Context, model *inputModel, apiClient *argus.APIClient) argus.ApiUpdateScrapeConfigRequest { +func buildRequest(ctx context.Context, model *inputModel, apiClient *observability.APIClient) observability.ApiUpdateScrapeConfigRequest { req := apiClient.UpdateScrapeConfig(ctx, model.InstanceId, model.JobName, model.ProjectId) req = req.UpdateScrapeConfigPayload(model.Payload) diff --git a/internal/cmd/argus/scrape-config/update/update_test.go b/internal/cmd/observability/scrape-config/update/update_test.go similarity index 93% rename from internal/cmd/argus/scrape-config/update/update_test.go rename to internal/cmd/observability/scrape-config/update/update_test.go index 232d798c5..ad5870231 100644 --- a/internal/cmd/argus/scrape-config/update/update_test.go +++ b/internal/cmd/observability/scrape-config/update/update_test.go @@ -10,7 +10,7 @@ import ( "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/google/uuid" - "github.com/stackitcloud/stackit-sdk-go/services/argus" + "github.com/stackitcloud/stackit-sdk-go/services/observability" ) var projectIdFlag = globalflags.ProjectIdFlag @@ -18,13 +18,13 @@ var projectIdFlag = globalflags.ProjectIdFlag type testCtxKey struct{} var testCtx = context.WithValue(context.Background(), testCtxKey{}, "foo") -var testClient = &argus.APIClient{} +var testClient = &observability.APIClient{} var testProjectId = uuid.NewString() var testInstanceId = uuid.NewString() var testJobName = "my-config" -var testPayload = argus.UpdateScrapeConfigPayload{ - BasicAuth: &argus.CreateScrapeConfigPayloadBasicAuth{ +var testPayload = observability.UpdateScrapeConfigPayload{ + BasicAuth: &observability.CreateScrapeConfigPayloadBasicAuth{ Username: utils.Ptr("username"), Password: utils.Ptr("password"), }, @@ -32,7 +32,7 @@ var testPayload = argus.UpdateScrapeConfigPayload{ HonorLabels: utils.Ptr(true), HonorTimeStamps: utils.Ptr(true), MetricsPath: utils.Ptr("/metrics"), - MetricsRelabelConfigs: &[]argus.CreateScrapeConfigPayloadMetricsRelabelConfigsInner{ + MetricsRelabelConfigs: &[]observability.CreateScrapeConfigPayloadMetricsRelabelConfigsInner{ { Action: utils.Ptr("replace"), Modulus: utils.Ptr(1.0), @@ -111,7 +111,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel { return model } -func fixtureRequest(mods ...func(request *argus.ApiUpdateScrapeConfigRequest)) argus.ApiUpdateScrapeConfigRequest { +func fixtureRequest(mods ...func(request *observability.ApiUpdateScrapeConfigRequest)) observability.ApiUpdateScrapeConfigRequest { request := testClient.UpdateScrapeConfig(testCtx, testInstanceId, testJobName, testProjectId) request = request.UpdateScrapeConfigPayload(testPayload) for _, mod := range mods { @@ -274,7 +274,7 @@ func TestBuildRequest(t *testing.T) { tests := []struct { description string model *inputModel - expectedRequest argus.ApiUpdateScrapeConfigRequest + expectedRequest observability.ApiUpdateScrapeConfigRequest isValid bool }{ { diff --git a/internal/cmd/root.go b/internal/cmd/root.go index 97384911f..e1385befb 100644 --- a/internal/cmd/root.go +++ b/internal/cmd/root.go @@ -6,7 +6,6 @@ import ( "strings" "time" - "github.com/stackitcloud/stackit-cli/internal/cmd/argus" "github.com/stackitcloud/stackit-cli/internal/cmd/auth" "github.com/stackitcloud/stackit-cli/internal/cmd/beta" configCmd "github.com/stackitcloud/stackit-cli/internal/cmd/config" @@ -17,6 +16,7 @@ import ( "github.com/stackitcloud/stackit-cli/internal/cmd/mariadb" "github.com/stackitcloud/stackit-cli/internal/cmd/mongodbflex" objectstorage "github.com/stackitcloud/stackit-cli/internal/cmd/object-storage" + "github.com/stackitcloud/stackit-cli/internal/cmd/observability" "github.com/stackitcloud/stackit-cli/internal/cmd/opensearch" "github.com/stackitcloud/stackit-cli/internal/cmd/organization" "github.com/stackitcloud/stackit-cli/internal/cmd/postgresflex" @@ -144,7 +144,6 @@ func configureFlags(cmd *cobra.Command) error { } func addSubcommands(cmd *cobra.Command, p *print.Printer) { - cmd.AddCommand(argus.NewCmd(p)) cmd.AddCommand(auth.NewCmd(p)) cmd.AddCommand(configCmd.NewCmd(p)) cmd.AddCommand(beta.NewCmd(p)) @@ -155,6 +154,7 @@ func addSubcommands(cmd *cobra.Command, p *print.Printer) { cmd.AddCommand(mariadb.NewCmd(p)) cmd.AddCommand(mongodbflex.NewCmd(p)) cmd.AddCommand(objectstorage.NewCmd(p)) + cmd.AddCommand(observability.NewCmd(p)) cmd.AddCommand(opensearch.NewCmd(p)) cmd.AddCommand(organization.NewCmd(p)) cmd.AddCommand(postgresflex.NewCmd(p)) diff --git a/internal/pkg/config/config.go b/internal/pkg/config/config.go index 6ca8db9c9..8132254a4 100644 --- a/internal/pkg/config/config.go +++ b/internal/pkg/config/config.go @@ -21,7 +21,6 @@ const ( IdentityProviderCustomClientIdKey = "identity_provider_custom_client_id" AllowedUrlDomainKey = "allowed_url_domain" - ArgusCustomEndpointKey = "argus_custom_endpoint" AuthorizationCustomEndpointKey = "authorization_custom_endpoint" DNSCustomEndpointKey = "dns_custom_endpoint" LoadBalancerCustomEndpointKey = "load_balancer_custom_endpoint" @@ -29,6 +28,7 @@ const ( MariaDBCustomEndpointKey = "mariadb_custom_endpoint" MongoDBFlexCustomEndpointKey = "mongodbflex_custom_endpoint" ObjectStorageCustomEndpointKey = "object_storage_custom_endpoint" + ObservabilityCustomEndpointKey = "observability_custom_endpoint" OpenSearchCustomEndpointKey = "opensearch_custom_endpoint" PostgresFlexCustomEndpointKey = "postgresflex_custom_endpoint" RabbitMQCustomEndpointKey = "rabbitmq_custom_endpoint" @@ -84,7 +84,7 @@ var ConfigKeys = []string{ OpenSearchCustomEndpointKey, PostgresFlexCustomEndpointKey, ResourceManagerEndpointKey, - ArgusCustomEndpointKey, + ObservabilityCustomEndpointKey, AuthorizationCustomEndpointKey, MongoDBFlexCustomEndpointKey, RabbitMQCustomEndpointKey, @@ -161,7 +161,7 @@ func setConfigDefaults() { viper.SetDefault(IdentityProviderCustomClientIdKey, "") viper.SetDefault(AllowedUrlDomainKey, AllowedUrlDomainDefault) viper.SetDefault(DNSCustomEndpointKey, "") - viper.SetDefault(ArgusCustomEndpointKey, "") + viper.SetDefault(ObservabilityCustomEndpointKey, "") viper.SetDefault(AuthorizationCustomEndpointKey, "") viper.SetDefault(MongoDBFlexCustomEndpointKey, "") viper.SetDefault(ObjectStorageCustomEndpointKey, "") diff --git a/internal/pkg/errors/errors.go b/internal/pkg/errors/errors.go index 463fcf533..92af7ab83 100644 --- a/internal/pkg/errors/errors.go +++ b/internal/pkg/errors/errors.go @@ -50,7 +50,7 @@ To list all profiles, run: DELETE_DEFAULT_PROFILE = `the default configuration profile %q cannot be deleted.` - ARGUS_INVALID_INPUT_PLAN = `the instance plan was not correctly provided. + OBSERVABILITY_INVALID_INPUT_PLAN = `the instance plan was not correctly provided. Either provide the plan ID: $ %[1]s --plan-id [flags] @@ -61,7 +61,7 @@ or provide plan name: For more details on the available plans, run: $ stackit %[2]s plans` - ARGUS_INVALID_PLAN = `the provided instance plan is not valid. + OBSERVABILITY_INVALID_PLAN = `the provided instance plan is not valid. %s @@ -188,12 +188,12 @@ func (e *DeleteDefaultProfile) Error() string { return fmt.Sprintf(DELETE_DEFAULT_PROFILE, e.DefaultProfile) } -type ArgusInputPlanError struct { +type ObservabilityInputPlanError struct { Cmd *cobra.Command Args []string } -func (e *ArgusInputPlanError) Error() string { +func (e *ObservabilityInputPlanError) Error() string { fullCommandPath := e.Cmd.CommandPath() if len(e.Args) > 0 { fullCommandPath = fmt.Sprintf("%s %s", fullCommandPath, strings.Join(e.Args, " ")) @@ -201,16 +201,16 @@ func (e *ArgusInputPlanError) Error() string { // Assumes a structure of the form "stackit " service := e.Cmd.Parent().Parent().Use - return fmt.Sprintf(ARGUS_INVALID_INPUT_PLAN, fullCommandPath, service) + return fmt.Sprintf(OBSERVABILITY_INVALID_INPUT_PLAN, fullCommandPath, service) } -type ArgusInvalidPlanError struct { +type ObservabilityInvalidPlanError struct { Service string Details string } -func (e *ArgusInvalidPlanError) Error() string { - return fmt.Sprintf(ARGUS_INVALID_PLAN, e.Details, e.Service) +func (e *ObservabilityInvalidPlanError) Error() string { + return fmt.Sprintf(OBSERVABILITY_INVALID_PLAN, e.Details, e.Service) } type DSAInputPlanError struct { diff --git a/internal/pkg/errors/errors_test.go b/internal/pkg/errors/errors_test.go index 67c37b775..d2942e87f 100644 --- a/internal/pkg/errors/errors_test.go +++ b/internal/pkg/errors/errors_test.go @@ -90,7 +90,7 @@ func TestSimpleErrors(t *testing.T) { } } -func TestArgusInputPlanError(t *testing.T) { +func TestObservabilityInputPlanError(t *testing.T) { tests := []struct { description string args []string @@ -99,19 +99,19 @@ func TestArgusInputPlanError(t *testing.T) { { description: "base", args: []string{"arg1", "arg2"}, - expectedMsg: fmt.Sprintf(ARGUS_INVALID_INPUT_PLAN, "stackit service resource operation arg1 arg2", "service"), + expectedMsg: fmt.Sprintf(OBSERVABILITY_INVALID_INPUT_PLAN, "stackit service resource operation arg1 arg2", "service"), }, { description: "no args", args: []string{}, - expectedMsg: fmt.Sprintf(ARGUS_INVALID_INPUT_PLAN, "stackit service resource operation", "service"), + expectedMsg: fmt.Sprintf(OBSERVABILITY_INVALID_INPUT_PLAN, "stackit service resource operation", "service"), }, } setupCmd() for _, tt := range tests { t.Run(tt.description, func(t *testing.T) { - err := &ArgusInputPlanError{ + err := &ObservabilityInputPlanError{ Cmd: operation, Args: tt.args, } @@ -149,7 +149,7 @@ func TestSetInexistentProfile(t *testing.T) { } } -func TestArgusInvalidPlanError(t *testing.T) { +func TestObservabilityInvalidPlanError(t *testing.T) { tests := []struct { description string details string @@ -160,25 +160,25 @@ func TestArgusInvalidPlanError(t *testing.T) { description: "base", details: "details", service: "service", - expectedMsg: fmt.Sprintf(ARGUS_INVALID_PLAN, "details", "service"), + expectedMsg: fmt.Sprintf(OBSERVABILITY_INVALID_PLAN, "details", "service"), }, { description: "no details", details: "", service: "service", - expectedMsg: fmt.Sprintf(ARGUS_INVALID_PLAN, "", "service"), + expectedMsg: fmt.Sprintf(OBSERVABILITY_INVALID_PLAN, "", "service"), }, { description: "no service", details: "details", service: "", - expectedMsg: fmt.Sprintf(ARGUS_INVALID_PLAN, "details", ""), + expectedMsg: fmt.Sprintf(OBSERVABILITY_INVALID_PLAN, "details", ""), }, } for _, tt := range tests { t.Run(tt.description, func(t *testing.T) { - err := &ArgusInvalidPlanError{ + err := &ObservabilityInvalidPlanError{ Service: tt.service, Details: tt.details, } diff --git a/internal/pkg/services/argus/client/client.go b/internal/pkg/services/observability/client/client.go similarity index 77% rename from internal/pkg/services/argus/client/client.go rename to internal/pkg/services/observability/client/client.go index c2f3a11da..a2af05d56 100644 --- a/internal/pkg/services/argus/client/client.go +++ b/internal/pkg/services/observability/client/client.go @@ -5,15 +5,15 @@ import ( "github.com/stackitcloud/stackit-cli/internal/pkg/config" "github.com/stackitcloud/stackit-cli/internal/pkg/errors" "github.com/stackitcloud/stackit-cli/internal/pkg/print" + "github.com/stackitcloud/stackit-sdk-go/services/observability" "github.com/spf13/viper" sdkConfig "github.com/stackitcloud/stackit-sdk-go/core/config" - "github.com/stackitcloud/stackit-sdk-go/services/argus" ) -func ConfigureClient(p *print.Printer) (*argus.APIClient, error) { +func ConfigureClient(p *print.Printer) (*observability.APIClient, error) { var err error - var apiClient *argus.APIClient + var apiClient *observability.APIClient var cfgOptions []sdkConfig.ConfigurationOption authCfgOption, err := auth.AuthenticationConfig(p, auth.AuthorizeUser) @@ -23,7 +23,7 @@ func ConfigureClient(p *print.Printer) (*argus.APIClient, error) { } cfgOptions = append(cfgOptions, authCfgOption, sdkConfig.WithRegion("eu01")) - customEndpoint := viper.GetString(config.ArgusCustomEndpointKey) + customEndpoint := viper.GetString(config.ObservabilityCustomEndpointKey) if customEndpoint != "" { cfgOptions = append(cfgOptions, sdkConfig.WithEndpoint(customEndpoint)) @@ -35,7 +35,7 @@ func ConfigureClient(p *print.Printer) (*argus.APIClient, error) { ) } - apiClient, err = argus.NewAPIClient(cfgOptions...) + apiClient, err = observability.NewAPIClient(cfgOptions...) if err != nil { p.Debug(print.ErrorLevel, "create new API client: %v", err) return nil, &errors.AuthError{} diff --git a/internal/pkg/services/argus/utils/utils.go b/internal/pkg/services/observability/utils/utils.go similarity index 65% rename from internal/pkg/services/argus/utils/utils.go rename to internal/pkg/services/observability/utils/utils.go index 556c3b7d2..fef48457e 100644 --- a/internal/pkg/services/argus/utils/utils.go +++ b/internal/pkg/services/observability/utils/utils.go @@ -7,29 +7,28 @@ import ( "github.com/stackitcloud/stackit-cli/internal/pkg/errors" "github.com/stackitcloud/stackit-cli/internal/pkg/utils" - - "github.com/stackitcloud/stackit-sdk-go/services/argus" + "github.com/stackitcloud/stackit-sdk-go/services/observability" ) const ( - service = "argus" + service = "observability" ) -type ArgusClient interface { - GetInstanceExecute(ctx context.Context, instanceId, projectId string) (*argus.GetInstanceResponse, error) - GetGrafanaConfigsExecute(ctx context.Context, instanceId, projectId string) (*argus.GrafanaConfigs, error) - UpdateGrafanaConfigs(ctx context.Context, instanceId string, projectId string) argus.ApiUpdateGrafanaConfigsRequest +type ObservabilityClient interface { + GetInstanceExecute(ctx context.Context, instanceId, projectId string) (*observability.GetInstanceResponse, error) + GetGrafanaConfigsExecute(ctx context.Context, instanceId, projectId string) (*observability.GrafanaConfigs, error) + UpdateGrafanaConfigs(ctx context.Context, instanceId string, projectId string) observability.ApiUpdateGrafanaConfigsRequest } var ( - defaultStaticConfigs = []argus.CreateScrapeConfigPayloadStaticConfigsInner{ + defaultStaticConfigs = []observability.CreateScrapeConfigPayloadStaticConfigsInner{ { Targets: utils.Ptr([]string{ "url-target", }), }, } - DefaultCreateScrapeConfigPayload = argus.CreateScrapeConfigPayload{ + DefaultCreateScrapeConfigPayload = observability.CreateScrapeConfigPayload{ JobName: utils.Ptr("default-name"), MetricsPath: utils.Ptr("/metrics"), Scheme: utils.Ptr("https"), @@ -39,9 +38,9 @@ var ( } ) -func ValidatePlanId(planId string, resp *argus.PlansResponse) error { +func ValidatePlanId(planId string, resp *observability.PlansResponse) error { if resp == nil { - return fmt.Errorf("no Argus plans provided") + return fmt.Errorf("no Observability plans provided") } for i := range *resp.Plans { @@ -51,16 +50,16 @@ func ValidatePlanId(planId string, resp *argus.PlansResponse) error { } } - return &errors.ArgusInvalidPlanError{ + return &errors.ObservabilityInvalidPlanError{ Service: service, Details: fmt.Sprintf("You provided plan ID %q, which is invalid.", planId), } } -func LoadPlanId(planName string, resp *argus.PlansResponse) (*string, error) { +func LoadPlanId(planName string, resp *observability.PlansResponse) (*string, error) { availablePlanNames := "" if resp == nil { - return nil, fmt.Errorf("no Argus plans provided") + return nil, fmt.Errorf("no Observability plans provided") } for i := range *resp.Plans { @@ -75,15 +74,15 @@ func LoadPlanId(planName string, resp *argus.PlansResponse) (*string, error) { } details := fmt.Sprintf("You provided plan name %q, which is invalid. Available plan names are: %s", planName, availablePlanNames) - return nil, &errors.ArgusInvalidPlanError{ + return nil, &errors.ObservabilityInvalidPlanError{ Service: service, Details: details, } } -func MapToUpdateScrapeConfigPayload(resp *argus.GetScrapeConfigResponse) (*argus.UpdateScrapeConfigPayload, error) { +func MapToUpdateScrapeConfigPayload(resp *observability.GetScrapeConfigResponse) (*observability.UpdateScrapeConfigPayload, error) { if resp == nil || resp.Data == nil { - return nil, fmt.Errorf("no Argus scrape config provided") + return nil, fmt.Errorf("no Observability scrape config provided") } data := resp.Data @@ -98,7 +97,7 @@ func MapToUpdateScrapeConfigPayload(resp *argus.GetScrapeConfigResponse) (*argus params = utils.Ptr(mapParams(*data.Params)) } - payload := argus.UpdateScrapeConfigPayload{ + payload := observability.UpdateScrapeConfigPayload{ BasicAuth: basicAuth, BearerToken: data.BearerToken, HonorLabels: data.HonorLabels, @@ -114,20 +113,20 @@ func MapToUpdateScrapeConfigPayload(resp *argus.GetScrapeConfigResponse) (*argus TlsConfig: tlsConfig, } - if payload == (argus.UpdateScrapeConfigPayload{}) { - return nil, fmt.Errorf("the provided Argus scrape config payload is empty") + if payload == (observability.UpdateScrapeConfigPayload{}) { + return nil, fmt.Errorf("the provided Observability scrape config payload is empty") } return &payload, nil } -func mapMetricsRelabelConfig(metricsRelabelConfigs *[]argus.MetricsRelabelConfig) *[]argus.CreateScrapeConfigPayloadMetricsRelabelConfigsInner { +func mapMetricsRelabelConfig(metricsRelabelConfigs *[]observability.MetricsRelabelConfig) *[]observability.CreateScrapeConfigPayloadMetricsRelabelConfigsInner { if metricsRelabelConfigs == nil { return nil } - var mappedConfigs []argus.CreateScrapeConfigPayloadMetricsRelabelConfigsInner + var mappedConfigs []observability.CreateScrapeConfigPayloadMetricsRelabelConfigsInner for _, config := range *metricsRelabelConfigs { - mappedConfig := argus.CreateScrapeConfigPayloadMetricsRelabelConfigsInner{ + mappedConfig := observability.CreateScrapeConfigPayloadMetricsRelabelConfigsInner{ Action: config.Action, Modulus: utils.ConvertInt64PToFloat64P(config.Modulus), Regex: config.Regex, @@ -141,17 +140,17 @@ func mapMetricsRelabelConfig(metricsRelabelConfigs *[]argus.MetricsRelabelConfig return &mappedConfigs } -func mapStaticConfig(staticConfigs *[]argus.StaticConfigs) *[]argus.UpdateScrapeConfigPayloadStaticConfigsInner { +func mapStaticConfig(staticConfigs *[]observability.StaticConfigs) *[]observability.UpdateScrapeConfigPayloadStaticConfigsInner { if staticConfigs == nil { return nil } - var mappedConfigs []argus.UpdateScrapeConfigPayloadStaticConfigsInner + var mappedConfigs []observability.UpdateScrapeConfigPayloadStaticConfigsInner for _, config := range *staticConfigs { var labels *map[string]interface{} if config.Labels != nil { labels = utils.Ptr(mapStaticConfigLabels(*config.Labels)) } - mappedConfig := argus.UpdateScrapeConfigPayloadStaticConfigsInner{ + mappedConfig := observability.UpdateScrapeConfigPayloadStaticConfigsInner{ Labels: labels, Targets: config.Targets, } @@ -161,23 +160,23 @@ func mapStaticConfig(staticConfigs *[]argus.StaticConfigs) *[]argus.UpdateScrape return &mappedConfigs } -func mapBasicAuth(basicAuth *argus.BasicAuth) *argus.CreateScrapeConfigPayloadBasicAuth { +func mapBasicAuth(basicAuth *observability.BasicAuth) *observability.CreateScrapeConfigPayloadBasicAuth { if basicAuth == nil { return nil } - return &argus.CreateScrapeConfigPayloadBasicAuth{ + return &observability.CreateScrapeConfigPayloadBasicAuth{ Password: basicAuth.Password, Username: basicAuth.Username, } } -func mapTlsConfig(tlsConfig *argus.TLSConfig) *argus.CreateScrapeConfigPayloadHttpSdConfigsInnerOauth2TlsConfig { +func mapTlsConfig(tlsConfig *observability.TLSConfig) *observability.CreateScrapeConfigPayloadHttpSdConfigsInnerOauth2TlsConfig { if tlsConfig == nil { return nil } - return &argus.CreateScrapeConfigPayloadHttpSdConfigsInnerOauth2TlsConfig{ + return &observability.CreateScrapeConfigPayloadHttpSdConfigsInnerOauth2TlsConfig{ InsecureSkipVerify: tlsConfig.InsecureSkipVerify, } } @@ -198,19 +197,19 @@ func mapStaticConfigLabels(labels map[string]string) map[string]interface{} { return labelsMap } -func GetInstanceName(ctx context.Context, apiClient ArgusClient, instanceId, projectId string) (string, error) { +func GetInstanceName(ctx context.Context, apiClient ObservabilityClient, instanceId, projectId string) (string, error) { resp, err := apiClient.GetInstanceExecute(ctx, instanceId, projectId) if err != nil { - return "", fmt.Errorf("get Argus instance: %w", err) + return "", fmt.Errorf("get Observability instance: %w", err) } return *resp.Name, nil } -func ToPayloadGenericOAuth(respOAuth *argus.GrafanaOauth) *argus.UpdateGrafanaConfigsPayloadGenericOauth { +func ToPayloadGenericOAuth(respOAuth *observability.GrafanaOauth) *observability.UpdateGrafanaConfigsPayloadGenericOauth { if respOAuth == nil { return nil } - return &argus.UpdateGrafanaConfigsPayloadGenericOauth{ + return &observability.UpdateGrafanaConfigsPayloadGenericOauth{ ApiUrl: respOAuth.ApiUrl, AuthUrl: respOAuth.AuthUrl, Enabled: respOAuth.Enabled, @@ -225,7 +224,7 @@ func ToPayloadGenericOAuth(respOAuth *argus.GrafanaOauth) *argus.UpdateGrafanaCo } } -func GetPartialUpdateGrafanaConfigsPayload(ctx context.Context, apiClient ArgusClient, instanceId, projectId string, singleSignOn, publicReadAccess *bool) (*argus.UpdateGrafanaConfigsPayload, error) { +func GetPartialUpdateGrafanaConfigsPayload(ctx context.Context, apiClient ObservabilityClient, instanceId, projectId string, singleSignOn, publicReadAccess *bool) (*observability.UpdateGrafanaConfigsPayload, error) { currentConfigs, err := apiClient.GetGrafanaConfigsExecute(ctx, instanceId, projectId) if err != nil { return nil, fmt.Errorf("get current Grafana configs: %w", err) @@ -234,7 +233,7 @@ func GetPartialUpdateGrafanaConfigsPayload(ctx context.Context, apiClient ArgusC return nil, fmt.Errorf("no Grafana configs found for instance %q", instanceId) } - payload := &argus.UpdateGrafanaConfigsPayload{ + payload := &observability.UpdateGrafanaConfigsPayload{ GenericOauth: ToPayloadGenericOAuth(currentConfigs.GenericOauth), PublicReadAccess: currentConfigs.PublicReadAccess, UseStackitSso: currentConfigs.UseStackitSso, diff --git a/internal/pkg/services/argus/utils/utils_test.go b/internal/pkg/services/observability/utils/utils_test.go similarity index 79% rename from internal/pkg/services/argus/utils/utils_test.go rename to internal/pkg/services/observability/utils/utils_test.go index d36c572f3..36484e547 100644 --- a/internal/pkg/services/argus/utils/utils_test.go +++ b/internal/pkg/services/observability/utils/utils_test.go @@ -10,11 +10,11 @@ import ( "github.com/google/go-cmp/cmp" "github.com/google/uuid" - "github.com/stackitcloud/stackit-sdk-go/services/argus" + "github.com/stackitcloud/stackit-sdk-go/services/observability" ) var ( - testClient = &argus.APIClient{} + testClient = &observability.APIClient{} testProjectId = uuid.NewString() testInstanceId = uuid.NewString() testPlanId = uuid.NewString() @@ -25,8 +25,8 @@ const ( testPlanName = "Plan-Name-01" ) -var testPlansResponse = argus.PlansResponse{ - Plans: &[]argus.Plan{ +var testPlansResponse = observability.PlansResponse{ + Plans: &[]observability.Plan{ { Id: utils.Ptr(testPlanId), Name: utils.Ptr(testPlanName), @@ -34,11 +34,11 @@ var testPlansResponse = argus.PlansResponse{ }, } -func fixtureGetScrapeConfigResponse(mods ...func(*argus.GetScrapeConfigResponse)) *argus.GetScrapeConfigResponse { +func fixtureGetScrapeConfigResponse(mods ...func(*observability.GetScrapeConfigResponse)) *observability.GetScrapeConfigResponse { number := int64(1) - resp := &argus.GetScrapeConfigResponse{ - Data: &argus.Job{ - BasicAuth: &argus.BasicAuth{ + resp := &observability.GetScrapeConfigResponse{ + Data: &observability.Job{ + BasicAuth: &observability.BasicAuth{ Username: utils.Ptr("username"), Password: utils.Ptr("password"), }, @@ -46,7 +46,7 @@ func fixtureGetScrapeConfigResponse(mods ...func(*argus.GetScrapeConfigResponse) HonorLabels: utils.Ptr(true), HonorTimeStamps: utils.Ptr(true), MetricsPath: utils.Ptr("/metrics"), - MetricsRelabelConfigs: &[]argus.MetricsRelabelConfig{ + MetricsRelabelConfigs: &[]observability.MetricsRelabelConfig{ { Action: utils.Ptr("replace"), Modulus: &number, @@ -65,7 +65,7 @@ func fixtureGetScrapeConfigResponse(mods ...func(*argus.GetScrapeConfigResponse) Scheme: utils.Ptr("scheme"), ScrapeInterval: utils.Ptr("interval"), ScrapeTimeout: utils.Ptr("timeout"), - StaticConfigs: &[]argus.StaticConfigs{ + StaticConfigs: &[]observability.StaticConfigs{ { Labels: &map[string]string{ "label": "value", @@ -74,7 +74,7 @@ func fixtureGetScrapeConfigResponse(mods ...func(*argus.GetScrapeConfigResponse) Targets: &[]string{"target"}, }, }, - TlsConfig: &argus.TLSConfig{ + TlsConfig: &observability.TLSConfig{ InsecureSkipVerify: utils.Ptr(true), }, }, @@ -87,9 +87,9 @@ func fixtureGetScrapeConfigResponse(mods ...func(*argus.GetScrapeConfigResponse) return resp } -func fixtureUpdateScrapeConfigPayload(mods ...func(*argus.UpdateScrapeConfigPayload)) *argus.UpdateScrapeConfigPayload { - payload := &argus.UpdateScrapeConfigPayload{ - BasicAuth: &argus.CreateScrapeConfigPayloadBasicAuth{ +func fixtureUpdateScrapeConfigPayload(mods ...func(*observability.UpdateScrapeConfigPayload)) *observability.UpdateScrapeConfigPayload { + payload := &observability.UpdateScrapeConfigPayload{ + BasicAuth: &observability.CreateScrapeConfigPayloadBasicAuth{ Username: utils.Ptr("username"), Password: utils.Ptr("password"), }, @@ -97,7 +97,7 @@ func fixtureUpdateScrapeConfigPayload(mods ...func(*argus.UpdateScrapeConfigPayl HonorLabels: utils.Ptr(true), HonorTimeStamps: utils.Ptr(true), MetricsPath: utils.Ptr("/metrics"), - MetricsRelabelConfigs: &[]argus.CreateScrapeConfigPayloadMetricsRelabelConfigsInner{ + MetricsRelabelConfigs: &[]observability.CreateScrapeConfigPayloadMetricsRelabelConfigsInner{ { Action: utils.Ptr("replace"), Modulus: utils.Ptr(1.0), @@ -116,7 +116,7 @@ func fixtureUpdateScrapeConfigPayload(mods ...func(*argus.UpdateScrapeConfigPayl Scheme: utils.Ptr("scheme"), ScrapeInterval: utils.Ptr("interval"), ScrapeTimeout: utils.Ptr("timeout"), - StaticConfigs: &[]argus.UpdateScrapeConfigPayloadStaticConfigsInner{ + StaticConfigs: &[]observability.UpdateScrapeConfigPayloadStaticConfigsInner{ { Labels: &map[string]interface{}{ "label": "value", @@ -125,7 +125,7 @@ func fixtureUpdateScrapeConfigPayload(mods ...func(*argus.UpdateScrapeConfigPayl Targets: &[]string{"target"}, }, }, - TlsConfig: &argus.CreateScrapeConfigPayloadHttpSdConfigsInnerOauth2TlsConfig{ + TlsConfig: &observability.CreateScrapeConfigPayloadHttpSdConfigsInnerOauth2TlsConfig{ InsecureSkipVerify: utils.Ptr(true), }, } @@ -137,34 +137,34 @@ func fixtureUpdateScrapeConfigPayload(mods ...func(*argus.UpdateScrapeConfigPayl return payload } -type argusClientMocked struct { +type observabilityClientMocked struct { getInstanceFails bool - getInstanceResp *argus.GetInstanceResponse + getInstanceResp *observability.GetInstanceResponse getGrafanaConfigsFails bool - getGrafanaConfigsResp *argus.GrafanaConfigs + getGrafanaConfigsResp *observability.GrafanaConfigs } -func (m *argusClientMocked) GetInstanceExecute(_ context.Context, _, _ string) (*argus.GetInstanceResponse, error) { +func (m *observabilityClientMocked) GetInstanceExecute(_ context.Context, _, _ string) (*observability.GetInstanceResponse, error) { if m.getInstanceFails { return nil, fmt.Errorf("could not get instance") } return m.getInstanceResp, nil } -func (m *argusClientMocked) GetGrafanaConfigsExecute(_ context.Context, _, _ string) (*argus.GrafanaConfigs, error) { +func (m *observabilityClientMocked) GetGrafanaConfigsExecute(_ context.Context, _, _ string) (*observability.GrafanaConfigs, error) { if m.getGrafanaConfigsFails { return nil, fmt.Errorf("could not get grafana configs") } return m.getGrafanaConfigsResp, nil } -func (c *argusClientMocked) UpdateGrafanaConfigs(ctx context.Context, instanceId, projectId string) argus.ApiUpdateGrafanaConfigsRequest { +func (c *observabilityClientMocked) UpdateGrafanaConfigs(ctx context.Context, instanceId, projectId string) observability.ApiUpdateGrafanaConfigsRequest { return testClient.UpdateGrafanaConfigs(ctx, instanceId, projectId) } -func fixtureGrafanaConfigs(mods ...func(gc *argus.GrafanaConfigs)) *argus.GrafanaConfigs { - gc := argus.GrafanaConfigs{ - GenericOauth: &argus.GrafanaOauth{ +func fixtureGrafanaConfigs(mods ...func(gc *observability.GrafanaConfigs)) *observability.GrafanaConfigs { + gc := observability.GrafanaConfigs{ + GenericOauth: &observability.GrafanaOauth{ ApiUrl: utils.Ptr("apiUrl"), AuthUrl: utils.Ptr("authUrl"), Enabled: utils.Ptr(true), @@ -190,13 +190,13 @@ func TestGetInstanceName(t *testing.T) { tests := []struct { description string getInstanceFails bool - getInstanceResp *argus.GetInstanceResponse + getInstanceResp *observability.GetInstanceResponse isValid bool expectedOutput string }{ { description: "base", - getInstanceResp: &argus.GetInstanceResponse{ + getInstanceResp: &observability.GetInstanceResponse{ Name: utils.Ptr(testInstanceName), }, isValid: true, @@ -211,7 +211,7 @@ func TestGetInstanceName(t *testing.T) { for _, tt := range tests { t.Run(tt.description, func(t *testing.T) { - client := &argusClientMocked{ + client := &observabilityClientMocked{ getInstanceFails: tt.getInstanceFails, getInstanceResp: tt.getInstanceResp, } @@ -238,7 +238,7 @@ func TestLoadPlanId(t *testing.T) { tests := []struct { description string planName string - plansResponse *argus.PlansResponse + plansResponse *observability.PlansResponse isValid bool expectedOutput string }{ @@ -275,8 +275,8 @@ func TestLoadPlanId(t *testing.T) { { description: "no available plans", planName: testPlanName, - plansResponse: &argus.PlansResponse{ - Plans: &[]argus.Plan{}, + plansResponse: &observability.PlansResponse{ + Plans: &[]observability.Plan{}, }, isValid: false, }, @@ -306,7 +306,7 @@ func TestValidatePlanId(t *testing.T) { tests := []struct { description string planId string - plansResponse *argus.PlansResponse + plansResponse *observability.PlansResponse isValid bool }{ { @@ -340,8 +340,8 @@ func TestValidatePlanId(t *testing.T) { { description: "no available plans", planId: testPlanId, - plansResponse: &argus.PlansResponse{ - Plans: &[]argus.Plan{}, + plansResponse: &observability.PlansResponse{ + Plans: &[]observability.Plan{}, }, isValid: false, }, @@ -367,8 +367,8 @@ func TestValidatePlanId(t *testing.T) { func TestMapToUpdateScrapeConfigPayload(t *testing.T) { tests := []struct { description string - resp *argus.GetScrapeConfigResponse - expectedPayload *argus.UpdateScrapeConfigPayload + resp *observability.GetScrapeConfigResponse + expectedPayload *observability.UpdateScrapeConfigPayload isValid bool }{ { @@ -384,15 +384,15 @@ func TestMapToUpdateScrapeConfigPayload(t *testing.T) { }, { description: "nil data", - resp: &argus.GetScrapeConfigResponse{ + resp: &observability.GetScrapeConfigResponse{ Data: nil, }, isValid: false, }, { description: "empty data", - resp: &argus.GetScrapeConfigResponse{ - Data: &argus.Job{}, + resp: &observability.GetScrapeConfigResponse{ + Data: &observability.Job{}, }, isValid: false, }, @@ -425,12 +425,12 @@ func TestMapToUpdateScrapeConfigPayload(t *testing.T) { func TestMapMetricsRelabelConfig(t *testing.T) { tests := []struct { description string - config *[]argus.MetricsRelabelConfig - expected *[]argus.CreateScrapeConfigPayloadMetricsRelabelConfigsInner + config *[]observability.MetricsRelabelConfig + expected *[]observability.CreateScrapeConfigPayloadMetricsRelabelConfigsInner }{ { description: "base case", - config: &[]argus.MetricsRelabelConfig{ + config: &[]observability.MetricsRelabelConfig{ { Action: utils.Ptr("replace"), Modulus: utils.Int64Ptr(1), @@ -441,7 +441,7 @@ func TestMapMetricsRelabelConfig(t *testing.T) { TargetLabel: utils.Ptr("targetLabel"), }, }, - expected: &[]argus.CreateScrapeConfigPayloadMetricsRelabelConfigsInner{ + expected: &[]observability.CreateScrapeConfigPayloadMetricsRelabelConfigsInner{ { Action: utils.Ptr("replace"), Modulus: utils.Float64Ptr(1.0), @@ -455,7 +455,7 @@ func TestMapMetricsRelabelConfig(t *testing.T) { }, { description: "empty data", - config: &[]argus.MetricsRelabelConfig{}, + config: &[]observability.MetricsRelabelConfig{}, expected: nil, }, { @@ -484,12 +484,12 @@ func TestMapMetricsRelabelConfig(t *testing.T) { func TestMapStaticConfig(t *testing.T) { tests := []struct { description string - config *[]argus.StaticConfigs - expected *[]argus.UpdateScrapeConfigPayloadStaticConfigsInner + config *[]observability.StaticConfigs + expected *[]observability.UpdateScrapeConfigPayloadStaticConfigsInner }{ { description: "base case", - config: &[]argus.StaticConfigs{ + config: &[]observability.StaticConfigs{ { Labels: &map[string]string{ "label": "value", @@ -498,7 +498,7 @@ func TestMapStaticConfig(t *testing.T) { Targets: &[]string{"target", "target2"}, }, }, - expected: &[]argus.UpdateScrapeConfigPayloadStaticConfigsInner{ + expected: &[]observability.UpdateScrapeConfigPayloadStaticConfigsInner{ { Labels: utils.Ptr(map[string]interface{}{ "label": "value", @@ -510,7 +510,7 @@ func TestMapStaticConfig(t *testing.T) { }, { description: "empty data", - config: &[]argus.StaticConfigs{}, + config: &[]observability.StaticConfigs{}, expected: nil, }, { @@ -539,24 +539,24 @@ func TestMapStaticConfig(t *testing.T) { func TestMapBasicAuth(t *testing.T) { tests := []struct { description string - auth *argus.BasicAuth - expected *argus.CreateScrapeConfigPayloadBasicAuth + auth *observability.BasicAuth + expected *observability.CreateScrapeConfigPayloadBasicAuth }{ { description: "base case", - auth: &argus.BasicAuth{ + auth: &observability.BasicAuth{ Username: utils.Ptr("username"), Password: utils.Ptr("password"), }, - expected: &argus.CreateScrapeConfigPayloadBasicAuth{ + expected: &observability.CreateScrapeConfigPayloadBasicAuth{ Username: utils.Ptr("username"), Password: utils.Ptr("password"), }, }, { description: "empty data", - auth: &argus.BasicAuth{}, - expected: &argus.CreateScrapeConfigPayloadBasicAuth{}, + auth: &observability.BasicAuth{}, + expected: &observability.CreateScrapeConfigPayloadBasicAuth{}, }, { description: "nil", @@ -584,22 +584,22 @@ func TestMapBasicAuth(t *testing.T) { func TestMapTlsConfig(t *testing.T) { tests := []struct { description string - config *argus.TLSConfig - expected *argus.CreateScrapeConfigPayloadHttpSdConfigsInnerOauth2TlsConfig + config *observability.TLSConfig + expected *observability.CreateScrapeConfigPayloadHttpSdConfigsInnerOauth2TlsConfig }{ { description: "base case", - config: &argus.TLSConfig{ + config: &observability.TLSConfig{ InsecureSkipVerify: utils.Ptr(true), }, - expected: &argus.CreateScrapeConfigPayloadHttpSdConfigsInnerOauth2TlsConfig{ + expected: &observability.CreateScrapeConfigPayloadHttpSdConfigsInnerOauth2TlsConfig{ InsecureSkipVerify: utils.Ptr(true), }, }, { description: "empty data", - config: &argus.TLSConfig{}, - expected: &argus.CreateScrapeConfigPayloadHttpSdConfigsInnerOauth2TlsConfig{}, + config: &observability.TLSConfig{}, + expected: &observability.CreateScrapeConfigPayloadHttpSdConfigsInnerOauth2TlsConfig{}, }, { description: "nil", @@ -703,12 +703,12 @@ func TestMapStaticConfigLabels(t *testing.T) { func TestToPayloadGenericOAuth(t *testing.T) { tests := []struct { description string - response *argus.GrafanaOauth - expected *argus.UpdateGrafanaConfigsPayloadGenericOauth + response *observability.GrafanaOauth + expected *observability.UpdateGrafanaConfigsPayloadGenericOauth }{ { description: "base", - response: &argus.GrafanaOauth{ + response: &observability.GrafanaOauth{ ApiUrl: utils.Ptr("apiUrl"), AuthUrl: utils.Ptr("authUrl"), Enabled: utils.Ptr(true), @@ -721,7 +721,7 @@ func TestToPayloadGenericOAuth(t *testing.T) { TokenUrl: utils.Ptr("tokenUrl"), UsePkce: utils.Ptr(true), }, - expected: &argus.UpdateGrafanaConfigsPayloadGenericOauth{ + expected: &observability.UpdateGrafanaConfigsPayloadGenericOauth{ ApiUrl: utils.Ptr("apiUrl"), AuthUrl: utils.Ptr("authUrl"), Enabled: utils.Ptr(true), @@ -760,9 +760,9 @@ func TestGetPartialUpdateGrafanaConfigsPayload(t *testing.T) { singleSignOn *bool publicReadAccess *bool getGrafanaConfigsFails bool - getGrafanaConfigsResp *argus.GrafanaConfigs + getGrafanaConfigsResp *observability.GrafanaConfigs isValid bool - expectedPayload *argus.UpdateGrafanaConfigsPayload + expectedPayload *observability.UpdateGrafanaConfigsPayload }{ { description: "enable both", @@ -770,7 +770,7 @@ func TestGetPartialUpdateGrafanaConfigsPayload(t *testing.T) { publicReadAccess: utils.Ptr(true), getGrafanaConfigsResp: fixtureGrafanaConfigs(), isValid: true, - expectedPayload: &argus.UpdateGrafanaConfigsPayload{ + expectedPayload: &observability.UpdateGrafanaConfigsPayload{ GenericOauth: ToPayloadGenericOAuth(fixtureGrafanaConfigs().GenericOauth), UseStackitSso: utils.Ptr(true), PublicReadAccess: utils.Ptr(true), @@ -782,7 +782,7 @@ func TestGetPartialUpdateGrafanaConfigsPayload(t *testing.T) { publicReadAccess: utils.Ptr(false), getGrafanaConfigsResp: fixtureGrafanaConfigs(), isValid: true, - expectedPayload: &argus.UpdateGrafanaConfigsPayload{ + expectedPayload: &observability.UpdateGrafanaConfigsPayload{ GenericOauth: ToPayloadGenericOAuth(fixtureGrafanaConfigs().GenericOauth), UseStackitSso: utils.Ptr(false), PublicReadAccess: utils.Ptr(false), @@ -794,7 +794,7 @@ func TestGetPartialUpdateGrafanaConfigsPayload(t *testing.T) { publicReadAccess: nil, getGrafanaConfigsResp: fixtureGrafanaConfigs(), isValid: true, - expectedPayload: &argus.UpdateGrafanaConfigsPayload{ + expectedPayload: &observability.UpdateGrafanaConfigsPayload{ GenericOauth: ToPayloadGenericOAuth(fixtureGrafanaConfigs().GenericOauth), UseStackitSso: utils.Ptr(true), PublicReadAccess: fixtureGrafanaConfigs().PublicReadAccess, @@ -806,7 +806,7 @@ func TestGetPartialUpdateGrafanaConfigsPayload(t *testing.T) { publicReadAccess: utils.Ptr(true), getGrafanaConfigsResp: fixtureGrafanaConfigs(), isValid: true, - expectedPayload: &argus.UpdateGrafanaConfigsPayload{ + expectedPayload: &observability.UpdateGrafanaConfigsPayload{ GenericOauth: ToPayloadGenericOAuth(fixtureGrafanaConfigs().GenericOauth), UseStackitSso: fixtureGrafanaConfigs().UseStackitSso, PublicReadAccess: utils.Ptr(true), @@ -816,11 +816,11 @@ func TestGetPartialUpdateGrafanaConfigsPayload(t *testing.T) { description: "disable single sign on", singleSignOn: utils.Ptr(false), publicReadAccess: nil, - getGrafanaConfigsResp: fixtureGrafanaConfigs(func(gc *argus.GrafanaConfigs) { + getGrafanaConfigsResp: fixtureGrafanaConfigs(func(gc *observability.GrafanaConfigs) { gc.UseStackitSso = utils.Ptr(true) }), isValid: true, - expectedPayload: &argus.UpdateGrafanaConfigsPayload{ + expectedPayload: &observability.UpdateGrafanaConfigsPayload{ GenericOauth: ToPayloadGenericOAuth(fixtureGrafanaConfigs().GenericOauth), UseStackitSso: utils.Ptr(false), PublicReadAccess: fixtureGrafanaConfigs().PublicReadAccess, @@ -830,11 +830,11 @@ func TestGetPartialUpdateGrafanaConfigsPayload(t *testing.T) { description: "disable public read access", singleSignOn: nil, publicReadAccess: utils.Ptr(false), - getGrafanaConfigsResp: fixtureGrafanaConfigs(func(gc *argus.GrafanaConfigs) { + getGrafanaConfigsResp: fixtureGrafanaConfigs(func(gc *observability.GrafanaConfigs) { gc.PublicReadAccess = utils.Ptr(true) }), isValid: true, - expectedPayload: &argus.UpdateGrafanaConfigsPayload{ + expectedPayload: &observability.UpdateGrafanaConfigsPayload{ GenericOauth: ToPayloadGenericOAuth(fixtureGrafanaConfigs().GenericOauth), UseStackitSso: fixtureGrafanaConfigs().UseStackitSso, PublicReadAccess: utils.Ptr(false), @@ -844,9 +844,9 @@ func TestGetPartialUpdateGrafanaConfigsPayload(t *testing.T) { description: "nil generic oauth", singleSignOn: utils.Ptr(true), publicReadAccess: utils.Ptr(true), - getGrafanaConfigsResp: &argus.GrafanaConfigs{}, + getGrafanaConfigsResp: &observability.GrafanaConfigs{}, isValid: true, - expectedPayload: &argus.UpdateGrafanaConfigsPayload{ + expectedPayload: &observability.UpdateGrafanaConfigsPayload{ GenericOauth: nil, UseStackitSso: utils.Ptr(true), PublicReadAccess: utils.Ptr(true), @@ -870,7 +870,7 @@ func TestGetPartialUpdateGrafanaConfigsPayload(t *testing.T) { for _, tt := range tests { t.Run(tt.description, func(t *testing.T) { - client := &argusClientMocked{ + client := &observabilityClientMocked{ getGrafanaConfigsFails: tt.getGrafanaConfigsFails, getGrafanaConfigsResp: tt.getGrafanaConfigsResp, }