system

module
v0.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 15, 2019 License: Apache-2.0

README

riff System

Controllers for riff CRDs

CRDs

riff System contains three API groups with CustomResourceDefinitions that are the public API for riff.

  • build.projectriff.io/v1alpha1
    • Application - applications built from source using application buildpacks
    • Function - functions built from source using function buildpacks
    • Container - watch a container repository for the latest image
  • core.projectriff.io/v1alpha1
    • Deployer - deployers map HTTP requests to applications, functions, containers or images with Kubernetes core resources
  • streaming.projectriff.io/v1alpha1
    • Stream - streams of messages
    • Processor - processors apply functions to messages on streams
  • knative.projectriff.io/v1alpha1
    • Adapter - adapters map applications, functions or container images into an existing Knative Service or Configuration.
    • Deployer - deployers map HTTP requests to applications, functions, containers or images with Knative
Runtime

A controller and webhook Deployments exist in the riff-system namespace to validate and reconcile the riff CRDs.

RBAC

Two ClusterRoles are defined to grant access to the riff CRDs.

  • projectriff - read/write access to all riff CRDs
  • projectriff-readonly - read access to all riff CRDs

These roles are aggregated to the edit and view ClusterRoles respectively.

See the Kuberneties Using RBAC Authorization for more information.

Install

riff System is not installed directly for typical use. See the Getting Started docs to learn how to install riff.

Development

After making any changes to source files in ./pkgs/apis it is necessary to regenerate the API client by running:

./hack/update-codegen.sh

Dependencies are managed with dep. After importing a new package or modifying Gopkg.toml, run:

./hack/update-deps.sh

To run the unit tests locally:

go test ./...

To deploy to a development cluster with ko:

ko apply -f config/

Additional dependencies must be installed independently into the cluster including:

  • riff build templates
  • Knative Build
  • Knative Serving
  • Istio

A common practice is to start with a standard riff install and then incrementally update riff System from source.

Releases

Releases are generated by the CI server by running ./hack/release.sh, and published to:

https://storage.googleapis.com/projectriff/riff-system/riff-system-{version}.yaml

Code of Conduct

Please refer to the Contributor Code of Conduct.

Directories

Path Synopsis
cmd
controller command
webhook command
pkg
client/clientset/versioned
* Copyright 2019 The original author or authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
* Copyright 2019 The original author or authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
client/clientset/versioned/fake
* Copyright 2019 The original author or authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
* Copyright 2019 The original author or authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
client/clientset/versioned/scheme
* Copyright 2019 The original author or authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
* Copyright 2019 The original author or authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
client/clientset/versioned/typed/build/v1alpha1
* Copyright 2019 The original author or authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
* Copyright 2019 The original author or authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
client/clientset/versioned/typed/build/v1alpha1/fake
* Copyright 2019 The original author or authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
* Copyright 2019 The original author or authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
client/clientset/versioned/typed/core/v1alpha1
* Copyright 2019 The original author or authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
* Copyright 2019 The original author or authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
client/clientset/versioned/typed/core/v1alpha1/fake
* Copyright 2019 The original author or authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
* Copyright 2019 The original author or authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
client/clientset/versioned/typed/knative/v1alpha1
* Copyright 2019 The original author or authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
* Copyright 2019 The original author or authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
client/clientset/versioned/typed/knative/v1alpha1/fake
* Copyright 2019 The original author or authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
* Copyright 2019 The original author or authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
client/clientset/versioned/typed/streaming/v1alpha1
* Copyright 2019 The original author or authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
* Copyright 2019 The original author or authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
client/clientset/versioned/typed/streaming/v1alpha1/fake
* Copyright 2019 The original author or authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
* Copyright 2019 The original author or authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
client/informers/externalversions
* Copyright 2019 The original author or authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
* Copyright 2019 The original author or authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
client/informers/externalversions/build
* Copyright 2019 The original author or authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
* Copyright 2019 The original author or authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
client/informers/externalversions/build/v1alpha1
* Copyright 2019 The original author or authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
* Copyright 2019 The original author or authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
client/informers/externalversions/core
* Copyright 2019 The original author or authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
* Copyright 2019 The original author or authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
client/informers/externalversions/core/v1alpha1
* Copyright 2019 The original author or authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
* Copyright 2019 The original author or authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
client/informers/externalversions/internalinterfaces
* Copyright 2019 The original author or authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
* Copyright 2019 The original author or authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
client/informers/externalversions/knative
* Copyright 2019 The original author or authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
* Copyright 2019 The original author or authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
client/informers/externalversions/knative/v1alpha1
* Copyright 2019 The original author or authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
* Copyright 2019 The original author or authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
client/informers/externalversions/streaming
* Copyright 2019 The original author or authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
* Copyright 2019 The original author or authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
client/informers/externalversions/streaming/v1alpha1
* Copyright 2019 The original author or authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
* Copyright 2019 The original author or authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
client/listers/build/v1alpha1
* Copyright 2019 The original author or authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
* Copyright 2019 The original author or authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
client/listers/core/v1alpha1
* Copyright 2019 The original author or authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
* Copyright 2019 The original author or authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
client/listers/knative/v1alpha1
* Copyright 2019 The original author or authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
* Copyright 2019 The original author or authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
client/listers/streaming/v1alpha1
* Copyright 2019 The original author or authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
* Copyright 2019 The original author or authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
reconciler
Package reconciler defines implementations of the Reconciler interface defined at github.com/knative/pkg/controller.Reconciler.
Package reconciler defines implementations of the Reconciler interface defined at github.com/knative/pkg/controller.Reconciler.
reconciler/testing
Package testing includes utilities for testing controllers.
Package testing includes utilities for testing controllers.
reconciler/v1alpha1/streamingprocessor/resources
Package resources holds simple functions for synthesizing child resources from a Service resource and any relevant Service controller configuration.
Package resources holds simple functions for synthesizing child resources from a Service resource and any relevant Service controller configuration.
reconciler/v1alpha1/streamingprocessor/resources/names
Package names holds simple functions for synthesizing resource names.
Package names holds simple functions for synthesizing resource names.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL