Skip to content

Commit

Permalink
release helm chart (#1749)
Browse files Browse the repository at this point in the history
* chore: release helm chart

Signed-off-by: Taylor Price <[email protected]>
  • Loading branch information
drpebcak authored Feb 14, 2025
1 parent d76d962 commit ebff364
Show file tree
Hide file tree
Showing 8 changed files with 98 additions and 64 deletions.
27 changes: 27 additions & 0 deletions .github/workflows/helm.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Helm Chart

on:
push:
branches:
- main
paths:
- chart/**
pull_request:
branches:
- main
paths:
- chart/**

jobs:
lint:
runs-on: depot-ubuntu-22.04

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up Helm
uses: azure/setup-helm@v4

- name: Lint Helm chart
run: helm lint chart
44 changes: 43 additions & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,4 +58,46 @@ jobs:
- name: Create WinGet Package Update Pull Request
run: |
$url = "${{ github.server_url }}/${{ github.repository }}/releases/download/${{ github.ref_name }}/obot_${{ github.ref_name }}_windows_amd64.zip"
./wingetcreate.exe update --submit --token "${{ secrets.WINGET_GH_TOKEN }}" --urls $url --version "${{ github.ref_name }}" obot-platform.obot
./wingetcreate.exe update --submit --token "${{ secrets.WINGET_GH_TOKEN }}" --urls $url --version "${{ github.ref_name }}" obot-platform.obot
chart-release:
needs: release-tag
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up Helm
uses: azure/setup-helm@v4

- name: Package Helm chart
run: helm package chart --destination ./.packaged --version ${{ github.ref_name }} --app-version ${{ github.ref_name }}

- name: Checkout GitHub Pages Repository
uses: actions/checkout@v4
with:
repository: obot-platform/charts
token: ${{ secrets.CHARTS_REPO_TOKEN }}
path: gh-pages

- name: Run helm-docs
uses: losisin/helm-docs-github-action@v1
with:
chart-search-root: './chart'
output-file: '../gh-pages/README.md'
template-files: '../gh-pages/README.md.gotmpl'

- name: Update Helm Repo Index
run: |
cd gh-pages
mkdir -p charts
mv ../.packaged/* charts/
helm repo index . --url https://charts.obot.ai/ --merge index.yaml
- name: Commit and Push Changes
run: |
cd gh-pages
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git add --all
git commit -m "Release new Helm chart version ${{ github.ref_name }}" || echo "No changes to commit"
git push
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,9 @@ kubeconfig
*.test
*.out

# Ignore packed helm chart
.packaged/

# Ignore dependency directories
vendor/

Expand Down
58 changes: 0 additions & 58 deletions chart/README.md

This file was deleted.

2 changes: 1 addition & 1 deletion chart/templates/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ spec:
{{- end }}
containers:
- name: {{ .Chart.Name }}
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
ports:
- name: http
Expand Down
22 changes: 20 additions & 2 deletions chart/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ replicaCount: 1
image:
# image.repository -- The name of the docker repository for Obot
repository: ghcr.io/obot-platform/obot-enterprise
# image.tag -- The docker tag to pull for obot
tag: latest
# image.tag -- The docker tag to pull for obot. If blank, will default to the chart appVersion
tag: ""
# image.pullPolicy -- Kubernetes image pullPolicy to use for Obot
pullPolicy: IfNotPresent

Expand Down Expand Up @@ -54,24 +54,42 @@ config:
# config.existingSecret -- The name of an existing secret to use for config instead of creating a new one
existingSecret: ""

# config.awsAccessKeyID -- An AWS access key with permissions for AWS KMS, used for encryption
awsAccessKeyID: ""
# config.awsRegion -- An AWS region, used to access AWS KMS
awsRegion: ""
# config.awsAccessKeyID -- An AWS secret access key with permissions for AWS KMS, used for encryption
awsSecretAccessKey: ""

# config.gcpKMSKeyURI -- The URI of a Google Cloud KMS key, used for encryption
gcpKMSKeyURI: ""

# config.nahThreadiness -- Advanced - sets the number of concurrent threads that can run in the Obot controller
nahThreadiness: "10000"
# config.knowledgeFileWorkers -- Advanced - sets the number of workers for knowledge
knowledgeFileWorkers: "5"

# config.githubAuthToken -- A github PAT, used to authenticate tool pulls to avoid github ratelimiting
githubAuthToken: ""
# config.obotServerEnableAuthentication -- Enables authentication for Obot
obotServerEnableAuthentication: true
# config.obotServerEncryptionProvider -- Configures an encryption provider for credentials in Obot
obotServerEncryptionProvider: "None" # "None", "AWS", "GCP"
# config.obotBootstrapToken -- Sets a bootstrap token. If authentication is enabled, one will be autogenerated for you if this is not set.
obotBootstrapToken: ""
# config.obotServerAuthAdminEmails -- A comma separated list of email addresses that will have the Admin role in Obot.
obotServerAuthAdminEmails: ""
# config.obotServerDSN -- The DSN for your database. For example: postgres://<username>:<password>@<hostname>/<db_name>
obotServerDSN: ""
# config.obotServerHostname -- The hostname of your Obot instance, including protocol
obotServerHostname: ""
# config.obotWorkspaceProviderType -- Configures the storage backend for workspaces in Obot. Can be 's3' or 'directory'
obotWorkspaceProviderType: "s3"
# config.openaiApiKey -- An OpenAI API Key used to configure access to OpenAI models, which are the default in Obot.
openaiApiKey: ""
# config.workspaceProviderS3BaseEndpoint -- If config.obotWorkspaceProviderType is 's3' and you are not using AWS S3, this needs to be set to the S3 api endpoint of your provider.
workspaceProviderS3BaseEndpoint: ""
# config.workspaceProviderS3Bucket -- The name of the S3 bucket to store workspaces in. Only used if config.obotWorkspaceProviderType is 's3'
workspaceProviderS3Bucket: ""

# extraEnv -- A map of additional environment variables to set
Expand Down
2 changes: 1 addition & 1 deletion docs/docs/05-installation/00-Installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ docker logs -f <container_id>

### Helm

If you would like to install Obot on a Kubernetes cluster, you can use the Helm chart. We are currently working on the Helm chart and have made it available for testing here: [obot-helm](https://github.com/obot-platform/obot/tree/main/chart)
If you would like to install Obot on a Kubernetes cluster, you can use the Helm chart. We are currently working on the Helm chart and have made it available for testing here: [obot-helm](https://charts.obot.ai/)

## Next Steps

Expand Down
4 changes: 3 additions & 1 deletion ui/admin/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,6 @@ coverage-ts/
# Ignore all files in .vscode except settings.json
!.vscode
.vscode/*
!.vscode/settings.json
!.vscode/settings.json

.packaged

0 comments on commit ebff364

Please sign in to comment.