Skip to content

Commit

Permalink
Latest conf. updates, yaml config and usage guide
Browse files Browse the repository at this point in the history
Signed-off-by: Ljupcho Palashevski <lpalashevski@gmail.com>
  • Loading branch information
lpalashevski committed Sep 11, 2023
1 parent aed01c3 commit 5d5b70c
Show file tree
Hide file tree
Showing 13 changed files with 205 additions and 164 deletions.
3 changes: 3 additions & 0 deletions charts/egeria-server/.helmignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-License-Identifier: Apache-2.0
# Copyright Contributors to the Egeria project.

# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
Expand Down
29 changes: 8 additions & 21 deletions charts/egeria-server/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,24 +1,11 @@
# SPDX-License-Identifier: Apache-2.0
# Copyright Contributors to the Egeria project.
---
# This helm chart was generated using helm create https://helm.sh/docs/helm/helm_create/
# Only part of the resources such as deployment and service are relevant, the rest are kept as placeholder templates.
apiVersion: v2
name: egeria-server
description: A Helm chart for Kubernetes

# A chart can be either an 'application' or a 'library' chart.
#
# Application charts are a collection of templates that can be packaged into versioned archives
# to be deployed.
#
# Library charts provide useful utilities or functions for the chart developer. They're included as
# a dependency of application charts to inject those utilities and functions into the rendering
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
description: A Helm chart used to demonstrate Egeria stand-alone OMAG server deployment
type: application

# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 0.1.0

# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes.
appVersion: "4.3-SNAPSHOT"
version: 4.3-prerelease.1
appVersion: "4.3"
79 changes: 79 additions & 0 deletions charts/egeria-server/README.MD
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the ODPi Egeria project. -->

# Egeria OMAG Server helm chart

## Description

The purpose of this chart is to demonstrate stand-alone OMAG server deployment for Kubernetes.
The deployment is based on Egeria main docker image. By modifying the default container entry point variable we are able to create new runtime environment similar to the platform deployment.

## How it works

The container application is configured using standard deployment and config map resources customized by setting the values in 'app' map in [values.yaml](values.yaml)

``````yaml
app:
jarPath: "/deployments/server"
jarName: "omag-server"
loaderPath: "/deployments/server/lib"
configPath: "/deployments/server/conf"
configName: "cocoMDS1.yml"
livenessProbe: "/actuator/health/livenessState"
readinessProbe: "/actuator/health/readinessState"
``````

`app.jarPath` The path where the boot jar application is located inside the image.

`app.jarName` The name of the boot jar available on the `app.jarPath` location in the image.

`app.loaderPath` The spring boot application `LOADER_PATH`. This is the classpath location for Egeria connector libraries and additional third party libraries to be loaded at runtime.

`app.configPath` The location where configuration files will be located. Note this location is used as volume mount path inside the container.

`app.configName` The name of the configuration file (json or yaml) that will be loaded from `app.configPath` by the OMAG server instance on start-up.

`livenessProbe` and `readinessProbe` Standard kubernetes pod probes representing liveness and readiness states respectively.

For demo purpose, the chart contains example configuration files located in the [files](files) directory. The files placed here will be always copied as config map resources and mounted inside the container at location defined by `app.configPath`. From here, the server is trying to load the file defined by `app.configName` value.

For more details check out the [config.yaml](templates/config.yaml) and [deployment.yaml](templates/deployment.yaml) resources.


## Installation steps

### From helm repository

Add helm repo with name `egeria` (one-time)

```bash
helm repo add egeria https://github.com/odpi/egeria-charts.git
```

Once repo is added, pull latest chart versions

```bash
helm repo update
```

Install app instance with name `mds1` form chart with name `egeria-server`

```bash
helm install mds1 egeria/egeria-server
```

### From local files

Clone the files with git and install app instance with name `mds1` using local chart located at `charts/egeria-server`

```bash
git clone https://github.com/odpi/egeria-charts.git
cd egeria-charts
helm install mds1 charts/egeria-server -f charts/egeria-server/values.yaml
```

### Uninstall the chart

```bash
helm uninstall mds1
```
146 changes: 6 additions & 140 deletions charts/egeria-server/files/cocoMDS1.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
{
"class": "OMAGServerConfig",
"versionId": "V2.0",
"localServerId": "996892b6-7299-4046-8928-b6687a7818ee",
"localServerName": "cocoMDS1",
"localServerType": "Open Metadata and Governance Server",
"localServerURL": "https://localhost:9443",
"localServerUserId": "OMAGServer",
"maxPageSize": 1000,
"accessServicesConfig": [
Expand All @@ -20,8 +17,6 @@
"accessServiceWiki": "https://egeria-project.org/services/omas/asset-catalog/overview/",
"accessServiceOperationalStatus": "ENABLED",
"accessServiceOptions": {
"SupportedZones": [],
"DefaultZones": [],
"SupportedTypesForSearch": [
"RelationalTable",
"TabularColumn",
Expand All @@ -47,24 +42,7 @@
"accessServiceURLMarker": "asset-manager",
"accessServiceDescription": "Manage metadata from a third party asset manager",
"accessServiceWiki": "https://egeria-project.org/services/omas/asset-manager/overview/",
"accessServiceOperationalStatus": "ENABLED",
"accessServiceOptions": {
"SupportedZones": [],
"DefaultZones": [],
"SupportedTypesForSearch": [
"RelationalTable",
"TabularColumn",
"TabularFileColumn",
"RelationalColumn",
"GlossaryTerm",
"GlossaryCategory",
"Process",
"DataFile",
"Asset",
"Application",
"SoftwareServerCapability"
]
}
"accessServiceOperationalStatus": "ENABLED"
},
{
"class": "AccessServiceConfig",
Expand All @@ -84,32 +62,9 @@
"auditLogConnections": [
{
"class": "Connection",
"headerVersion": 0,
"qualifiedName": "SLF4J- [<Unknown>, Information, Event, Decision, Action, Error, Exception, Security, Startup, Shutdown, Asset, Types, Cohort]",
"displayName": "SLF4J",
"connectorType": {
"class": "ConnectorType",
"headerVersion": 0,
"type": {
"typeId": "954421eb-33a6-462d-a8ca-b5709a1bd0d4",
"typeName": "ConnectorType",
"typeVersion": 1,
"typeDescription": "A set of properties describing a type of connector."
},
"guid": "e8303911-ba1c-4640-974e-c4d57ee1b310",
"qualifiedName": "Egeria:AuditLogDestinationConnector:SLF4J",
"displayName": "SLF4J Audit Log Destination Connector",
"description": "Connector supports logging of audit log messages to the slf4j logger ecosystem.",
"connectorProviderClassName": "org.odpi.openmetadata.adapters.repositoryservices.auditlogstore.slf4j.SLF4JAuditLogStoreProvider",
"connectorFrameworkName": "Open Connector Framework (OCF)",
"connectorInterfaceLanguage": "Java",
"connectorInterfaces": [
"org.odpi.openmetadata.frameworks.connectors.SecureConnectorExtension",
"org.odpi.openmetadata.repositoryservices.connectors.stores.auditlogstore.OMRSAuditLogStore"
],
"recognizedConfigurationProperties": [
"supportedSeverities"
]
"connectorProviderClassName": "org.odpi.openmetadata.adapters.repositoryservices.auditlogstore.console.ConsoleAuditLogStoreProvider"
},
"configurationProperties": {
"supportedSeverities": [
Expand All @@ -123,63 +78,21 @@
"localRepositoryConfig": {
"class": "LocalRepositoryConfig",
"metadataCollectionId": "838005fc-e09f-4688-af89-58254a155cc6",
"localRepositoryMode": "OPEN_METADATA_NATIVE",
"localRepositoryLocalConnection": {
"class": "Connection",
"headerVersion": 0,
"displayName": "In Memory Local Repository Connection",
"connectorType": {
"class": "ConnectorType",
"headerVersion": 0,
"type": {
"typeId": "954421eb-33a6-462d-a8ca-b5709a1bd0d4",
"typeName": "ConnectorType",
"typeVersion": 1,
"typeDescription": "A set of properties describing a type of connector."
},
"guid": "65cc9091-757f-4bcd-b937-426160be8bc2",
"qualifiedName": "Egeria:OMRSRepositoryConnector:InMemory",
"displayName": "In Memory OMRS Repository Connector",
"description": "Native open metadata repository connector that maps open metadata calls to a set of in memory hash maps - demo use only.",
"connectorProviderClassName": "org.odpi.openmetadata.adapters.repositoryservices.inmemory.repositoryconnector.InMemoryOMRSRepositoryConnectorProvider",
"connectorFrameworkName": "Open Connector Framework (OCF)",
"connectorInterfaceLanguage": "Java",
"connectorInterfaces": [
"org.odpi.openmetadata.frameworks.connectors.SecureConnectorExtension",
"org.odpi.openmetadata.frameworks.auditlog.AuditLoggingComponent",
"org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.repositoryconnector.OMRSMetadataCollectionManager"
]
"connectorProviderClassName": "org.odpi.openmetadata.adapters.repositoryservices.inmemory.repositoryconnector.InMemoryOMRSRepositoryConnectorProvider"
}
},
"localRepositoryRemoteConnection": {
"class": "Connection",
"headerVersion": 0,
"displayName": "Local Repository Remote Connection",
"connectorType": {
"class": "ConnectorType",
"headerVersion": 0,
"type": {
"typeId": "954421eb-33a6-462d-a8ca-b5709a1bd0d4",
"typeName": "ConnectorType",
"typeVersion": 1,
"typeDescription": "A set of properties describing a type of connector."
},
"guid": "75ea56d1-656c-43fb-bc0c-9d35c5553b9e",
"qualifiedName": "Egeria:OMRSRepositoryConnector:CohortMemberClient:REST",
"displayName": "REST Cohort Member Client Connector",
"description": "Cohort member client connector that provides access to open metadata located in a remote repository via REST calls.",
"connectorProviderClassName": "org.odpi.openmetadata.adapters.repositoryservices.rest.repositoryconnector.OMRSRESTRepositoryConnectorProvider",
"connectorFrameworkName": "Open Connector Framework (OCF)",
"connectorInterfaceLanguage": "Java",
"connectorInterfaces": [
"org.odpi.openmetadata.frameworks.connectors.SecureConnectorExtension",
"org.odpi.openmetadata.frameworks.auditlog.AuditLoggingComponent",
"org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.repositoryconnector.OMRSMetadataCollectionManager"
]
"connectorProviderClassName": "org.odpi.openmetadata.adapters.repositoryservices.rest.repositoryconnector.OMRSRESTRepositoryConnectorProvider"
},
"endpoint": {
"class": "Endpoint",
"headerVersion": 0,
"address": "https://localhost:9443/servers/cocoMDS1"
}
},
Expand All @@ -188,71 +101,24 @@
},
"enterpriseAccessConfig": {
"class": "EnterpriseAccessConfig",
"enterpriseMetadataCollectionName": "cocoMDS1 Enterprise Metadata Collection",
"enterpriseMetadataCollectionId": "df77a8e6-ef88-48a6-9462-ce5e9697c347",
"enterpriseOMRSTopicConnection": {
"class": "VirtualConnection",
"headerVersion": 0,
"displayName": "Enterprise OMRS Topic Connection",
"connectorType": {
"class": "ConnectorType",
"headerVersion": 0,
"type": {
"typeId": "954421eb-33a6-462d-a8ca-b5709a1bd0d4",
"typeName": "ConnectorType",
"typeVersion": 1,
"typeDescription": "A set of properties describing a type of connector."
},
"qualifiedName": "org.odpi.openmetadata.repositoryservices.connectors.omrstopic.OMRSTopicProvider",
"displayName": "OMRS Topic Connector",
"description": "Provides access to the OMRS Topic that is used to exchange events between members of a cohort, or to notify Open Metadata Access Services (OMASs) of changes to metadata in the enterprise.",
"connectorProviderClassName": "org.odpi.openmetadata.repositoryservices.connectors.omrstopic.OMRSTopicProvider",
"connectorFrameworkName": "Open Connector Framework (OCF)",
"connectorInterfaceLanguage": "Java",
"connectorInterfaces": [
"org.odpi.openmetadata.frameworks.connectors.SecureConnectorExtension",
"org.odpi.openmetadata.frameworks.auditlog.AuditLoggingComponent",
"org.odpi.openmetadata.repositoryservices.connectors.openmetadatatopic.OpenMetadataTopicListener",
"org.odpi.openmetadata.frameworks.connectors.VirtualConnectorExtension",
"org.odpi.openmetadata.repositoryservices.connectors.omrstopic.OMRSTopic"
]
"connectorProviderClassName": "org.odpi.openmetadata.repositoryservices.connectors.omrstopic.OMRSTopicProvider"
},
"embeddedConnections": [
{
"class": "EmbeddedConnection",
"headerVersion": 0,
"position": 0,
"displayName": "Enterprise OMRS Events",
"embeddedConnection": {
"class": "Connection",
"headerVersion": 0,
"displayName": "Kafka Event Bus Connection",
"connectorType": {
"class": "ConnectorType",
"headerVersion": 0,
"type": {
"typeId": "954421eb-33a6-462d-a8ca-b5709a1bd0d4",
"typeName": "ConnectorType",
"typeVersion": 1,
"typeDescription": "A set of properties describing a type of connector."
},
"guid": "ed8e682b-2fec-4403-b551-02f8c46322ef",
"qualifiedName": "Egeria:OpenMetadataTopicConnector:InMemory",
"displayName": "In Memory Open Metadata Topic Connector",
"description": "In Memory Open Metadata Topic Connector supports string based events over an in memory event bus.",
"connectorProviderClassName": "org.odpi.openmetadata.adapters.eventbus.topic.inmemory.InMemoryOpenMetadataTopicProvider",
"connectorFrameworkName": "Open Connector Framework (OCF)",
"connectorInterfaceLanguage": "Java",
"connectorInterfaces": [
"org.odpi.openmetadata.frameworks.connectors.SecureConnectorExtension",
"org.odpi.openmetadata.frameworks.auditlog.AuditLoggingComponent",
"java.lang.Runnable",
"org.odpi.openmetadata.repositoryservices.connectors.openmetadatatopic.OpenMetadataTopic"
]
"connectorProviderClassName": "org.odpi.openmetadata.adapters.eventbus.topic.inmemory.InMemoryOpenMetadataTopicProvider"
},
"endpoint": {
"class": "Endpoint",
"headerVersion": 0,
"address": "cocoMDS1.openmetadata.repositoryservices.enterprise.cocoMDS1.OMRSTopic"
},
"configurationProperties": {
Expand Down
Loading

0 comments on commit 5d5b70c

Please sign in to comment.