Skip to content

Commit

Permalink
docs: Add database and object store docs
Browse files Browse the repository at this point in the history
  • Loading branch information
anthonywendt committed Dec 12, 2023
1 parent 1388d22 commit 5371304
Show file tree
Hide file tree
Showing 3 changed files with 180 additions and 1 deletion.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Detailed list of packages and dependencies in this bundle:
This project is continually improving and being iterated on. Stay tuned to the latest updates.
### Things you will need
- You need an appropriately provisioned kubernetes cluster to deploy to.
- You need all databases and object storage provisioned with connection configurations ready to plug into your `uds-config.yaml`
- You need all databases and object storage provisioned with connection configurations ready to plug into your `uds-config.yaml`. Click the links for more documentation on creation and configuration of your [databases](docs/database-creation-and-configuration.md) and [object store](docs/object-store-creation-and-configuration.md)
- You need domain configuration and certs ready for use
- You need [zarf](https://github.com/defenseunicorns/zarf) and [uds](https://github.com/defenseunicorns/uds-cli)
- You need a bundle artifact. You can build it from this repository, download it or reference it directly from the [oci registry](https://github.com/defenseunicorns/uds-bundle-software-factory-nutanix/pkgs/container/uds-bundle%2Fsoftware-factory-nutanix)
Expand Down
106 changes: 106 additions & 0 deletions docs/database-creation-and-configuration.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
# Databases
You will need databases created and configured for use by these capabilities in the bundle. Below are example `uds-config.yaml` database entries. Your databases need to conform to what you place in these entries at deploy time.

## Keycloak
```yaml
bundle:
deploy:
zarf-packages:
keycloak-database-manifests:
set:
KEYCLOAK_DB_EXTERNAL_NAME: "keycloak-pg.mtsi-dev.bigbang.dev" # Replace with domain entry for your database
uds-idam:
set:
KEYCLOAK_DB_USERNAME: "postgres" # Our example uses this user
KEYCLOAK_DB_PASSWORD: "replace-me-db-passwords" # Replace
KEYCLOAK_DB_NAME: "keycloakdb" # Our example uses this database name
KEYCLOAK_DB_ENDPOINT: "keycloak-postgres.keycloak.svc.cluster.local" # Don't change this, this is an internal reference needed by keycloak
```
## Gitlab
```yaml
bundle:
deploy:
zarf-packages:
gitlab-database-manifests:
set:
GITLAB_DB_EXTERNAL_NAME: "gitlab-pg.mtsi-dev.bigbang.dev" # Replace with domain entry for your database
GITLAB_DB_PASSWORD: "replace-me-db-passwords" # Replace
gitlab:
set:
GITLAB_DB_NAME: "gitlabdb" # Our example uses this database name
GITLAB_DB_USERNAME: "postgres" # Our example uses this user
```
## Sonarqube
```yaml
bundle:
deploy:
zarf-packages:
sonarqube-database-manifests:
set:
SONARQUBE_DB_EXTERNAL_NAME: "sonarqube-pg.mtsi-dev.bigbang.dev" # Replace with domain entry for your database
SONARQUBE_DB_PASSWORD: "replace-me-db-passwords" # Replace
sonarqube:
set:
SONARQUBE_DB_NAME: "sonarqubedb" # Our example uses this database name
SONARQUBE_DB_USERNAME: "postgres" # Our example uses this user
```
## Jira
```yaml
bundle:
deploy:
zarf-packages:
jira-database-manifests:
set:
JIRA_DB_EXTERNAL_NAME: "jira-pg.mtsi-dev.bigbang.dev" # Replace with domain entry for your database
JIRA_DB_PASSWORD: "replace-me-db-passwords" #Replace
jira:
set:
JIRA_DB_NAME: "jiradb" # Our example uses this database name
JIRA_DB_USERNAME: "postgres" # Our example uses this user
```
## Confluence
```yaml
bundle:
deploy:
zarf-packages:
confluence-database-manifests:
set:
CONFLUENCE_DB_EXTERNAL_NAME: "confluence-pg.mtsi-dev.bigbang.dev" # Replace with domain entry for your database
CONFLUENCE_DB_PASSWORD: "replace-me-db-passwords" # Replace
confluence:
set:
CONFLUENCE_DB_NAME: "confluencedb" # Our example uses this database name
CONFLUENCE_DB_USERNAME: "postgres" # Our example uses this user
```
## Mattermost
```yaml
bundle:
deploy:
zarf-packages:
mattermost-database-manifests:
set:
MATTERMOST_DB_EXTERNAL_NAME: "mattermost-pg.mtsi-dev.bigbang.dev" # Replace with domain entry for your database
MATTERMOST_DB_PASSWORD: "replace-me-db-passwords" # Replace
MATTERMOST_DB_USERNAME: "postgres" # Our example uses this user
MATTERMOST_DB_NAME: "mattermostdb" # Our example uses this database name
```
## Nexus
```yaml
bundle:
deploy:
zarf-packages:
nexus-database-manifests:
set:
NEXUS_DB_EXTERNAL_NAME: "nexus-pg.mtsi-dev.bigbang.dev" # Replace with domain entry for your database
NEXUS_DB_PASSWORD: "replace-me-db-passwords" # Replace
nexus:
set:
NEXUS_DB_NAME: "nexusdb" # Our example uses this database name
NEXUS_DB_USERNAME: "postgres" # Our example uses this user
```
73 changes: 73 additions & 0 deletions docs/object-store-creation-and-configuration.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# Object Store
You will need object storage created and configured for use by these capabilities in the bundle. Below are example `uds-config.yaml` object store entries. Your object store needs to conform to what you place in these entries at deploy time. You will also see the buckets that need to exist for these capabilities.

## Gitlab
You will need these buckets created in your object store. If you choose to configure bucket names to use a suffix, your bucket names will need to contain that suffix.

### buckets
- uds-gitlab-artifacts
- uds-gitlab-backups
- uds-gitlab-ci-secure-files
- uds-gitlab-dependency-proxy
- uds-gitlab-lfs
- uds-gitlab-mr-diffs
- uds-gitlab-packages
- uds-gitlab-pages
- uds-gitlab-terraform-state
- uds-gitlab-uploads
- uds-gitlab-registry
- uds-gitlab-tmp

### config

```yaml
bundle:
deploy:
zarf-packages:
gitlab-object-store:
set:
ENDPOINT: "http://swf.objects.mtsi.bigbang.dev" # Replace with domain entry for you object store
ACCESS_KEY: "replace-me-object-store-access-key" # Replace with access key to your object store
SECRET_KEY: "replace-me-object-store-secret-key" # Replace with secret key to your object store
gitlab:
set:
BUCKET_SUFFIX: "" # You can choose to add a suffix to the end of every bucket name if desired or needed.
```
## Mattermost
You will need this bucket created in your object store. If you choose to configure bucket names to use a suffix, your bucket names will need to contain that suffix.
### buckets
- mattermost-bucket
### config
```yaml
bundle:
deploy:
zarf-packages:
mattermost-object-store:
set:
ACCESS_KEY: "replace-me-object-store-access-key" # Replace with access key to your object store
SECRET_KEY: "replace-me-object-store-secret-key" # Replace with secret key to your object store
# Replace CA_CERT with your object store cert that you need to trust
CA_CERT: |
-----BEGIN CERTIFICATE-----
replace-me-ca-cert-to-trust
-----END CERTIFICATE-----
mattermost:
set:
MATTERMOST_BUCKET_SUFFIX: "" # You can choose to add a suffix to the end of every bucket name if desired or needed.
MATTERMOST_FILE_STORE_ENDPOINT: "swf.objects.mtsi.bigbang.dev" # Replace with domain entry for you object store
# Volume used to mount the CA_CERT you need to trust from your object store
MATTERMOST_VOLUMES: |
- name: ca-cert
secret:
secretName: ca-secret
defaultMode: 0644
# Volume mount used to mount the CA_CERT you need to trust from your object store
MATTERMOST_VOLUME_MOUNTS: |
- name: ca-cert
mountPath: /etc/ssl/certs
readOnly: true"
```

0 comments on commit 5371304

Please sign in to comment.