Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DINFRA Milestone 1 #947

Merged
merged 1 commit into from
Aug 3, 2023
Merged

DINFRA Milestone 1 #947

merged 1 commit into from
Aug 3, 2023

Conversation

rvalle
Copy link
Contributor

@rvalle rvalle commented Jul 31, 2023

Milestone Delivery Checklist

  • The milestone-delivery-template.md has been copied and updated.
  • The invoice form 📝 has been filled out for this milestone.
  • This pull request is being made by the same account as the accepted application.
  • I have disclosed any and all sources of reused code in the submitted repositories and have done my due diligence to meet its license requirements.
  • In case of acceptance, the payment will be transferred to the BTC/ETH/fiat account provided in the application.
  • The delivery is according to the Guidelines for Milestone Deliverables.

Link to the application pull request: w3f/Grants-Program#1622

@rvalle
Copy link
Contributor Author

rvalle commented Aug 2, 2023

@keeganquigley, @dastansam let me know if you need any assistance or need any additional information.

@dsm-w3f dsm-w3f self-assigned this Aug 2, 2023
@dsm-w3f
Copy link
Contributor

dsm-w3f commented Aug 2, 2023

@rvalle thank you the milestone delivery and @dastansam thank you for the external evaluation. I have some doubts. For deliverable 5. SSH Key Derivation, the link provided informs that is a WIP (work in progress), and there are no instructions for testing it. This deliverable is done? How can I test it? Furthermore, I could spin up the system but there is no testing guide for inside of Apache Cloud Stack to check the application. In the API part, some routes need authentication but there are no instructions on how to authenticate. In the deliverable "Substrate Deployment Descriptors" there are some examples and documentation, but there are some executable examples ready to use that we can use to deploy some substrate network and check it in the application? I couldn't find it.

@rvalle
Copy link
Contributor Author

rvalle commented Aug 3, 2023

Hi @dsm-w3f :

My Replies bellow:

  • In the Viability study of derivation of SSH Key milestone. the viability is negative (for now). Polkadot's APIs manage the key with a proprietary format, however there is a method to export as PKCS8 which is a standard recognized by both NodeJS and OpenSSL, however is not working. Having this working will open the door to interoperability with many other things. We have reached out to the author of the code with this Issue Report: pair.encodePkcs8() not interoperable polkadot-js/common#1858 . Once this issue is resolved we will continue with the implementation of a KeyTool to port keys to different systems, which is the one marked WIP, as it does not entirely depend on us. The KeyTool itself will be delivered after this MVP, after milestone 2.

There is a Test to check the interoperability in that package, but it fails and that is why is not yet included in the package main test: You can test it manually as:

cd packages/keytool
yarn test
  • For When you Spin up the system you have the relevant docs are this:

Test guide: https://gitlab.com/dinfra/dinfra#testing-guide

The standard testdeploy run will start simulating deployment lifecycles. You can log on to the Apache Cloudstack Simulator
to follow the creation, update, and destruction of Cloud Computing objects accordingly. Project, Networks, Instances, Accounts,
Domains will be created and associated with DINFRA Ids. Enablement of Projects will be required to see the instances created.

So when you enter, while the system is UP, you will see that objects are created in ACS, according to events triggered from substrate. The Substrate Network is milestone 2, but the events are currently simulated by the Test Tookit. You can enter into Domains, Accounts, Projects and you will see that the deployments and accounts have been created, you can also go to instances, enable project switch, and check that an instance is created, then it is upgraded, and finally destroyed. The simulation runs in Loops.

In the Ogate component documentation you find out how to authenticate to check the API: https://gitlab.com/dinfra/dinfra/-/tree/main/packages/ogate#authentication

Authentication during Development and QA
If no SHARED Secret is configured via Environment Variables, a Well Known development token will be set by default.
3 development tokens for 3 different accounts (for chain reactor instances) will be generated wihtout expiry date. They can be used to test the API in the interactive playground.

You can use any of the development tokens, which are logged at the start of OGate, and check the API methods. Like getting the next event, asking for deployments or getting the deployment details.

The current descriptor focuses on delivering independent VMs like this:

          descriptor:
            name: vm-1
            service_offering: Small Instance
            disk_offering: Small

We are not simulating the creation of more complex objects, because it was not relevant for the milestone deliverables. Essentially different descriptors call different Ansible playbooks into the Reactor, so, from here it is fairly easy to simulate any descriptor imaginable. It is also convenient to have simple descriptors to test and debug end-to-end easier: ogate->reactor->ansible->acs.

@dsm-w3f let me know if you need additional information

@dsm-w3f
Copy link
Contributor

dsm-w3f commented Aug 3, 2023

@rvalle thank you for the answers. I checked again and the milestone is accepted. I'll forward your invoice internally and the payment should take place within two weeks. Great job!

@dsm-w3f dsm-w3f merged commit 447eefe into w3f:master Aug 3, 2023
6 checks passed
@github-actions
Copy link

github-actions bot commented Aug 3, 2023

Congratulations on completing the first milestone of this grant! As part of the Grants Program, we want to help grant recipients acknowledge their grants publicly. To that end, we’ve created a badge for projects that successfully deliver their first milestone. Please use the badge only in reference to the work that has been completed as part of this grant, so please do not display it on your team or project's homepage unless accompanied by a short description of the grant. Furthermore, you're now welcome to announce the grant publicly. Please remember to observe the foundation’s guidelines in doing so. If you haven't already, reach out to [email protected] for feedback on your announcement and cross-promotion.

Thank you for your contribution, and good luck! If you have any remaining milestone, let us know if you encounter any delays by leaving a comment on the application PR or submitting an amendment.

@rvalle
Copy link
Contributor Author

rvalle commented Aug 3, 2023

@dsm-w3f, @dastansam thanks for your time reviewing the milestone.

@dsm-w3f
Copy link
Contributor

dsm-w3f commented Aug 3, 2023

@rvalle W3F finance team informed me that you would prefer to receive the payment in FIAT. In this case, could you please send an amendment to the application document to change from BTC to FIAT? You don't need to disclose your FIAT payment information, this is more to have registered the right payment information.

@rvalle
Copy link
Contributor Author

rvalle commented Aug 3, 2023

@dsm-w3f thanks I will.

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.

2 participants