api_controller

package
v0.0.0-...-1ac4f16 Latest Latest
Warning

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

Go to latest
Published: Mar 7, 2019 License: Apache-2.0 Imports: 0 Imported by: 0

README

API Controller

Overview

The Kyma API Controller is a core component that manages Istio authentication policies and VirtualServices, and allows to expose services using the Kyma Console or API resources. It is implemented according to the Kubernetes Operator principles and operates on api.gateway.kyma-project.io CustomResourceDefinition (CRD) resources.

This Helm chart defines the component's installation.

Prerequisites

You need these tools to work with the API Controller:

Details

This section describes how to run the controller locally, how to build the Docker image for the production environment, how to use the environment variables, and how to test the Kyma API Controller.

Run the component locally

Run Minikube with Istio to use the API Controller locally. Run this command to run the application without building the binary:

$ go run cmd/controller/main.go
Use environment variables

Use these environment variables to configure the application:

Name Required Default Description Possible values
API_CONTROLLER_LOG_LEVEL No info Show detailed logs in the application. info, debug
DEFAULT_ISSUER Yes - Used to set default issuer in NetworkPolicy. any string
DEFAULT_JWKS_URI Yes - Used to set default jwksUri in NetworkPolicy. any string
GATEWAY_FQDN Yes - Used to set gateway in the VirtualServices specification. any string
DOMAIN_NAME Yes - Used to set a hostname in the VirtualServices specification if a short version of the hostname is provided. any string
Test

Run all tests:

$ go test -v ./...

Run all tests with coverage:

$ go test -coverprofile=coverage_report.out -v ./...

Run unit tests only:

$ go test -short -v ./...

Run unit tests with coverage:

go test -short -coverprofile=coverage_report.out -v ./...

Run integration tests only:

$ go test -run Integration -v ./...

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
cmd
pkg
apis/authentication.istio.io/v1alpha1
+k8s:deepcopy-gen=package
+k8s:deepcopy-gen=package
apis/gateway.kyma-project.io/v1alpha2
+k8s:deepcopy-gen=package
+k8s:deepcopy-gen=package
apis/networking.istio.io/v1alpha3
+k8s:deepcopy-gen=package
+k8s:deepcopy-gen=package
clients/authentication.istio.io/clientset/versioned
This package has the automatically generated clientset.
This package has the automatically generated clientset.
clients/authentication.istio.io/clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
clients/authentication.istio.io/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
clients/authentication.istio.io/clientset/versioned/typed/authentication.istio.io/v1alpha1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
Package fake has the automatically generated clients.
clients/gateway.kyma-project.io/clientset/versioned
This package has the automatically generated clientset.
This package has the automatically generated clientset.
clients/gateway.kyma-project.io/clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
clients/gateway.kyma-project.io/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
clients/gateway.kyma-project.io/clientset/versioned/typed/gateway.kyma-project.io/v1alpha2
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
Package fake has the automatically generated clients.
clients/networking.istio.io/clientset/versioned
This package has the automatically generated clientset.
This package has the automatically generated clientset.
clients/networking.istio.io/clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
clients/networking.istio.io/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
clients/networking.istio.io/clientset/versioned/typed/networking.istio.io/v1alpha3
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
Package fake has the automatically generated clients.
controller/authentication/v2
Second version of authentication in Kyma.
Second version of authentication in Kyma.
controller/ingress/v1
First version of ingress support in Kyma.
First version of ingress support in Kyma.
controller/networking/v1
First version of Istio networking in Kyma.
First version of Istio networking in Kyma.

Jump to

Keyboard shortcuts

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