Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve table docs #17

Merged
merged 10 commits into from
Dec 12, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .github/workflows/steampipe-anywhere.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
name: Release Steampipe Anywhere Components

on:
push:
tags:
- 'v*'


jobs:
anywhere_publish_workflow:
uses: turbot/steampipe-workflows/.github/workflows/steampipe-anywhere.yml@main
secrets: inherit
24 changes: 21 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,18 @@ from
+-----------------+-----------------------------------------------------+--------+---------+
```

## Engines

This plugin is available for the following engines:

| Engine | Description
|---------------|------------------------------------------
| [Steampipe](https://steampipe.io/docs) | The Steampipe CLI exposes APIs and services as a high-performance relational database, giving you the ability to write SQL-based queries to explore dynamic data. Mods extend Steampipe's capabilities with dashboards, reports, and controls built with simple HCL. The Steampipe CLI is a turnkey solution that includes its own Postgres database, plugin management, and mod support.
| [Postgres FDW](https://steampipe.io/docs/steampipe_postgres/index) | Steampipe Postgres FDWs are native Postgres Foreign Data Wrappers that translate APIs to foreign tables. Unlike Steampipe CLI, which ships with its own Postgres server instance, the Steampipe Postgres FDWs can be installed in any supported Postgres database version.
| [SQLite Extension](https://steampipe.io/docs//steampipe_sqlite/index) | Steampipe SQLite Extensions provide SQLite virtual tables that translate your queries into API calls, transparently fetching information from your API or service as you request it.
| [Export](https://steampipe.io/docs/steampipe_export/index) | Steampipe Plugin Exporters provide a flexible mechanism for exporting information from cloud services and APIs. Each exporter is a stand-alone binary that allows you to extract data using Steampipe plugins without a database.
| [Turbot Pipes](https://turbot.com/pipes/docs) | Turbot Pipes is the only intelligence, automation & security platform built specifically for DevOps. Pipes provide hosted Steampipe database instances, shared dashboards, snapshots, and more.

## Developing

Prerequisites:
Expand Down Expand Up @@ -107,11 +119,17 @@ Further reading:
- [Writing plugins](https://steampipe.io/docs/develop/writing-plugins)
- [Writing your first table](https://steampipe.io/docs/develop/writing-your-first-table)

## Contributing
## Open Source & Contributing

This repository is published under the [Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0) (source code) and [CC BY-NC-ND](https://creativecommons.org/licenses/by-nc-nd/2.0/) (docs) licenses. Please see our [code of conduct](https://github.com/turbot/.github/blob/main/CODE_OF_CONDUCT.md). We look forward to collaborating with you!

[Steampipe](https://steampipe.io) is a product produced from this open source software, exclusively by [Turbot HQ, Inc](https://turbot.com). It is distributed under our commercial terms. Others are allowed to make their own distribution of the software, but cannot use any of the Turbot trademarks, cloud services, etc. You can learn more in our [Open Source FAQ](https://turbot.com/open-source).

## Get Involved

Please see the [contribution guidelines](https://github.com/turbot/steampipe/blob/main/CONTRIBUTING.md) and our [code of conduct](https://github.com/turbot/steampipe/blob/main/CODE_OF_CONDUCT.md). All contributions are subject to the [Apache 2.0 open source license](https://github.com/turbot/steampipe-plugin-godaddy/blob/main/LICENSE).
**[Join #steampipe on Slack →](https://turbot.com/community/join)**

`help wanted` issues:
Want to help but don't know where to start? Pick up one of the `help wanted` issues:

- [Steampipe](https://github.com/turbot/steampipe/labels/help%20wanted)
- [GoDaddy Plugin](https://github.com/turbot/steampipe-plugin-godaddy/labels/help%20wanted)
402 changes: 402 additions & 0 deletions docs/LICENSE

Large diffs are not rendered by default.

6 changes: 2 additions & 4 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,14 @@ short_name: "godaddy"
description: "Steampipe plugin to query domains, orders, certificates and more from GoDaddy."
og_description: "Query GoDaddy with SQL! Open source CLI. No DB required."
og_image: "/images/plugins/turbot/godaddy-social-graphic.png"
engines: ["steampipe", "sqlite", "postgres", "export"]
---

# GoDaddy + Steampipe

[GoDaddy](https://godaddy.com) is a publicly traded internet domain registrar and web hosting company. It provides services such as domain registration, website hosting, website building, and email hosting for individuals and businesses.

[Steampipe](https://steampipe.io) is an open source CLI to instantly query cloud APIs using SQL.
[Steampipe](https://steampipe.io) is an open-source zero-ETL engine to instantly query cloud APIs using SQL.

List your GoDaddy domains:

Expand Down Expand Up @@ -90,7 +91,4 @@ export GODADDY_API_SECRET=DjfrsqEBA4vVjsdsdsdieDShdjs
export GODADDY_ENVIRONMENT=DEV
```

## Get involved

- Open source: https://github.com/turbot/steampipe-plugin-godaddy
- Community: [Join #steampipe on Slack →](https://turbot.com/community/join)
74 changes: 68 additions & 6 deletions docs/tables/godaddy_certificate.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,43 @@
# Table: godaddy_certificate
---
title: "Steampipe Table: godaddy_certificate - Query GoDaddy Certificates using SQL"
description: "Allows users to query GoDaddy Certificates, specifically providing information about the certificate's common name, issuer, serial number, and validity period."
---

GoDaddy is a popular Certificate Authority (CA) that issues digital certificates for websites and other online services. These certificates provide a secure communication channel between users and websites by encrypting the data being transmitted. GoDaddy issues various types of certificates, including Domain Validated (DV), Organization Validated (OV), and Extended Validation (EV) certificates, depending on the level of validation required by the user. These certificates have varying levels of trust and security features, and they can be used for a range of purposes, including securing e-commerce transactions, protecting sensitive information, and establishing a trustworthy online presence. Overall, GoDaddy certificates play a critical role in online security, helping to safeguard sensitive data and build trust between businesses and their customers.
# Table: godaddy_certificate - Query GoDaddy Certificates using SQL

Note: To query this table you must provide a valid `certificate_id` in the `where` clause.
GoDaddy Certificate is a digital certificate used to secure websites and enable HTTPS. These certificates are issued by GoDaddy, a popular web hosting company and domain registrar. GoDaddy Certificates provide encryption, data integrity, and authentication, ensuring secure communication between a client and the server.

## Table Usage Guide

The `godaddy_certificate` table provides insights into GoDaddy Certificates. As a security analyst, you can leverage this table to gather detailed information about each certificate, including its common name, issuer, serial number, and validity period. This can aid in managing and monitoring the security of your web applications and services hosted on GoDaddy.

**Important Notes**
- You must specify the `certificate_id` in the `where` clause to query this table.

## Examples

### Basic info
Discover the segments that are related to a specific GoDaddy certificate. This query can be used to gain insights into the status, validity period, and revocation details of a certificate, which is beneficial for managing and tracking your SSL certificates.

```sql
```sql+postgres
select
common_name,
status,
certificate_id,
serial_number,
created_at,
organization,
root_type,
valid_start,
valid_end,
revoked_at
from
godaddy_certificate
where
certificate_id ='14a42b6a799d4985b5c5e5e5f5d4249b';
```

```sql+sqlite
select
common_name,
status,
Expand All @@ -27,8 +56,25 @@ where
```

### List of revoked certificates
Discover the segments that contain revoked certificates to maintain the security and integrity of your network. This can be particularly useful in identifying potential vulnerabilities or malicious activities.

```sql+postgres
select
common_name,
status,
certificate_id,
serial_number,
created_at,
valid_start,
valid_end
from
godaddy_certificate
where
certificate_id in ('14a42b6a799d4985b5c5e5e5f5d4249b','14a42b6a799d4985b5c5e5e5f5d4249f')
and status = 'REVOKED';
```

```sql
```sql+sqlite
select
common_name,
status,
Expand All @@ -45,8 +91,9 @@ where
```

### Get contact details of a specific certificate
This query is used to gather detailed contact information related to a specific certificate from GoDaddy. This can be particularly useful when you need to reach out to the certificate holder for any updates or issues.

```sql
```sql+postgres
select
common_name,
contact ->> 'Email' as contact_email,
Expand All @@ -60,3 +107,18 @@ from
where
certificate_id = '14a42b6a799d4985b5c5e5e5f5d4249b';
```

```sql+sqlite
select
common_name,
json_extract(contact, '$.Email') as contact_email,
json_extract(contact, '$.Fax') as contact_fax,
json_extract(contact, '$.NameFirst') as contact_first_name,
json_extract(contact, '$.NameLast') as contact_last_name,
json_extract(contact, '$.Organization') as contact_organization,
json_extract(contact, '$.Phone') as contact_phone
from
godaddy_certificate
where
certificate_id = '14a42b6a799d4985b5c5e5e5f5d4249b';
```
120 changes: 111 additions & 9 deletions docs/tables/godaddy_dns_record.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,37 @@
# Table: godaddy_dns_record
---
title: "Steampipe Table: godaddy_dns_record - Query GoDaddy DNS Records using SQL"
description: "Allows users to query GoDaddy DNS Records, providing a complete overview of all the DNS records associated with the user's domain."
---

GoDaddy is a popular web hosting and domain registrar company that offers various subscription plans for individuals and businesses. A DNS record in GoDaddy specifies the mapping between a domain name and an IP address or other information. DNS records are used to translate human-friendly domain names, such as example.com, into machine-readable IP addresses, such as 192.0.2.1, that are used to route traffic over the internet. Different types of DNS records serve different purposes, such as mapping a domain name to an IP address (A record), specifying a mail server for the domain (MX record), or defining aliases for the domain (CNAME record).
# Table: godaddy_dns_record - Query GoDaddy DNS Records using SQL

**Note**: To filter the resource using `name`; you must set `type` in the where clause.
GoDaddy DNS Records are a critical part of the GoDaddy domain hosting service. They allow users to control the domain's email settings, website location, and other important aspects of their internet presence. By managing DNS records, users can direct web traffic to their desired location, configure email routing, and ensure secure and reliable operation of their domain.

## Table Usage Guide

The `godaddy_dns_record` table provides insights into DNS records within GoDaddy's domain hosting service. As a network administrator or website owner, explore specific details through this table, including record type, name, and data. Utilize it to manage and monitor your DNS records, ensuring your domain's web traffic and email routing are correctly configured and operating as intended.

**Important Notes**
- To filter the resource using `name`, you must set `type` in the where clause.

## Examples

### Basic info
Explore which domain names are associated with your GoDaddy DNS records. This query can help you gain insights into your DNS configuration, including the protocol and type of each record, which could be beneficial for managing and troubleshooting your network.

```sql
```sql+postgres
select
name,
domain_name,
data,
protocol,
type,
ttl
from
godaddy_dns_record;
```

```sql+sqlite
select
name,
domain_name,
Expand All @@ -21,8 +44,23 @@ from
```

### List all DNS records for a specific domain name
Explore all DNS records associated with a specific domain name. This can be useful for understanding and managing the various services and protocols tied to your domain.

```sql
```sql+postgres
select
name,
data,
protocol,
type,
service,
ttl
from
godaddy_dns_record
where
domain_name = 'example.com';
```

```sql+sqlite
select
name,
data,
Expand All @@ -37,8 +75,24 @@ where
```

### List all DNS records of a specific type for a specific domain name
Determine the specific DNS records associated with a particular domain name. This query can be used to gain insights into the configuration and settings of a domain, which can be beneficial for troubleshooting or optimization purposes.

```sql+postgres
select
name,
data,
protocol,
type,
service,
ttl
from
godaddy_dns_record
where
domain_name = 'example.com'
and type = 'A';
```

```sql
```sql+sqlite
select
name,
data,
Expand All @@ -54,8 +108,9 @@ where
```

### List all DNS records with a TTL less than or equal to a certain value
Explore DNS records that have a time-to-live (TTL) value of 3600 seconds or less. This can be useful for identifying domains that may require frequent updates or are more susceptible to potential caching issues.

```sql
```sql+postgres
select
name,
domain_name,
Expand All @@ -70,9 +125,40 @@ where
ttl <= '3600';
```

```sql+sqlite
select
name,
domain_name,
data,
protocol,
type,
service,
ttl
from
godaddy_dns_record
where
ttl <= 3600;
```

### List all DNS records with a specific data value
Explore DNS records that are associated with a specific IP address. This is useful for identifying potential anomalies or inconsistencies in your DNS configuration.

```sql+postgres
select
name,
domain_name,
data,
protocol,
type,
service,
ttl
from
godaddy_dns_record
where
data = '192.168.1.1';
```

```sql
```sql+sqlite
select
name,
domain_name,
Expand All @@ -88,8 +174,9 @@ where
```

### List all DNS records with a specific priority value
Determine the areas in which DNS records have been assigned a specific priority value. This is useful for assessing the configuration of your domain names and ensuring that the most important records have the correct priority level.

```sql
```sql+postgres
select
name,
domain_name,
Expand All @@ -103,3 +190,18 @@ from
where
priority = '10';
```

```sql+sqlite
select
name,
domain_name,
data,
protocol,
type,
service,
ttl
from
godaddy_dns_record
where
priority = '10';
```
Loading