-
Notifications
You must be signed in to change notification settings - Fork 47
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
Improve devops #576
Comments
Using terraform: https://vincent.bernat.ch/en/blog/2022-cdktf-nixos and nixos for deployment, I had the same learnings with Pulumi: pulumi thin abstraction layer on top of terraform with diminishing returns once you start using additional plugins - like Cloudflare, or other DNS and tunnels. Pulumi doesn't require Kubernetes and happily will work locally - with filestore or s3 as a secret store, but the same applies to terraform. For secrets management: https://developer.1password.com/docs/ci-cd , I haven't found anything better so far - you can use Hashicorp Vault as a backend for 1password. Another solution for enterprises with relevant security requirements is looking at Fortanix. I know about doppler (doppler.com), but see no benefit over 1password connect server. Kubernetes- YAGNI (You are not going to need it), I will build a firecracker VM for you as a test for my private cloud, and then we can spin and move the VM around as needed for each user. Network: Use zerotier to connect nodes in production or staging (https://www.zerotier.com/), see example for multi-cloud deployment https://docs.zerotier.com/terraform/multicloud-quickstart, zero tier allows you to create a mesh between different networks and different nodes, flattening network route between two peer nodes when they are communicating. An example would be ping from my RP4 to my laptop will have 125 ms the first time (when packet will go via network node and confirm auth) and <2 ms consequently. Wireguard allows you to create point-to-point connections only, there is no "mesh" even if it's called mesh - it's hub and spokes with shared keys, routing always goes via hub, unless you explicitly crate a peer route. Kubernetes/Contrainerd networks are a much sadder story. |
Example earhtly file to compile rust binary with cache (can be improved with sccache and docker registry proxy)
|
Front end node (svelte) dependency for above Eathrfile (can be run separately for debug)
|
Fix clippy Less flaky test #576 Fix earthly WIP earthfile run earthly github CI earthly main-pipeline Fix test add artefacts CI tauri Upload artifacts tauri deps deps typo Fix test Fix test in build fix test Use explicit satellite Fix use org Disable test Update contribute Fix earthly try fix ci fix CI earthly Fix clippy Lint fix less lint fails
Fix clippy Less flaky test #576 Fix earthly WIP earthfile run earthly github CI earthly main-pipeline Fix test add artefacts CI tauri Upload artifacts tauri deps deps typo Fix test Fix test in build fix test Use explicit satellite Fix use org Disable test Update contribute Fix earthly try fix ci fix CI earthly Fix clippy Lint fix less lint fails
Fix clippy Less flaky test #576 Fix earthly WIP earthfile run earthly github CI earthly main-pipeline Fix test add artefacts CI tauri Upload artifacts tauri deps deps typo Fix test Fix test in build fix test Use explicit satellite Fix use org Disable test Update contribute Fix earthly try fix ci fix CI earthly Fix clippy Lint fix less lint fails
Current situation
What I like about this approach
What went wrong
AtomicData.dev was just down for longer than I'd like to admit. Let's evaluate what went wrong, and how to tackle the problems.
staging
machine / environment. I should have this. It should resemble production as much as possible (although it could be more resource constrained).Things that can be improved
What tech to use for deployments
How do I approach these different goals? What tools could help me?
The text was updated successfully, but these errors were encountered: