Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

release helm chart #1749

Merged
merged 3 commits into from
Feb 14, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, boy. I need this!

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