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

Automate the certificate renewal process whenever a new deploy is run. #1725

Open
JamesXNelson opened this issue Dec 22, 2021 · 0 comments
Open
Assignees
Labels
demo Anything related to public-facing demo site

Comments

@JamesXNelson
Copy link
Member

JamesXNelson commented Dec 22, 2021

The branch https://github.com/JamesXNelson/deephaven-core/tree/jxn/demo_refactored has code to easily issue new lets encrypt certificates and update the kubernetes secret feeding the demo site.

We should teach the regular deploy process to check the expiry of the cert, and if it has a month or less left, we should renew it automatically.

This must be done by March 22, 2022, or at least, we will need to manually update the cert using the aforementioned branch by running:

# Mess below is "make sure you are working against the correct kubernetes cluster
CLUSTER_NAME="${CLUSTER_NAME:-dhce-auto}"
PROJECT_ID="${PROJECT_ID:-deephaven-oss}"
ZONE="${ZONE:-us-central1}"
K8S_CONTEXT="gke_${PROJECT_ID}_${ZONE}_${CLUSTER_NAME}"
mkdir -p "$HOME/.kube"
export KUBECONFIG="${KUBECONFIG:-$HOME/.kube/config}"
gcloud container clusters get-credentials "${CLUSTER_NAME}" \
    --zone "${ZONE}" \
    --project "${PROJECT_ID}" \
    --verbosity debug
kubectl config use-context "${K8S_CONTEXT}"

# Push our docker images. Pushes more than we technically need, but it makes this code much simpler
./gradlew :demo:pushAll

# Rerun the kubernetes Job to update the cert
cd demo/certs
kubectl delete -f ./cert-wildcard-job.yaml
kubectl apply -f ./cert-wildcard-job.yaml

# Wait for logs, and read them to make sure everything went well
while ! kubectl logs -f $(k get po | grep cert-wildcard-job | awk '{print $1}'); do sleep 1 ; done

# Redeploy demo site
./gradlew deployDemo

# Check that the new demo controller is functioning by visiting it's url, then promote it to the "leader" DNS record for demo.deephaven.app 

Once this is automated (get the secret, check expiry, run above code in a gradle task a few weeks before expiration), then we'll get free renewal on certs during regular deployments.

@JamesXNelson JamesXNelson added the demo Anything related to public-facing demo site label Dec 22, 2021
@JamesXNelson JamesXNelson self-assigned this Dec 22, 2021
mofojed pushed a commit that referenced this issue Jan 17, 2024
# [0.59.0](deephaven/web-client-ui@v0.58.0...v0.59.0) (2024-01-17)


### Bug Fixes

* GoToRow timestamp fails when selected row is out of view ([#1717](deephaven/web-client-ui#1717)) ([9ddc973](deephaven/web-client-ui@9ddc973)), closes [#1561](deephaven/web-client-ui#1561)
* Interface for IrisGridTableModelTemplate.backgroundColorForCell ([#1699](deephaven/web-client-ui#1699)) ([73e1837](deephaven/web-client-ui@73e1837)), closes [#1697](deephaven/web-client-ui#1697)
* Moved logos so they show in production build ([#1713](deephaven/web-client-ui#1713)) ([a3bea73](deephaven/web-client-ui@a3bea73)), closes [#1712](deephaven/web-client-ui#1712)
* re-colorize command codeblocks when theme changes ([#1731](deephaven/web-client-ui#1731)) ([b1e42f5](deephaven/web-client-ui@b1e42f5))
* TimeInput not triggering onChange on incomplete values ([#1711](deephaven/web-client-ui#1711)) ([6894d96](deephaven/web-client-ui@6894d96)), closes [#1710](deephaven/web-client-ui#1710)


### Features

* Action button tooltips ([#1706](deephaven/web-client-ui#1706)) ([bff6bf9](deephaven/web-client-ui@bff6bf9)), closes [#1705](deephaven/web-client-ui#1705)
* Add support for useDeferredApi ([#1725](deephaven/web-client-ui#1725)) ([51ebe1b](deephaven/web-client-ui@51ebe1b))
* Improved preload variable handling ([#1723](deephaven/web-client-ui#1723)) ([ed41c42](deephaven/web-client-ui@ed41c42)), closes [#1695](deephaven/web-client-ui#1695) [#1679](deephaven/web-client-ui#1679)
* NavTabList component ([#1698](deephaven/web-client-ui#1698)) ([96641fb](deephaven/web-client-ui@96641fb))
* Reject promise immediately if var not found ([#1718](deephaven/web-client-ui#1718)) ([43d40bd](deephaven/web-client-ui@43d40bd)), closes [#1701](deephaven/web-client-ui#1701)
* theming tweaks ([#1727](deephaven/web-client-ui#1727)) ([f919a7e](deephaven/web-client-ui@f919a7e))


### BREAKING CHANGES

* - Subclasses of IrisGridTableModelTemplate or it's subclasses that use
backgroundColorForCell may need to update their signature to accept the
theme if they are calling the superclass


Co-authored-by: deephaven-internal <deephaven-internal@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
demo Anything related to public-facing demo site
Projects
None yet
Development

No branches or pull requests

1 participant