asset-store-controller-manager/

directory
v0.0.0-...-affaa53 Latest Latest
Warning

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

Go to latest
Published: Jun 28, 2019 License: Apache-2.0

README

Asset Store Controller Manager

Overview

Asset Store is a Kubernetes-native solution for storing assets, such as documentation, images, API specifications, and client-side applications. It consists of the Asset Controller and the Bucket Controller.

Prerequisites

Use the following tools to set up the project:

Usage

Run a local version

To run the application outside the cluster, run this command:

make run
Build a production version

To build the production Docker image, run this command:

IMG={image_name}:{image_tag} make docker-build

The variables are:

  • {image_name} which is the name of the output image. Use asset-store-controller-manager for the image name.
  • {image_tag} which is the tag of the output image. Use latest for the tag name.
Environmental Variables

Use the following environment variables to configure the application:

Name Required Default Description
APP_CLUSTER_ASSET_RELIST_INTERVAL No 30s The period of time after which the controller refreshes the status of a ClusterAsset CR
APP_ASSET_RELIST_INTERVAL No 30s The period of time after which the controller refreshes the status of an Asset CR
APP_BUCKET_RELIST_INTERVAL No 30s The period of time after which the controller refreshes the status of a Bucket CR
APP_CLUSTER_BUCKET_RELIST_INTERVAL No 30s The period of time after which the controller refreshes the status of a ClusterBucket
APP_STORE_ENDPOINT No minio.kyma.local The address of the content storage server
APP_STORE_EXTERNAL_ENDPOINT No https://minio.kyma.local The external address of the content storage server
APP_STORE_ACCESS_KEY Yes The access key required to sign in to the content storage server
APP_STORE_SECRET_KEY Yes The secret key required to sign in to the content storage server
APP_STORE_USE_SSL No true The variable that enforces the use of HTTPS for the connection with the content storage server
APP_WEBHOOK_MUTATION_TIMEOUT No 1m The period of time after which mutation is canceled
APP_WEBHOOK_METADATA_EXTRACTION_TIMEOUT No 1m The period of time after which metadata extraction is canceled
APP_WEBHOOK_VALIDATION_TIMEOUT No 1m The period of time after which validation is canceled
APP_LOADER_VERIFY_SSL No true The variable that verifies SSL certificate before downloading source files
APP_LOADER_TEMPORARY_DIRECTORY No /tmp The path to the directory used to temporarily store data
APP_MAX_ASSET_CONCURRENT_RECONCILES No 1 The maximum number of asset reconciles that can run in parallel
APP_MAX_CLUSTER_ASSET_CONCURRENT_RECONCILES No 1 The maximum number of cluster asset reconciles that can run in parallel
APP_STORE_UPLOAD_WORKER_COUNT No 10 The number of workers that will be used to upload files to storage bucket in parallel

Development

Install dependencies

This project uses dep as a dependency manager. To install all required dependencies, use the following command:

make resolve
Run tests

To run all unit tests, use the following command:

make test

Directories

Path Synopsis
cmd
pkg
apis
Package apis contains Kubernetes API groups.
Package apis contains Kubernetes API groups.
apis/assetstore
Package assetstore contains assetstore API versions
Package assetstore contains assetstore API versions
apis/assetstore/v1alpha2
Package v1alpha2 contains API Schema definitions for the assetstore v1alpha2 API group +k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:conversion-gen=github.com/kyma-project/kyma/components/asset-store-controller-manager/pkg/apis/assetstore +k8s:defaulter-gen=TypeMeta +groupName=assetstore.kyma-project.io Package v1alpha2 contains API Schema definitions for the assetstore v1alpha2 API group +k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:conversion-gen=github.com/kyma-project/kyma/components/asset-store-controller-manager/pkg/apis/assetstore +k8s:defaulter-gen=TypeMeta +groupName=assetstore.kyma-project.io
Package v1alpha2 contains API Schema definitions for the assetstore v1alpha2 API group +k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:conversion-gen=github.com/kyma-project/kyma/components/asset-store-controller-manager/pkg/apis/assetstore +k8s:defaulter-gen=TypeMeta +groupName=assetstore.kyma-project.io Package v1alpha2 contains API Schema definitions for the assetstore v1alpha2 API group +k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:conversion-gen=github.com/kyma-project/kyma/components/asset-store-controller-manager/pkg/apis/assetstore +k8s:defaulter-gen=TypeMeta +groupName=assetstore.kyma-project.io
assethook/automock
Code generated by mockery v1.0.0 Code generated by mockery v1.0.0
Code generated by mockery v1.0.0 Code generated by mockery v1.0.0
assethook/engine/automock
Code generated by mockery v1.0.0 Code generated by mockery v1.0.0 Code generated by mockery v1.0.0 Code generated by mockery v1.0.0
Code generated by mockery v1.0.0 Code generated by mockery v1.0.0 Code generated by mockery v1.0.0 Code generated by mockery v1.0.0
loader/automock
Code generated by mockery v1.0.0
Code generated by mockery v1.0.0
store/automock
Code generated by mockery v1.0.0 Code generated by mockery v1.0.0
Code generated by mockery v1.0.0 Code generated by mockery v1.0.0

Jump to

Keyboard shortcuts

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