Set up shareable hawtio dashboard - hawtio

How to set up shareable common hawtio dashboard for camel applications in such a way that the dashboard is pre-populated. I've set hawtio.config.dir to a local file. If I access hawtio from a new browser, I've to always manually set up the dashbaord for first time, which is painful. How to get rid of this?
Questions
- How to set up common hawtio dashboard which should work in a clustered environment?
- Is there a way to export and upload dashboards in hawtio? like how kibana has.

If you use JBoss Fuse, then it provides Fuse Fabric (fabric8) which has a distributed registry, that hawtio leverages. This allows to have shared dashboards, and a few other hawtio configurations. That registry is git based.
Therefore in standalone hawtio then this ought to be possible as well, if you startup hawtio to use a remote git repo
There is some details about the git configurations at:
http://hawt.io/configuration/index.html
Another alternative is that you can use gist to share dashboard, so you can crete a gist, and then others can import the gist. But that would be a manual procedure.

Related

Using GitLab + Read the Docs for documentation on a Private VM: RTD build fails

Background
I am a technical writer trying to use Read the Docs to generate documentation for one of our product. As we have a non-disclosure agreement for any publication, I have to host the documentation on a virtual machine for customers with intranet access to read.
Installation
GitLab
My VM is a CentOS 8. I installed GitLab Community Edition through Docker. I created a repository for my Markdown source code under the root account, the address of the repo being http://${vm_address}/root/${repo_name}. The GitLab container runs on Port 20 of my VM.
Read the Docs
As RTD does not officially support On-premise deployment, I pulled an unofficial image from Docker. See vassilvk/readthedocs. This RTD container runs on Port 8000 of my VM. I use username "admin" to log into RTD.
Procedure I Took to Integrate GitLab and RTD
To import the source code in my GitLab, I did the following:
On the Project page, click Import a Project.
Click Import Manually on the left panel.
In the Project Details page, fill in the fields as follows:
Project name: ${my_project_name}
Repository URL: ${Clone_With_HTTP_Address} I copied the URL from the "Clone with HTTP" field under the Clone button dropdown in GitLab
Repository Type: Git
In the Advanced Project Options, I set Documentation Type to Sphinx HTML.
Click Finish.
Result
The build fails with error code 1.
Question
Where did I do wrong with the RTD project settings?
Is something wrong going on with my RTD or GitLab container settings?
Do I still need to install Sphinx on the VM?
As we have a non-disclosure agreement for any publication, I have to host the documentation
This does not follow at all. You must be looking at the wrong ReadTheDocs. There are two sites:
ReadTheDocs.org - that one is the free, publicly visible hosting.
ReadTheDocs.com - that's the one you want, it hosts private repositories for businesses exactly like yours.
Unless you're in a well managed, secure IT environment, running random Docker images on your own VM will almost certainly lead to inadvertent disclosure. Are you in hosting business? No. Don't play a hosting business when all you want is to write some private documentation. There are products for that.

How could I prohibit anonymous access to my NodeRed UI Dashboard on IBM Cloud(Bluemix)?

I'm working with node-red, on boilerplate IBM cloud. I know that there is a way, changing the value of enviroments variables(NODE_RED_USERNAME and NODE_RED_PASSWORD), to change username and password of the editor flow. But, what about UI dashboard? I mean using dashboard nodes. Forbid access to
https://noderedservicename.mybluemix.net/ui/
I know that on the code, changing the variable httpNodeAuth on the file settings.js I can do what I want. What is the way for doing that on IBM Cloud?
Thank you in advance!
You need to add the httpNodeAuth (not the httpAdminAuth as this is for controlling access to the Node-RED editor and can done with the environment variables discussed in the other answer.) to the app/bluemix-settings.js file.
Something like this:
...
httpStatic: path.join(__dirname,"public"),
httpNodeAuth: {user:"user",pass:"$2a$08$zZWtXTja0fB1pzD4sHCMyOCMYz2Z6dNbM6tl8sJogENOMcxWV9DN."},
functionGlobalContext: { },
...
Details of how to generate the pass can be found here
There are a number of ways you can edit the file, some of which include linking the Node-RED deployment to a git repository or downloading the whole app, editing the file and pushing it back to Bluemix (when you first deploy Node-RED from the starter pack it gives you instructions on how to download the source to make changes and then push them back. You can get to these instructions by clicking on the "Getting started" link in your Node-RED Bluemix console page).
But the quickest/simplest/dirtiest way is probably to just SSH into the instance and change the file with something like vi. Details on how to ssh to an app instance can be found here. But the following should work:
cf ssh [app name]
Once you have edited the file you will need to tell bluemix to restart the app. You can do this from the web console or with the cf command line tool.
(The changes made by this method will not survive if the app is restaged, or bluemix decides to move your instance to another machine internally because it will rebuild the app from the pushed sources. The permanent solution is to download the source, edit and push back)
This link will help you but it's written in Japanese.
http://dotnsf.blog.jp/archives/1030376575.html
Summary
You can define the "user-defined" environment variables through the IBM Cloud dashboard.
It contains the variables to protect Node-RED GUI.
You have to be set as follows
NODE_RED_USERNAME : username
NODE_RED_PASSWORD : password

How to script the install of openam

According to the above documentation, to create the initial configuration I need to open a web browser. This is sound really weird to me. I would like to script the deploy of OpenAM and it seems impossible.
https://wikis.forgerock.org/confluence/display/openam/Deploy+OpenAM
My actual script do the following
Download openam
extract openam
copy .war in tomcat webapp
extract administration tools
extract configuration tool
extract diagnostic tool
download opendj
lauch the setup of opendj with all args
Now I would like to launch the configuration tool of openam with the configuration file I would like to use but it seems OpenAM must be already configured;
The configuration tool require $HOME/openam/boostrap file where $HOME/openam is the configuration folder that should exists once you have already configure it.
Is this true ? To use configuration tool you must already have configured your service ?
Of course not ... 'configurator tool' is meant to initially configure OpenAM.
For the sake of simplicity, you should not use an external data store.
If you really want to use an external configuration store (OpenDJ or Oracle DSEE are the only supported ones currently), the external config store must be up and running before launching 'configurator tool'.
OpenDJ can be configurated in an automated way as well.
If you do not need an external configuration store, just deploy the OpenAM web-app and use 'configurator tool'
Some helpful links:
Using the CLI
configurator.jar documentation
Automated installation and configuration of OpenAM

Create/configure New repository in remote mercurial server on IIS

Are there any tools avaliable to create and configure (Add new users, Change authorization settings ) mercurial repository hosted in IIS server ?
Currently I want to remotely log in to the server and need to create new repository and configure it manually.
I would take a look at Kallithea. That is a like a hgweb on steriods :) It has user management with authentication against LDAP (so you can use Active Directory), repository management, browsing, etc.
You ask about IIS and I know that it can run Python WSGI applications. Kallithea is based on Pylons and while it's described a difficult, you can run Pylons on IIS if you want.
I would probably install Apache instead or simply use the small web server that comes with Kallithea (depending on the load you expect).

Is it ok to copy a domain in weblogic in situations where we need to have the same configuration for dev/testing purposes?

I am aware of weblogic templates, but out of curiosity I wanted to know, Is it ok to copy a domain in weblogic in situations where we need to have the same configuration? I have already done the same and have been successful in testing my application.
You can get away with doing this, but there are a couple of more reliable (and scriptable) ways to migrate the same configuration through the development team, or to create new deployment environments.
The domain template builder lets you build your own custom domain template from an existing domain: http://download.oracle.com/docs/cd/E13179_01/common/docs92/tempbuild/starttb.html
There's a couple of ways to get it done with WLST, as well:
You can use configToScript to spit out an entire WLST script (and properties file) to recreate the exact configuration you've got, or...
You can use readDomain and writeDomain in offline mode to recreate an existing configuration in a new domain:
readDomain: http://download.oracle.com/docs/cd/E13222_01/wls/docs92/config_scripting/reference.html#wp1003638
writeDomain: http://download.oracle.com/docs/cd/E13222_01/wls/docs92/config_scripting/reference.html#wp1003688
It's okay to copy the domains over and it worked exceptionally well prior to WebLogic 9.2. However, there are some weird bugs that pop up for versions that are using the portal for the console.
Also, after copying the file you would want to make sure that all listen addresses and ports have been modified accordingly so that your local managed server doesn't attempt to connect to the production administration server on startup.

Resources