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

Update native egeria tutorials #841

Merged
merged 2 commits into from
Sep 13, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the Egeria project. -->

```bash
/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home/bin/java -Dstrict.ssl=false -Dfile.encoding=UTF-8 -jar /Users/mandy-chessell/egeria-install/egeria-platform-4.3-distribution.tar.gz/assembly/etc/utilities/egeria-config-utility-4.3.jar
==================================
OMAG Server Configuration Utility: Wed Sep 13 12:48:44 BST 2023
==================================
Running against platform: https://localhost:9443 - Egeria OMAG Server Platform (version 4.3)
Using userId: garygeeke

Enter a command along with the server name and any optional parameters. Press enter to execute request.
- create-metadata-store <serverName>
- create-integration-daemon <serverName>
- add-api-connector <serverName> <metadataStoreServerName> <optionalConnectorProviderClassName> <optionalNetworkAddress>
- add-infra-connector <serverName> <metadataStoreServerName> <optionalConnectorProviderClassName> <optionalNetworkAddress>
- add-topic-connector <serverName> <metadataStoreServerName> <optionalConnectorProviderClassName> <optionalNetworkAddress>
- log-event-contents <serverName> <optionalConnectorProviderClassName>
- add-cohort-member <serverName> <optionalCohortName>
- add-startup-archive <serverName> <archiveFileName>
- update-server-user-id <serverName> <newUserId>
- delete-server <serverName>
- exit
```
```bash
create-metadata-store test-metadata-store
```
```bash
Configuring metadata store: test-metadata-store

Enter a command along with the server name and any optional parameters. Press enter to execute request.
- create-metadata-store <serverName>
- create-integration-daemon <serverName>
- add-api-connector <serverName> <metadataStoreServerName> <optionalConnectorProviderClassName> <optionalNetworkAddress>
- add-infra-connector <serverName> <metadataStoreServerName> <optionalConnectorProviderClassName> <optionalNetworkAddress>
- add-topic-connector <serverName> <metadataStoreServerName> <optionalConnectorProviderClassName> <optionalNetworkAddress>
- log-event-contents <serverName> <optionalConnectorProviderClassName>
- add-cohort-member <serverName> <optionalCohortName>
- add-startup-archive <serverName> <archiveFileName>
- update-server-user-id <serverName> <newUserId>
- delete-server <serverName>
- exit
```


54 changes: 2 additions & 52 deletions site/docs/education/tutorials/docker-tutorial/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,58 +13,8 @@ This page takes you through the different options for building and running egeri

## Building your own docker image

When you [build the main egeria repository](/docs/education/tutorials/building-egeria-tutorial/overview) a new `build` directory is created under `open-metadata-distribution/omag-server-platform`.
--8<-- "snippets/tasks/task-building-customized-docker-image.md"

Open up this directory and you will see two directories of interest:

* *distributions* contains the packaged "assembly" of the [OMAG Server Platform](/concepts/omag-server-platform).
* *unpacked* contains the same content as the "assembly" but it is not packaged into a tar file.

Take a copy of the "assembly" from either directory:

* Copy and unpack the tar file or
* Copy all the files under `unpacked`

Change into the assembly's top-level directory. When you list the contents

```bash
$ ls
Dockerfile LICENSE NOTICE README.md assembly dist
```

Run the docker command:

```bash
docker build -t egeria-platform:{myversion} -f Dockerfile .
```
replacing `{myversion}` with a tag name for this docker image. The example below used `latest` as the tag name.

```bash
? docker build -t egeria-platform:latest -f Dockerfile .
[+] Building 44.9s (5/5) FINISHED docker:desktop-linux
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 3.28kB 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [internal] load metadata for registry.access.redhat.com/ubi9/openjdk-17:latest 1.5s
=> [1/1] FROM registry.access.redhat.com/ubi9/openjdk-17@sha256:3eded7b50a5ff8a55895c7b70c9dfc6e320363e5812a68747f281f8f4bb323ac 43.3s
=> => resolve registry.access.redhat.com/ubi9/openjdk-17@sha256:3eded7b50a5ff8a55895c7b70c9dfc6e320363e5812a68747f281f8f4bb323ac 0.0s
=> => sha256:5cbda490fcb7ab72e85cfba7098858cd3ed6bb15f95687e86979f6d4ac7b2f15 596B / 596B 0.0s
=> => sha256:5b5deb1288720666a590472d9a506500df9ebe3c817e9710327162ccd24c4e22 24.19kB / 24.19kB 0.0s
=> => sha256:62742f27dce5ebff467a57ad6bfa680820f3bc534cc313627f8113246276bf0f 37.83MB / 37.83MB 17.9s
=> => sha256:f008a4f4b21c818e8bbd4e2521eb30ab0f8a43dc259e9e51c0d134641e343acd 110.80MB / 110.80MB 37.5s
=> => sha256:3eded7b50a5ff8a55895c7b70c9dfc6e320363e5812a68747f281f8f4bb323ac 1.47kB / 1.47kB 0.0s
=> => extracting sha256:62742f27dce5ebff467a57ad6bfa680820f3bc534cc313627f8113246276bf0f 2.0s
=> => extracting sha256:f008a4f4b21c818e8bbd4e2521eb30ab0f8a43dc259e9e51c0d134641e343acd 5.5s
=> exporting to image 0.0s
=> => exporting layers 0.0s
=> => writing image sha256:5a2c784ed7558dc625d109c04c8b5e78534b270a29d3011eb771fd01724c097f 0.0s
=> => naming to docker.io/library/egeria-platform:latest 0.0s

What's Next?
View summary of image vulnerabilities and recommendations → docker scout quickview

```

## Using the standard docker container on docker hub

Expand Down Expand Up @@ -124,7 +74,7 @@ It may take a little while to complete its start up so check it is running befor
For example, on macOS, the docker desktop can be found on the **Launchpad**. Once it is running,
the docker whale icon appears on the top menu bar. Clicking on the docker whale icon reveals a menu
and the status of the desk top is visible.
This menu is used to shutdown docker at the end of the dojo.
This menu is used to shut down docker at the end of the dojo.

![macOS running Docker desktop](docker-desktop-running.png)

Expand Down
55 changes: 34 additions & 21 deletions site/docs/education/tutorials/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,29 +3,53 @@

# Tutorials

The tutorials provide step-by-step guides that help you work with Egeria and its associated technology. They provide help to:
--8<-- "snippets/supported-platforms.md"

* **Those that just want to run and use Egeria**. This includes how to download and build Egeria, install it in a convenient directory, customise it and use containers for cloud deployment.
* **Those that want to develop code with Egeria** (such as building new connectors or calling Egeria's APIs). This includes setting Egeria up in IntelliJ ready for your development work.
* **Those that wish to contribute to Egeria's code base**. This includes fixing bugs and adding new features to Egeria.
The tutorials provide step-by-step guides that help you work with Egeria and its associated technology. They provide help to:

--8<-- "snippets/supported-platforms.md"
* **[Those that just want to run and use Egeria](#tutorials-for-running-egeria)**. This includes how to download and build Egeria, install it in a convenient directory, customise it and use containers for cloud deployment.
* **[Those that want to develop code with Egeria](#tutorials-for-developing-with-egeria)** (such as building new connectors or calling Egeria's APIs). This includes setting Egeria up in IntelliJ ready for your development work.
* **[Those that wish to contribute to Egeria's code base](#tutorials-for-contributing-to-egeria)**. This includes fixing bugs and adding new features to Egeria.

## Tutorials for running Egeria

Egeria is an open source project that can be:

* Started up ready to run the open metadata labs. These labs show Egeria in an operational mode serving different users in the Coco Pharmaceuticals business. Egeria is integrated with a variety of technologies in this environment, and it is set up to specifically support the scenarios within the labs. The implementation of this approach is using Kubernetes. Follow [this approach if you want to run the labs](/education/open-metadata-labs/overview).
* Run to support the open metadata labs. These labs show Egeria in an operational mode serving different users in the Coco Pharmaceuticals business. Egeria is integrated with a variety of technologies in this environment, and it is set up to specifically support the scenarios within the labs. The implementation of the labs uses Kubernetes. Follow [this link if you want to run the labs](/education/open-metadata-labs/overview).

* Used directly from a prebuilt docker image from either [DockerHub](https://hub.docker.com/r/odpi/egeria) or [Quay.io](https://quay.io/repository/odpi/egeria). This docker image includes all the Egeria runtimes and can be used to experiment with different features of Egeria. If this option is for you, [go to the docker tutorial](/education/tutorials/docker-tutorial/overview).

* Downloaded and built to create your own customized version of Egeria. Egeria is highly customizable, use this method if you wish to develop and deploy a customized Egeria for your organization. Go to [Starting with the code](#starting-with-the-code) if this is for you.
* Downloaded and built to create your own customized version of Egeria. Egeria is highly customizable, use this method if you wish to deploy a customized Egeria for your organization. Go to [Starting with the code](#starting-with-the-code) if this is for you.

Customizing Egeria typically begins with downloading and building Egeria's source code. This requires Java.

??? tip "Installing Java"
--8<-- "snippets/tasks/task-installing-java.md"

Once you have Java installed, you are ready to begin:

??? education "Downloading Egeria's source code"
--8<-- "snippets/tasks/task-downloading-egeria-source.md"

??? education "Building Egeria"
--8<-- "snippets/tasks/task-building-egeria-source.md"

??? education "Installing Egeria"
--8<-- "snippets/tasks/task-installing-egeria.md"

Once Egeria is installed, it is ready to be used.

## Tutorials for using Egeria

There are two choices in learning about Egeria.
The [open metadata labs](/education/open-metadata-labs/overview) show how Egeria can be used in multiple scenarios. The labs are organized by user role, allowing you to focus on the aspects of Egeria that interests you.

The installed assembly gives you the option to run the platform directly from this assembly and/or customize the assembly and build it into a Docker image that can be used as part of a cloud-deployment.

The open metadata labs show how Egeria can be used in multiple scenarios. They are organized by user role, allowing you to focus on the aspects of Egeria that interests you.
??? education "Working with the OMAG Server Platform"
The [OMAG Server Platform tutorial](/education/tutorials/omag-server-tutorial) takes you through the process of starting and stopping the platform; configuring, starting and stopping servers and querying the status of the platform and its servers.

??? education "Building a customized docker image"
--8<-- "snippets/tasks/task-building-customized-docker-image.md"

## Tutorials for developing with Egeria

Expand All @@ -39,17 +63,6 @@ Each change should have a [GitHub issue](https://github.com/odpi/egeria/issues)

Every contribution is signed to say that the contributor has the rights to make the contribution and agrees with the [Developer Certificate of Origin (DCO) :material-github:](https://github.com/odpi/egeria/blob/main/developer-resources/why-the-dco.md){ target=gh }

## Starting with the code

??? education "Downloading Egeria's source code"
--8<-- "snippets/tasks/task-downloading-egeria-source.md"

??? education "Installing Java"
--8<-- "snippets/tasks/task-installing-java.md"

??? education "Building Egeria"
--8<-- "snippets/tasks/task-building-egeria-source.md"

??? education "Installing Egeria"
--8<-- "snippets/tasks/task-installing-egeria.md"


Loading