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

Is this still unfeasible? #1

Open
ademariag opened this issue Dec 12, 2022 · 11 comments
Open

Is this still unfeasible? #1

ademariag opened this issue Dec 12, 2022 · 11 comments

Comments

@ademariag
Copy link

See my comment on runatlantis/atlantis#879 (comment)

Is this still the case?

@gaahrdner
Copy link
Owner

I'm actually not quite sure, let me check this week and I'll get back to you. 🤔

@bschaatsbergen
Copy link

bschaatsbergen commented Dec 25, 2022

@gaahrdner, I managed to get pretty far actually.

I've deployed Atlantis on a Cloud Run Gen2 execution environment along with a GCS bucket mounted to it using gcsfuse.

The files that atlantis writes are stored in the GCS bucket properly but I run into an annoying issue when atlantis plan wants to checkout the git repository..

running git clone --branch f/gcsfuse-cloudrun --depth=1 --single-branch https://xxxxxxxx:<redacted>@github.com/xxxxxxxx/xxxxxxxx.git /app/atlantis/repos/xxxxxxxx/xxxxxxxx/29/default: Cloning into '/app/atlantis/repos/xxxxxxxx/xxxxxxxx/29/default'...
error: chmod on /app/atlantis/repos/xxxxxxxx/xxxxxxxx/29/default/.git/config.lock failed: Operation not permitted
fatal: could not set 'core.filemode' to 'false'
: exit status 128

Maybe we can team up, I believe that I'm very close to making it work.
Feel free to reach out to me on the Atlantis Slack (atlantis-community.slack.com).

@gaahrdner
Copy link
Owner

@bschaatsbergen this looks great, I'm at family for holiday but I'll drop in later this week and see if we can't figure this out! Thanks!

@bschaatsbergen
Copy link

@gaahrdner enjoy! Talk to you later

@gaahrdner
Copy link
Owner

Apologies for the super long delay. I think I've caught up a bit on the progress you've made, it sounds like there are some limitations with the gcsfuse driver, is that right? https://stackoverflow.com/questions/74913423/error-chmod-on-config-lock-failed-operation-not-permitted

@bschaatsbergen
Copy link

Did you have a nice holiday @gaahrdner ? That's all good. I plan on swapping gcsfuse for rclone..

@IchordeDionysos
Copy link

IchordeDionysos commented May 15, 2023

Okay, there are two new features in Cloud Run!

It both supports:

  1. In-memory volumes: https://cloud.google.com/run/docs/configuring/in-memory-volumes
  2. Sidecar deployments: https://cloud.google.com/run/docs/deploying#sidecars

With these two features, it seems like finally it's possible to have Atlantis run in Cloud Run 🎉

@bschaatsbergen
Copy link

bschaatsbergen commented May 15, 2023

We have actually achieved this before, @IchordeDionysos. However, we cannot regard it as persistent storage since the memory file system will be erased if Cloud Run disposes the container, which can happen unexpectedly. The only alternative that remains untested is to utilize rclone with Cloud Run and Cloud Storage.

Although we did try the in-memory file system approach, it proved to be problematic when dealing with numerous open PRs and container restarts for various reasons, resulting in a cluttered and disorganized system.

@artusiep
Copy link

@bschaatsbergen did you try to use Filestore as it is described https://cloud.google.com/run/docs/tutorials/network-filesystems-filestore ?

@bschaatsbergen
Copy link

@artusiep yep, this works - but you would need a SSD filesystem.. which is a good 800 dollars a month. Which I don't consider to be a solid solution.

Repository owner deleted a comment from jk8898 Feb 23, 2024
@m0ps
Copy link

m0ps commented Nov 1, 2024

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

No branches or pull requests

10 participants
@gaahrdner @m0ps @IchordeDionysos @artusiep @ademariag @bschaatsbergen and others