Skip to content

Add native-Go OHE support to Connect chart and update RBAC#786

Draft
dbkegley wants to merge 1 commit intomainfrom
kegs-ohe-native-go
Draft

Add native-Go OHE support to Connect chart and update RBAC#786
dbkegley wants to merge 1 commit intomainfrom
kegs-ohe-native-go

Conversation

@dbkegley
Copy link
Contributor

This PR adds experimental support for the new native-Go implementation of OHE. This implementation offers a simplified configuration of Kubernetes Jobs using simple a "overlay base" (similar to a Kustomize overlay base) to define the Job and Service as yaml. This offers an extensible approach for job customization w/o the maintenance burden of go templates.

  • Add kubernetes.enabled and related values to rstudio-connect for native-Go off-host execution (OHE) support
  • Update templates and config to support new OHE mode, overlays, and init container
  • Add validation to prevent both launcher.enabled and kubernetes.enabled
  • Update RBAC in rstudio-library to grant endpointslice list/watch permissions
  • Bump rstudio-connect to 0.8.27 and rstudio-library to 0.1.37
  • Update NEWS.md and README.md.gotmpl for both charts

@edavidaja
Copy link
Contributor

Hardly the most important thing but I think this rates a minor version bump.

- Add `kubernetes.enabled` and related values to rstudio-connect for
  native-Go
  off-host execution (OHE) support
- Update templates and config to support new OHE mode, overlays, and
  init
  container
- Add validation to prevent both `launcher.enabled` and
  `kubernetes.enabled`
- Update RBAC in rstudio-library to grant endpointslice list/watch
  permissions
- Bump rstudio-connect to 0.8.27 and rstudio-library to 0.1.37
- Update NEWS.md and README.md.gotmpl for both charts

## 0.8.27

- Adds support for a native-Go implementation of Off-Host Execution (OHE) mode. Set `kubernetes.enabled = true` to switch to the new implementation. See the [migration guide](<todo: insert migration guide docs link>) in the Connect admin documentation for guidance on migrating existing configurations.
Copy link
Member

Choose a reason for hiding this comment

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

Will the migration guide be in place before this PR is merged?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes, I'm planning to merge this PR shortly after the March release when we can officially announce the feature.

# -- defaultJobOverlay contains the Kubernetes Job definition which is used as an overlay "base" when launching a content job
# in Kubernetes. Conceptually this is a similar to a Kustomize base. Connect then applies any required job configuration
# on-top of the overlay base to produce a final job definition before submitting the Job to Kubernetes.
# https://docs.posit.co/connect/__unreleased__/admin/appendix/off-host/direct-runner/kubernetes-job-overlays.html
Copy link
Member

Choose a reason for hiding this comment

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

This link will need to be updated prior to merging.

# ([reference](https://docs.posit.co/chronicle/appendix/library/advanced-agent.html#environment))
agentEnvironment: ""

kubernetes:
Copy link
Member

Choose a reason for hiding this comment

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

Is everyone happy with a value namespace of "kubernetes"?

# -- defaultServiceOverlay contains the Kubernetes Service definition which is used as an overlay "base" when creating a content job's
# Service in Kubernetes. Conceptually this is a similar to a Kustomize base. Connect then applies any required Service configuration
# on-top of the overlay base to produce a final Service definition.
# https://docs.posit.co/connect/__unreleased__/admin/appendix/off-host/direct-runner/kubernetes-job-overlays.html
Copy link
Member

Choose a reason for hiding this comment

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

Update prior to merge

@jspiewak
Copy link
Member

Hardly the most important thing but I think this rates a minor version bump.

Strongly agree

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants