Skip to content

burningwave/miscellaneous-services

Repository files navigation

Burningwave Miscellaneous Services

logo.png

HitCount

A simple application with which is possible:

  • to retrieve some statistical data showed at the url /miscellaneous-services/stats/artifact-download-chart of the application
  • to generate the artifact downloads badge
  • to generate the GitHub stars badge
  • to retrieve all the data of the statistical page in JSon format via the Rest API. The documentation of this API is available at the URL /miscellaneous-services/api-docs.html of the application

Deploy requirements

The application can be deployed on Heroku, on Amazon AWS or any other PaaS. For Amazon AWS you can find the intallation commands in the file install-on-aws.sh.

By default the application uses the file system based cache but it is recommended to use the database based cache by setting the environment property CACHE_TYPE to Database based: in this case it is required a PostgreSQL DBMS which on Heroku can be simply installed with the Heroku Postgres addon.

Configuration

On Heroku the minimal configuration requires only to set the NEXUS_CONNECTOR_GROUP_CONFIG environment property with the Nexus credentials encoded as a basic token e.g.: assuming that the Nexus username is burningwave and the password is pa55w0rd, the basic token will be the base64 encoding of the string burningwave:pa55w0rd and the value of the environment property NEXUS_CONNECTOR_GROUP_CONFIG will be:

{
    "connector": [{
            "authorization": {
                "token": {
                    "value": "YnVybmluZ3dhdmU6cGE1NXcwcmQ="
                }
            }
        }
    ]
}

If you need to set up multiple Nexus accounts or customize the color and the target of the links in the artifact download statistics page you can do the following:

{
    "connector": [{
            "host" : "oss.sonatype.org",
            "authorization": {
                "token": {
                    "value": "YnVybmluZ3dhdmU6cGE1NXcwcmQ="
                }
            },
            "project": [{
                    "name": "org.burningwave",
                    "artifacts": [{
                            "name": "jvm-driver",
                            "color": "00ff00",
                            "site": "https://burningwave.github.io/jvm-driver/"
                        }, {
                            "name": "core",
                            "color": "e54d1d",
                            "site": "https://burningwave.github.io/core/"
                        }, {
                            "name": "graph",
                            "color": "f7bc12",
                            "site": "https://burningwave.github.io/graph/"
                        }, {
                            "name": "tools",
                            "color": "066da1",
                            "site": "https://burningwave.github.io/tools/"
                        }
                    ]
                }, {
                    "name": "com.github.burningwave",
                    "artifacts": [{
                            "name": "bw-core",
                            "alias": "core",
                            "color": "e54d1d",
                            "site": "https://burningwave.github.io/core/"
                        }, {
                            "name": "bw-graph",
                            "alias": "graph",
                            "color": "f7bc12",
                            "site": "https://burningwave.github.io/graph/"
                        }
                    ]
                }
            ]
        }, {
            "host" : "s01.oss.sonatype.org",
            "authorization": {
                "token": {
                    "value": "dG9vbGZhY3Rvcnk6cGE1NXcwcmQ="
                }
            },
            "project": [{
                    "name": "io.github.toolfactory",
                    "artifacts": [{
                            "name": "narcissus",
                            "color": "402a94",
                            "site": "https://toolfactory.github.io/narcissus/"
                        }, {
                            "name": "jvm-driver",
                            "color": "00ff00",
                            "site": "https://toolfactory.github.io/jvm-driver/"
                        }
                    ]
                }
            ]
        }
    ]
}