Giter Club home page Giter Club logo

teiid-operator's Introduction

teiid

Build Status Join the chat at https://gitter.im/teiid

Teiid is a data virtualization system that allows applications to use data from multiple, heterogeneous data stores.

Useful Links

To build Teiid

Enter the following:

$ git clone https://github.com/<yourname>/teiid.git
$ cd teiid
$ mvn clean install -P dev -s settings.xml

you can find the deployment artifacts in the "teiid/build/target" directory once the build is completed.

Travis Builds

Teiid includes a travis build config. By default it performs only an "install" on every commit. It allows for a cron based build to be configured as well for deploying snapshots. The snapshot build requires add the environment variables SONATYPE_USERNAME and SONATYPE_PASSWORD that should set to the user access token values of an authorized sonatype account.

Teiid for WildFly

Teiid for WildFly may be built by including the wildfly profile with the relevant build command. For example:

$ mvn clean install -P dev,wildfly -s settings.xml

The Teiid WildFly kits will then be located under wildfly/wildfly-build/target

Licenses

The default license for all submodules is the Apache Software License (ASL) v2.0

Where applicable individual submodules will provide additional copyright and license information.

teiid-operator's People

Contributors

akoserwal avatar myeung18 avatar rareddy avatar rashelrr avatar rbaumgar avatar shawkins avatar tchughesiv avatar vhalbert avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

teiid-operator's Issues

Building the operator requires the code to live in GOPATH

Trying to build the operator when cloned to an arbitrary directory yields:

./hack/go-build.sh
/home/asmigala/src/teiid-operator is not within a known GOPATH/src
FATA[0000] dependency manager "dep" requires working directory to be in $GOPATH/src 

Moving the cloned directory to ~/go/src/ works.

I have very limited knowledge of go and dep, but I believe there is a way to make it work in other directories (syndesis operator can be built right from its source dir).

0.1.0 not in quay.io

The update from 0.0.1 to 0.1.0 was incomplete as the tagged operator image was not created.

How to add private Maven repositories with credentials

Hello,

I don't know if this is the place but I am playing around with the Teiid operator and was wondering if it was possible to add a private Maven repositories with credentials. We're using our own Nexus and know that you can add a Maven repository to the VirtualDatabase resource, but I cannot figure out how to provide credentials.

Kind regards,

Jacob

Hello-world VDB does not build (ownerReference invalid in build config)

I have installed the Teiid Operator 0.4 in Openshift 4.5.7 en created the hello world virutal database. It keeps in the state Ready for S2I

Looking the operator log I see that it cannot create the virutal-database build configuration because of an empty or missing ownerReference.

{"level":"info","ts":"2020-09-10T08:53:01.863960713Z","logger":"virtualdatabase","msg":"Creating a new BuildConfig virtualdatabase-builder in namespace data-virtualization"}
{"level":"error","ts":"2020-09-10T08:53:01.872124663Z","logger":"virtualdatabase","msg":"Failed during action S2IBuilderImageAction BuildConfig.build.openshift.io "virtualdatabase-builder" is invalid: [metadata.ownerReferences.name: Invalid value: "": name must not be empty, metadata.ownerReferences.uid: Invalid value: "": uid must not be empty]"}

Am I missing something?

Teiid Operator on K8s

Wondering if Teiid Operator can be used on OSS K8s? Or it is tied to OKD only?

Thanks

Operator projects using the removed APIs in k8s 1.22 requires changes.

Problem Description

Kubernetes has been deprecating API(s), which will be removed and are no longer available in 1.22. Operators projects using these APIs versions will not work on Kubernetes 1.22 or any cluster vendor using this Kubernetes version(1.22), such as OpenShift 4.9+. Following the APIs that are most likely your projects to be affected by:

  • apiextensions.k8s.io/v1beta1: (Used for CRDs and available since v1.16)
  • rbac.authorization.k8s.io/v1beta1: (Used for RBAC/rules and available since v1.8)
  • admissionregistration.k8s.io/v1beta1 (Used for Webhooks and available since v1.16)

Therefore, looks like this project distributes solutions in the repository and does not contain any version compatible with k8s 1.22/OCP 4.9. (More info). Following some findings by checking the distributions published:

NOTE: The above findings are only about the manifests shipped inside of the distribution. It is not checking the codebase.

How to solve

It would be very nice to see new distributions of this project that are no longer using these APIs and so they can work on Kubernetes 1.22 and newer and published in the community-operators collection. OpenShift 4.9, for example, will not ship operators anymore that do still use v1beta1 extension APIs.

Due to the number of options available to build Operators, it is hard to provide direct guidance on updating your operator to support Kubernetes 1.22. Recent versions of the OperatorSDK greater than 1.0.0 and Kubebuilder greater than 3.0.0 scaffold your project with the latest versions of these APIs (all that is generated by tools only). See the guides to upgrade your projects with OperatorSDK Golang, Ansible, Helm or the Kubebuilder one. For APIs other than the ones mentioned above, you will have to check your code for usage of removed API versions and upgrade to newer APIs. The details of this depend on your codebase.

If this projects only need to migrate the API for CRDs and it was built with OperatorSDK versions lower than 1.0.0 then, you maybe able to solve it with an OperatorSDK version >= v0.18.x < 1.0.0:

$ operator-sdk generate crds --crd-version=v1
INFO[0000] Running CRD generator.
INFO[0000] CRD generation complete.

Alternatively, you can try to upgrade your manifests with controller-gen (version >= v0.4.1) :

If this project does not use Webhooks:

$ controller-gen crd:trivialVersions=true,preserveUnknownFields=false rbac:roleName=manager-role paths="./..."

If this project is using Webhooks:

  1. Add the markers sideEffects and admissionReviewVersions to your webhook (Example with sideEffects=None and admissionReviewVersions={v1,v1beta1}: memcached-operator/api/v1alpha1/memcached_webhook.go):

  2. Run the command:

$ controller-gen crd:trivialVersions=true,preserveUnknownFields=false rbac:roleName=manager-role webhook paths="./..."

For further information and tips see the comment.

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.