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

Package as docker image #1072

Open
blevz opened this issue Feb 5, 2025 · 4 comments
Open

Package as docker image #1072

blevz opened this issue Feb 5, 2025 · 4 comments
Labels
enhancement New feature or request

Comments

@blevz
Copy link

blevz commented Feb 5, 2025

Would it be possible to add a docker image as a distribution mechanism for goose? I'd like to run it in a kubernetes cluster

@salman1993 salman1993 added the enhancement New feature or request label Feb 5, 2025
@salman1993
Copy link
Collaborator

we don't have plans of supporting an official docker image yet. you can probably ask Goose to make one for you :)

@blevz
Copy link
Author

blevz commented Feb 5, 2025

Given this section of the security docs it seems like providing a docker image should be a priority

Use a dedicated virtual machine or container (Docker/Kubernetes) with limited privileged capabilities. This will minimize the risk of local system attacks or unintended access to critical system resources.

jasonkneen added a commit to jasonkneen/maverick that referenced this issue Feb 6, 2025
Fixes block#1072

Add Docker image support for Goose.

* **Dockerfile**: Add a `Dockerfile` to build the Goose Docker image using a multi-stage build to minimize the final image size. Install necessary dependencies, build the Goose binary, and set the entrypoint to the Goose binary.
* **GitHub Actions Workflow**: Modify `.github/workflows/build-cli.yml` to add a new job for building and publishing the Docker image. Use the `docker/build-push-action` to build and push the image, set the image name and tags based on the GitHub repository and branch, and add steps to log in to Docker Hub and push the image.
* **README.md**: Update `README.md` with instructions on how to pull and run the Docker image, including the Docker Hub repository URL and example commands to run the Goose Docker container.

---

For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/block/goose/issues/1072?shareId=XXXX-XXXX-XXXX-XXXX).
jasonkneen added a commit to jasonkneen/maverick that referenced this issue Feb 6, 2025
Fixes block#1072

Add a Docker image for goose and update workflows and documentation.

* **Dockerfile**: Add a `Dockerfile` in the root directory to build the goose docker image using a multi-stage build.
* **GitHub Actions**: 
  - Update `.github/workflows/build-cli.yml` to include a job for building and publishing the goose docker image.
  - Update `.github/workflows/release.yml` to include a step for building and publishing the docker image during the release process.
* **Documentation**: Update `documentation/docs/getting-started/installation.md` to include instructions for using the goose docker image, including commands to pull and run the image from Docker Hub.

---

For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/block/goose/issues/1072?shareId=XXXX-XXXX-XXXX-XXXX).
jasonkneen added a commit to jasonkneen/maverick that referenced this issue Feb 6, 2025
Fixes block#1072

Add Docker support for Goose.

* **Dockerfile**
  - Create a `Dockerfile` to build the Goose Docker image using a multi-stage build.
  - Set the entrypoint to the Goose binary.

* **GitHub Actions Workflow**
  - Add `.github/workflows/build-docker-image.yml` to build and publish the Docker image.
  - Trigger the workflow on push to the main branch and on release tags.
  - Use Docker build and push action to build and publish the image.
  - Set up Docker Hub credentials as secrets in the repository.

* **README.md**
  - Add instructions on how to build and run the Goose Docker image.
  - Include a section on using the Docker image for Goose.

---

For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/block/goose/issues/1072?shareId=XXXX-XXXX-XXXX-XXXX).
@baxen
Copy link
Collaborator

baxen commented Feb 7, 2025

Definitely +1 to having a docker approach clearly setup/documented. I think the issue is a standalone goose docker would only have goose itself, but nothing for it to work on :). So i'd suggest we add a doc for how to get it added to and use it in a container that already exists

@mayphilc
Copy link

mayphilc commented Feb 7, 2025

+1 i want to add this to my stack

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
4 participants