Giter Site home page Giter Site logo

sap-archive / xf-addons Goto Github PK

View Code? Open in Web Editor NEW
2.0 7.0 13.0 3.05 MB

Add-on bundles for the SAP Cloud Platform Extension Factory installable via the Service Catalog.

Makefile 8.19% Smarty 52.71% Shell 39.10%
sample kubernetes kyma service-catalog extension-factory

xf-addons's Introduction

Important Notice

This public repository is read-only and no longer maintained. For the latest sample code repositories, visit the SAP Samples organization.

XF Add-ons

REUSE status

Kyma Add-ons for the SAP Cloud Platform Extension Factory (XF) installable via the Service Catalog.

Description

The SAP CP Extension Factory (XF) is designed to easily extend and mash up different SAP applications and third-party APIs. The Kyma Helm Broker provides a mechanism to easily deploy integration and extension functionality for SAP applications (addons) to a running XF cluster. The XF Add-ons are the default set of add-ons for any XF cluster by mainly providing mock addons for SAP Marketing Cloud, SAP Cloud for Customer, and SAP Commerce Cloud.

Installation

This add-ons repository as defined by index.yaml is installed to XF by default.

If you need to install it manually, you need to create a ClusterAddonsConfiguration or AddonsConfiguration resource in your XF or Kyma cluster using URL github.com/sap/xf-addons//addons/index.yaml?ref=0.11:

apiVersion: addons.kyma-project.io/v1alpha1
kind: ClusterAddonsConfiguration
metadata:
  name: xf-addons
spec:
  repositories:
    - url: "github.com/sap/xf-addons//addons/index.yaml?ref=0.11"

With that, all addons of this repository will be available in your Service Catalog.

To remove the add-ons from your Service Catalog: kubectl delete ClusterAddonsConfiguration xf-addons

Requirements

All add-ons are based on the Kyma Helm Broker and with that require to follow the Helm Chart specification.

How to obtain support

In case you find a bug or have ideas please open a Github Issue. Feel free to contribute by creating a Pull Request.

License

Copyright (c) 2020 SAP SE or an SAP affiliate company. All rights reserved. This project is licensed under the Apache Software License, version 2.0 except as noted otherwise in the LICENSE file.

xf-addons's People

Contributors

a-thaler avatar abbi-gaurav avatar blzjns avatar brendandobbs avatar bszwarc avatar btbernard avatar dariadomagala-sap avatar himanshu-sv avatar jcawley5 avatar johnkbarrow avatar lilitgh avatar obadrawi avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

xf-addons's Issues

Update documentation for Connectors

What should be added/changed in the Connectors documentation

  • Marketing Connector

    • the documentation is pretty much done (recently updated). What is still not working are the links to sections (anchors) in HTML. They work fine in Markdown though. I believe there might be a fix needed for the HTML syntax.
    • Creating the Application. It is said that there needs to be an Application created where the APIs and Events can be registered for consumption. This is fine, but if we use the C/4Hana Cockpit, and the runtimes provisioned there, there is no possibility of creating an Application using Kyma. So is there any other way to have the application in place? I know we can pair runtimes (see https://help.sap.com/viewer/dbce7cc5e9e3469c84849d35e777fe0b/2019-05-07/en-US/49dd793b0506444489cafbc64e229ec4.html) but is it enough it this situation?
  • C4C Connector

    • The descriptions in the c4c Connector wizard tooltips need to be changed unless they have something to do with Communication User/Arrangement/System - but I think these are related to the Marketing System. I think here it would be the Username and Password for the Business User.
    • The Expose API section needs to be updated with instructions - It is quite possible that it's just the Business User that needs to be created and configured on the C4C side - and later on connected to Kyma.
    • Same as above for Application - if we use the Cockpit, how to create the App?

This doc needs a little bit more polishing I would say (some more explanation about the "why" would be good) which I'll do after coming back from vacation. For now, we need to make sure that the Expose APIs section is there - along with configuration on the c4c side.

Add documentation for mock bundles

With kyma 1.1 there will be support for documentation inside bundles. This mechanism we should leverage to provide a good entry point documentation for the mock bundles.

In-bundle documentation for connector bundles

For the connector bundles the documentation is currently located in the bundle repo itself. Instead it should be moved to an in-bundle documentation so that it gets rendered as part of service class description.

Productize SAP Litmos Connector

Description
Following improvements are required for SAP Litmos connector.

  • Add API specification for Litmos APIs

  • Litmos can provide webhooks that can help to extend SAP Litmos and integrate with other SAP Applications for various business use cases.
    Currently, there is only one webhook when an achievement is earned.

  • Add event source for SAP Litmos webhooks.

Improve the experience around developing a new connector (xf-addons)

Overview

Connectors/xf-add-ons provide an easy way to enable consuming APIs/events from an SAP System or a third party system without modifying the system itself. This concept is important for SAP applications who for one reason or another cannot modify their application itself as was done for the commerce cloud.

While working on the Preview SAP Litmos Connector, I realized the following improvements can be made:

  • Unified and easy to use semantics for API metadata registration.

    Currently, the APIs from an SAP Application is registered in logical groups. This ends up as 5 or 10 or maybe more services in the Service catalog section for Kyma runtime. Such a setup perhaps can get quickly overwhelming for a lambda developer if I have e.g. 2 or more SAP applications connected and their APIs are registered. This will lead to around 20+ Services in the Service catalog for Kyma Runtime. We should perhaps devise a way to limit it.

  • As a connector developer, I would like to reuse the common parts and build the minimal logic required for my SAP Application.

    The code used for both API registration and event gateway has a lot of generic functionality that can be refactored in a way to make it reusable and configurable.

  • As a connector developer, I would like to have an easy way to test my changes for a new connector or update to an existing connector.

    The current workflow is more ad-hoc (due to resource constraints). The pipeline can be improved in a way where the PRs for code and config changes can be easily verified.

  • The processing for the (overview.md) does not work well.

  • Provide a template for creating add-ons (See issue)
    Certain issues such as failure on encountering empty lines should be fixed.

Fix event service binding for mqtt event bridge

We use the internal event service for publishing events however the name of the service was changed in Kyma 1.5.

We get the following error in the event bridge

 "message": "Error: getaddrinfo ENOTFOUND event-bus-publish.kyma-system.svc.cluster.local",

The new service name is 'event-publish-service'.

For a quick fix we can update the code to change the hard-coded environment variable to the new service name. Even better would be to make the service name an environment variable.

For a better solution we could discover the service using labels with the kubernetes client.

API registration fails for GDM systems

APIs are active on the GDM Marketing system (accessible by Postman/curl). During registration the registration job outputs that the APIs are inactive.

The GDM systems have a reverse proxy configured which is the likely cause.

Add validation of cluster domain value

It's easy to misconfigure the Ingress when installing the Marketing Connector by using the wrong value for the cluster domain and when the host is misconfigured it's not easy to diagnose.

I suggest we validate the host in some way to easily identify a misconfiguration.

Incorrect token URL

If we use a host name without a trailing '/' then the token URL is registered incorrectly. See the following from the Application CRD where there is a missing '/' in the tokenEndpointURL

credentials:
        csrfInfo:
          tokenEndpointURL: https://my346188.crm.ondemand.comsap/byd/odata/v1/c4codataapi
        secretName: app-c4c-my346188-70702698-4671-4a6c-a52d-d7609c7fe0e5
        type: Basic
      gatewayUrl: http://app-c4c-my346188-70702698-4671-4a6c-a52d-d7609c7fe0e5.kyma-integration.svc.cluster.local
      specificationUrl: https://XXXX:[email protected]/sap/byd/odata/v1/c4codataapi/$metadata
      targetUrl: https://my346188.crm.ondemand.com

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.