Skip to content

Commit

Permalink
Add support for MinIO (#35)
Browse files Browse the repository at this point in the history
  • Loading branch information
alfespa17 committed Sep 28, 2022
1 parent 589b244 commit 5c57806
Show file tree
Hide file tree
Showing 6 changed files with 34 additions and 2 deletions.
15 changes: 13 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ To install Terrakube in a Kubernetes cluster you will need the following:
- [Google Cloud Identity](https://dexidp.io/docs/connectors/google/)
- [Github](https://dexidp.io/docs/connectors/github/)
- [Gitlab](https://dexidp.io/docs/connectors/gitlab/)
- Azure Storage Account, Amazon S3 bucket or GCP Bucket
- Azure Storage Account, Amazon S3 bucket, GCP Bucket and MinIO(Using AWS Endpoint)
- Supported database:
- SQL Azure
- PostgreSQL
Expand Down Expand Up @@ -131,7 +131,7 @@ To learn more about how to build the Dex configuration file please review the fo
In order to use Terrakube you will have to define the one administrator group, for example:
- TERRAKUBE_ADMIN
Members of these groups are the only users inside terrakube that can create ***organizations*** and ***handle team access***, to define more than one admin group use the ***security.admins***
Members of these groups are the only users inside terrakube that can create ***organizations*** and ***handle team access***
Example:
Expand Down Expand Up @@ -165,6 +165,12 @@ Terrakube require an Storage bucket to save the state/output for the jobs and to
To create the Gcp Storage you can use the following [terraform module]() (Work in Progress).
#### 3.3 MinIO
Terrakube require an Storage bucket to save the state/output for the jobs and to save the terraform modules when using terraform CLI.
To create the MinIO Storage you can use the following [terraform module]() (Work in Progress).
### 4. Build Yaml file
Once you have completed the above steps you can complete the file values.yaml to deploy the helm chart, you can check the example folder:
Expand Down Expand Up @@ -202,6 +208,11 @@ Once you have completed the above steps you can complete the file values.yaml to
| storage.azure.storageAccountName | No | Azure storage account name |
| storage.azure.storageAccountResourceGroup | No | Azure storage resource group |
| storage.azure.storageAccountAccessKey | No | Azure storage access key |
| storage.aws.accessKey | No | Aws access key |
| storage.aws.secretKey | No | Aws secret key |
| storage.aws.bucketName | No | Aws bucket name |
| storage.aws.region | No | Aws region name (Example: us-east-1) |
| storage.aws.endpoint | No | Setup custom endpoint (MinIO) |
| dex.enabled | No | Enable Dex component |
| dex.version | Yes | Dex [version](https://github.com/dexidp/dex/releases) |
| dex.replicaCount | Yes | |
Expand Down
1 change: 1 addition & 0 deletions examples/CognitoAuthentication-Example1.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ storage:
secretKey: "<<CHANGE_THIS>>"
bucketName: "<<CHANGE_THIS>>"
region: "<<CHANGE_THIS>>"
#endpoint: "<<CHANGE_THIS>>" #MinIO support using S3 client

## Dex
dex:
Expand Down
6 changes: 6 additions & 0 deletions templates/secrets-api.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,12 @@ stringData:
AwsStorageSecretKey: '{{ .Values.storage.aws.secretKey }}'
AwsStorageBucketName: '{{ .Values.storage.aws.bucketName }}'
AwsStorageRegion: '{{ .Values.storage.aws.region }}'

{{- if and (.Values.storage.aws).endpoint }}
AwsEndpoint: '{{ .Values.storage.aws.endpoint }}'
{{ else }}
AwsEndpoint: ''
{{- end }}
{{- end }}

{{- if and (.Values.storage.gcp).projectId (.Values.storage.gcp).bucketName (.Values.storage.gcp).credentials }}
Expand Down
5 changes: 5 additions & 0 deletions templates/secrets-executor.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,11 @@ stringData:
AwsTerraformOutputSecretKey: '{{ .Values.storage.aws.secretKey }}'
AwsTerraformOutputBucketName: '{{ .Values.storage.aws.bucketName }}'
AwsTerraformOutputRegion: '{{ .Values.storage.aws.region }}'
{{- if and (.Values.storage.aws).endpoint }}
AwsEndpoint: '{{ .Values.storage.aws.endpoint }}'
{{ else }}
AwsEndpoint: ''
{{- end }}
{{- end }}

{{- if and (.Values.storage.gcp).projectId (.Values.storage.gcp).bucketName (.Values.storage.gcp).credentials }}
Expand Down
5 changes: 5 additions & 0 deletions templates/secrets-registry.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,11 @@ stringData:
AwsStorageSecretKey: '{{ .Values.storage.aws.secretKey }}'
AwsStorageBucketName: '{{ .Values.storage.aws.bucketName }}'
AwsStorageRegion: '{{ .Values.storage.aws.region }}'
{{- if and (.Values.storage.aws).endpoint }}
AwsEndpoint: '{{ .Values.storage.aws.endpoint }}'
{{ else }}
AwsEndpoint: ''
{{- end }}
{{- end }}

{{- if and (.Values.storage.gcp).projectId (.Values.storage.gcp).bucketName (.Values.storage.gcp).credentials }}
Expand Down
4 changes: 4 additions & 0 deletions values.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,10 @@
"region": {
"description": "AWS Region",
"type": "string"
},
"endpoint": {
"description": "Custom S3 Endpoint",
"type": "string"
}
}
},
Expand Down

0 comments on commit 5c57806

Please sign in to comment.