https://github.com/dcos/dcos-go
DC/OS golang shared libraries
https://github.com/dcos/dcos-go
dcos dcos-testing-guild
Last synced: about 1 year ago
JSON representation
DC/OS golang shared libraries
- Host: GitHub
- URL: https://github.com/dcos/dcos-go
- Owner: dcos
- License: apache-2.0
- Created: 2016-09-26T20:45:14.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2021-06-07T11:19:37.000Z (about 5 years ago)
- Last Synced: 2024-06-18T17:45:00.606Z (almost 2 years ago)
- Topics: dcos, dcos-testing-guild
- Language: Go
- Homepage:
- Size: 13.8 MB
- Stars: 15
- Watchers: 9
- Forks: 24
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# dcos-go - DC/OS golang shared packages
[](https://jenkins.mesosphere.com/service/jenkins/job/public-dcos-go/job/public-dcos-go-master/)
[](https://godoc.org/github.com/dcos/dcos-go)
[](https://goreportcard.com/report/github.com/dcos/dcos-go)
This repository exists to collect commonly shared Go code within Mesosphere. It can include code that is specific to DC/OS and can also include code that is more utilitarian in nature.
## Contributing
Everyone is welcome to submit Pull Requests.
If you find yourself writing the same code more than once in separate projects, or have seen the same code in more than one project, it may be a good candidate for inclusion into this repository. Be sure to ask on the [mailing list](https://groups.google.com/a/mesosphere.io/forum/#!forum/go) if you are unsure before contributing.
Pull requests should adhere to the following guidelines:
* Reviewer first: create your changeset with care for the reviewer.
* The changeset should have a good description.
* Each commit in the changeset should have a description as well as be focused on one thing.
* Code must be tested
* Code should be written with care to allow for non-breaking changes going forward
* If introducing a new package, the package should have a `doc.go` file which describes the purpose of the package.
* Try not to introduce external dependencies unless necessary.
## External Libraries
This project uses `go mod` to manage external dependencies. External libs are vendored into the `/vendor` directory. There is one set of dependencies for all of the packages that live in this project. If you need to make a change to one of the dependencies, at the current time it will need to be compatible with all of the packages. A passing CI build will ensure this.
## Packages In This Library
- [dcos](/dcos/): Common constants and helpers
- [dcos/http/transport](/dcos/http/transport/README.md) : HTTP transport with JWT token support
- [dcos/nodeutil](/dcos/nodeutil/README.md) : Interact with DC/OS services and variables
- [store](/store/README.md) : In-Memory key/value store.
- [zkstore](/zkstore/README.md): ZK-based blob storage.
- [elector](/elector/README.md): Leadership election.
Note that this package list is manually updated in this README. There is some discussion about automating this process. You can track the progress of this effort by following [this ticket](https://jira.mesosphere.com/browse/DCOS_OSS-1475).
## OSS Projects Using This Library
- [dcos-log](https://github.com/dcos/dcos-log)
- [dcos-metrics](https://github.com/dcos/dcos-metrics)
## License
Licensed under the [Apache License, Version 2.0](LICENSE).