github.com/kyma-project/kyma/components/asset-store-controller-manager@v0.0.0-20191203152857-3792b5df17c5/README.md (about) 1 # Asset Store Controller Manager 2 3 ## Overview 4 5 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. 6 7 ## Prerequisites 8 9 Use the following tools to set up the project: 10 11 * [Go](https://golang.org) 12 * [Docker](https://www.docker.com/) 13 * [Kubebuilder](https://github.com/kubernetes-sigs/kubebuilder) 14 15 ## Usage 16 17 ### Run a local version 18 19 To run the application outside the cluster, run this command: 20 21 ```bash 22 GO111MODULE=on make run 23 ``` 24 25 ### Build a production version 26 27 To build the production Docker image, run this command: 28 29 ```bash 30 IMG={image_name}:{image_tag} make docker-build 31 ``` 32 33 The variables are: 34 35 * `{image_name}` which is the name of the output image. Use `asset-store-controller-manager` for the image name. 36 * `{image_tag}` which is the tag of the output image. Use `latest` for the tag name. 37 38 ### Environmental Variables 39 40 Use the following environment variables to configure the application: 41 42 | Name | Required | Default | Description | 43 |------|----------|---------|-------------| 44 | **APP_CLUSTER_ASSET_RELIST_INTERVAL** | No | `30s` | The period of time after which the controller refreshes the status of a ClusterAsset CR | 45 | **APP_CLUSTER_ASSET_MAX_CONCURRENT_RECONCILES** | No | `1` | The maximum number of cluster asset reconciles that can run in parallel | 46 | **APP_ASSET_RELIST_INTERVAL** | No | `30s` | The period of time after which the controller refreshes the status of an Asset CR | 47 | **APP_ASSET_MAX_CONCURRENT_RECONCILES** | No | `1` | The maximum number of asset reconciles that can run in parallel | 48 | **APP_BUCKET_RELIST_INTERVAL** | No | `30s` | The period of time after which the controller refreshes the status of a Bucket CR | 49 | **APP_BUCKET_MAX_CONCURRENT_RECONCILES** | No | `1` | The maximum number of bucket reconciles that can run in parallel | 50 | **APP_CLUSTER_BUCKET_RELIST_INTERVAL** | No | `30s` | The period of time after which the controller refreshes the status of a ClusterBucket | 51 | **APP_CLUSTER_BUCKET_MAX_CONCURRENT_RECONCILES** | No | `1` | The maximum number of cluster bucket reconciles that can run in parallel | 52 | **APP_STORE_ENDPOINT** | No | `minio.kyma.local` | The address of the content storage server | 53 | **APP_STORE_EXTERNAL_ENDPOINT** | No | `https://minio.kyma.local` | The external address of the content storage server | 54 | **APP_STORE_ACCESS_KEY** | Yes | None | The access key required to sign in to the content storage server | 55 | **APP_STORE_SECRET_KEY** | Yes | None | The secret key required to sign in to the content storage server | 56 | **APP_STORE_USE_SSL** | No | `true` | The variable that enforces the use of HTTPS for the connection with the content storage server | 57 | **APP_STORE_UPLOAD_WORKERS_COUNT** | No | `10` | The number of workers used in parallel to upload files to the storage bucket | 58 | **APP_WEBHOOK_MUTATION_TIMEOUT** | No | `1m` | The period of time after which mutation is canceled | 59 | **APP_WEBHOOK_MUTATION_WORKERS_COUNT** | No | `10` | The number of workers used in parallel to mutate files | 60 | **APP_WEBHOOK_METADATA_EXTRACTION_TIMEOUT** | No | `1m` | The period of time after which metadata extraction is canceled | 61 | **APP_WEBHOOK_VALIDATION_TIMEOUT** | No | `1m` | The period of time after which validation is canceled | 62 | **APP_WEBHOOK_VALIDATION_WORKERS_COUNT** | No | `10` | The number of workers used in parallel to validate files | 63 | **APP_LOADER_VERIFY_SSL** | No | `true` | The variable that verifies SSL certificate before downloading source files | 64 | **APP_LOADER_TEMPORARY_DIRECTORY** | No | `/tmp` | The path to the directory used to temporarily store data | 65 66 ## Development 67 68 ### Install dependencies 69 70 This project uses `dep` as a dependency manager. To install all required dependencies, use the following command: 71 72 ```bash 73 make resolve 74 ``` 75 76 ### Run tests 77 78 To run all unit tests, use the following command: 79 80 ```bash 81 make test 82 ```