UNCLASSIFIED - NO CUI

Skip to content
Snippets Groups Projects

Add doc objectstorage

Merged Kavitha Thulasiraman requested to merge add-doc-objectstorage into master
All threads resolved!
Compare and Show latest version
1 file
+ 23
10
Compare changes
  • Side-by-side
  • Inline
@@ -2,17 +2,17 @@
If the package you are integrating connects to object storage (e.g. S3 buckets), you will need to follow the instructions below to integrate this feature into Big Bang.
In BigBang MinIO is a consistent, performant and scalable object store for the cloud strategies. Minio is Kubernetes-native by design and is S3 compatible.
In BigBang MinIO is a consistent, performant and scalable object store for the cloud strategies. Minio is Kubernetes-native by design and provides S3 compatible endpoints.
## Prerequisites
Addon Minio is enabled at the BigBang level. Alternatively, you have (1) an existing Minio Instance, (2) an AWS S3 AccessKey and SecretKey, or (3) an existing S3 bucket for the deployment.
Blob storage bucket available with correct permissions, or Minio Addon is enabled at the BigBang level. Alternatively, you have (1) an existing Minio Instance, or (2) AWS S3 AccessKey and SecretKey.
## Integration
There are currently 2 typical ways in bigbang that packages connect to object storage.
1. Package charts accept values for host, user, pass, etc and the chart makes the necessary secret, configmap etc.
1. Package charts accept values for endpoint, accessKey, bucket values, etc and the chart makes the necessary secret, configmap etc.
2. Package chart accepts a secret name where all the object storage connection info is defined. In these cases we make the secret in the BB chart.
@@ -21,7 +21,7 @@ Both ways will first require the following step:
Add objectStorage values for the package in bigbang/chart/values.yaml
Notes:
- Names of key/values may differ based on the application being integrated. Please refer to package chart values to ensure key/values coincide and application documentation for additional information on connecting to object storage.
- Names of key/values may differ based on the application being integrated (eg: iamProfile for Gitlab objectStorage values). Please refer to package chart values to ensure key/values coincide and application documentation for additional information on connecting to object storage.
- Some packages may have in-built object storage and the implementation may vary.
```yaml
@@ -56,11 +56,11 @@ Add objectStorage values for the package in bigbang/chart/values.yaml
iamProfile: ""
```
**Packages connecting to a pre-existing object storage.**
**Options for packages connecting to a pre-existing object storage.**
1. Package charts accept values for host, user, pass, etc and the chart makes the necessary secret, configmap etc...
1. Package charts accept values for endpoint, accessKey, bucket values, etc. and the chart makes the necessary secret, configmap etc...
- add a conditional statement to `bigbang/chart/templates/<package>/values` that will check if the object storage values exist and creates the necessary <TODO> values.
- add a conditional statement to `bigbang/chart/templates/<package>/values` that will check if the object storage values exist and creates the necessary object storage values.
If object storage values are present, then the internal object storage is disabled by setting `enabled: false` and the endpoint, accessKey, accessSecret, and bucket values are set.
@@ -79,8 +79,6 @@ task-runner:
Example: [GitLab](https://repo1.dso.mil/platform-one/big-bang/bigbang/-/blob/10d43bea9351b91dfc6f14d3b0c2b2a60fe60c6a/chart/templates/gitlab/values.yaml#L49)
**Packages connecting to a pre-existing object storage**
2. Package chart accepts a secret name where all the object storage connection info is defined. In these cases we make the secret in the BB chart.
- add conditional statement in `chart/templates/<package>/values.yaml` to add values for object storage secret, if object storage values exist. Otherwise the minio cluster is used.
@@ -102,7 +100,22 @@ minio:
{{- end }}
```
Example: [GitLab secret-objectstore.yaml](https://repo1.dso.mil/platform-one/big-bang/bigbang/-/blob/master/chart/templates/gitlab/secret-objectstore.yaml)
Example: [Mattermost secret-objectstore.yaml](https://repo1.dso.mil/platform-one/big-bang/bigbang/-/blob/master/chart/templates/mattermost/mattermost/secret-objectstore.yaml)
## Validation
For validating connection to the object storage in your environment or testing in CI pipeline you will need to add the object storage specific values to your overrides file or `./tests/test-values.yaml` respectively. If you are using Minio, ensure `addons.minio.enabled: true`.
Mattermost Example:
```yml
addons:
mattermost:
enabled: true
objectStorage:
endpoint: "s3.amazonaws.com"
accessKey: "AHDKEJ3BYNC8B2BFJ38NRB"
accessSecret: "LKSJF2343KS9LS21J3KK20"
bucket: "myMMBucket"
```
In order to test that the object storage is working, perform an action that stores a file. For example, if using Mattermost, upload an image for a user avatar.
\ No newline at end of file
Loading