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

Expand omag-server-platform assembly #7833

Merged
merged 2 commits into from
Aug 27, 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
16 changes: 16 additions & 0 deletions open-metadata-distribution/egeria-ui-application/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the ODPi Egeria project. -->

# Egeria UI Application Distribution TAR file

The **Egeria UI Application** module creates a distribution **tar** file that can be copied
and used to install Egeria's Web-based User Interface. For further information see
[Installing Egeria Tutorial](https://egeria-project.org/education/tutorials/installing-egeria-tutorial).

----
License: [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/),
Copyright Contributors to the ODPi Egeria project.




96 changes: 96 additions & 0 deletions open-metadata-distribution/egeria-ui-application/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
/*
* SPDX-License-Identifier: Apache-2.0
* Copyright Contributors to the ODPi Egeria project.
*/


plugins {
id 'distribution'
}

apply plugin: 'distribution'

jar.enabled=false

description = 'Egeria User Interface Assembly'

dependencies {
implementation project(':open-metadata-implementation:user-interfaces:ui-chassis:ui-chassis-spring')
}

distributions {
egeriaui {
//distributionBaseName = "${rootProject.name}-ui-distribution"
contents {
into('') {
from { project(':open-metadata-implementation:user-interfaces:ui-chassis:ui-chassis-spring').bootJar }
fileMode = 0755
}
into('') {
from { "$rootProject.projectDir/open-metadata-distribution/egeria-ui-application/docs" }
fileMode = 0755
}
into('') {
from ("$rootProject.projectDir/open-metadata-implementation/user-interfaces/ui-chassis/ui-chassis-spring/src/main/resources") {
include 'applications.properties'
include 'application.yml'
include 'demo-users.yml'
}
fileMode = 0755
}
into('') {
from(rootProject.projectDir) {
include 'NOTICE'
include 'LICENSE'
include 'keystore.p12'
include 'truststore.p12'
}
fileMode = 0755
}
}
}
}
// Override the distribution filenames to match what we use with maven (replaces baseName above)
egeriauiDistTar.compression = Compression.GZIP
//egeriaDistTar.archiveExtension = 'tar.gz'
egeriauiDistTar.archiveFileName = (rootProject.name + '-' + rootProject.version + '-distribution.tar.gz')
egeriauiDistZip.enabled=false // TODO: does not seem to work

// Ditto for the deploy distribution


task unzip(type: Copy) {
String zipFile = "${project.buildDir}/distributions/${rootProject.name}-${rootProject.version}-distribution.tar.gz"
//def zipFile = (project.buildDir + '/distributions/' + rootProject.name + '-' + rootProject.version + '-distribution.tar.gz')
def outputDir = file("${buildDir}/unpacked")

from tarTree(zipFile)
into outputDir
}

egeriauiDistTar.finalizedBy unzip

// Define the output from this module - in this case our distributions
sourceSets {
main {
output.dir("${project.buildDir}/distributions")
}
}

// Only complete when unzip is done
build.dependsOn unzip

// We don't want a published artifact from this module, as it's creating the final assembly
// So disable all publish tasks inherited from the top level
publish.onlyIf { false }
generatePomFileForMavenmodulePublication.onlyIf { false }
publishMavenmodulePublicationToMavenLocal.onlyIf { false }
publishToMavenLocal.onlyIf { false }
publishAllPublicationsToOSSRHRepository.onlyIf { false }
publishMavenmodulePublicationToOSSRHRepository.onlyIf { false }
generateMetadataFileForMavenmodulePublication.onlyIf { false }





14 changes: 14 additions & 0 deletions open-metadata-distribution/egeria-ui-application/docs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the ODPi Egeria project. -->

# Egeria's Web-based User Interface

Egeria's user interface provides the ability to search for assets and related information and display lineage.

Further information about this user interface can be found on
[Egeria's website](https://egeria-project.org/user-interfaces/general/overview/).


----
License: [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/),
Copyright Contributors to the ODPi Egeria project.
164 changes: 131 additions & 33 deletions open-metadata-distribution/omag-server-platform/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -112,30 +112,68 @@ distributions {
egeriaomag {
//distributionBaseName = "${rootProject.name}-distribution"
contents {
into('platform') {
into('') {
// Describe the docker build script
from { "$rootProject.projectDir/open-metadata-distribution/omag-server-platform/docs/docker-build" }
fileMode = 0755
}
into('') {
from { "$rootProject.projectDir/open-metadata-resources/open-metadata-deployment/docker/platform" }
{
include 'Dockerfile'
include 'dist/*'
}
fileMode = 0755
}
into('') {
from(rootProject.projectDir) {
include 'NOTICE'
include 'LICENSE'
}
fileMode = 0755
}
into('deployment') {
// Describe the deployment layout
from { "$rootProject.projectDir/open-metadata-distribution/omag-server-platform/docs/deployment" }
fileMode = 0755
}
into('deployment/platform') {
from(rootProject.projectDir) {
include 'truststore.p12'
include 'keystore.p12'
include 'application.properties'
}
fileMode = 0755
}
into('deployment/platform') {
// OMAG Server Platform - new name consistent with documentation
from { project(':open-metadata-implementation:platform-chassis:platform-chassis-spring').bootJar }
rename { String fileName ->
fileName.replace("platform-chassis-spring", "omag-server-platform")
}
fileMode = 0755
}
into('platform/extra') {
// Identify how to add new libs
from { "$rootProject.projectDir/open-metadata-distribution/omag-server-platform/docs/extra" }
into('deployment/platform') {
// Identify how the platform is started
from { "$rootProject.projectDir/open-metadata-distribution/omag-server-platform/docs/platform" }
fileMode = 0755
}
into('platform/lib') {
// Identify how to add new libs
from { "$rootProject.projectDir/open-metadata-distribution/omag-server-platform/docs/lib" }
into('deployment/platform/data') {
// Describe the data files
from { "$rootProject.projectDir/open-metadata-distribution/omag-server-platform/docs/data" }
fileMode = 0755
}
into('platform') {
// Identify how the platform is started
from { "$rootProject.projectDir/open-metadata-distribution/omag-server-platform/docs/platform" }
into('deployment/platform/logs') {
// Describe the log files
from { "$rootProject.projectDir/open-metadata-distribution/omag-server-platform/docs/logs" }
fileMode = 0755
}
into('platform/lib') {
into('deployment/platform/lib') {
// Describe connectors
from { "$rootProject.projectDir/open-metadata-distribution/omag-server-platform/docs/lib" }
fileMode = 0755
}
into('deployment/platform/lib') {
// All our connectors, plus discovery sample & the sample Coco security connectors
from { project(':open-metadata-implementation:adapters:open-connectors:repository-services-connectors:audit-log-connectors:audit-log-console-connector').jar }
from { project(':open-metadata-implementation:adapters:open-connectors:repository-services-connectors:audit-log-connectors:audit-log-event-topic-connector').jar }
Expand Down Expand Up @@ -172,13 +210,76 @@ distributions {
from { project(':open-metadata-resources:open-metadata-samples:governance-services-sample').jar }
fileMode = 0755
}
into('etc/utilities') {
from { project(':open-metadata-resources:open-metadata-archives:design-model-archives:glossary-canonical-model').shadowJar }
from { project(':open-metadata-resources:open-metadata-archives:open-metadata-types-utility').shadowJar }
into('deployment/platform/extra') {
// Identify how to add new libs
from { "$rootProject.projectDir/open-metadata-distribution/omag-server-platform/docs/extra" }
fileMode = 0755
}
into('deployment/etc') {
// Describe the deployment layout
from { "$rootProject.projectDir/open-metadata-distribution/omag-server-platform/docs/etc" }
fileMode = 0755
}
into('deployment/etc') {
from(rootProject.projectDir) {
include 'logback.xml'
}
fileMode = 0755
}
into('deployment/etc/utilities') {
// Describe the deployment layout
from { "$rootProject.projectDir/open-metadata-distribution/omag-server-platform/docs/utilities" }
fileMode = 0755
}
into('deployment/etc/utilities') {
from { project(':open-metadata-resources:open-metadata-dev-utilities:egeria-config-utility').shadowJar }
from { project(':open-metadata-resources:open-metadata-dev-utilities:egeria-ops-utility').shadowJar }
from { project(':open-metadata-resources:open-metadata-samples:sample-metadata:big-glossaries').shadowJar }
fileMode = 0755
}
into('opt/sample-clients') {
into('deployment/etc/reports') {
// Describe the reports layout
from { "$rootProject.projectDir/open-metadata-distribution/omag-server-platform/docs/reports" }
fileMode = 0755
}
into('deployment/etc/reports') {
from { project(':open-metadata-resources:open-metadata-reports:component-id-report').shadowJar }
from { project(':open-metadata-resources:open-metadata-reports:database-report').shadowJar }
from { project(':open-metadata-resources:open-metadata-reports:egeria-platform-report').shadowJar }
fileMode = 0755
}
into('deployment/opt') {
// Describe the opt layout
from { "$rootProject.projectDir/open-metadata-distribution/omag-server-platform/docs/opt" }
fileMode = 0755
}
into('deployment/opt') {
from(rootProject.projectDir) {
include 'content-packs/*'
include 'sample-data/*/*'
}
fileMode = 0755
}
into('deployment/opt/sample-data') {
// Describe the sample-data layout
from { "$rootProject.projectDir/open-metadata-distribution/omag-server-platform/docs/sample-data" }
fileMode = 0755
}
into('deployment/opt/sample-data') {
// Add all sample data
from { "$rootProject.projectDir/open-metadata-resources/open-metadata-deployment/sample-data/coco-pharmaceuticals" }
{
include 'data-files/*.csv'
include 'database/*/*.sql'
}
fileMode = 0755
}
into('deployment/opt/sample-clients') {
// Describe the sample-clients layout
from { "$rootProject.projectDir/open-metadata-distribution/omag-server-platform/docs/sample-clients" }
fileMode = 0755
}
into('deployment/opt/sample-clients') {
from { project(':open-metadata-resources:open-metadata-samples:access-services-samples:asset-management-samples:asset-create-avro-sample').shadowJar }
from { project(':open-metadata-resources:open-metadata-samples:access-services-samples:asset-management-samples:asset-create-csv-sample').shadowJar }
from { project(':open-metadata-resources:open-metadata-samples:access-services-samples:asset-management-samples:asset-reader-avro-sample').shadowJar }
Expand All @@ -190,26 +291,23 @@ distributions {
from { project(':open-metadata-resources:open-metadata-samples:admin-services-samples:admin-services-config-metadata-server-sample').shadowJar }
fileMode = 0755
}
into('opt') {
from(rootProject.projectDir) {
include 'content-packs/*'
include 'sample-data/*/*'
}
into('deployment/opt/postman-collections') {
// Describe the sample-clients layout
from { "$rootProject.projectDir/open-metadata-distribution/omag-server-platform/docs/postman-collections" }
fileMode = 0755
}
into('platform') {
from(rootProject.projectDir) {
include 'truststore.p12'
include 'keystore.p12'
include 'application.properties'
}
fileMode = 0755
}
into('') {
from(rootProject.projectDir) {
include 'NOTICE'
include 'LICENSE'
}
into('deployment/opt/postman-collections') {
from { "$rootProject.projectDir/open-metadata-resources/open-metadata-samples/postman-rest-samples" }
{
include 'Egeria*.json'
}
from { "$rootProject.projectDir/open-metadata-implementation" }
{
include 'admin-services/Egeria*.json'
include 'repository-services/Egeria*.json'
include 'platform-services/Egeria*.json'
include 'access-services/*/Egeria*.json'
}
fileMode = 0755
}
}
Expand Down
11 changes: 11 additions & 0 deletions open-metadata-distribution/omag-server-platform/docs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the Egeria project. -->






----
License: [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/),
Copyright Contributors to the Egeria project.
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the Egeria project. -->

# The data directory

This directory is the default location where the platform writes its runtime files.

Files stored under the `platform` directory relate to the platform operation.
For example, the platform stores its encryption key for the
[Configuration Document Store](https://egeria-project.org/concepts/configuration-document-store-connector/)
under the `platform/keys` directory.

Files stored under the `servers` directory relate to the [OMAG Servers](https://egeria-project.org/concepts/omag-server/)
running on the platform. There is a subdirectory for each server, which is where its
[configuration document](https://egeria-project.org/concepts/configuration-document/),
and optionally its repository (if its repository is file-based) and
[cohort registry store](https://egeria-project.org/concepts/cohort-registry-store-connector/).



----
License: [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/),
Copyright Contributors to the Egeria project.
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the Egeria project. -->

# Egeria's OMAG Server Platform distribution files

There are three directories in Egeria's OMAG Server Platform distribution:

* The `platform` directory includes all the files needed to run the platform
* The `etc` directory has additional files and utilities that can be helpful when running the platform.
* The `opt` directory has samples and other useful content that can be helpful when experimenting with Egeria.




----
License: [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/),
Copyright Contributors to the Egeria project.
Loading
Loading