Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Anax v3.1 syncbranches doc #4067

Merged
merged 10 commits into from
Jan 13, 2025
2 changes: 1 addition & 1 deletion docs/getting-started/user-roadmap-apiml.md
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ The following definition of skill levels about Zowe assist you with gathering th

This article describes how API ML uses Transport Layer Security (TLS). Use this guide to familiarize yourself with the API ML security concepts.

- [**Zowe API Mediation Layer Single Sign On Overview**](../user-guide/api-mediation-sso)
- [**Zowe API Mediation Layer Single Sign On Overview**](../user-guide/api-mediation-sso.md)

This article provides an overview of the API ML single-sign-on feature, the principle participants in the SSO process, and links to detailed Zowe SSO documentation.

Expand Down
59 changes: 45 additions & 14 deletions docs/troubleshoot/cli/troubleshoot-ibm-db2-database-plug-in.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,42 @@
# IBM Db2 Database Plug-in troubleshooting

## Incompatible glibc version

The `ibm_db` dependency, which utilizes pre-built drivers to access DB2 and downloads those drivers at install time, pulls down drivers with a pre-requisite on the GNU C library (glibc) version 2.32.

Due to potential incompatibility issues, users on some Linux distributions might likely encounter an error while attempting to install any version of the DB2 Plug-in. Known distributions affected include Ubuntu 20, Debian 11, CentOS 8, and Red Hat Enterprise Linux 8.

If you are using any of these distributions of Linux, a workaround is required.

**Symptom:**

```
_____ Validation results for plugin '@zowe/db2-for-zowe-cli' _____

*** CmdError: Failed to combine command definitions. Reason = Encountered an error loading one of the files (cli/call/Call.definition.js) that matched the provided command module glob for the glob **/cli/*/*.definition!(.d).*s: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by /home/<user>/.zowe/plugins/installed/lib/node_modules/@zowe/db2-for-zowe-cli/node_modules/ibm_db/installer/clidriver/lib/libdb2.so.1)

This plugin has command errors. No plugin commands will be available.

```

**Solution:**

Use one of the following workarounds:

For Zowe v3 LTS DB2 Plug-in versions 6.1.0 and above, run the following command before installing the DB2 Plug-in:

```
export npm_config_clidriver=v11.5.9
```

For Zowe v2 LTS, and Zowe v3 LTS DB2 Plug-in versions prior to 6.1.0, run the following command before installing the DB2 Plug-in:

```
export IBM_DB_INSTALLER_URL=https://public.dhe.ibm.com/ibmdl/export/pub/software/data/db2/drivers/odbc_cli/v11.5.9
```

## ODBC driver install failure

As part of the IBM Db2 Database Plug-in installation, the ODBC driver is automatically installed. The driver is required to connect to Db2, but installation can fail due to security restrictions.

When the ODBC driver installation fails, Zowe CLI displays an error message. To resolve the error, the user can manually download and install the driver.
Expand All @@ -8,8 +45,6 @@ When the ODBC driver installation fails, Zowe CLI displays an error message. To

The ODBC driver installation fails when installing the IBM Db2 Database Plug-in.

**Sample:**

The ODBC driver installation can fail due to several factors, displaying the following error when the `zowe plugins install` command is issued:

```
Expand All @@ -30,9 +65,9 @@ To identify the cause of the error and get more details to troubleshoot, run the
npm install ibm_db --foreground-scripts true
```

The response includes an error message, which could specify a timeout or unpacking error.
The response includes an error message, which could specify a [timeout](#timeout-error) or [unpacking error](#unpacking-error).

#### Timeout error
### Timeout error

Network restrictions can prevent the ODBC driver from downloading, resulting in a timeout error:

Expand All @@ -49,13 +84,15 @@ Error: Installation of ibm_db failed.
=====================================
```

To troubleshoot a timeout error, see [Downloading the ODBC driver manually](#downloading-the-odbc-driver-manually).
**Solution:**

Download the ODBC driver manually by following the instructions in [Downloading the ODBC driver](../../user-guide/cli-db2plugin.md#downloading-the-odbc-driver).

#### Unpacking error
### Unpacking error

If the driver downloads successfully, security settings can still prompt an unpacking error.

In the following example, the ODBC driver is downloaded manually and the environment variable `IBM_DB_INSTALLER_URL` is set.
In the following example, the ODBC driver is downloaded manually and the environment variable `IBM_DB_INSTALLER_URL` is set to the local path to the ODBC driver.

```
Error: invalid distance too far back
Expand All @@ -73,15 +110,9 @@ npm ERR! command failed
npm ERR! command C:\WINDOWS\system32\cmd.exe /d /s /c node installer/driverInstall.js
```

To troubleshoot a packaging error, see [Fixing a failed extraction](#fixing-a-failed-extraction).

**Solution:**

#### Downloading the ODBC driver manually

To manually download the ODBC driver, see instructions in [Downloading the ODBC driver](../../user-guide/cli-db2plugin.md#downloading-the-odbc-driver).

#### Fixing a failed extraction
To fix a failed extraction:

1. Manually extract the ODBC driver binaries from the `build.zip` file which is bundled with the [ibm_db](https://www.npmjs.com/package/ibm_db) package. The `build.zip` archive can also be downloaded from [GitHub](https://github.com/ibmdb/node-ibm_db/blob/master/build.zip).

Expand Down
14 changes: 8 additions & 6 deletions docs/user-guide/api-mediation-sso.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,11 @@ This article provides an overview of the API ML single sign on feature, the prin
Currently, API ML can provide SSO only in a single security domain.
:::

- [Zowe API ML client](#zowe-api-ml-client)
- [API service accessed via Zowe API ML](#api-service-accessed-via-zowe-api-ml)
- [Existing services that cannot be modified](#existing-services-that-cannot-be-modified)
- [Zowe API Mediation Layer Single Sign On Overview](#zowe-api-mediation-layer-single-sign-on-overview)
- [Zowe API ML client](#zowe-api-ml-client)
- [API service accessed via Zowe API ML](#api-service-accessed-via-zowe-api-ml)
- [Existing services that cannot be modified](#existing-services-that-cannot-be-modified)
- [Further resources](#further-resources)

The following diagram describes the interactions between the general participants in the single sign on process.

Expand Down Expand Up @@ -51,7 +53,7 @@ This section describes the requirements that an API service needs to satisfy to
* The alternative is to validate the signature of the JWT token using the public key of the token issuer (e.g. the API ML Gateway). The API service needs to have the API ML Gateway certificate along with the full CA certification chain in the API service truststore.

:::note
The REST API of ZAAS can easily be called from a Java application using the [ZAAS Client](../extend/extend-apiml/zaas-client).
The REST API of ZAAS can easily be called from a Java application using the [ZAAS Client](../extend/extend-apiml/zaas-client.md).
:::

### Existing services that cannot be modified
Expand All @@ -62,7 +64,7 @@ For more information, see [Enabling single sign on for extending services via Pa

## Further resources

* [User guide for SSO in Zowe CLI](./cli-using-integrating-apiml/#accessing-multiple-services-with-sso)
* [System requirements for using web tokens for SSO in Zlux and ZSS](./systemrequirements)
* [User guide for SSO in Zowe CLI](./cli-using-integrating-apiml.md#accessing-multiple-services-with-sso)
* [System requirements for using web tokens for SSO in Zlux and ZSS](./systemrequirements.md)


27 changes: 15 additions & 12 deletions docs/user-guide/api-mediation/api-mediation-caching-service.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,19 @@ In the current implementation of the Caching Service, Infinispan is recommended

The Caching Service is available only for internal Zowe applications, and is not exposed to the internet. The Caching service supports a hot-reload scenario in which a client service requests all available service data.

- [Architecture](#architecture)
- [Storage methods](#storage-methods)
- [Infinispan](#infinispan-recommended)
- [VSAM](#vsam-deprecated)
- [Redis](#redis)
- [InMemory](#inmemory)
- [How to start the service](#how-to-start-the-service)
- [Methods to use the Caching service API](#methods-to-use-the-caching-service-api)
- [Configuration properties](#configuration-properties)
- [Authentication](#authentication)
- [Using the Caching Service](#using-the-caching-service)
- [Architecture](#architecture)
- [Storage methods](#storage-methods)
- [Infinispan (recommended)](#infinispan-recommended)
- [VSAM (deprecated)](#vsam-deprecated)
- [Redis](#redis)
- [InMemory](#inmemory)
- [How to start the Service](#how-to-start-the-service)
- [Methods to use the Caching Service API](#methods-to-use-the-caching-service-api)
- [Configuration properties](#configuration-properties)
- [Authentication](#authentication)
- [Direct calls](#direct-calls)
- [Routed calls through API Gateway](#routed-calls-through-api-gateway)

## Architecture

Expand Down Expand Up @@ -117,8 +120,8 @@ This parameter specifies service behavior when the limit of records is reached.

:::note
- For more information about how to configure the Caching Service in the `application.yml`, see
[Add API Onboarding Configuration](../../extend/extend-apiml/onboard-spring-boot-enabler).
- When using VSAM, ensure that you set the additional configuration parameters. For more information about setting these parameters, see [Using VSAM as a storage solution through the Caching Service](../../extend/extend-apiml/api-mediation-vsam).
[Add API Onboarding Configuration](../../extend/extend-apiml/onboard-spring-boot-enabler.md).
- When using VSAM, ensure that you set the additional configuration parameters. For more information about setting these parameters, see [Using VSAM as a storage solution through the Caching Service](../../extend/extend-apiml/api-mediation-vsam.md).
:::

## Authentication
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ The configuration entries of each LPAR in the `zowe.yaml` file control which com

The caching services for each Zowe instance, whether on the same LPAR, or distributed across the sysplex, are connected to each other by the same shared VSAM data set. This arrangement allows state sharing so that each instance behaves similarly to the user irrespective of where their request is routed.

To learn more about Zowe with high availability enablement, see [Configuring Sysplex for high availability](../configure-sysplex).
To learn more about Zowe with high availability enablement, see [Configuring Sysplex for high availability](../configure-sysplex.md).

## API Versioning

Expand Down
4 changes: 2 additions & 2 deletions docs/user-guide/api-mediation/use-graphql-api.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ GraphQL is a query language for APIs that provides descriptions of the data in y

For more information about configuring routing to API ML, see the following articles:

* [Implementing routing to the Gateway](../../extend/extend-apiml/implementing-routing-to-the-api-gateway)
* [Routing Requests to REST API](./routing-requests-to-rest-apis)
* [Implementing routing to the Gateway](../../extend/extend-apiml/implementing-routing-to-the-api-gateway.md)
* [Routing Requests to REST API](./routing-requests-to-rest-apis.md)

:::tip

Expand Down
34 changes: 17 additions & 17 deletions docs/user-guide/api-mediation/using-api-mediation-layer.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,48 +25,48 @@ See the following topics for detailed information about how to use the API Media

Three authentication methods can be used with single sign on:

* [Authenticating with a JWT token](../authenticating-with-jwt-token)
* [Authenticating with client certificates](../authenticating-with-client-certificates)
* [Authenticating with a Personal Access Token](./authenticating-with-personal-access-token)
* [Authenticating with a JWT token](../authenticating-with-jwt-token.md)
* [Authenticating with client certificates](../authenticating-with-client-certificates.md)
* [Authenticating with a Personal Access Token](./authenticating-with-personal-access-token.md)

### Using multi-factor authentication

User identity verification can be performed by using multi-factor authentication. For more information, see [Using multi-factor authentication (MFA)](./using-multi-factor-authentication).
User identity verification can be performed by using multi-factor authentication. For more information, see [Using multi-factor authentication (MFA)](./using-multi-factor-authentication.md).

### API Routing

Various routing options can be used for APIs when using API Mediation Layer:

* [Routing requests to REST APIs](./routing-requests-to-rest-apis)
* [Routing with WebSickets](../routing-with-websockets)
* [Using GraphQL APIs](use-graphql-api)
* [MultiTenancy Configuration](./api-mediation-multi-tenancy)
* [Routing requests to REST APIs](./routing-requests-to-rest-apis.md)
* [Routing with WebSickets](../routing-with-websockets.md)
* [Using GraphQL APIs](use-graphql-api.md)
* [MultiTenancy Configuration](./api-mediation-multi-tenancy.md)

### Learning more about APIs

API Mediation Layer makes it possible to view API information is a variety of ways:

* [Obtaining information about API Services](../obtaining-information-about-api-services)
* [Using Swagger "Try it out" in the API Catalog](../api-mediation-swagger-try-it-out)
* [Using Swagger Code Snippets in the API Catalog](../api-mediation-swagger-code-snippets)
* [Obtaining information about API Services](../obtaining-information-about-api-services.md)
* [Using Swagger "Try it out" in the API Catalog](../api-mediation-swagger-try-it-out.md)
* [Using Swagger Code Snippets in the API Catalog](../api-mediation-swagger-code-snippets.md)

### Administrating APIs

* [Using Static API services refresh in the API Catalog](../api-mediation-static-api-refresh)
* [Onboarding a REST API service with the YAML Wizard](../onboard-wizard)
* [Using Static API services refresh in the API Catalog](../api-mediation-static-api-refresh.md)
* [Onboarding a REST API service with the YAML Wizard](../onboard-wizard.md)

### Using the Caching Service

As an API developer, you can use the Caching Service as a storage solution to enable resource sharing between service instances, thereby ensuring High Availability of services. For details, see [Using the Caching service](./api-mediation-caching-service).
As an API developer, you can use the Caching Service as a storage solution to enable resource sharing between service instances, thereby ensuring High Availability of services. For details, see [Using the Caching service](./api-mediation-caching-service.md).

### Using API Catalog

There are various options for using the API Catalog:

* [Viewing Service Information abd API Documentation in the API Catalog](../api-mediation-view-service-information-and-api-doc)
* [Changing an expired password via API Catalog](../api-mediation-change-password-via-catalog)
* [Viewing Service Information abd API Documentation in the API Catalog](../api-mediation-view-service-information-and-api-doc.md)
* [Changing an expired password via API Catalog](../api-mediation-change-password-via-catalog.md)

### Additional use case when usig API Mediation Layer

* [SMF records](./api-mediation-smf)
* [SMF records](./api-mediation-smf.md)

4 changes: 2 additions & 2 deletions docs/user-guide/authenticating-with-jwt-token.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ This article describes how services in the Zowe API ecosystem are expected to ac
For more information about authenticating with JWT tokens, see the Medium blog post [Single-Sign-On to z/OS REST APIs with Zowe](https://medium.com/zowe/single-sign-on-to-z-os-rest-apis-with-zowe-6e35fd022a95).
:::

By default, JWT tokens are produced by z/OSMF and the API Mediation Layer only serves as a proxy. For information about how to change who and how tokens are produced, see [Authentication Providers within Enable Single Sign On for Clients](./api-mediation/configuration-jwt/#using-saf-as-an-authentication-provider).
By default, JWT tokens are produced by z/OSMF and the API Mediation Layer only serves as a proxy. For information about how to change who and how tokens are produced, see [Authentication Providers within Enable Single Sign On for Clients](./api-mediation/configuration-jwt.md#using-saf-as-an-authentication-provider).


## JWT Token-based Login Flow and Request/Response Format
Expand Down Expand Up @@ -161,7 +161,7 @@ https://{gatewayUrl}:{gatewayPort}/gateway/api/v1/auth/refresh
The new token overwrites the old cookie with a Set-Cookie header. As part of the process, the old token becomes invalidated and is no longer usable.

:::note Notes:
- The endpoint is disabled by default. For more information, see [Enable JWT token endpoint](./api-mediation/configuration-jwt/#enabling-a-jwt-token-refresh-endpoint).
- The endpoint is disabled by default. For more information, see [Enable JWT token endpoint](./api-mediation/configuration-jwt.md#enabling-a-jwt-token-refresh-endpoint).
- The endpoint is protected by a client certificate.
- The refresh request requires the token in one of the following formats:
- Cookie named `apimlAuthenticationToken`.
Expand Down
10 changes: 3 additions & 7 deletions docs/user-guide/cli-db2plugin.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,11 +36,9 @@ Use one of the following methods to install the the Zowe CLI Plug-in for IBM Db2

### Installing from an online registry

Complete the following steps if you installed Zowe CLI from **online registry**:
If you installed Zowe CLI from **online registry**:

1. If you are installing the plug-in on an Apple computer that contains an M1 (or later architecture) processor, complete the steps in [Apple Silicon processor installation](../user-guide/cli-db2-install-m1.md). If not, continue to Step 2.

2. Open a command line window and issue the following command:
1. Open a command line window and issue the following command:

```
zowe plugins install @zowe/db2-for-zowe-cli@zowe-v3-lts
Expand All @@ -56,9 +54,7 @@ Follow these procedures if you downloaded the Zowe installation package:

Download the ODBC driver before you install the Db2 plug-in:

1. If you are installing the plug-in on an Apple computer that contains an M1 (or later architecture) processor, complete the steps in [Apple Silicon processor installation](../user-guide/cli-db2-install-m1.md). If not, continue to Step 2.

2. [Download the ODBC CLI Driver](https://github.com/ibmdb/node-ibm_db#-download-clidriver-based-on-your-platform--architecture-from-the-below-ibm-hosted-url). Use the table within the download URL to select the correct CLI Driver for your platform and architecture.
1. [Download the ODBC CLI Driver](https://github.com/ibmdb/node-ibm_db#-download-clidriver-based-on-your-platform--architecture-from-the-below-ibm-hosted-url). Use the table within the download URL to select the correct CLI Driver for your platform and architecture.

3. Create a new directory named `odbc_cli` on your computer. Remember the path to the new directory. You need to provide the full path to this directory immediately before you install the Db2 plug-in.

Expand Down
3 changes: 0 additions & 3 deletions docs/user-guide/cli-using-usingcli.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,6 @@ Text colors could be difficult to read in some terminals. If this is the case, w

- x64
- Apple Silicon (M1+)
:::note
The [IBM Db2 Database Plug-in for Zowe CLI](../user-guide/cli-db2plugin) has limited support on Apple Silicon. To use the Db2 plug-in, a complete re-install of Zowe CLI and CLI plug-ins is required. See [Apple Silicon processor installation](../user-guide/cli-db2-install-m1) for information.
:::

### Operating systems

Expand Down
Loading
Loading