{"id":17645592,"url":"https://github.com/sgaunet/dsn","last_synced_at":"2025-02-27T10:50:06.780Z","repository":{"id":61626982,"uuid":"545075608","full_name":"sgaunet/dsn","owner":"sgaunet","description":"golang library to handle data source name : scheme://user:password@host:port/dbname\u0026sslmode=disable","archived":false,"fork":false,"pushed_at":"2025-02-23T19:57:06.000Z","size":37,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-23T20:32:59.051Z","etag":null,"topics":["cli","data-source-name","dsn","golang","library"],"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/sgaunet.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-10-03T18:36:05.000Z","updated_at":"2025-02-23T19:57:07.000Z","dependencies_parsed_at":"2024-03-11T21:42:44.711Z","dependency_job_id":"5d3e9ab1-31c5-4012-9f8e-ee0e8e951a96","html_url":"https://github.com/sgaunet/dsn","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sgaunet%2Fdsn","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sgaunet%2Fdsn/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sgaunet%2Fdsn/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sgaunet%2Fdsn/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sgaunet","download_url":"https://codeload.github.com/sgaunet/dsn/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241005644,"owners_count":19892831,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["cli","data-source-name","dsn","golang","library"],"created_at":"2024-10-23T10:57:44.299Z","updated_at":"2025-02-27T10:50:06.775Z","avatar_url":"https://github.com/sgaunet.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Go Report Card](https://goreportcard.com/badge/github.com/sgaunet/dsn)](https://goreportcard.com/report/github.com/sgaunet/dsn)\n![GitHub Downloads](https://img.shields.io/github/downloads/sgaunet/dsn/total)\n![GitHub Release](https://img.shields.io/github/v/release/sgaunet/dsn)\n![Test Coverage](https://raw.githubusercontent.com/wiki/sgaunet/dsn/coverage-badge.svg)\n\n\n# dsn\n\nTiny library to handle data source name : scheme://user:password@host:port/dbname\u0026sslmode=disable\n\nIt's really dumb but useful for me at least.\n\n\nAnd now it's a binary that can be used in bash script.\n\n```\n$ eval $(dsn setenv --d \"pg://login:password@host/mydb?timeout=1000\"  --pr DB_)\n$ echo $DB_HOST\nhost\n```\n\n# Install\n\n## Option 1\n\n* Download the release\n* Install the binary in /usr/local/bin \n\n## Option 2: With brew\n\n```\nbrew tap sgaunet/homebrew-tools\nbrew install sgaunet/tools/dsn\n```\n\n## Option 3: Docker image\n\nPossibility to copy the binary by using the docker image\n\n```\nFROM sgaunet/dsn:latest as builder\n\nFROM ....\nCOPY --from builder /dsn /usr/bin/dsn\n```\n\n# Development\n\n\nThis project is using :\n\n* golang 1.19+\n* [task for development](https://taskfile.dev/#/)\n* docker\n* [docker buildx](https://github.com/docker/buildx)\n* docker manifest\n* [goreleaser](https://goreleaser.com/)\n\nThe docker image is only created to simplify the copy of dsn in another docker image.\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsgaunet%2Fdsn","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsgaunet%2Fdsn","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsgaunet%2Fdsn/lists"}