{"id":19390828,"url":"https://github.com/tecnickcom/rndpwd","last_synced_at":"2026-03-04T10:02:06.689Z","repository":{"id":57748107,"uuid":"46524080","full_name":"tecnickcom/rndpwd","owner":"tecnickcom","description":"Web Service Random Password Generator written in GO","archived":false,"fork":false,"pushed_at":"2026-02-13T19:12:33.000Z","size":1033,"stargazers_count":7,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-14T01:51:11.884Z","etag":null,"topics":["go","golang","password-generator","security","webservice"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tecnickcom.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"custom":["https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ"]}},"created_at":"2015-11-19T22:23:24.000Z","updated_at":"2026-02-13T18:50:01.000Z","dependencies_parsed_at":"2023-10-11T19:31:43.431Z","dependency_job_id":"877e9b5e-7240-40a7-a0ce-81301d1a113e","html_url":"https://github.com/tecnickcom/rndpwd","commit_stats":null,"previous_names":[],"tags_count":121,"template":false,"template_full_name":null,"purl":"pkg:github/tecnickcom/rndpwd","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tecnickcom%2Frndpwd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tecnickcom%2Frndpwd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tecnickcom%2Frndpwd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tecnickcom%2Frndpwd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tecnickcom","download_url":"https://codeload.github.com/tecnickcom/rndpwd/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tecnickcom%2Frndpwd/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30078306,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-04T08:01:56.766Z","status":"ssl_error","status_checked_at":"2026-03-04T08:00:42.919Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["go","golang","password-generator","security","webservice"],"created_at":"2024-11-10T10:23:29.628Z","updated_at":"2026-03-04T10:02:06.680Z","avatar_url":"https://github.com/tecnickcom.png","language":"Go","funding_links":["https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ","https://www.paypal.com/cgi-bin/webscr?cmd=_donations\u0026currency_code=GBP\u0026business=paypal@tecnick.com\u0026item_name=donation%20for%20rndpwd%20project"],"categories":[],"sub_categories":[],"readme":"\u003c!-- Space: tecnickcom --\u003e\n\u003c!-- Parent: Projects --\u003e\n\u003c!-- Title: rndpwd --\u003e\n\u003c!-- Attachment: doc/images/logo.png --\u003e\n\n# rndpwd\n\n*Web-Service Random Password Generator*\n\n![rndpwd logo](doc/images/logo.png)\n\n* **category:**    Application\n* **copyright:**   2015-2026 tecnickcom\n* **license:**     [LICENSE](https://github.com/tecnickcom/rndpwd/blob/main/LICENSE)\n* **cvs:**         https://github.com/tecnickcom/rndpwd\n\n[![check](https://github.com/tecnickcom/rndpwd/actions/workflows/check.yaml/badge.svg)](https://github.com/tecnickcom/rndpwd/actions/workflows/check.yaml)\n[![Coverage Status](https://coveralls.io/repos/github/tecnickcom/rndpwd/badge.svg?branch=main)](https://coveralls.io/github/tecnickcom/rndpwd?branch=main)\n[![Go Report Card](https://goreportcard.com/badge/github.com/tecnickcom/rndpwd)](https://goreportcard.com/report/github.com/tecnickcom/rndpwd)\n\n[![Donate via PayPal](https://img.shields.io/badge/donate-paypal-87ceeb.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations\u0026currency_code=GBP\u0026business=paypal@tecnick.com\u0026item_name=donation%20for%20rndpwd%20project)\n*Please consider supporting this project by making a donation via [PayPal](https://www.paypal.com/cgi-bin/webscr?cmd=_donations\u0026currency_code=GBP\u0026business=paypal@tecnick.com\u0026item_name=donation%20for%20rndpwd%20project)*\n\n\n----------\n\n## TOC\n* [Description](#description)\n* [Documentation](#documentation)\n\t* [public](#documentation_public)\n\t\t* [General](#documentation_public_general)\n* [Development](#development)\n* [Deployment](#deployment)\n\n----------\n\n\u003ca name=\"description\"\u003e\u003c/a\u003e\n## Description\nWeb-Service Random Password Generator\n\n\n----------\n\n\n\n\u003ca name=\"documentation\"\u003e\u003c/a\u003e\n## Documentation\n\u003ca name=\"documentation_public\"\u003e\u003c/a\u003e\n* public\n\t\u003ca name=\"documentation_public_general\"\u003e\u003c/a\u003e\n\t* General  \n\t_General project documentation_\n\t\t* [GitHup project page](https://github.com/tecnickcom/rndpwd)\n\n\n----------\n\n\n\n\u003ca name=\"development\"\u003e\u003c/a\u003e\n## Development\n### TOC\n\n* [Style and Conventions](#style)\n* [Requirements](#requirements)\n* [Quick Start](#quickstart)\n* [Running all tests](#runtest)\n* [Documentation](#gendoc)\n* [Usage](#usage)\n* [Configuration](CONFIG.md)\n* [Examples](#examples)\n* [Logs](#logs)\n* [Metrics](#metrics)\n* [Profiling](#profiling)\n* [OpenAPI](#openapi)\n* [Docker](#docker)\n\n\n\u003ca name=\"style\"\u003e\u003c/a\u003e\n## Style and Conventions\n\nFor the general style and conventions, please refer to external documents:\nhttps://github.com/uber-go/guide/blob/master/style.md\n\n\n\u003ca name=\"quickstart\"\u003e\u003c/a\u003e\n## Developers' Quick Start\n\nTo quickly get started with this project, follow these steps:\n\n1. Ensure you ahev installed the latest Go version and Python3 for some extra tests.\n1. Clone the repository: `git clone https://github.com/tecnickcom/rndpwd.git`.\n2. Change into the project directory: `cd rndpwd`.\n3. Install the required dependencies and test everything: `DEVMODE=LOCAL make x`.\n\nNow you are ready to start developing with rndpwd!\n\n\nThis project includes a *Makefile* that allows you to test and build the project in a Linux-compatible system with simple commands.  \nAll the artifacts and reports produced using this *Makefile* are stored in the *target* folder.  \n\nAlternatively, everything can be built inside a [Docker](https://www.docker.com) container using the command `make dbuild` that uses the environment defined at `resources/docker/Dockerfile.dev`.\n\nTo see all available options:\n```bash\nmake help\n```\n\n\n\u003ca name=\"runtest\"\u003e\u003c/a\u003e\n## Running all tests\n\nBefore committing the code, please check if it passes all tests using\n```bash\nmake x\n```\n\nthat is an alias for:\n```bash\nDEVMODE=LOCAL make format clean mod deps generate qa build docker dockertest\n```\n\n\n\u003ca name=\"gendoc\"\u003e\u003c/a\u003e\n## Documentation\n\nThe `README.md` and `doc/RUNBOOK.md` documentation files are generated using the source templates in `doc/src` via `make gendoc` command.\n\nTo update links and common information edit the file `doc/src/config.yaml` in YAML format.\nThe schema of the configuration file is defined by the JSON schema: `doc/src/config.schema.json`.\nThe document templates are defined by the `*.tmpl` files in [gomplate](https://docs.gomplate.ca)-compatible format.\n\nTo regenerate the static documentation file:\n```bash\nmake gendoc\n```\n\n\n\u003ca name=\"usage\"\u003e\u003c/a\u003e\n## Usage\n\n```bash\nrndpwd [flags]\n\nFlags:\n\n-c, --configDir  string  Configuration directory to be added on top of the search list\n-f, --logFormat  string  Logging format: CONSOLE, JSON\n-o, --loglevel   string  Log level: EMERGENCY, ALERT, CRITICAL, ERROR, WARNING, NOTICE, INFO, DEBUG\n```\n\n\u003ca name=\"examples\"\u003e\u003c/a\u003e\n## Examples\n\nOnce the application has being compiled with `make build`, it can be quickly tested:\n\n```bash\ntarget/usr/bin/rndpwd -c resources/test/etc/rndpwd\n```\n\n\n\u003ca name=\"logs\"\u003e\u003c/a\u003e\n## Logs\n\nThis program logs the log messages in JSON format:\n\n```\n{\n\t\"level\": \"info\",\n\t\"timestamp\": 1595942715776382171,\n\t\"msg\": \"Request\",\n\t\"program\": \"rndpwd\",\n\t\"version\": \"0.0.0\",\n\t\"release\": \"0\",\n    \"hostname\":\"myserver\",\n\t\"request_id\": \"c4iah65ldoyw3hqec1rluoj93\",\n\t\"request_method\": \"GET\",\n\t\"request_path\": \"/uid\",\n\t\"request_query\": \"\",\n\t\"request_uri\": \"/uid\",\n\t\"request_useragent\": \"curl/7.69.1\",\n\t\"remote_ip\": \"[::1]:36790\",\n\t\"response_code\": 200,\n\t\"response_message\": \"OK\",\n\t\"response_status\": \"success\",\n\t\"response_data\": \"avxkjeyk43av\"\n}\n```\n\nLogs are sent to stderr by default.\n\nThe log level can be set either in the configuration or as command argument (`logLevel`).\n\n\n\u003ca name=\"metrics\"\u003e\u003c/a\u003e\n## Metrics\n\nThis service provides [Prometheus](https://prometheus.io/) metrics at the `/metrics` endpoint.\n\n\n\u003ca name=\"profiling\"\u003e\u003c/a\u003e\n## Profiling\n\nThis service provides [PPROF](https://github.com/google/pprof) profiling data at the `/pprof` endpoint.\n\nThe pprof data can be analyzed and displayed using the pprof tool:\n\n```\ngo get github.com/google/pprof\n```\n\nExample:\n\n```\npprof -seconds 10 -http=localhost:8182 http://INSTANCE_URL:PORT/pprof/profile\n```\n\n\n\u003ca name=\"openapi\"\u003e\u003c/a\u003e\n## OpenAPI\n\nThe rndpwd API is specified via the [OpenAPI 3](https://www.openapis.org/) file: `openapi.yaml`.\n\nThe openapi file can be edited using the Swagger Editor:\n\n```\ndocker pull swaggerapi/swagger-editor\ndocker run -p 8056:8080 swaggerapi/swagger-editor\n```\n\nand pointing the Web browser to http://localhost:8056\n\n\n\u003ca name=\"docker\"\u003e\u003c/a\u003e\n## Docker\n\nTo build a Docker scratch container for the rndpwd executable binary execute the following command:\n```\nmake docker\n```\n\n### Useful Docker commands\n\nTo manually create the container you can execute:\n```\ndocker build --tag=\"tecnickcom/rndpwddev\" .\n```\n\nTo log into the newly created container:\n```\ndocker run -t -i tecnickcom/rndpwddev /bin/bash\n```\n\nTo get the container ID:\n```\nCONTAINER_ID=`docker ps -a | grep tecnickcom/rndpwddev | cut -c1-12`\n```\n\nTo delete the newly created docker container:\n```\ndocker rm -f $CONTAINER_ID\n```\n\nTo delete the docker image:\n```\ndocker rmi -f tecnickcom/rndpwddev\n```\n\nTo delete all containers\n```\ndocker rm $(docker ps -a -q)\n```\n\nTo delete all images\n```\ndocker rmi $(docker images -q)\n```\n\n\n----------\n\n\u003ca name=\"deployment\"\u003e\u003c/a\u003e\n## Deployment\n### Deployment in Production\n\nAdd here information on how to deploy in production.\n\n\n----------\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftecnickcom%2Frndpwd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftecnickcom%2Frndpwd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftecnickcom%2Frndpwd/lists"}