sequenceDiagram participant User participant Browser participant kubectl participant Site as codius-web participant Verifier as Receipt Verifier participant Wallet as Host's Wallet participant k8s as Kubernetes API Server participant k8sAuth as codius-auth activate User User->>+Browser: navigate to codius-host.com Browser->>+Site: GET codius-host.com Site-->>-Browser: codius-host.com page w/ monetization tag opt web monetization Browser->>+Verifier: SPSP query Verifier->>+Wallet: SPSP query w/ secret & nonce Wallet-->>-Browser: destinationAddress & sharedSecret deactivate Verifier loop ILP packet Browser->>+Wallet: $ Wallet-->>-Browser: receipt Browser-x+Site: monetizationprogress receipt Site-x+Verifier: POST /balances/{requestId}:creditReceipt receipt deactivate Site Verifier->>-Verifier: credits requestId balance end Browser-x+Site: monetizationstart requestId Site-x-User: server=codius-host.com token=requestId deactivate Browser User->>+kubectl: kubectl apply -f codius-service.yaml -s codius-host.com --token=requestId kubectl->>+k8s: POST /apis/core.codius.org/v1alpha1/services
Authorization: Bearer requestId
codius-service.yaml k8s->>+k8sAuth: requestId k8sAuth->>+Verifier: POST /balances/{requestId}:spend deploy-price alt sufficient balance Verifier-->>-k8sAuth: 200 k8sAuth-->>-k8s: 200 "user":"codius-deploy" k8s->>k8s: create Codius Service k8s->>k8s: crd operator creates deployment, service, ingress k8s-->>-kubectl: 201 kubectl-->>User: "service.core.codius.org/codius-service created" end deactivate kubectl end deactivate User