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
1 file
+ 65
2
Compare changes
  • Side-by-side
  • Inline
# Big Bang Package: Object Storage
If your package supports using object storage (e.g. S3 buckets), it must be integrated with Big Bang's storage configuration. This document will detail how to do this.
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.
## Prerequisites
TBD
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.
## 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.
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.
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.
- Some packages may have in-built object storage and the implementation may vary.
```yaml
<package>
objectStorage:
# -- Type of object storage to use for Gitlab, setting to s3 will assume an external, pre-existing object storage is to be used.
# Entering connection info will enable this option and will auto-create any required secrets
type: "" # supported types are "s3" or "minio"
# -- S3 compatible endpoint to use for connection information.
# examples: "https://s3.amazonaws.com" "https://s3.us-gov-west-1.amazonaws.com" "http://minio.minio.svc.cluster.local:9000"
endpoint: ""
# -- S3 compatible region to use for connection information.
region: ""
# -- Access key for connecting to object storage endpoint.
# -- If using accessKey and accessSecret, the iamProfile must be left as an empty string: ""
accessKey: ""
# -- Secret key for connecting to object storage endpoint.
# Unencoded string data. This should be placed in the secret values and then encrypted
accessSecret: ""
# -- Bucket prefix to use for identifying buckets.
# Example: "prod" will produce "prod-gitlab-bucket"
bucketPrefix: ""
# -- NOTE: Current bug with AWS IAM Profiles and Object Storage where only artifacts are stored. Fixed in Gitlab 14.5
# -- Name of AWS IAM profile to use.
# -- If using an AWS IAM profile, the accessKey and accessSecret values must be left as empty strings eg: ""
iamProfile: ""
```
???
```yaml
{{- if or .Values.addons.minio.enabled}}
minio:
enabled: {{ .Values.<chartname>.minio.enabled }}
disableSSL: false
endpoint: {{ .Values.<chartname>.minio.endpoint }}
accessKey: {{ .Values.<chartname>.minio.accessKey }}
secretKey: {{ .Values.<chartname>.minio.secretKey }}
bucketName: {{ .Values.<chartname>.minio.bucketName }}
{{ end }}
```
???
## Validation
Loading