Skip to content
/ rafter Public

WIP - new home for Asset Store and Headless CMS components that can be used without Kyma

License

Notifications You must be signed in to change notification settings

m00g3n/rafter

Repository files navigation

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:

GO111MODULE=on 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_CLUSTER_ASSET_MAX_CONCURRENT_RECONCILES No 1 The maximum number of cluster asset reconciles that can run in parallel
APP_ASSET_RELIST_INTERVAL No 30s The period of time after which the controller refreshes the status of an Asset CR
APP_ASSET_MAX_CONCURRENT_RECONCILES No 1 The maximum number of asset reconciles that can run in parallel
APP_BUCKET_RELIST_INTERVAL No 30s The period of time after which the controller refreshes the status of a Bucket CR
APP_BUCKET_MAX_CONCURRENT_RECONCILES No 1 The maximum number of bucket reconciles that can run in parallel
APP_CLUSTER_BUCKET_RELIST_INTERVAL No 30s The period of time after which the controller refreshes the status of a ClusterBucket
APP_CLUSTER_BUCKET_MAX_CONCURRENT_RECONCILES No 1 The maximum number of cluster bucket reconciles that can run in parallel
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 None The access key required to sign in to the content storage server
APP_STORE_SECRET_KEY Yes None 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_STORE_UPLOAD_WORKERS_COUNT No 10 The number of workers used in parallel to upload files to the storage bucket
APP_WEBHOOK_MUTATION_TIMEOUT No 1m The period of time after which mutation is canceled
APP_WEBHOOK_MUTATION_WORKERS_COUNT No 10 The number of workers used in parallel to mutate files
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_WEBHOOK_VALIDATION_WORKERS_COUNT No 10 The number of workers used in parallel to validate files
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

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

About

WIP - new home for Asset Store and Headless CMS components that can be used without Kyma

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages