Coder Social home page Coder Social logo

eclipse-xpanse / xpanse Goto Github PK

View Code? Open in Web Editor NEW
18.0 18.0 16.0 30.98 MB

xpanse is here to make native managed cloud services configurable and portable.

Home Page: https://eclipse.dev/xpanse/

License: Apache License 2.0

Java 99.95% Dockerfile 0.04% Shell 0.01%
cloud containers openapi rest-api saas spring-boot

xpanse's People

Contributors

alice1319 avatar baixinsui avatar davidinux avatar dependabot[bot] avatar eclipse-xpanse-bot avatar iskey avatar jbonofre avatar jiajia-wen avatar jinyangyang222 avatar niuzhenguo avatar swaroopar avatar wanglin100 avatar wanglinaruto avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

xpanse's Issues

Create Kafka OCL descriptor

The purpose is really to describe Kafka managed service using OCL and use it as development base for Orchestrator plugins.

Add k8s deployment resources

Especially for the tests, I will add k8s Deployment and Service yaml file to easily deploy OSC on a K8S cluster.
I will also provide helm package to simplify "remote" deployment.

Document OSC controller proposal for RC2

Currently, OSC RC1 looks like a Java based "terraform": we have a OCL descriptor directly creating the end user resources.

So basically, if we consider Apache Kafka, right now, OSC directly created kafka cluster with OCL descriptor.

However, it's not the target objective of OSC: OSC is more a MSP (Managed Services Provider) framework. OSC should deploy a "controller". This controller is what we can see in CSP console, and the end user will use this controller to actually create the resources.
For instance, in case of Kafka, the controller will be use by the end users (via API or via console) to actually create kafka cluster/brokers.

So, OSC should be a "controller provisioner", with:

  • OCL describing the controller bootstrap/provisioning
  • OCL should contain all controller configuration to allow the controller to manage resources on user requests

@Jiajia-Wen @iskey @niuzhenguo

Create testbed on HuaweiCloud

Close to RC1, as soon as we have the required resources, we should test deployment of service on HuaweiCloud.
For that, we need:

  • runtime
  • orchestrator
  • HuaweiCloud plugin

Verify GH action success execution

Currently, GH action doesn't work (expected as the Minho SNAPSHOTs are not yet available on Apache repository). When artifacts will be available, I will double check that GH action build is OK (CI/CD).

Create testbed on openstack (OTC)

Close to RC1, as soon as we have the required resources, we should test deployment of service on openstack/OTC.
For that, we need:

  • runtime
  • orchestrator
  • openstack plugin

Create k8s plugin

Especially for test locally on minikube, I propose to create a kubernetes plugin with the following behqvior:

  1. Create a pod per resource deployment (pod lifetime is the resource provisioning), using fabric8 kuberenetes client
  2. Check resources via kubernetes API

Cut RC1 release and upload on Maven Central

I will double check the pom.xml I created to verify if:

  • release plugin configuration is OK
  • all is set to upload artifacts on Maven Central (or another Maven public repository)

Add filtering on OCL per plugin

Right now the orchestrator is just delegating any OCL descriptor to all registered plugins.

We can imagine to have a filter based on OCL properties to define this OCL should be managed by these plugins.
The ConfigService can contain a property containing mapping of orchestration plugin / ocl name.

Add auth callback URL and credential properties

To create resources in the orchestrator plugin, we need authentication information.
I propose to add authentication list at OCL level. It will like:

  "authentication": [
     {
         "id": "main_auth",
         "url": "https://identity.api.my.cloud:443/v3/auth/tokens",
         "properties": {
             "tenant": "${env:tenant}",
             "username": "${secret:username}",
             "password": "${secret:password}"
          }
  ]

Thoughts ?

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.