Skip to content

Commit 09d65bc

Browse files
committed
initial commit
0 parents  commit 09d65bc

File tree

90 files changed

+21823
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

90 files changed

+21823
-0
lines changed

.github/workflows/build.yaml

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
name: build
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
branches:
9+
- main
10+
11+
jobs:
12+
build:
13+
runs-on: ubuntu-latest
14+
steps:
15+
- uses: actions/checkout@v2
16+
- name: Setup Go
17+
uses: actions/setup-go@v2
18+
with:
19+
go-version: '1.16.3'
20+
- name: Install dependencies
21+
run: |
22+
go version
23+
go get -u golang.org/x/lint/golint
24+
go get github.com/golangci/golangci-lint/cmd/[email protected]
25+
- name: Run build
26+
run: make

.gitignore

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Intellij
2+
.idea/
3+
*.iml
4+
*.iws
5+
*.ipr
6+
7+
# Mac
8+
.DS_Store
9+
10+
# ms vscode
11+
.vscode/
12+
13+
# Coverage directory
14+
coverage/
15+
coverage.out
16+
17+
# Terraform
18+
examples/app-terraform/.terraform*
19+
examples/app-terraform/.terraform.tfstate*
20+
examples/app-terraform/.terraform.lock.hcl
21+
22+
# Misc
23+
ssl
24+
build
25+
vendor

Makefile

+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
GO_LDFLAGS ?= -ldflags="-s -w"
2+
3+
all: vendor test build_service build_cli
4+
5+
build_service: clean_service
6+
CGO_ENABLED=0 GOARCH=amd64 go build -trimpath $(GO_LDFLAGS) $(BUILDARGS) -o build/service ./service/...
7+
8+
build_cli: clean_cli
9+
CGO_ENABLED=0 GOARCH=amd64 go build -trimpath $(GO_LDFLAGS) $(BUILDARGS) -o build/argo-cloudops ./cli/...
10+
11+
lint:
12+
@#Install the linter from here:
13+
@#https://github.com/golangci/golangci-lint#install
14+
golangci-lint run --fast
15+
16+
test:
17+
env ARGO_CLOUDOPS_CONFIG=../service/testdata/argo-cloudops.yaml go test -race -timeout=180s -coverprofile=coverage.out ./service #github.com/argoproj-labs/argo-cloudops
18+
19+
vendor: # Vendors dependencies
20+
go mod tidy
21+
go mod vendor
22+
23+
vet: ## Runs go vet
24+
go vet $(VETARGS) ./...
25+
26+
cover: ## Generates coverage report
27+
@$(MAKE) test TESTARGS="-tags test -coverprofile=coverage.out"
28+
@go tool cover -html=coverage.out
29+
@rm -f coverage.out
30+
31+
clean_service:
32+
@rm -f ./build/service
33+
34+
clean_cli:
35+
@rm -f ./build/argo-cloudops
36+
37+
up: ## Starts a local valut and api locally
38+
bash scripts/start_local.sh
39+
40+
.PHONY: build_service build_cli lint test vendor vet cover clean_cli clean_service up

OWNERS.md

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
owners:
2+
- bw-intuit
3+
- thbishop-intuit
4+
- jk-intuit
5+
6+
reviewers:
7+
- bw-intuit
8+
- thbishop-intuit
9+
- jk-intuit
10+
11+
approvers:
12+
- bw-intuit
13+
- thbishop-intuit
14+
- jk-intuit

README.md

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
**Argo CloudOps is Alpha on a good day, please only use as appropriate!!!**
2+
3+
[![build](https://github.com/bw-intuit/argo-cloudops/actions/workflows/build.yaml/badge.svg)](https://github.com/bw-intuit/argo-cloudops/actions/workflows/build.yaml)
4+
5+
# What Is Argo CloudOps?
6+
7+
Argo CloudOps is a service for running infrastructure as code software tools
8+
including CDK, Terraform and Cloud Formation.
9+
10+
* Separate build and deployment
11+
* Isolate cloud credentials
12+
* Separate access by project and targets
13+
14+
# Why Argo CloudOps?
15+
16+
* Multi cloud support (AWS, GCP, etc)
17+
* Multi framework support (CDK, Terraform, etc)
18+
* Pluggable components (Workflows, Frameworks, Credentials Providers, etc)
19+
* Temporary, timebound, limited access credentials across mulitiple tenants
20+
21+
# Documentation
22+
23+
* [Get Started Here](/docs/quickstart.md)
24+
* [Architecture](/docs/architecture.md)
25+
* [API](/docs/api.md)

SECURITY.md

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Security
2+
3+
## Reporting Vulnerabilities
4+
5+
Please report security vulnerabilities by e-mailing:
6+
7+
8+
9+

argo-cloudops.yaml

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Default Argo CloudOps Config
2+
# This will work with included examples
3+
4+
---
5+
version: "0.0.1"
6+
commands:
7+
cdk:
8+
diff: "{{.EnvironmentVariables}} cdk bootstrap && {{.EnvironmentVariables}} cdk diff {{.ExecuteArguments}}"
9+
sync: "{{.EnvironmentVariables}} cdk bootstrap && {{.EnvironmentVariables}} cdk deploy {{.ExecuteArguments}}"
10+
terraform:
11+
diff: "{{.EnvironmentVariables}} terraform init {{.InitArguments}} && {{.EnvironmentVariables}} terraform plan {{.ExecuteArguments}}"
12+
sync: "{{.EnvironmentVariables}} terraform init {{.InitArguments}} && {{.EnvironmentVariables}} terraform apply {{.ExecuteArguments}}"

0 commit comments

Comments
 (0)