TRAFFIC-448: build cloudflare for junos and publish to s3
This commit is contained in:
parent
da0792a321
commit
e2ff7f65fc
|
@ -5,6 +5,7 @@ guide/public
|
||||||
/.GOPATH
|
/.GOPATH
|
||||||
/bin
|
/bin
|
||||||
.idea
|
.idea
|
||||||
|
.build
|
||||||
.vscode
|
.vscode
|
||||||
\#*\#
|
\#*\#
|
||||||
cscope.*
|
cscope.*
|
||||||
|
@ -12,6 +13,7 @@ cloudflared
|
||||||
cloudflared.pkg
|
cloudflared.pkg
|
||||||
cloudflared.exe
|
cloudflared.exe
|
||||||
cloudflared.msi
|
cloudflared.msi
|
||||||
|
cloudflared-x86-64*
|
||||||
!cmd/cloudflared/
|
!cmd/cloudflared/
|
||||||
.DS_Store
|
.DS_Store
|
||||||
*-session.log
|
*-session.log
|
||||||
|
|
56
Makefile
56
Makefile
|
@ -2,7 +2,7 @@ VERSION := $(shell git describe --tags --always --dirty="-dev" --match "[0
|
||||||
DATE := $(shell date -u '+%Y-%m-%d-%H%M UTC')
|
DATE := $(shell date -u '+%Y-%m-%d-%H%M UTC')
|
||||||
VERSION_FLAGS := -ldflags='-X "main.Version=$(VERSION)" -X "main.BuildTime=$(DATE)"'
|
VERSION_FLAGS := -ldflags='-X "main.Version=$(VERSION)" -X "main.BuildTime=$(DATE)"'
|
||||||
MSI_VERSION := $(shell git tag -l --sort=v:refname | grep "w" | tail -1 | cut -c2-)
|
MSI_VERSION := $(shell git tag -l --sort=v:refname | grep "w" | tail -1 | cut -c2-)
|
||||||
#MSI_VERSION expects the format of the tag to be: (wX.X.X). Starts with the w character to not break cfsetup.
|
#MSI_VERSION expects the format of the tag to be: (wX.X.X). Starts with the w character to not break cfsetup.
|
||||||
#e.g. w3.0.1 or w4.2.10. It trims off the w character when creating the MSI.
|
#e.g. w3.0.1 or w4.2.10. It trims off the w character when creating the MSI.
|
||||||
|
|
||||||
IMPORT_PATH := github.com/cloudflare/cloudflared
|
IMPORT_PATH := github.com/cloudflare/cloudflared
|
||||||
|
@ -44,6 +44,8 @@ else ifeq ($(LOCAL_OS),darwin)
|
||||||
TARGET_OS ?= darwin
|
TARGET_OS ?= darwin
|
||||||
else ifeq ($(LOCAL_OS),windows)
|
else ifeq ($(LOCAL_OS),windows)
|
||||||
TARGET_OS ?= windows
|
TARGET_OS ?= windows
|
||||||
|
else ifeq ($(LOCAL_OS),freebsd)
|
||||||
|
TARGET_OS ?= freebsd
|
||||||
else
|
else
|
||||||
$(error This system's OS $(LOCAL_OS) isn't supported)
|
$(error This system's OS $(LOCAL_OS) isn't supported)
|
||||||
endif
|
endif
|
||||||
|
@ -125,6 +127,58 @@ cloudflared-darwin-amd64.tgz: cloudflared
|
||||||
tar czf cloudflared-darwin-amd64.tgz cloudflared
|
tar czf cloudflared-darwin-amd64.tgz cloudflared
|
||||||
rm cloudflared
|
rm cloudflared
|
||||||
|
|
||||||
|
.PHONY: cloudflared-junos
|
||||||
|
cloudflared-junos: cloudflared jetez-certificate.pem jetez-key.pem
|
||||||
|
jetez --source . \
|
||||||
|
-j jet.yaml \
|
||||||
|
--key jetez-key.pem \
|
||||||
|
--cert jetez-certificate.pem \
|
||||||
|
--version $(VERSION)
|
||||||
|
rm jetez-*.pem
|
||||||
|
|
||||||
|
jetez-certificate.pem:
|
||||||
|
ifndef JETEZ_CERT
|
||||||
|
$(error JETEZ_CERT not defined)
|
||||||
|
endif
|
||||||
|
@echo "Writing JetEZ certificate"
|
||||||
|
@echo "$$JETEZ_CERT" > jetez-certificate.pem
|
||||||
|
|
||||||
|
jetez-key.pem:
|
||||||
|
ifndef JETEZ_KEY
|
||||||
|
$(error JETEZ_KEY not defined)
|
||||||
|
endif
|
||||||
|
@echo "Writing JetEZ key"
|
||||||
|
@echo "$$JETEZ_KEY" > jetez-key.pem
|
||||||
|
|
||||||
|
.PHONY: publish-cloudflared-junos
|
||||||
|
publish-cloudflared-junos: cloudflared-junos cloudflared-x86-64.latest.s3
|
||||||
|
ifndef S3_ENDPOINT
|
||||||
|
$(error S3_HOST not defined)
|
||||||
|
endif
|
||||||
|
ifndef S3_URI
|
||||||
|
$(error S3_URI not defined)
|
||||||
|
endif
|
||||||
|
ifndef S3_ACCESS_KEY
|
||||||
|
$(error S3_ACCESS_KEY not defined)
|
||||||
|
endif
|
||||||
|
ifndef S3_SECRET_KEY
|
||||||
|
$(error S3_SECRET_KEY not defined)
|
||||||
|
endif
|
||||||
|
sha256sum cloudflared-x86-64-$(VERSION).tgz | awk '{printf $$1}' > cloudflared-x86-64-$(VERSION).tgz.shasum
|
||||||
|
s4cmd --endpoint-url $(S3_ENDPOINT) --force --API-GrantRead=uri=http://acs.amazonaws.com/groups/global/AllUsers \
|
||||||
|
put cloudflared-x86-64-$(VERSION).tgz $(S3_URI)/cloudflared-x86-64-$(VERSION).tgz
|
||||||
|
s4cmd --endpoint-url $(S3_ENDPOINT) --force --API-GrantRead=uri=http://acs.amazonaws.com/groups/global/AllUsers \
|
||||||
|
put cloudflared-x86-64-$(VERSION).tgz.shasum $(S3_URI)/cloudflared-x86-64-$(VERSION).tgz.shasum
|
||||||
|
dpkg --compare-versions "$(VERSION)" gt "$(shell cat cloudflared-x86-64.latest.s3)" && \
|
||||||
|
echo -n "$(VERSION)" > cloudflared-x86-64.latest && \
|
||||||
|
s4cmd --endpoint-url $(S3_ENDPOINT) --force --API-GrantRead=uri=http://acs.amazonaws.com/groups/global/AllUsers \
|
||||||
|
put cloudflared-x86-64.latest $(S3_URI)/cloudflared-x86-64.latest || \
|
||||||
|
echo "Latest version not updated"
|
||||||
|
|
||||||
|
cloudflared-x86-64.latest.s3:
|
||||||
|
s4cmd --endpoint-url $(S3_ENDPOINT) --force \
|
||||||
|
get $(S3_URI)/cloudflared-x86-64.latest cloudflared-x86-64.latest.s3
|
||||||
|
|
||||||
.PHONY: homebrew-upload
|
.PHONY: homebrew-upload
|
||||||
homebrew-upload: cloudflared-darwin-amd64.tgz
|
homebrew-upload: cloudflared-darwin-amd64.tgz
|
||||||
aws s3 --endpoint-url $(S3_ENDPOINT) cp --acl public-read $$^ $(S3_URI)/cloudflared-$$(VERSION)-$1.tgz
|
aws s3 --endpoint-url $(S3_ENDPOINT) cp --acl public-read $$^ $(S3_URI)/cloudflared-$$(VERSION)-$1.tgz
|
||||||
|
|
29
cfsetup.yaml
29
cfsetup.yaml
|
@ -209,6 +209,35 @@ stretch: &stretch
|
||||||
pre-cache: *install_pygithub
|
pre-cache: *install_pygithub
|
||||||
post-cache:
|
post-cache:
|
||||||
- make github-message
|
- make github-message
|
||||||
|
build-junos:
|
||||||
|
build_dir: *build_dir
|
||||||
|
builddeps:
|
||||||
|
- *pinned_go
|
||||||
|
- build-essential
|
||||||
|
- python3
|
||||||
|
- genisoimage
|
||||||
|
- jetez
|
||||||
|
pre-cache:
|
||||||
|
- ln -s /usr/bin/genisoimage /usr/bin/mkisofs
|
||||||
|
post-cache:
|
||||||
|
- export GOOS=freebsd
|
||||||
|
- export GOARCH=amd64
|
||||||
|
- make cloudflared-junos
|
||||||
|
publish-junos:
|
||||||
|
build_dir: *build_dir
|
||||||
|
builddeps:
|
||||||
|
- *pinned_go
|
||||||
|
- build-essential
|
||||||
|
- python3
|
||||||
|
- genisoimage
|
||||||
|
- jetez
|
||||||
|
- s4cmd
|
||||||
|
pre-cache:
|
||||||
|
- ln -s /usr/bin/genisoimage /usr/bin/mkisofs
|
||||||
|
post-cache:
|
||||||
|
- export GOOS=freebsd
|
||||||
|
- export GOARCH=amd64
|
||||||
|
- make publish-cloudflared-junos
|
||||||
|
|
||||||
jessie: *stretch
|
jessie: *stretch
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue