superfly / docs Goto Github PK
View Code? Open in Web Editor NEWLicense: Apache License 2.0
License: Apache License 2.0
Homebrew: brew uninstall (no deps?) (if any, do brew autoremove too?)
If installed with curl, it's just a matter of removing the .fly dir (and removing any env vars and paths added manually to .bashrc or .zshrc)?
Powershell the same?
We have nothing built-in for running periodic jobs. People ask a lot because other platforms offer it. But we can still guide people.
We have a simple example on how to run cron jobs. But it's not that useful on its own. It would be useful for those willing to add it to Dockerfile.
We should hat-tip to other good job tools like:
These tools could be documented more extensively on runtime-specific doc pages.
It mixes deploying with buildpacks and docker.
Flyctl launch will create a docker file in CWD which
[build]
builder = "paketobuildpacks/builder"
buildpacks = ["gcr.io/paketo-buildpacks/python"]
https://fly.io/docs/reference/metrics/#manually
As documented yields:
{
"status": "error",
"errorType": "422",
"error": "missing `query` arg"
}
But prefixing the PromQL with query=
appears to fix it:
query=sum(rate(fly_edge_http_responses_count{app="$APP"}[5m])) by (status)
This guide is useful for questions about UDP. We should expose it on the sidebar. And, if possible, make the term fly-global-services
searchable.
https://fly.io/docs/reference/private-networking/#testing-the-tunnel says:
If you have the
dig
tool installed, a TXT query to_apps.internal
will show all the application names available in the organization you are connected to.
I had to look up how to do this. This worked for me:
/tmp % dig txt _apps.internal
;; Warning: Message parser reports malformed message packet.
; <<>> DiG 9.10.6 <<>> txt _apps.internal
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46086
;; flags: qr rd ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available
;; WARNING: Message has 11 extra bytes at end
;; QUESTION SECTION:
;_apps.internal. IN TXT
;; Query time: 31 msec
;; SERVER: fdaa:0:6787::3#53(fdaa:0:6787::3)
;; WHEN: Sat May 21 12:21:13 PDT 2022
;; MSG SIZE rcvd: 55
Not sure why "Warning: Message parser reports malformed message packet." shows there.
Looks like there is a bug in the caching of search results or the redirect setup. See attached screen recording. One of the search results for 'latency' leads to a 404.
(Apologies if this is the wrong GitHub repo to report this issue.)
I would offer to write that, I would just like Fly's blessing before wasting time on submitting the PR.
As a basis, this blog post could be used: https://fly.io/blog/continuous-deployment-with-gitlab/
Although I would probably use https://hub.docker.com/r/flyio/flyctl instead of manually installing it on each job run.
In addition: Merge-Request preview deployments.
I would have just made a PR but not sure where the actual files for this reside, I just see a reference somewhere else <%= github_render("fly-examples/appkata-minio/main/README.md") %>
, did a search in the fly org and got nothing ๐คท๐ปโโ๏ธ
Anyway, the link to Private Networking in the MinIO guide is incorrect, should be /private-networking not /privatenetworking ๐๐ป
Additionally it seems not possible to host MinIO on a shared instance, it crashes as soon as you login with out of memory errors; might be an idea to highlight this or find an alternative that is less memory intensive.
We have vm-sizes that are specific to Machines that need to be documented.
shared-cpu-1x - 256MB
shared-cpu-2x - 4GB
shared-cpu-4x - 8GB
shared-cpu-8x - 16GB
https://fly.io/docs/reference/scaling/#viewing-available-vm-sizes
on https://fly.io/docs/hands-on/launch-app/ the Edit
link takes me to https://github.com/superfly/docs/edit/main/hands-on/launch-app.html.md.erb which contains none of the text I was reading.
per logbook 2022-05-05, the default volume size is now 3GB
[Feature] Changed the default size for new persistent volumes from 10GB to 3GB. This makes it less likely that new users will accidentally provision (and be charged for) more storage than they need for small projects.
Specifically, where to run the psql
command, as it likely needs to be run within an application context, and what state the database should be in.
There's also issues with trying to restore Heroku's GRANT
s that might be overcome with:
pg_dump --no-owner --no-privileges -C -d $HEROKU_DATABASE_URL | psql -d $DATABASE_URL
Also notable, the $HEROKU_DATABASE_URL
ends with a database name, so the inbound database will be named something weird that doesn't map to the $DATABASE_URL
Here's an example: https://github.com/fly-apps/grpc-service/
The key line in fly.toml is:
[services.ports.tls_options]
alpn = ["h2"]
I've been following the Machines tutorial. It suggested running an image using flyio/fastify-functions
- I'm not entirely sure what that is, but https://hub.docker.com/r/flyio/fastify-functions says:
Example Fastify server with auto-shutdown on idle
At any rate, I found its behaviour confusing. I had more success following that tutorial by switching that out for https://hub.docker.com/r/nginxdemos/hello/
curl -i -X POST \
-H "Authorization: Bearer ${FLY_API_TOKEN}" \
-H "Content-Type: application/json" \
"http://${FLY_API_HOSTNAME}/v1/apps/fly-machines-demo/machines" \
-d '{
"name": "my-first-nginx",
"config": {
"image": "nginxdemos/hello",
"services": [
{
"ports": [
{
"port": 80,
"handlers": [
"http"
]
}
],
"protocol": "tcp",
"internal_port": 80
}
]
}
}'
Running that in place of flyio/fastify-functions
gave me a page on the IPv4 address I had allocated which showed me the NGINX debug page and demonstrated that everything was working correctly.
I could not find information about how can we terminate current hosting in Fly.io. I think its good to mention in the official documentation.
Hi Fly.io community:
I'm the OSS Community Manager for Paketo Buildpacks, and we found some references to our project in your docs (like here)
That is great and we wanted to confirm if it's okay that we add you (or you add yourselves) to the Paketo adopter's list sharing your use case with this community
In any case, we work to keep improving the project and any feedback in that regard is most than welcome
Thanks!
This includes:
Also, these docs should specify how to run the shipper directly from a the Docker image, without having to setup a fly.toml
or clone the repo.
The documentation on mysql is very awesome but it's not comprehensive enough for a beginner like me who will like to connect to the work bench on my local system. The host name url, port e,t,c
The docs say that running "flyctl scale vm show" should show the VM Size, but this doesn't work. Probably outdated?
flyctl scale vm show -c fly/production.toml
Error invalid vm size name "show"
flyctl scale vm show -a <APP_NAME>
Error Could not resolve App
The section on opening a remote shell into Elixir seems to be outdated, because the commands mentioned for the Fly CLI do not exist:
fly ssh establish
Use SSH to login to or run commands on VMs
Usage:
flyctl ssh [command]
Available Commands:
console Connect to a running instance of the current app.
issue Issue a new SSH credential
log Log of all issued SSH certs
Flags:
-h, --help help for ssh
Global Flags:
-t, --access-token string Fly API Access Token
-j, --json json output
--verbose verbose output
Use "flyctl ssh [command] --help" for more information about a command.
Hello on my quest to migrate my app from Heroku, I found fly.io. But once I looked into it, its not what I need. I installed from the powershell script, how do I uninstall flyctl from my system?
Maybe add uninstall instructions to docs.
I want to run a Node (expressjs) app that's written in typescript. Nextjs is supported but Expressjs + Typescript is not. Please add docs for this.
People want to debug and poke at their apps in different ways. Bringing it all together in a single document can help us with support.
Stuff to include:
fly wg
+ fly ips private
: for getting access to multiple VMs, for scripting to download files from all VMs or run commands across all VMsThings we can do:
fly
instead of flyctl
it'll fit better; perhaps that will mitigate the reason they were removed?The Sidekiq guide expects an environment variable named REDIS_URL
. I followed the Redis setup guide, but it defined FLY_REDIS_CACHE_URL
not REDIS_URL
.
See superfly/flyctl#754 and superfly/flyctl#767 for details.
The option is available via the UI and the cli through fly scale memory
but the price isn't indicated here
With tools like Even better toml (VScode extension) you can add auto completions and validation to toml files by using adding a json schema to a file type
Having a json schema file link in the docs would be super helpful
Then you could add the following config to VScode to have autocompletions in fly.toml
{
"evenBetterToml.schema.associations": {
".*fly\\.toml": "https://fly.io/fly_toml.schema.json"
}
}
When following the Getting Started guide for Rails I get asked the following the running fly launch
:
? Would you like to set up an Upstash Redis database now?
But this step is not recorded in the documentation (adding Redis comes in the documentation after Scaffolding as a separate step).
Some people have asked about our supported cipher suites. Here they are: https://community.fly.io/t/supported-tls-cipher-suites/3947
We already have this fun doc: https://fly.io/docs/app-guides/multiple-processes. It throws out a number of options for running multiple process inside a VM.
We also have a feature for running multiple processes as separate VMs in a single app, aka process groups or multi-process apps.
We can augment this section to include something about multiple processes. https://fly.io/docs/app-guides/multiple-processes/#maybe-you-want-multiple-apps-though
Hi,
I completed the Starter Rails App, and then wanted to convert to an SQLite3 database.
In the SQLite3 guide (in "Rails on Fly"), the last step updates the file lib/tasks/fly.rake
by moving the dependency on the db:migrate
task from the release
to server
. In the line for the server (task :server => 'db:migrate' do
) it removes the reference to the :swapfile
that was there from the Starter Rails App.
It's unclear - what does the :swapfile
do, and is it correct to remove reference to the :swapfile
in the server
task?
Clarification would be helpful.
Update Documentation
Link: continous-deployment-docs
Details
Step 7
should be updated to flyctl launch
command instead of flyctl apps create
as it no longer creates a fly.toml
file which is stated here Link
Basically, I often have a .sql or .dump file (binary backup from pg_dump) that I need to load to bootstrap an application. I am having trouble figuring out how to do this. I have first followed the instructions to create a new Rails app, and am now reviewing the postgres documentation since the Rails app tutorial didn't cover this.
I'm sure there is a workaround, like I can run a command in my app container to dump the secrets so I can connect, but I would just like a sequence of steps I can follow to load the data and be done.
I see a vin
region within my backup regions, but within the documentation vin
is nowhere to be mentioned.
Seems to be another region in virginia, but would love to see all available regions up to date in the docs as well.
This link on page https://fly.io/docs/rails/the-basics/sidekiq/#run-multiple-processes 404s.
Even we get confused about this. It should be clear how to set both of these for Dockerfile and buildpack deployments.
Also it should be clear that secrets are not available at build time. For example, a remote builder technically can reach a database, but the DATABASE_URL is not available to the builder without passing it in as a build argument.
We need a solid docs page for the upcoming launch of Machines.
Reference docs:
https://flyio.slab.com/posts/how-to-build-user-functions-with-fly-machines-1069s2nf
https://flyio.slab.com/posts/fly-machines-li5891n6
https://flyio.slab.com/topics/docs-7dw6muiw
Wireguard is a complex subject, and we have a lot of new tooling around it. Now wireguard setup is here: https://fly.io/docs/reference/private-networking/#managing-wireguard-on-fly.
We should give it its own section and add commands like fly ping
.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.