Files
sockeye/todo.txt
2023-01-12 20:15:20 +00:00

201 lines
9.1 KiB
Plaintext

TODO:
- Subscriptionserverbiz state change trigger potential notification and event log event!!!
- Event log and event for server state change event should trigger an entry in the event log automatically
- events serverstate change can subscribe and be alerted etc
- Purchase event must trigger notification event subscribable (might already due to created etc)
- Message templates back and front
new global setting
- new notification event type and related code back and front for subscriptions etc
want all old rockfish style and new sockeye notifications to go through proper notify event code
- new: trial subscription server requested
- new: trial subscription server expiration
- new: subscription server expiration past
so if they don't re-up no active license then it warns me to shut it down
One for shutting down server and another for decommissioning
- v7 license fetch route
- v8 license fetch route
- v8 trial request route
- shareit payment notification route
triggers purchase if of that type, needs to analyze it and need to test it out somehow here first
- trial server request route that contact form can trigger
- JOB: notify user active license
- JOB: purchase to license
- JOB: Ping / check health route of subscription server
flag last health check
trigger event notification if fails
serverstate set so that it maybe has an OneFail then a TwoFail then a FAILED state where it notifies me so I don't get transient alerts
also server state used for other things like pending but not commissioned yet, decommissioned etc
- notify me trial request
- manually simulate v7 fetch from rockfish compare to manual test locally in sockey confirm
Same data shape and format
fetched is set correctly
headers
tls version (once online are the same, should be since it's going through nginx technically for the tls part)
- Test v8 key fetch, trial request, the whole shebang locally
- ONLINE TEST
Install and put on sockeye.ayanova.com subdomain in nginx on alternate port
Test ui functionality logins etc
- SUBSCRIPTION SERVER UI
- Menu option generate server commision script based on settings in form
can fill out form, click on it and it will generate the script needed to paste into new server
- Button to trigger D.O. API to requisition server automatically, spin it up etc
- Add ui to front the route under /api/v8/license/v7-reset-manager-creds
- Need ui that shows money required for paying future for yearly subs so at a glance know what money need in bank each month
////////////////////////////////////////////////////////////////////////////////////////////
//OLD
LICENSE NOTES
------
Sockeye should generate a license on a sale receipt, maybe after a slight delay.
Generated license should be in the list of licenses but have a unfulfilled status of some kind so it's ready for me to visually
see purchases applicable and confirm approve and send it with one click but it's not doing it itself.
If more purchases come in that apply to same customer for v7 then it should regenerate a new license or I guess edit the one it made before and just add to it.
Idea being that all I have to do is open they list of licenses and just release any that are good to go.
UI should show the purchases that go into a license so can confirm visually without having to click anywhere else.
This way is all but automatic in preparation for full automation later.
Maybe even a semi automatic dead man switch that will just send it after 24 guess if I don't once it's confirmed to work properly.
So need properties added to license object for fulfilled status and a property indicating sent to customer and a menu options to send manually maybe too.
I guess will need a template for email messages as well.
Tied into notification system.
Don't forget some licenses are not done through SHAREitb do must support manual generation from Paypal etc
ALSO
Needs manual license generation for v7 still
** CONTACT FORM
Server request for trial subscription server should maybe go through sockeye instead as a form people can request from or the contact app should forward to sockeye
so it can create a new subscription server record that is pending status for me to just approve and ultimately auto-generate a server using D.O. API or whatever
=========
PURCHASE drives new licensing ui
To automate as much as possible need following:
- Purchase Customer id nullable as may not be able to match to an existing customer
- processed date important as shows what is not processed yet if empty
- product category for purchase automatically attributed, i.e. v7, raven perpet, raven sub, misc
License edit / entry form
- Pick license key type different fields appear
NEED TO ADD KEYTYPE ENUM TO LICENSE OBJECT
this will future proof and make UI and handling easier
Keytypes: AyaNova 7, RAVEN Perpetual, RAVEN Subscription
- generates key at server on save depending on what is new or changed I guess or needs to be edited after the fact?
- Generate v7 license from entered ad-hoc data, i.e. it should be from the license edit form and take the entries and make a key on save
- Generate v7 license for customer from all active purchases
NEED TO ADD PRODUCT CATEGORY FOR AUTO LICENSE GENERATION?
V7, RAVEN, MISC (not license keyed)
this way, can automatically create key for v7 from all purchases that have not yet expired for a customer
- Generate v8 license from entered data, ''
- Opening license existing in edit form should re-populate the controls even for v7 so that they can be changed, saved, edited etc
- Once it's fetched it's read-only but can duplicate!!!!!
- direct open a case by case number like workorder
(id's differ so it isn't easy to just open a case in the url)
NOTE: v7 licensing will be hard to automate fully as it's a fucked up system
RAVEN is much easier to automate with only one key per db
So I'm thinking make v7 renewals and purchases as easy and semiautomatic as possible, perhaps it fills in and suggest the whole thing but requires me
to press a button to actually do it, whereas raven can ultimately just process automatically, particularly subscription monthly important!!
AUTOMATION ROUTES REQUIRED
Both v7 and v8 point to "rockfish.ayanova.com" so maybe nginx can redirect?
forgot about that, was hoping for ability to parallel and keep rockfish going... hmmm...
AyaNova 7 license fetch URL
"https://rockfish.ayanova.com/fetch/" + sFetchCode + "/" + sEmail;
rockfish FetchController.cs
RAVEN trial request URL
POST to
$"{LICENSE_SERVER_URL_ROCKFISH}rvr";
RAVEN license fetch url
POST to
$"{LicenseServer}/rvf"
License server url is one of:
LICENSE_SERVER_URL_ROCKFISH = "http://localhost:3001/";//dev testing
LICENSE_SERVER_URL_ROCKFISH = "https://rockfish.ayanova.com/";//1st default production primary
LICENSE_SERVER_URL_IO = "https://io.ayanova.com/";//2nd production
LICENSE_SERVER_URL_EUROPA = "https://europa.ayanova.com/";//3rd production
LICENSE_SERVER_URL_CALLISTO = "https://callisto.ayanova.com/";//4th production
DTR
Also, sidebar, check if can pay d.o. in advance, or do I want that??
new roles and bizroles set appropo
Developer - rw cases
Support - read cases, read sales and customer data?
Sales - licenses
==============================
certbot expand
root@devops:/etc/nginx/sites-available# certbot --nginx --cert-name test.onayanova.com -d test.onayanova.com,subtest.onayanova.com
Saving debug log to /var/log/letsencrypt/letsencrypt.log
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
You are updating certificate test.onayanova.com to include new domain(s):
+ subtest.onayanova.com
You are also removing previously included domain(s):
(None)
Did you intend to make this change?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(U)pdate certificate/(C)ancel: u
Renewing an existing certificate for test.onayanova.com and subtest.onayanova.com
Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/test.onayanova.com/fullchain.pem
Key is saved at: /etc/letsencrypt/live/test.onayanova.com/privkey.pem
This certificate expires on 2023-04-04.
These files will be updated when the certificate renews.
Certbot has set up a scheduled task to automatically renew this certificate in the background.
Deploying certificate
Successfully deployed certificate for test.onayanova.com to /etc/nginx/sites-enabled/default
Could not install certificate
NEXT STEPS:
- The certificate was saved, but could not be installed (installer: nginx). After fixing the error shown below, try installing it again by running:
certbot install --cert-name test.onayanova.com
Could not automatically find a matching server block for subtest.onayanova.com. Set the `server_name` directive to use the Nginx installer.
Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /var/log/letsencrypt/letsencrypt.log or re-run Certbot with -v for more details.