Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/flywirecorp/glare
Ruby gem for CloudFlare API v4
https://github.com/flywirecorp/glare
cloudflare cloudflare-account cloudflare-api dns-record hacktoberfest ruby ruby-gem rubygems
Last synced: about 2 months ago
JSON representation
Ruby gem for CloudFlare API v4
- Host: GitHub
- URL: https://github.com/flywirecorp/glare
- Owner: flywirecorp
- License: mit
- Created: 2016-05-10T13:40:34.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2023-01-25T14:43:15.000Z (almost 2 years ago)
- Last Synced: 2024-09-17T14:00:20.719Z (4 months ago)
- Topics: cloudflare, cloudflare-account, cloudflare-api, dns-record, hacktoberfest, ruby, ruby-gem, rubygems
- Language: Ruby
- Homepage:
- Size: 149 KB
- Stars: 14
- Watchers: 40
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Glare
Ruby gem to interact with CloudFlare API v4
## Build Status
[![Build Status](https://github.com/peertransfer/glare/actions/workflows/ruby.yml/badge.svg)](https://github.com/peertransfer/glare/actions)
[![Code Climate](https://codeclimate.com/github/peertransfer/glare/badges/gpa.svg)](https://codeclimate.com/github/peertransfer/glare)
[![Known Vulnerabilities](https://snyk.io/test/github/peertransfer/glare/badge.svg)](https://snyk.io/test/github/peertransfer/glare)## Installation
Add this line to your application's Gemfile:
```ruby
gem 'glare'
```And then execute:
$ bundle
Or install it yourself as:
$ gem install glare
## Usage
In order to configure credentials used to interact with Cloudflare API you will need to setup the following environment variable:
- `CF_API_TOKEN`: Scoped API [token](https://support.cloudflare.com/hc/en-us/articles/200167836-Managing-API-Tokens-and-Keys) defined in a Cloudflare account
or both of the following variables:
- `CF_EMAIL`: Email used to create a Cloudflare account
- `CF_AUTH_KEY`: Auth key of the given userAdditionally, you can set other environment variables:
- `CF_DEBUG`: Set to `1` to enable HTTP requests' debug
### Create/update DNS record
```ruby
require 'glare'Glare.register('example.domain.com', 'destination.com' ,'CNAME')
Glare.register('example.domain.com', 'destination.com' ,'CNAME', proxied: true)
Glare.register('example.domain.com', 'destination.com' ,'CNAME', ttl: 300)
```Where:
- `example.domain.com`: Name of the record to create
- `destination.com`: Name(s) of the values of the record
- `CNAME`: Type of the DNS record### Delete DNS record
```ruby
require 'glare'Glare.deregister('example.domain.com', 'CNAME')
```Where:
- `example.domain.com`: Name of the record to destroy
- `CNAME`: Type of the DNS record### Resolve DNS record
```ruby
require 'glare'Glare.resolve('example.domain.com', 'CNAME')
```Where:
- `example.domain.com`: Name of the record to resolve
- `CNAME`: Type of the DNS record## Development
After checking out the repo, run `bin/setup` to install dependencies. Then, run `bin/console` for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release` to create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
## Contributing
1. Fork it ( https://github.com/peertransfer/glare/fork )
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create a new Pull Request