Uploads including entity files, small media (not large videos or files like ps, ai)
Mostly for entities: storing data objects in natural form.
Hosting
Microsoft
Azure static web apps (default)
Azure Blob + CDN
Cloudflare
Github Pages
Gitlab Pages
AWS s3
AWS s3 + cloudfront
Google Cloud
Fleek (web3)
Source System of Record
Github (default)
Gitlab
Onboarding
Architectural MVP requirements for onboarding new user onto druid cloud and quickly on the way to greening the web via first dev druid and promotion sustainable prod web.
Step 1
[panel page form]
site name
type
text
validation
reasonable char limit
compatible with domain
unique | async validation hitting endpoint || preload all site names...
extension
type
dropdown/autocomplete
source
available druidcloud.* extensions
submit -> bounce to cognito
Step 2
Cognito Registration Form
submit -> bounce back to dc
Step 3
Continue configuring druid
Step 4
Review and Submit
Backend
When druid submitted provision environment.
There could also be a repo less option... using shared objects space.
Github repos - Create github repos using graph with two branches and inital commit with readme and licensing, etc. boilderplate
{siteName}
master
dev
{siteName}-objects
master
dev (this is the one used)
{siteName}-objects-prod
master
{siteName}-build
master
dev
Github pages site for {siteName}-objects/dev - this can be nixed if instead we just use verti-go now to the standard raw file url.
Github has template repositories that can be easily clone to a new repo. This might be the better direction. This would eliminate the need to create branches and files. Yes, this is the right direction.
It might be easier to clone the repos in an action initiated by a new json file upload. We could also kick them off in a after save hook inside vert-go.
Go daddy has an api that allows updates of cname records. This will work for pended druids. However, if people want to use their own custom domain more effort will be needed to facilitate this. It’s probably Easter to allow them to clone the build repo or manage it entirely.
Experiments
Add cname record to druidcloud.dev and druidcloud.io using godaddy developer api.
Create azure static web app using golang configured as druid using custom domain.
Convert spearhead repos to templates
Clone template repos using github graph ql api within golang vertigo.
Godaddy
This is the api end-point to add a new cname record to a domain which the org owns.
The building blocks of a single hosted druid.
Building Blocks
Onboarding
Architectural MVP requirements for onboarding new user onto druid cloud and quickly on the way to greening the web via first dev druid and promotion sustainable prod web.
Step 1
[panel page form]
submit -> bounce to cognito
Step 2
Cognito Registration Form
submit -> bounce back to dc
Step 3
Continue configuring druid
Step 4
Review and Submit
Backend
When druid submitted provision environment.
There could also be a repo less option... using shared objects space.
API
POST /druid
Add druid to pre-existing validate_entity function
When build repo has been created with dev branch create azure static web app for both dev and prod.
Create azure static web app entity adaptor Create github repo entity adaptor
Structure
POST /druid
Refs
Create repository using graph ql mutation
Github has template repositories that can be easily clone to a new repo. This might be the better direction. This would eliminate the need to create branches and files. Yes, this is the right direction.
template repos:
It might be easier to clone the repos in an action initiated by a new json file upload. We could also kick them off in a after save hook inside vert-go.
Create branch using new ref
Create azure static web app using azure go sdk
Create github repo using action.
https://github.com/repo-ctrl/create-repo-action
Digest of github actions
https://github.com/sdras/awesome-actions
——-
Go daddy has an api that allows updates of cname records. This will work for pended druids. However, if people want to use their own custom domain more effort will be needed to facilitate this. It’s probably Easter to allow them to clone the build repo or manage it entirely.
Experiments
Godaddy
This is the api end-point to add a new cname record to a domain which the org owns.
https://developer.godaddy.com/doc/endpoint/domains#/v1/recordAdd
Github
This is the github graph ql end-point to clone a template repository.
https://docs.github.com/en/graphql/reference/mutations#clonetemplaterepository
Docs for template repositories.
https://docs.github.com/en/repositories/creating-and-managing-repositories/creating-a-template-repository
Azure
Azure static site golang demo.
https://github.com/Azure-Samples/azure-sdk-for-go-samples/blob/main/sdk/resourcemanager/appservice/staticsite/main.go
Static site resource definition
https://docs.microsoft.com/en-us/azure/templates/microsoft.web/staticsites?pivots=deployment-language-bicep
Static web app pricing
https://azure.microsoft.com/en-us/pricing/details/app-service/static/
Enterprise grade edge
https://docs.microsoft.com/en-us/azure/static-web-apps/enterprise-edge?tabs=azure-portal
Add hostname via cli (based on my research this is the only method available to programmatically update hostname of static app).
Refs: