Using NodeJS and RavenDB in the cloud (appharbor) - node.js

I have written an application in nodejs/ravendb using node-ravendb (https://github.com/mattdaly/node-ravendb).
Now I want to find good hosting for it and i realize that I don't have much to choose from.
The only cloud-based hosting service that i have found that works with both RavenDB and NodeJS is Appharbor.
But when i try to use it with node-ravendb I find that node-ravendb only uses username/password for authentication and Appharbor wants to use APIKEY instead.
Can I make node-ravendb use APIKEY or is there another way?
Is Appharbor really my only alternative? I am also wondering if using RavenDB with nodejs is a good idea since it does not seem like a common configuration. Can anyone comment on that?

This isn't supported out of the box AFAICT. You'd need to modify node-ravendb to use API key.
Another option, since you mentioned cloud providers: why not just run a virtual machine in Azure, and install and run anything you want? Then you don't have to futz with node-ravendb source code or API keys.

Related

Is it nonsense to not use Amplify API (and use the AWS API Gateway SDK instead)?

i would like to know if i am the only one thinking to not use Amplify's API and instead use the classic SDK. The reasons are
1st: I am a beginner to AWS and development so the fact that Amplify is hiding the complexity isn't helping me to learn what's going on behind the scenes, control and understand everything well.
2nd: Can i modify the API without changing the generated to local project files? (files that generated while running "amplify add auth" command.
I am very confused about it, and can;t really find a guide of how to modify local files after doing changes to API through AWS platform.

Using Azure SDK for JS to create .NET 4.x App Service

I'm starting to wonder whether this is the right tool for the job, still here goes.
I'm attempting to automate the creation of our Azure Test environment using Azure SDK for JS. The environment spans many services (as you can imagine), including Classic ASP.NET app services.
Node is my safe space, so that is why I started with the JS SDK.
I have started scripting the creation of an app service using WebSiteManagementClient.webApps.createOrUpdate. I'm confused though, there is seemingly no way to configure any of the following:
Which app service plan the app service should be connected to. This feels fundamental.
The operating system, Windows or Linux.
The stack version, .NET 4.8, .NET Core, or whatever.
Is it possible to configure the above using the JS SDK, or am I going to have find another approach?
Update 23/03/21
Untested, but these are my findings so far:
App Service Plan - The plan is set using the serverFarmId property of the Site interface.
Operating system - Assuming Windows as the default, if you want a Linux app service, you change the kind property of Site from app, to app,linux.
Stack & version - In the SiteConfig interface, you have linuxFxVersion and windowsFxVersion. Again, I think the assumption is 'latest .NET' (e.g. .NET 4.8). For .NET Core 3.1, the setting looks to be DOTNETCORE|3.1.
It can be achieved using js SDK. I checked the source code and it is ok. But I don't recommend to use js sdk to do this.
Because you need to call the SDK, there are many internal logics that you need to code. This will waste a lot of your time. So I recommend you to use restapi.
The restapi method name is similar to the naming in the SDK, mainly because you can test api interfaces online to achieve the functions you want. So you can selectively choose the method you want to achieve the function you want.
Official doc
Web Apps - Create Or Update
As for your concerns, you only need to write all the configuration in json format and put it in the request body.
Tips:
First use the online interface, encode the json format, create a webapp according to your needs, and then integrate it into your code.

Update user properties in Active Directory using NodeJS

I am tring to make CRUD operations on Active Directory via nodejs.
The only package that handle CRUD operation in node that i have found is ad-
https://www.npmjs.com/package/ad.
Are you familiar with other packages?
Is this the only one for update operations?
It seems that integration with Active Directory in nodejs is not popular and mature. Am I wrong? should I implement such integration in Java or .Net core?
Thanks!
The right way is the way that works :) If you are already using NodeJS, then do it in NodeJS if at all possible.
Communication with AD would happen through LDAP, so you can look for NodeJS packages for LDAP. Here are a couple I found:
ldapjs
ldap-client
But that one you linked to is more specific to AD (and AD does have its own flavor of LDAP) so I would choose that as long as it works for you.
If it doesn't work for whatever reason, either ask a new question here to get specific help, or you can start looking into making a separate Java or .NET app to do it. But I wouldn't consider a separate app just for AD queries unless you absolutely couldn't do it in NodeJS.

Using Nodejs with IIS for REST service using Express

We're using Nodejs + Express to create a RESTful web service. During testing we kicked off the service via the command-line, i.e., node mim.js and and tested the service using http://server:9999/mim/GetEmployeeData and that works fine.
The node application lives in inetpub\wwroot\myapps\mim and we want to be able to access it like so:
http://apps.mydomain.com/mim/GetEmployeeData
We're not quite sure how to get this to work with IIS, however. Looking for some help with respect to this.
Thanks in advance!
See this Hosting node.js applications in IIS on Windows tutorial:
https://github.com/tjanczuk/iisnode
It explains many different scenarios and since you din't post a lot of details it's hard to give you a more detailed answer other than pointing you to a good documentation about the thing that you're trying to do.

Is there a way to self-host mongoose databases?

I am getting started with writing an API for a project and the tutorial I am following suggests I sign up for a hosted solution. I think that is ridiculous. My project is simple and I do not feel the need to be locked in to a service. If it helps, I am using Express.
Mongoose is a node.js module (library) which is used to interact with a database, called MongoDB.
There are some websites like mongolab.com which offer plans for development for free, so you would jsut need to sign up and you will get a database without installink anything in your computer/server etc. This is why they say it is easier.
You can install MongoDB in your local computer to test (I think most of us have it) and use just that one for developing and testing.
To install MongoDB it all depends which Operating System you are using at the moment. But you can look up on google: "Install MongoDB MacOSX/Window/Ubuntu/etc.." and normally is just one simple command. To connect to it in your local you don't need a user or anything I guess.

Resources