You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
path: docs # The root location of your Astro project inside the repository. (optional)
36
+
node-version: 24# The specific version of Node that should be used to build your site. Defaults to 22. (optional)
37
+
# package-manager: pnpm@latest # The Node package manager that should be used to install dependencies and build your site. Automatically detected based on your lockfile. (optional)
38
+
# build-cmd: pnpm run build # The command to run to build your site. Runs the package build script/task by default. (optional)
Copy file name to clipboardExpand all lines: docs/src/content/docs/guides/deploying-a-database.md
+16-12Lines changed: 16 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,7 +12,7 @@ We will learn:
12
12
13
13
## 1. Create an App
14
14
15
-
Navigate to the [Create App form](https://anvilops.rcac.purdue.edu/create-app).
15
+
Navigate to the Create App form for [Anvil Composable](https://anvilops.rcac.purdue.edu/create-app) or [Geddes](https://anvilops.geddes.rcac.purdue.edu/create-app).
16
16
17
17
Select an organization and a Rancher project.
18
18
@@ -25,9 +25,7 @@ This tells AnvilOps to pull a Postgres image from Docker Hub and deploy it in th
25
25
26
26
## 3. Configure Deployment Options
27
27
28
-
Set the **Public URL** subdomain to a unique name. Postgres communicates with clients over TCP, not HTTP, so it will not be publicly accessible at this URL.
29
-
Instead, we will need to use the cluster-internal hostname below. In this screenshot, that's `anvilops-pg-example.anvilops-pg-example.svc.cluster.local`.
30
-
**Write down this value. We will need it to connect to the database.**
28
+
Uncheck the box labeled `Make my app public` since our database is not a web application.
31
29
32
30
Set the port number to `5432` so that AnvilOps knows which port to expose outside of the Postgres container.
33
31
@@ -59,32 +57,38 @@ We use volume mounts to specify the paths we want to keep when the app is update
59
57
60
58
Consider the file system to be ephemeral except the paths included in your volume mounts.
61
59
62
-
## 6. Connect to the Database
60
+
## 6. (Optional) Set the namespace
61
+
62
+
Open the Advanced dropdown. AnvilOps will have already filled in a unique namespace for your application, which you can edit. Your application will be reachable from within the cluster at `<namespace>.<namespace>.svc.cluster.local`.
63
+
64
+

65
+
66
+
## 7. Connect to the Database
63
67
64
68
Recall the internal address you created earlier.
65
-
In this example, it's `anvilops-pg-example.anvilops-pg-example.svc.cluster.local`. It should follow the form `anvilops-{subdomain}.anvilops-{subdomain}.svc.cluster.local`, where `{subdomain}` is what you typed into the Public URL field.
69
+
In this example, it's `pg-example.pg-example.svc.cluster.local`.
66
70
67
-
Let's create a connection string from this hostname. We can connec to the database at:
71
+
Let's create a connection string from this hostname. We can connect to the database at:
- Port: `80` (The port must be set to 80. AnvilOps always exposes your service at port 80 within the cluster.)
77
81
- Username: `anvilops` (from the environment variable you set in Step 4)
78
82
- Password: `password` (from the environment variable you set in Step 4)
79
83
80
-
Any application running in the same Kubernetes cluster can now access your database with this connection string.
84
+
Applications will access your database with this connection string. We recommend deploying an application that connects to this database through AnvilOps and adding them to the same app group. Using a network policy, AnvilOps will ensure that the two can communicate.
81
85
82
-
If you want to access your database from another AnvilOps app, we recommend placing your connection string in an environment variable and marking it as sensitive.
86
+
If you want to access your database from another AnvilOps app, we recommend placing your connection string in its environment variables and marking it as sensitive.
83
87
84
88
## Limitations
85
89
86
90
1. This deployment is not designed to scale past one replica. **Do not increase the `Replicas` field.** In AnvilOps, a unique volume is created for every replica, so the instances will not be able to share information.
87
91
88
92
In most cases, you can get away with scaling vertically by increasing the app's CPU and memory limits.
89
93
90
-
2. AnvilOps does not expose non-HTTP services to the public. Your database will not be accessible at the "Public URL" because Postgres uses TCP to communicate with clients.
94
+
2. AnvilOps does not expose non-HTTP services, such as Postgres, to the public.
Copy file name to clipboardExpand all lines: docs/src/content/docs/guides/from-github.md
+12-10Lines changed: 12 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,34 +6,36 @@ sidebar:
6
6
7
7
This tutorial will demonstrate:
8
8
9
-
- How to deploy one of AnvilOps' template applications on Anvil Composable.
9
+
- How to deploy one of AnvilOps' template applications.
10
10
- How to use Railpack to build applications without a Dockerfile.
11
11
- How to use AnvilOps' GitHub integrations for continuous deployment.
12
12
13
-
Follow along at `https://anvilops.rcac.purdue.edu`.
13
+
Follow along at [`https://anvilops.rcac.purdue.edu`](https://anvilops.rcac.purdue.edu) or [`https://anvilops.geddes.rcac.purdue.edu`](https://anvilops.geddes.purdue.edu).
14
14
15
15
### Prerequisites
16
16
17
17
You will need to have the AnvilOps GitHub App installed for your organization. This allows AnvilOps to deploy repositories on the cluster. In particular, for this tutorial, the GitHub App is needed for AnvilOps to clone the template repository to your account.
18
18
19
-
If you do not have access to your own project on Anvil Composable, select the `anvilops_sandbox` project.
19
+
If you do not have access to your own project on Anvil Composable, select the `anvilops_sandbox` project. This project can be used temporarily for tests and tutorials, but applications deployed to this project may be deleted at any time.
20
20
21
21
### Initial Configuration
22
22
23
23
1. Click the Create App button on the AnvilOps dashboard.
2.After selecting an Organization (and a Rancher project), select `Git Repository` as the Deployment Source.
26
+
2.Select a Rancher project to deploy the application into. A project is a grouping of applications within a Kubernetes cluster. If you do not have access to your own project on Anvil Composable, select the `anvilops_sandbox` project.
27
27
28
-
3.Click the repository dropdown, and select `External Git Repository`.
28
+
3.Select `Git Repository` as the Deployment Source. If the form prompts you to install the GitHub App on your organization, click the button and follow the instructions. The AnvilOps GitHub App allows AnvilOps to clone repositories to your account as well as redeploy applications in response to events.
29
29
30
-
4. Select the `AnvilOps Demo` template app. You will be prompted to import the `anvilops-demo` repository to your account.
30
+
4. Click the repository dropdown, and select `External Git Repository`.
31
+
32
+
5. Select the `AnvilOps Demo` template app. You will be prompted to import the `anvilops-demo` repository to your account.
31
33
32
34
The default settings configure AnvilOps to automatically redeploy your application when a new commit is pushed to the `main` branch of your repository.
33
35
34
36

35
37
36
-
5. Look over the settings that have been autofilled.
38
+
6. Look over the settings that have been autofilled.
37
39
38
40
**Build**: AnvilOps will use Railpack to detect the framework the repository uses([Astro](https://astro.build/)) and build it without extra configuration.
39
41
@@ -43,8 +45,8 @@ If you do not have access to your own project on Anvil Composable, select the `a
43
45
44
46

45
47
46
-
6. Click `Deploy`. In a few minutes, the application should be up and running at \
47
-
`https://<subdomain>.anvilcloud.rcac.purdue.edu`.
48
+
7. Click `Deploy`. In a few minutes, the application should be up and running at \
49
+
`https://<subdomain>.anvilcloud.rcac.purdue.edu`, or `https://<subdomain>.geddes.rcac.purdue.edu`.
48
50
49
51

50
52
@@ -59,4 +61,4 @@ Try pushing a commit to the repository to see how AnvilOps updates the deploymen
59
61
3. Go back to the dashboard for your app in AnvilOps. Under `Recent Deployments`, you should see a new entry. If you click the `Logs` button for that deployment, you can watch the logs as AnvilOps rebuilds the application.
60
62

61
63
62
-
4. When the build completes, go back to `https://<subdomain>.anvilcloud.rcac.purdue.edu` and reload the page. It should have the updated text.
64
+
4. When the build completes, reopen your application and reload the page. It should have the updated text.
Copy file name to clipboardExpand all lines: docs/src/content/docs/guides/from-image.md
+9-9Lines changed: 9 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,7 +9,7 @@ This tutorial will demonstrate:
9
9
10
10
- How to deploy an application from a preexisting container image.
11
11
12
-
Follow along at `https://anvilops.rcac.purdue.edu`.
12
+
Follow along at [`https://anvilops.rcac.purdue.edu`](https://anvilops.rcac.purdue.edu) or [`https://anvilops.geddes.rcac.purdue.edu`](https://anvilops.geddes.rcac.purdue.edu).
13
13
14
14
### Getting started
15
15
@@ -18,17 +18,17 @@ Follow along at `https://anvilops.rcac.purdue.edu`.
18
18
19
19
2. After selecting an Organization (and a Rancher project), select `OCI Image` as the Deployment Source.
20
20
21
-
3. Enter a container image. The image reference should look like `REGISTRY/NAMESPACE/REPOSITORY:TAG`.
21
+
3. Enter a container image. The image reference should look like `HOST/NAMESPACE/REPOSITORY:TAG`.
22
22
23
-
If you are deploying an image available on Docker Hub, you can omit the host. If the image is a Docker Official image, you can omit the repository as well. However, it's strongly advised to use Anvil's [Docker Hub cache](https://www.rcac.purdue.edu/knowledge/anvil/composable/registry#_using_the_anvil_registry_docker_hub_cache) instead.
23
+
Where possible, it is strongly advised to use Anvil's [Docker Hub cache](https://www.rcac.purdue.edu/knowledge/anvil/composable/registry#_using_the_anvil_registry_docker_hub_cache) instead of pulling directly from Docker Hub to avoid rate limiting.
@@ -37,9 +37,9 @@ Follow along at `https://anvilops.rcac.purdue.edu`.
37
37
38
38
### Deployment options
39
39
40
-
4.Select a unique subdomain for your app. Your app will be made publicly accessible at `https://<subdomain>.anvilcloud.rcac.purdue.edu`.
40
+
4.Choose whether to expose your app publicly, and if so, select a subdomain. Your app will be made publicly accessible at `https://<subdomain>.anvilcloud.rcac.purdue.edu`, or `https://<subdomain>.geddes.rcac.purdue.edu`.
41
41
42
-
5. Enter the port number your application listens on. Kubernetes will route requests to `https://<subdomain>.anvilcloud.rcac.purdue.edu` to this port for your applications to process.
42
+
5. Enter the port number your application listens on. Kubernetes will route requests to this port for your application to process.
43
43
44
44
6. Add any environment variables your app requires. Environment variables can be marked as sensitive. Sensitive environment variables cannot be viewed after they are set, although they can be updated.
If you would like to deploy an application on Anvil Composable, follow these instructions on `https://anvilops.rcac.purdue.edu`. If you would like to deploy on Geddes, follow these instructions on `https://anvilops.geddes.rcac.purdue.edu`.
10
-
11
-
## Setting Up Your Account
12
-
13
-
<Steps>
14
-
15
-
1. Sign in to AnvilOps.
16
-
This will create an AnvilOps account for you.
17
-
18
-
2. Navigate to the dashboard page.
19
-
3. Link your GitHub organization or personal account.
20
-
21
-
This will allow you to deploy applications from GitHub repositories.
22
-
Make sure you grant the AnvilOps GitHub App permission to access any repositories you want to deploy!
23
-
24
-
</Steps>
9
+
If you would like to deploy an application on Anvil Composable, follow along at [`https://anvilops.rcac.purdue.edu`](https://anvilops.rcac.purdue.edu). If you would like to deploy on Geddes, follow these instructions on [`https://anvilops.geddes.rcac.purdue.edu`](https://anvilops.geddes.rcac.purdue.edu).
25
10
26
11
## Creating an App
27
12
@@ -40,6 +25,8 @@ If you would like to deploy an application on Anvil Composable, follow these ins
40
25
41
26
Navigate to the Create App page in order to configure and launch your app. You will need to select your Project, the repository or image you would like to deploy, a subdomain, and the port number of the application.
42
27
28
+
If your app is a web application, you can make it publicly accessible at an available subdomain of your choice. Otherwise, uncheck the `Make my app public` box.
29
+
43
30
If you are deploying a Git repository, you will need to specify the build configuration.
44
31
45
32
If your repository already contains a Dockerfile, select the `Dockerfile` option and provide the path to the file. For instance, if the Dockerfile is in the root directory of your application, enter `Dockerfile`.
0 commit comments