Skip to content

Docs/terraform provider#2874

Open
eldadfux wants to merge 31 commits intomainfrom
docs/terraform-provider
Open

Docs/terraform provider#2874
eldadfux wants to merge 31 commits intomainfrom
docs/terraform-provider

Conversation

@eldadfux
Copy link
Copy Markdown
Member

@eldadfux eldadfux commented Apr 9, 2026

What does this PR do?

(Provide a description of what this PR does.)

Test Plan

(Write your test plan here. If you changed any code, please provide us with clear instructions on how you verified your changes work.)

Related PRs and Issues

(If this PR is related to any other PR or resolves any issue or related to any issue link all related PR and issues here.)

Have you read the Contributing Guidelines on issues?

(Write your answer here.)

eldadfux added 21 commits April 8, 2026 16:50
Add overview with Terraform basics, self-hosting redirect note, and
guides for provider configuration, database resources, and data sources.
Link to appwrite/terraform-provider-appwrite; align content with README.

Made-with: Cursor
… nav

Align docs with provider: bucket, messaging_provider, messaging_topic.
Move database guide under resources/databases; add resources/storage and
resources/messaging. Nav: Getting started, Resources, Data sources.
Redirect old /terraform/databases path.

Made-with: Cursor
Add terraform.svg to icon pipeline (svgtofont + sprite), use web-icon-terraform
in docs Tooling menu. Colors normalized by optimizer; sidebar uses currentColor
like other nav icons.

Made-with: Cursor
…th registry docs

Add registry URLs for provider index, generated docs, and per-resource pages.
Pin required_providers example to ~> 0.0.4; cross-link GitHub for source.

Made-with: Cursor
Add 2026-04-08 changelog on IaC value, docs, registry, and catalog.
Add integrations/terraform-provider page under Deployments with cover and avatar SVGs.

Made-with: Cursor
Product announcement with docs, registry, and integrations links; cover SVG.

Made-with: Cursor
…weaks

Add introducing-terraform-provider-for-appwrite post and levi-van-noort author.
Use ASCII hyphens in Terraform provider and databases docs.
Include icon font output assets and avatar.

Made-with: Cursor
These copies are not produced by the icon build; drop them from the repo.

Made-with: Cursor
Prevents accidental commits of Finder "file 2.ext" duplicates.

Made-with: Cursor
@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented Apr 9, 2026

Greptile Summary

This PR adds the official Terraform provider documentation for Appwrite, including an overview page, provider configuration guide, eight resource pages (databases, storage, auth, functions, sites, messaging, webhooks, backups), a sidebar entry with a new Terraform icon, an integrations catalog page, a blog post, and a changelog entry. All previously flagged concerns — the 'mongo' removal from IconType, the broken changelog link, and the redirect chain issues — appear to have been fully resolved in the current HEAD: 'mongo' is present at line 15 of types.ts, the blog post and changelog both use the 2026-04-19 slug which matches the 2026-04-19.markdoc filename, and no broken redirect chains remain.

Confidence Score: 5/5

Safe to merge — all prior P0/P1 findings from earlier review rounds have been addressed in the current HEAD.

All previously flagged blocking issues are resolved: 'mongo' is retained in IconType, the changelog slug and filename are consistent (2026-04-19), and no broken redirect chains exist. Remaining notes (HCL→ini highlighting, FCM .gitignore guidance) were already flagged in prior review rounds and are P2 quality concerns that don't block merge.

No files require special attention.

Important Files Changed

Filename Overview
src/lib/components/ui/icon/types.ts Adds 'terraform' to the IconType union; existing entries including 'mongo' are preserved
src/lib/components/ui/icon/sprite/sprite.svelte Adds SVG sprite; inserted in correct position between existing symbols
src/lib/utils/code.ts Registers hcl, terraform, and tf as aliases for the ini highlight.js grammar with a comment explaining the limitation
src/redirects.json Adds one redirect: /docs/tooling/terraform/databases → /docs/tooling/terraform/resources/databases; no broken redirect chains detected
src/routes/docs/tooling/terraform/+page.markdoc New Terraform provider overview page with resource/data-source tables, quick-start cards, and cross-links; content is consistent with child pages
src/routes/docs/tooling/terraform/provider/+page.markdoc New provider configuration page covering Cloud, Community Edition, environment variables, and project-scoping; examples use placeholder values appropriately
src/routes/docs/tooling/terraform/resources/messaging/+page.markdoc New messaging resource docs with provider examples for Sendgrid, SMTP, Twilio, and FCM; FCM example uses file() for service account JSON
src/routes/blog/post/introducing-terraform-provider-for-appwrite/+page.markdoc New blog post introducing the Terraform provider; changelog link correctly points to /changelog/entry/2026-04-19 matching the new changelog file
src/routes/changelog/(entries)/2026-04-19.markdoc New changelog entry dated 2026-04-19 announcing the Terraform provider; filename matches date and blog post reference
src/routes/docs/Sidebar.svelte Adds Terraform provider entry to the tooling sidebar using web-icon-terraform; positioned correctly among peer tooling entries
src/routes/integrations/terraform-provider/+page.markdoc New integrations catalog entry for the Terraform provider with correct metadata and cross-links to docs

Reviews (9): Last reviewed commit: "Merge branch 'main' into docs/terraform-..." | Re-trigger Greptile

Comment thread src/lib/components/ui/icon/types.ts Outdated
Comment on lines +60 to +64
}
```

## Topics {% #topics %}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Missing warning about committing service account JSON to git

The FCM example reads credentials with file("firebase-service-account.json") but there is no note warning users to add that file to .gitignore and never commit it. Readers following this example for the first time may inadvertently leak their service account key.

Consider adding a short note here:

Important: Add firebase-service-account.json to your .gitignore. Never commit secret files to version control; use environment variables or a secrets manager for CI.

Comment thread src/lib/utils/code.ts
Resolve conflicts: icon sprite/types (terraform + restored mongo), changelog
split for 2026-04-08 entries, github-stars, and regenerated icon output.

Made-with: Cursor
Comment thread src/routes/blog/post/introducing-terraform-provider-for-appwrite/+page.markdoc Outdated
…s, assets

Align TablesDB resource names and capabilities; add Auth, Functions, Sites,
Webhooks, and Backups pages; fold data source into Databases; update redirects.
Refresh Terraform blog, changelog, and integration copy; new covers and avatar.

Made-with: Cursor
Comment thread src/routes/blog/post/introducing-terraform-provider-for-appwrite/+page.markdoc Outdated
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this blog is still missing some resources, other than that it looks fine. I did a rewrite of it here: https://github.com/appwrite/website/pull/2887/changes#diff-77917839cc715ba8a72fb8737c10434dfdfd13fd29086b3f7d9837fb26deca5c

---
layout: changelog
title: "Terraform provider for Appwrite"
date: 2026-04-17
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
date: 2026-04-17
date: 2026-04-19

eldadfux and others added 4 commits April 17, 2026 07:41
Add appwrite_function_deployment and appwrite_site_deployment resources
with code and template examples, and document the new data sources
(storage_bucket, auth_user, auth_team, function, site, messaging_topic,
webhook) on each product page and the overview.

Made-with: Cursor
| Webhooks | `appwrite_webhook` |
| Backups | `appwrite_backup_policy` |

| Kind | Name | Description |
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need a separate subheading before this?

Comment on lines +45 to +48
- **Provider** - A plugin that teaches Terraform how to talk to a specific API (here, Appwrite).
- **Resource** - Something Terraform should create and manage (for example an Appwrite database or table).
- **State** - Terraform remembers what it already created so the next run can update or destroy only what changed.
- **Plan / apply** - You run `terraform plan` to preview changes, then `terraform apply` to execute them.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- **Provider** - A plugin that teaches Terraform how to talk to a specific API (here, Appwrite).
- **Resource** - Something Terraform should create and manage (for example an Appwrite database or table).
- **State** - Terraform remembers what it already created so the next run can update or destroy only what changed.
- **Plan / apply** - You run `terraform plan` to preview changes, then `terraform apply` to execute them.
- **Provider**: A plugin that teaches Terraform how to talk to a specific API (here, Appwrite).
- **Resource**: Something Terraform should create and manage (for example an Appwrite database or table).
- **State**: Terraform remembers what it already created so the next run can update or destroy only what changed.
- **Plan / apply**: You run `terraform plan` to preview changes, then `terraform apply` to execute them.

isParent: true
},
{
label: 'Terraform provider',
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
label: 'Terraform provider',
label: 'Terraform',

I don't think provider is necessary here

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

Successfully merging this pull request may close these issues.

4 participants