Skip to content

Commit

Permalink
Merge pull request #795 from galasa-dev/next
Browse files Browse the repository at this point in the history
publish release 34 from next to main
  • Loading branch information
CaroMac authored Jun 12, 2024
2 parents a327835 + 1315d2a commit b1ecbef
Show file tree
Hide file tree
Showing 13 changed files with 202 additions and 63 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,8 @@ You can now run the Galasa CLI tool from any directory in your file system witho
On Windows (Powershell):

1. Download the binary and re-name it to `galasactl`.
2. Add `galasactl` to your PATH to enable the tool to be called from the command line without having to specify the path to the directory in which it is stored. For example, save the galasactl executable to a folder called `~/tools` in your `C:` directory and run the `set PATH "C:\tools;%PATH%"` command to add it to your PATH.
3. Open `cmd.exe` and type `start galasactl.exe` in the directory containing `galasactl`.
2. Add the `galasactl` executable to your PATH to enable the tool to be called from the command line without having to specify the path to the directory in which it is stored. You can edit the PATH variable in your System environment variables to add the path to the directory in which you downloaded the `galasactl` executable.
3. Open a command prompt and type `start galasactl.exe`.

You can now run the Galasa CLI tool from any directory in your file system without having to specify the absolute path.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,9 +73,9 @@ On Mac or Unix:

On Windows (Powershell):

1. Open the `galasactl` directory that is provided in the zip file and re-name the appropriate to `galasactl`.
2. Add the Galasa CLI to your PATH to enable the tool to be called from the command line without having to specify the path to the directory in which it is stored. For example, save the galasactl executable to a folder called `~/tools` in your `C:` directory and run the `set PATH "C:\tools;%PATH%"` command to add it to your PATH.
3. Open `cmd.exe` and type `start galasactl.exe` in the directory containing `galasactl`.
1. Open the `galasactl` directory that is provided in the zip file and re-name the appropriate to `galasactl`.
2. Add the `galasactl` executable to your PATH to enable the tool to be called from the command line without having to specify the path to the directory in which it is stored. You can edit the PATH variable in your System environment variables to add the path to the directory in which you downloaded the `galasactl` executable.
3. Open a command prompt and type `start galasactl.exe`.

You can now run the Galasa CLI tool from any directory in your file system without having to specify the absolute path.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ In order to run the Galasa SimBanks tests you need to add some configuration inf

The SimBank tests are held in the <a href="https://github.com/galasa-dev/simplatform" target="_blank"> Galasa simplatform repository</a> in GitHub. To start running the tests you need to clone the repository, if you have not already done so. To find out how to clone the cli repository, follow the instruction in the `Launching SimBank` section in the [Exploring Galasa SimBank online](simbank-cli) documentation.

After cloning the repository, complete the following steps to run the SimBankIVT test that is provided with Galasa. The following example uses SimBank OBR version `0.25.0` and Galasa uber OBR version `0.33.0`.
After cloning the repository, complete the following steps to run the SimBankIVT test that is provided with Galasa. The following example uses SimBank OBR version `0.25.0` and Galasa uber OBR version `0.34.1`.

You can find the version of the `dev.galasa.simbank.obr` that you are using by looking in the `pom.xml` file in the `dev.galasa.simbank.obr` folder. The `dev.galasa.uber.obr` is the OBR that contains all the bundles that are needed for Galasa to work including Managers, any required dependencies, the framework, etc. The version of the `dev.galasa.uber.obr` depends on which version of Galasa you have installed.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ The following diagram provides a high-level representation of the Galasa Ecosyst

### Key components:

The following diagram highlights a some of the key components that make up the Galasa Ecosystem and examples of external resources with which Galasa can interact: ![Galasa ecosystem:](galasa-ecosystem-architecture-new.svg)
The following diagram highlights some of the key components that make up the Galasa Ecosystem and examples of external resources with which Galasa can interact: ![Galasa ecosystem:](galasa-ecosystem-architecture-new.svg)

<br>Expand the following sections to find out more about the key components of the Galasa Ecosystem:

Expand Down
20 changes: 20 additions & 0 deletions src/markdown-pages/docs/ecosystem/ecosystem-authentication.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ When a user logs into the Galasa Web UI via their browser, the Web UI contacts t

On a successful login, a `bearer-token.json` file is created in the Galasa home directory. This file contains a bearer token that galasactl uses to authenticate requests when communicating with a Galasa Ecosystem. If the bearer token expires, galasactl automatically attempts to re-authenticate with the Galasa Ecosystem using the properties in the `galasactl.properties` file within the Galasa home directory.



### Logging in to a Galasa Ecosystem using the auth login command

You can log in to a Galasa Ecosystem explicitly by using the `galasactl auth login` command. You might want to do an explicit log in if you are running galasactl as part of a build pipeline, or if you just want to make sure you can log in.
Expand All @@ -31,3 +33,21 @@ You can log in to a Galasa Ecosystem explicitly by using the `galasactl auth log

To log out of a Galasa Ecosystem using galasactl, you can use the `galasactl auth logout` command. If you run a galasactl command that interacts with an Ecosystem while logged out, galasactl will attempt to automatically log in using the properties in your `galasactl.properties` file within your Galasa home directory.


### Listing personal access tokens

You can retrieve a list of all active personal access tokens in the Ecosystem by using the `galasactl auth tokens get` command. This information is useful if you need to revoke or delete an access token, for example, if a user moves to a new role, or loses a laptop with their access token on it.

The token ID, creation date, username, and description information is returned, as shown in the following example:

```console
> galasactl auth tokens get
tokenid created(YYYY/MM/DD) user description
09823128318238 2024-02-03 m.smith@gmail.com Ecosystem1 access
87a6s2y8hqwd27 2024-05-04 s_jones@gmail.com CLI access from VSCode

Total:2
```

The returned token list is sorted in creation date order, with the earliest creation date first. The description information matches the description that is provided by the user when creating a new access token from the Web UI.

61 changes: 14 additions & 47 deletions src/markdown-pages/docs/ecosystem/ecosystem-installing-k8s.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,10 +53,10 @@ Complete the following steps to install a Galasa Ecosystem by using Helm:
helm repo add galasa https://galasa-dev.github.io/helm
```
- If the repository exists, run the ```helm repo update``` command to get the latest versions of the packages and then run ```helm search repo galasa``` to see the available charts.<br>
_Note:_ The Galasa Ecosystem Helm chart deploys three persistent volumes (PVs). If you need to provide a Kubernetes storage class for these PVs, download the <a href=https://github.com/galasa-dev/helm/blob/main/charts/ecosystem/values.yaml#L43 target="_blank"> values.yaml</a> file and update the `storageClass` value in the file with the name of a valid storage class on your cluster. If you are deploying to minikube, you can optionally use the standard storage class that is created for you by minikube, but this is not required.
1. Download the <a href=https://github.com/galasa-dev/helm/blob/main/charts/ecosystem/values.yaml target="_blank"> values.yaml</a> file if you have not done so already, and edit the values of the following properties:
_Note:_ The Galasa Ecosystem Helm chart deploys three persistent volumes (PVs). If you need to provide a Kubernetes storage class for these PVs, download the <a href=https://github.com/galasa-dev/helm/blob/ecosystem-0.34.1/charts/ecosystem/values.yaml target="_blank"> values.yaml</a> file and update the `storageClass` value in the file with the name of a valid storage class on your cluster. If you are deploying to minikube, you can optionally use the standard storage class that is created for you by minikube, but this is not required.
1. Download the <a href=https://github.com/galasa-dev/helm/blob/ecosystem-0.34.1/charts/ecosystem/values.yaml target="_blank"> values.yaml</a> file if you have not done so already, and edit the values of the following properties:
- Set `galasaVersion` to the version of Galasa that you want to run. (See the [Releases](/releases) documentation for released versions). To ensure that each pod in the Ecosystem is running at the same level, do not use `latest` as the Galasa version.
- Set `externalHostname` to the DNS hostname or IP address of the Kubernetes node that is used to access the Galasa NodePort services. If you are deploying to minikube, the cluster's IP address can be retrieved by running `minikube ip`.
- Set `externalHostname` to the DNS hostname or IP address of the Kubernetes node that is used to access the Galasa Ecosystem services. If you are deploying to minikube, the cluster's IP address can be retrieved by running `minikube ip`.

After updating the `galasaVersion` and `externalHostname` values, complete the following instructions to set up Ingress for your Ecosystem.

Expand All @@ -73,11 +73,11 @@ Assuming that your Ingress controller is set up on your Kubernetes cluster, conf

After updating the values under the `ingress` section of your `values.yaml` file, complete the following instructions to configure Dex in your Ecosystem.

### Configuring Dex
### Configuring Dex

**Note: The Ecosystem chart's use of Dex is still under development and is subject to change.**
*Note:* The Ecosystem chart's use of Dex is still under development and is subject to change.

In a future release, <a href=https://dexidp.io target="_blank"> Dex</a> will be used to authenticate users attempting to interact with a Galasa Ecosystem.
For Galasa version 0.32.0 and later, Dex is used to authenticate users interacting with a Galasa Ecosystem.

To configure Dex in your Ecosystem, complete the following steps to update your `values.yaml` file:

Expand All @@ -87,38 +87,7 @@ To configure Dex in your Ecosystem, complete the following steps to update your
issuer: http://<your-external-hostname>/dex
```
2. Under the `staticClients` value, replace the example hostname given in the `redirectURIs` list with the value you provided in the `externalHostname`, and set the URI scheme to either `http` or `https`. For example:

```yaml
staticClients:
- id: galasa-webui
redirectURIs:
- 'http://<your-external-hostname>/api/auth/callback'
name: 'Galasa Ecosystem Web UI'
secret: example-webui-client-secret
```
3. If you want to supply a client secret for the Galasa Web UI by using a Kubernetes Secret, replace the `secret` key in the `staticClients` section with `secretEnv` and supply the name of your Secret as a value within the `envFrom` section. For example, if you have a Secret called `my-webui-client-credentials` with a key called `WEBUI_CLIENT_SECRET` and a value representing a client secret, provide the following values:

```yaml
dex:
envFrom:
- secretRef:
name: my-webui-client-credentials
# Other Dex-related values...
config:
# Other Dex configuration values...
staticClients:
- id: galasa-webui
redirectURIs:
- 'http://<your-external-hostname>/auth/callback'
name: 'Galasa Ecosystem Web UI'
secretEnv: WEBUI_CLIENT_SECRET
```

4. Optional. Update the `expiry` section to configure the expiry of JSON Web Tokens (JWTs) and refresh tokens issued by Dex. By default, JWTs expire 24 hours after being issued and refresh tokens remain valid unless they have not been used for one year. See the Dex documentation on <a href=https://dexidp.io/docs/tokens target="_blank"> ID tokens</a> for information and available expiry settings.
2. Optional. Update the `expiry` section to configure the expiry of JSON Web Tokens (JWTs) and refresh tokens issued by Dex. By default, JWTs expire 24 hours after being issued and refresh tokens remain valid unless they have not been used for one year. See the Dex documentation on <a href=https://dexidp.io/docs/tokens target="_blank"> ID tokens</a> for information and available expiry settings.

You can now configure Dex to authenticate via a connector to authenticate with an upstream identity provider, for example, GitHub, Microsoft, or an LDAP server. For a full list of supported connectors, refer to the <a href=https://dexidp.io/docs/connectors target="_blank"> Dex documentation</a>. The following instructions explain how to configure Dex to authenticate through GitHub.

Expand Down Expand Up @@ -248,32 +217,30 @@ To reconfigure Galasa to point to the Galasa Ecosystem that you created, you nee
```
kubectl get svc
```
Look for the `api-external` service and the `NodePort` that is associated with port `8080`. For example, the following snippet shows that node port `30960` is associated with port `8080`:
```
test-api-external NodePort 10.107.160.208 <none> \
9010:31359/TCP,9011:31422/TCP,8080:30960/TCP 18s
```
Combine the information with the external hostname that you provided to form the bootstrap URL. For example, if the external hostname you provided was `example.com`, the bootstrap URL is `http://example.com:30960/boostrap`.

Combine the information with the external hostname that you provided to form the bootstrap URL so that the bootstrap is the external host name followed by `/api/bootstrap`. For example, if the external hostname is `example.com`, the bootstrap URL will be `http://example.com/api/boostrap`.

You can then deploy your Galasa tests to a Maven repository and set up a test stream. For more information on writing tests, see the <a href=https://galasa.dev/docs/writing-own-tests> Writing your own independent Galasa tests</a> documentation.

## Upgrading the Galasa Ecosystem

To upgrade the Galasa Ecosystem to use a newer version of Galasa, for example version 0.33.0, run the following command:

Get the latest version of the Ecosystem chart and upgrade the Galasa Ecosystem to use the newer version of Galasa - for example version 0.34.1 - by running the following command:

On Mac or Unix:

```console
helm repo update \
helm upgrade <release-name> galasa/ecosystem --reuse-values \
--set galasaVersion=0.33.0 --wait
--set galasaVersion=0.34.1 --wait
```

On Windows (Powershell):

```console
helm repo update `
helm upgrade <release-name> galasa/ecosystem --reuse-values `
--set galasaVersion=0.33.0 --wait
--set galasaVersion=0.34.1 --wait
```

where:<br>
Expand Down
4 changes: 2 additions & 2 deletions src/markdown-pages/docs/first-steps/installing-offline.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,8 +71,8 @@ On Mac or Unix:
On Windows (Powershell):

1. Open the `galasactl` directory that is provided in the zip file and re-name the appropriate to `galasactl`.
2. Add the Galasa CLI to your PATH to enable the tool to be called from the command line without having to specify the path to the directory in which it is stored. For example, save the galasactl executable to a folder called `~/tools` in your `C:` directory and run the `set PATH "C:\tools;%PATH%"` command to add it to your PATH.
3. Open `cmd.exe` and type `start galasactl.exe` in the directory containing `galasactl`.
2. Add the `galasactl` executable to your PATH to enable the tool to be called from the command line without having to specify the path to the directory in which it is stored. You can edit the PATH variable in your System environment variables to add the path to the directory in which you downloaded the `galasactl` executable.
3. Open a command prompt and type `start galasactl.exe`.

You can now run the Galasa CLI tool from any directory in your file system without having to specify the absolute path.

Expand Down
Loading

0 comments on commit b1ecbef

Please sign in to comment.