Skip to content

Commit 861aa48

Browse files
committed
Migrate Docker image hosting to GitHub Container Registry
- Updated GitHub Actions workflow to use ghcr.io/openbudget/budgetkey-mcp - Removed dependency on Docker Hub secrets (DOCKER_USERNAME, DOCKER_PASSWORD) - Using GITHUB_TOKEN for authentication with GitHub Container Registry - Updated ci.sh script to use new image path - Updated README with new Docker image location and GHCR link - Added permissions block to workflow for packages:write - Simplified deployment using docker/login-action - Image now hosted under OpenBudget organization on GitHub Packages
1 parent d4553d2 commit 861aa48

3 files changed

Lines changed: 44 additions & 16 deletions

File tree

.github/workflows/deploy.yml

Lines changed: 36 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,28 +9,51 @@ jobs:
99
build:
1010

1111
runs-on: ubuntu-latest
12+
permissions:
13+
contents: read
14+
packages: write
1215

1316
steps:
1417
- uses: actions/checkout@v3
18+
1519
- name: Set up Python 3.11
1620
uses: actions/setup-python@v3
1721
with:
1822
python-version: "3.11"
19-
- name: Build
23+
24+
- name: Log in to GitHub Container Registry
25+
uses: docker/login-action@v2
26+
with:
27+
registry: ghcr.io
28+
username: ${{ github.actor }}
29+
password: ${{ secrets.GITHUB_TOKEN }}
30+
31+
- name: Build Docker image
2032
env:
21-
TRAVIS_CI_OPERATOR: "1"
22-
DOCKER_USER: ${{ secrets.DOCKER_USERNAME }}
23-
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
24-
GITHUB_TOKEN: ${{ secrets.K8S_GITHUB_TOKEN }}
33+
DOCKER_IMAGE: ghcr.io/openbudget/budgetkey-mcp
34+
GITHUB_SHA: ${{ github.sha }}
2535
run: |
26-
./ci.sh install
27-
./ci.sh script
28-
- name: Deploy
36+
docker build -t ${DOCKER_IMAGE}:latest -t ${DOCKER_IMAGE}:${GITHUB_SHA} .
37+
38+
- name: Push Docker image
39+
env:
40+
DOCKER_IMAGE: ghcr.io/openbudget/budgetkey-mcp
41+
GITHUB_SHA: ${{ github.sha }}
42+
run: |
43+
docker push ${DOCKER_IMAGE}:latest
44+
docker push ${DOCKER_IMAGE}:${GITHUB_SHA}
45+
46+
- name: Update Kubernetes deployment
2947
env:
30-
TRAVIS_CI_OPERATOR: "1"
31-
DOCKER_USER: ${{ secrets.DOCKER_USERNAME }}
32-
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
3348
GITHUB_TOKEN: ${{ secrets.K8S_GITHUB_TOKEN }}
49+
GITHUB_SHA: ${{ github.sha }}
50+
DOCKER_IMAGE: ghcr.io/openbudget/budgetkey-mcp
3451
run: |
35-
./ci.sh deploy
36-
./ci.sh bump
52+
docker run -e CLONE_PARAMS="--branch master https://github.com/OpenBudget/budgetkey-k8s.git" \
53+
-e YAML_UPDATE_JSON='{"mcp":{"image":"'"${DOCKER_IMAGE}:${GITHUB_SHA}"'"}}' \
54+
-e YAML_UPDATE_FILE="values.auto-updated.yaml" \
55+
-e GIT_USER_EMAIL="budgetkey-deployer@null.void" \
56+
-e GIT_USER_NAME="budgetkey-deployer" \
57+
-e GIT_COMMIT_MESSAGE="automatic update of budgetkey-mcp" \
58+
-e PUSH_PARAMS="https://${GITHUB_TOKEN}@github.com/OpenBudget/budgetkey-k8s.git master" \
59+
orihoch/github_yaml_updater

README.md

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,11 +81,13 @@ Restart Claude Desktop and you're ready to query Israeli budget data!
8181
### Using Docker
8282

8383
```bash
84-
docker run -p 8000:8000 budgetkey/budgetkey-mcp:latest
84+
docker run -p 8000:8000 ghcr.io/openbudget/budgetkey-mcp:latest
8585
```
8686

8787
The server will be available at `http://localhost:8000/mcp`
8888

89+
**Note**: The Docker image is hosted on GitHub Container Registry under the OpenBudget organization.
90+
8991
### From Source
9092

9193
```bash
@@ -152,9 +154,11 @@ budgetkey-mcp/
152154
### Building
153155

154156
```bash
155-
docker build -t budgetkey-mcp .
157+
docker build -t ghcr.io/openbudget/budgetkey-mcp:latest .
156158
```
157159

160+
**CI/CD**: The GitHub Actions workflow automatically builds and publishes Docker images to GitHub Container Registry on every push to `main`.
161+
158162
### Testing
159163

160164
```bash
@@ -179,6 +183,7 @@ This project follows the same license as the BudgetKey project.
179183
## Links
180184

181185
- [Integration Guide](./INTEGRATION-GUIDE.md) - Detailed setup for Claude Desktop, VS Code, Cursor, and Python
186+
- [Docker Image](https://github.com/OpenBudget/budgetkey-mcp/pkgs/container/budgetkey-mcp) - GitHub Container Registry
182187
- [BudgetKey Website](https://next.obudget.org)
183188
- [BudgetKey API Documentation](https://next.obudget.org/api/docs)
184189
- [MCP Protocol](https://modelcontextprotocol.io/)

ci.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ DEPLOY_GIT_USER=budgetkey-deployer
88

99
DEPLOY_COMMIT_MESSAGE="automatic update of budgetkey-mcp"
1010
DEPLOY_VALUES_CHART_NAME=mcp
11-
DOCKER_IMAGE=budgetkey/budgetkey-mcp
11+
DOCKER_IMAGE=ghcr.io/openbudget/budgetkey-mcp
1212

1313

1414
if [ "${1}" == "install" ]; then

0 commit comments

Comments
 (0)