* snapshot feature ** product: vm-snapshot ** flow *** list all my VMs **** get the uuid of the VM I want to take a snapshot of *** request a snapshot ``` vmuuid=$(http nicocustomer http -a nicocustomer:xxx http://uncloud.ch/vm/create_snapshot uuid= password=... ``` ** backend realisation *** list snapshots - have them in the DB - create an entry on create *** creating snapshots - vm sync / fsync? - rbd snapshot - host/cluster mapping? - need image(s) * steps ** DONE authenticate via ldap CLOSED: [2020-02-20 Thu 19:05] ** DONE Make classes / views require authentication CLOSED: [2020-02-20 Thu 19:05] ** TODO register credit card *** TODO find out what saving with us *** Info **** should not be fully saved in the DB **** model needs to be a bit different * Decide where to save sensitive data ** stripe access key, etc. * python requirements (nicohack202002) django djangorestframework django-auth-ldap stripe * os package requirements (alpine) openldap-dev * VPN case ** put on /orders with uuid ** register cc * CC ** TODO check whether we can register or not at stripe * membership ** required for "smaller" / "shorter" products * TODO Membership missing * Flows to be implemented - see https://redmine.ungleich.ch/issues/7609 ** Membership *** 5 CHF ** Django Hosting *** One time payment 35 CHF *** Monthly payment depends on VM size *** Parameters: same as IPv6 only VM ** IPv6 VPN *** Parameters: none *** Is for free if the customer has an active VM ** IPv6 only VM *** Parameters: cores, ram, os_disk_size, OS * Django rest framework ** viewset: .list and .create ** view: .get .post * TODO register CC * DONE list products CLOSED: [2020-02-24 Mon 20:15] * An ungleich account - can be registered for free on https://account.ungleich.ch * httpie installed (provides the http command) ## Get a membership ## Registering a payment method To be able to pay for the membership, you will need to register a credit card or apply for payment on bill (TO BE IMPLEMENTED). ### Register credit card ``` http POST https://api.ungleich.ch/membership \ username=nico password=yourpassword \ cc_number=.. \ cc_ ``` ### Request payment via bill ## Create the membership ``` http POST https://api.ungleich.ch/membership username=nico password=yourpassword ``` ## List available products