Add support for custom Persistent Volumes to enable GCS storage#381
Add support for custom Persistent Volumes to enable GCS storage#381seanson wants to merge 1 commit intoOctopusDeploy:mainfrom
Conversation
|
55c3eb0 to
053a054
Compare
|
Hi @seanson! Thanks for the PR. Just letting you know our team is mostly unavailable this week so this might not get a review until next week. |
053a054 to
ae2c8d1
Compare
Awesome @APErebus! Let me know if I can do anything else to help with this. It is also related to OctopusDeploy/OctopusTentacle#1071 as this enables the behaviour for the tentacle but additional functionality would be required to make this work for the script pods. |
|
Hi @seanson, We had a chat internally and feel like this isn't the direction we want to take the Agent (and this helm chart). Our design preference would be that customers configure their PV's outside of the helm chart and then reference the PV via the Is there a specific reason why you need the agent helm chart to manage the PV? If we added support for binding the PVC directly to a named PV, would that work for you? |
|
I would generally prefer managing as many resources as possible through the Helm chart of whatever I'm deploying as it keeps things simplified. Would the team be amenable to another common Helm chart pattern of providing an extra objects definition in combination with your suggestion to allow binding directly to a named PV? The extra objects pattern is fairly common and would help solve issues for other folks who may need some specific CRDs in their environment. An example of this is in the Unleash chart: With an example usage in this chart looking like: persistence:
pvName: octopus-deploy-tentacle-pv
extraObjects:
- apiVersion: v1
kind: PersistentVolume
metadata:
name: octopus-deploy-tentacle-pv
spec:
accessModes:
- ReadWriteMany
capacity:
storage: 10Gi # other yaml config, etc. |
@seanson Hey, sorry I missed your response. I'll chat to the team again :) |
|
@seanson I had a chat to @liam-mackie on our team and we are comfortable with the We are happy to accept a PR for this change. We will need to do some extra documentation to make it clear that the automatic upgrades of the Agent by Octopus Server may cause unexpected side-affects (such as PV's being reprovisioned etc) |
|
Closing this request and will re-open with a new PR in the next while. |
In some environments, such as our Google Kubernetes Engine with Autopilot, there is no support for privileged containers to run the NFS provisioner or standard ReadWriteMany storage classes are too heavy. This PR adds the ability to declare a custom Persistent Volume configuration, which enables things like Google Cloud Storage via their FUSE CSI provider. This additional feature does not impact existing installations and I have included additional Helm unittest cases for it. I have tested this locally in our GKE cluster and it is working.