Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
4fd2456
chore(deps): bump alpine from 3.16.3 to 3.17.0
dependabot[bot] Nov 28, 2022
bd96aa4
chore(deps): bump github.com/Azure/azure-sdk-for-go
dependabot[bot] Nov 28, 2022
834af67
chore(deps): bump github.com/digitalocean/godo from 1.89.0 to 1.91.1
dependabot[bot] Nov 28, 2022
89d61e5
chore(deps): bump github.com/projectdiscovery/goflags
dependabot[bot] Nov 28, 2022
60cdcb7
Merge pull request #262 from projectdiscovery/dependabot/docker/dev/a…
ehsandeep Dec 10, 2022
5e6a4e6
Merge pull request #263 from projectdiscovery/dependabot/go_modules/d…
ehsandeep Dec 10, 2022
c553dc6
Merge pull request #264 from projectdiscovery/dependabot/go_modules/d…
ehsandeep Dec 10, 2022
4789565
Merge pull request #265 from projectdiscovery/dependabot/go_modules/d…
ehsandeep Dec 10, 2022
8e9bb76
Add Openstack support (#261)
S0obi Dec 16, 2022
13314c6
chore(deps): bump github.com/hashicorp/consul/api from 1.15.3 to 1.18.0
dependabot[bot] Dec 16, 2022
43ba836
chore(deps): bump goreleaser/goreleaser-action from 3 to 4
dependabot[bot] Dec 19, 2022
e3424db
chore(deps): bump github.com/hetznercloud/hcloud-go
dependabot[bot] Jan 2, 2023
6cf3cd1
chore(deps): bump golangci/golangci-lint-action from 3.3.1 to 3.4.0
dependabot[bot] Jan 30, 2023
2558985
chore(deps): bump docker/build-push-action from 3 to 4
dependabot[bot] Feb 6, 2023
cead588
chore(deps): bump golang from 1.19.3-alpine to 1.20.0-alpine
dependabot[bot] Feb 6, 2023
248552f
chore(deps): bump google.golang.org/api from 0.103.0 to 0.109.0
dependabot[bot] Feb 6, 2023
82d6a71
Merge pull request #288 from projectdiscovery/dependabot/docker/dev/g…
Mzack9999 Feb 9, 2023
cef03b3
Merge pull request #290 from projectdiscovery/dependabot/go_modules/d…
Mzack9999 Feb 9, 2023
a1a3ec5
Merge pull request #287 from projectdiscovery/dependabot/github_actio…
Mzack9999 Feb 9, 2023
1dce118
Merge pull request #272 from projectdiscovery/dependabot/go_modules/d…
Mzack9999 Feb 9, 2023
7be6386
Merge pull request #273 from projectdiscovery/dependabot/github_actio…
Mzack9999 Feb 9, 2023
86088a8
Merge pull request #286 from projectdiscovery/dependabot/github_actio…
Mzack9999 Feb 9, 2023
c991e50
Merge pull request #276 from projectdiscovery/dependabot/go_modules/d…
Mzack9999 Feb 9, 2023
38eaf24
chore(deps): bump github.com/scaleway/scaleway-sdk-go
dependabot[bot] Feb 9, 2023
62c4995
Merge pull request #291 from projectdiscovery/dependabot/go_modules/d…
Mzack9999 Feb 9, 2023
c8c4a58
chore(deps): bump alpine from 3.17.0 to 3.17.1 (#279)
dependabot[bot] Feb 9, 2023
43f09f0
chore(deps): bump github.com/digitalocean/godo from 1.91.1 to 1.97.0 …
dependabot[bot] Mar 6, 2023
911bb46
chore(deps): bump github.com/projectdiscovery/gologger (#296)
dependabot[bot] Mar 6, 2023
f0a6c00
chore(deps): bump golang from 1.20.0-alpine to 1.20.1-alpine (#297)
dependabot[bot] Mar 6, 2023
1328443
chore(deps): bump github.com/projectdiscovery/goflags (#302)
dependabot[bot] Mar 15, 2023
0fd6271
chore(deps): bump golang from 1.20.1-alpine to 1.20.2-alpine (#307)
dependabot[bot] Mar 15, 2023
1adfa2a
chore(deps): bump github.com/digitalocean/godo from 1.97.0 to 1.98.0 …
dependabot[bot] Mar 15, 2023
ae3137b
chore(deps): bump alpine from 3.17.1 to 3.17.2 (#292)
dependabot[bot] Mar 15, 2023
a4f3a65
chore(deps): bump github.com/scaleway/scaleway-sdk-go (#308)
dependabot[bot] Mar 15, 2023
7d190a0
add self update option (#314)
RamanaReddy0M Mar 15, 2023
b8c7272
Add DigitalOcean Apps as a host provider (#305)
olearycrew Mar 15, 2023
930d228
chore(deps): bump github.com/projectdiscovery/utils (#312)
dependabot[bot] Mar 15, 2023
e1b91cd
Add support for cloudflare scoped_api_token (#222) (#327)
RamanaReddy0M Apr 10, 2023
35bb0fc
chore(deps): bump actions/setup-go from 3 to 4 (#318)
dependabot[bot] Apr 10, 2023
7bc4c3c
chore(deps): bump github.com/stretchr/testify from 1.8.1 to 1.8.2 (#319)
dependabot[bot] Apr 10, 2023
50d3a68
chore(deps): bump github.com/Azure/go-autorest/autorest/azure/auth (#…
dependabot[bot] Apr 10, 2023
c00acc9
chore(deps): bump github.com/hashicorp/consul/api from 1.18.0 to 1.20…
dependabot[bot] Apr 10, 2023
51d2b77
chore(deps): bump golang from 1.20.2-alpine to 1.20.3-alpine (#332)
dependabot[bot] Apr 10, 2023
3f6bc28
chore(deps): bump alpine from 3.17.2 to 3.17.3 (#323)
dependabot[bot] Apr 10, 2023
8a25f89
chore(deps): bump golang.org/x/oauth2 from 0.5.0 to 0.7.0 (#331)
dependabot[bot] Apr 10, 2023
dbbc118
Added AWS S3 provider (#316)
sl1nki Apr 10, 2023
660da4f
chore(deps): bump github.com/cloudflare/cloudflare-go from 0.53.0 to …
dependabot[bot] Apr 11, 2023
ba8df53
Add K8S as provider and GKE in GCP (#329)
ShubhamRasal Apr 11, 2023
5699fcf
Commit message: Update version of cloudlist and add Discord webhook t…
ehsandeep Apr 11, 2023
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
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@ name: 🔨 Build Test

on:
pull_request:
paths:
- '**.go'
- '**.mod'
workflow_dispatch:

jobs:
Expand All @@ -10,11 +13,11 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
go-version: [1.18.x, 1.19.x]
go-version: [1.19.x]
os: [ubuntu-latest, windows-latest, macOS-12]
steps:
- name: Set up Go
uses: actions/setup-go@v3
uses: actions/setup-go@v4
with:
go-version: ${{ matrix.go-version }}

Expand Down
5 changes: 3 additions & 2 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,9 @@ name: 🚨 CodeQL Analysis
on:
workflow_dispatch:
pull_request:
branches:
- dev
paths:
- '**.go'
- '**.mod'

jobs:
analyze:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/dockerhub-push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ on:

jobs:
docker:
runs-on: ubuntu-latest
runs-on: ubuntu-latest-16-cores
steps:
- name: Git Checkout
uses: actions/checkout@v3
Expand All @@ -32,7 +32,7 @@ jobs:
password: ${{ secrets.DOCKER_TOKEN }}

- name: Build and push
uses: docker/build-push-action@v3
uses: docker/build-push-action@v4
with:
context: .
platforms: linux/amd64,linux/arm64
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@ name: 🙏🏻 Lint Test

on:
pull_request:
paths:
- '**.go'
- '**.mod'
workflow_dispatch:

jobs:
Expand All @@ -10,13 +13,13 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Set up Go
uses: actions/setup-go@v3
uses: actions/setup-go@v4
with:
go-version: 1.18
go-version: 1.19
- name: Checkout code
uses: actions/checkout@v3
- name: Run golangci-lint
uses: golangci/golangci-lint-action@v3.3.1
uses: golangci/golangci-lint-action@v3.4.0
with:
version: latest
args: --timeout 5m
Expand Down
27 changes: 27 additions & 0 deletions .github/workflows/release-binary.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: 🎉 Release Binary

on:
push:
tags:
- '*'
workflow_dispatch:

jobs:
release:
runs-on: ubuntu-latest-16-cores
steps:
- uses: actions/checkout@v3
- uses: actions/setup-go@v4
with:
go-version: 1.19

- uses: goreleaser/goreleaser-action@v4
with:
args: "release --rm-dist"
version: latest
workdir: .
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
SLACK_WEBHOOK: "${{ secrets.RELEASE_SLACK_WEBHOOK }}"
DISCORD_WEBHOOK_ID: "${{ secrets.DISCORD_WEBHOOK_ID }}"
DISCORD_WEBHOOK_TOKEN: "${{ secrets.DISCORD_WEBHOOK_TOKEN }}"
25 changes: 0 additions & 25 deletions .github/workflows/release.yml

This file was deleted.

34 changes: 0 additions & 34 deletions .github/workflows/sonarcloud.yml

This file was deleted.

2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@

cmd/cloudlist/cloudlist
.DS_Store
dist
6 changes: 5 additions & 1 deletion .goreleaser.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,4 +42,8 @@ announce:
enabled: true
channel: '#release'
username: GoReleaser
message_template: '{{ .ProjectName }} {{ .Tag }} is out! Check it out at {{ .ReleaseURL }}'
message_template: 'New Release: {{ .ProjectName }} {{.Tag}} is published! Check it out at {{ .ReleaseURL }}'

discord:
enabled: true
message_template: '**New Release: {{ .ProjectName }} {{.Tag}}** is published! Check it out at {{ .ReleaseURL }}'
15 changes: 10 additions & 5 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,10 +1,15 @@
FROM golang:1.19.3-alpine AS builder
RUN apk add --no-cache git
RUN go install -v github.com/projectdiscovery/cloudlist/cmd/cloudlist@latest
# Base
FROM golang:1.20.1-alpine AS builder
RUN apk add --no-cache build-base
WORKDIR /app
COPY . /app
RUN go mod download
RUN go build ./cmd/cloudlist

FROM alpine:3.16.3
# Release
FROM alpine:3.17.2
RUN apk -U upgrade --no-cache \
&& apk add --no-cache bind-tools ca-certificates
COPY --from=builder /go/bin/cloudlist /usr/local/bin/
COPY --from=builder /app/cloudlist /usr/local/bin/

ENTRYPOINT ["cloudlist"]
20 changes: 20 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Go parameters
GOCMD=go
GOBUILD=$(GOCMD) build
GOMOD=$(GOCMD) mod
GOTEST=$(GOCMD) test
GOFLAGS := -v
# This should be disabled if the binary uses pprof
LDFLAGS := -s -w

ifneq ($(shell go env GOOS),darwin)
LDFLAGS := -extldflags "-static"
endif

all: build
build:
$(GOBUILD) $(GOFLAGS) -ldflags '$(LDFLAGS)' -o "cloudlist" cmd/cloudlist/main.go
test:
$(GOTEST) $(GOFLAGS) ./...
tidy:
$(GOMOD) tidy
47 changes: 35 additions & 12 deletions PROVIDERS.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Amazon Web Services can be integrated by using the following configuration block
```yaml
- # provider is the name of the provider
provider: aws
id is the name defined by user for filtering (optional)
# id is the name defined by user for filtering (optional)
id: staging
# aws_access_key is the access key for AWS account
aws_access_key: $AWS_ACCESS_KEY
Expand Down Expand Up @@ -35,7 +35,7 @@ Google Cloud Platform can be integrated by using the following configuration blo
```yaml
- # provider is the name of the provider
provider: gcp
id is the name defined by user for filtering (optional)
# id is the name defined by user for filtering (optional)
id: staging
# gcp_service_account_key is the key token of service account.
gcp_service_account_key: '{}'
Expand All @@ -58,7 +58,7 @@ Microsoft Azure can be integrated by using the following configuration block.
```yaml
- # provider is the name of the provider
provider: azure
id is the name defined by user for filtering (optional)
# id is the name defined by user for filtering (optional)
id: staging
# client_id is the client ID of registered application of the azure account (not requuired if using cli auth)
client_id: $AZURE_CLIENT_ID
Expand Down Expand Up @@ -134,6 +134,8 @@ Cloudflare can be integrated by using the following configuration block.
email: $CF_EMAIL
# api_key is the api_key for cloudflare
api_key: $CF_API_KEY
# api_token is the scoped_api_token for cloudflare (optional)
api_token: $CF_API_TOKEN
```

`api_key` can be generated from Cloudflare API Key manager. It needs to be Global API Key due to limitation of cloudflare new API tokens.
Expand All @@ -148,7 +150,7 @@ Heroku can be integrated by using the following configuration block.
```yaml
- # provider is the name of the provider
provider: heroku
id is the name defined by user for filtering (optional)
# id is the name defined by user for filtering (optional)
id: staging
# heroku_api_token is the authorization token for Heroku account
heroku_api_token: $HEROKU_API_TOKEN
Expand Down Expand Up @@ -179,7 +181,7 @@ Fastly can be integrated by using the following configuration block.
```yaml
- # provider is the name of the provider
provider: fastly
id is the name defined by user for filtering (optional)
# id is the name defined by user for filtering (optional)
id: staging
# fastly_api_key is the personal API token for fastly account
fastly_api_key: $FASTLY_API_KEY
Expand All @@ -198,7 +200,7 @@ Linode can be integrated by using the following configuration block.
```yaml
- # provider is the name of the provider
provider: linode
id is the name defined by user for filtering (optional)
# id is the name defined by user for filtering (optional)
id: staging
# linode_personal_access_token is the personal access token for Linode account
linode_personal_access_token: $LINODE_PERSONAL_ACCESS_TOKEN
Expand All @@ -217,7 +219,7 @@ Namecheap can be integrated by using the following configuration block.
```yaml
- # provider is the name of the provider
provider: namecheap
id is the name defined by user for filtering (optional)
# id is the name defined by user for filtering (optional)
id: staging
# namecheap_api_key is the api key for namecheap account
namecheap_api_key: $NAMECHEAP_API_KEY
Expand All @@ -243,7 +245,7 @@ Alibaba Cloud can be integrated by using the following configuration block.
```yaml
- # provider is the name of the provider
provider: alibaba
id is the name defined by user for filtering (optional)
# id is the name defined by user for filtering (optional)
id: staging
# alibaba_region_id is the region id of the resources
alibaba_region_id: $ALIBABA_REGION_ID
Expand All @@ -268,7 +270,7 @@ Terraform can be integrated by using the following configuration block.
```yaml
- # provider is the name of the provider
provider: terraform
id is the name defined by user for filtering (optional)
# id is the name defined by user for filtering (optional)
id: staging
#tf_state_file is the location of terraform state file (terraform.tfsate)
tf_state_file: path/to/terraform.tfstate
Expand All @@ -282,7 +284,7 @@ Hashicorp Consul can be integrated by using the following configuration block.
provider: consul
# consul_url is the url for consul server
consul_url: http://localhost:8500/
id is the name defined by user for filtering (optional)
# id is the name defined by user for filtering (optional)
id: staging
# consul_ca_file is the path to consul CA file
# consul_ca_file: <path-to-ca-file>.pem
Expand Down Expand Up @@ -310,7 +312,7 @@ Hashicorp Nomad can be integrated by using the following configuration block.
provider: nomad
# nomad_url is the url for nomad server
nomad_url: http://127.0.0.1:4646/
id is the name defined by user for filtering (optional)
# id is the name defined by user for filtering (optional)
id: staging
# nomad_ca_file is the path to nomad CA file
# nomad_ca_file: <path-to-ca-file>.pem
Expand All @@ -337,11 +339,32 @@ Hetzner Cloud can be integrated by using the following configuration block.
```yaml
- # provider is the name of the provider
provider: hetzner
id is the name defined by user for filtering (optional)
# id is the name defined by user for filtering (optional)
id: staging
# auth_token is the is the hetzner authentication token
auth_token: $HETZNER_AUTH_TOKEN
```

References -
- https://docs.hetzner.cloud/#authentication

### Kubernetes

Kubernetes can be integrated by using the following configuration block.

```yaml
- # provider is the name of the provider
provider: kubernetes
# id is the name defined by user for filtering (optional)
id: staging
# kubeconfig is the path to kubeconfig file
kubeconfig: path/to/kubeconfig
# context is the context to be used from kubeconfig file (optional), if not specified, current-context will be used
context: <context-name>
```

References -
- https://www.redhat.com/sysadmin/kubeconfig
- https://docs.aws.amazon.com/eks/latest/userguide/create-kubeconfig.html
- https://learn.microsoft.com/en-us/azure/aks/control-kubeconfig-access#get-and-verify-the-configuration-information
- https://cloud.google.com/kubernetes-engine/docs/how-to/cluster-access-for-kubectl#store_info
Loading