gosecret/README.adoc

65 lines
2.0 KiB
Plaintext
Raw Normal View History

= libsecret/gosecret
Brent Saner <bts@square-r00t.net>
Last updated {localdatetime}
:doctype: book
:docinfo: shared
:data-uri:
:imagesdir: images
:sectlinks:
:sectnums:
:sectnumlevels: 7
:toc: preamble
:toc2: left
:idprefix:
:toclevels: 7
:source-highlighter: rouge
2021-11-26 00:01:49 -05:00
image::https://pkg.go.dev/badge/r00t2.io/gosecret.svg[link="https://pkg.go.dev/r00t2.io/gosecret"]
This project is originally forked from https://github.com/gsterjov/go-libsecret[go-libsecret^] due to:
* Lack of response from the developer
* Complete lack of documentation
* Poor, ineffecient, or just plain antipattern design
* Missing functionality
and as such, hopefully this library should serve as a more effective libsecret/SecretService interface.
== Backwards Compatability/Drop-In Replacement Support
Version series `v0.X.X` of this library promises full and non-breaking backwards support of API interaction with the original project. The only changes should be internal optimizations, adding documentation, some file reorganizing, adding Golang module support, etc. -- all transparent from the library API itself.
To use this library as a replacement without significantly modifying your code, you can simply use a `replace` directive:
// TODO: did I do this correctly? I never really use replacements so someone PR if this is incorrect.
.go.mod
[source]
----
2021-11-26 00:01:49 -05:00
// ...
replace (
github.com/gsterjov/go-libsecret dev => r00t2.io/gosecret v0
)
----
and then run `go mod tidy`.
== New Developer API
Starting from `v1.0.0` onwards, entirely breaking changes can be assumed from the original project.
To use the new version,
[source,go]
----
import (
2021-11-26 00:01:49 -05:00
`r00t2.io/gosecret/v1`
)
----
To reflect the absolute breaking changes, the module name changes as well from `libsecret` to `gosecret`.
== Usage
Full documentation can be found via inline documentation. Either via the https://pkg.go.dev/r00t2.io/gosecret[pkg.go.dev documentation^] or https://pkg.go.dev/golang.org/x/tools/cmd/godoc[`godoc`^] (or `go doc`) in the source root.
////
However, here's a quick demonstration.
////