-
Notifications
You must be signed in to change notification settings - Fork 449
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
Initial version of Trillian Kubernetes application #302
Closed
Closed
Changes from all commits
Commits
Show all changes
40 commits
Select commit
Hold shift + click to select a range
8585e19
Add configs for deploying Trillian onto Kubernetes via Google Cloud M…
d877eff
remove "imagePullPolicy: Always"
f6812dc
Add --enable-autoscaling flag to cluster creation command
317e12b
Remove prometheus-to-sd
36bf9af
Regenerate cloudbuild.yaml
e9c329f
Add machine type and min/max nodes flags to cluster creation command
02323e5
Correct name of IMAGE_ETCD_OPERATOR_FIELD in APP_PARAMETERS in Makefile
3565b13
Add missing EtcdCluster entry to app CRD componentKinds
e2b0257
Remove braces from environment variable names
a2d1083
Makefile: Use v1.2.1 of Trillian instead of latest version
287b90d
Add/improve descriptions in trillian/schema.yaml
45775ee
Set maximum for etcd cluster size in trillian/schema.yaml
8b501cc
Add clusterConstraints to trillian/schema.yaml
2d8e2d6
Remove -cluster-wide option from etcd-operator
8a35c4f
Provide links in trillian/schema.yaml to the Etcd RBAC docs and examples
5a0d2c9
Add regex for ETCD_VERSION in trillian/schema.yaml
e6264a4
Remove List wrapper around ConfigMap
03beff3
Remove Lists and duplicate labels
a87a3c0
Mirror etcd-operator image in $REGISTRY
2e239cc
Add 500GiB of persistent storage for MySQL database
7b7fbf8
Remove --resign_odds flag from logsigner
547688e
Increase default size of Etcd cluster to 5
dcc0db6
Do not delete Secrets when uninstalling Trillian
d91c6d8
Remove EtcdCluster from Trillian app.yaml
9afd70b
Make the Busybox image used by etcd-operator configurable
d72653b
Prefer Etcd cluster members to be scheduled on different Kubernetes n…
7c5ce25
Make the image used by Etcd cluster members configurable
3c4e7e6
Make the MySQL passwords configurable via Makefile
968c54d
Add README sections on scaling, backup & restore, and uninstallation
31561ee
Fix service name in port-forwarding section of README
fa9d190
Use correct tag in Trillian README
ce9315a
Remove unnecessary quotation marks
6311297
Add labels to Etcd cluster pods
45a595a
Remove documentation referring to "expanded manifest file"
086d9cf
Consistently use $APP_INSTANCE_NAME instead of $NAME
f8a67e0
Document the need to create a namespace if not using "default"
be200d3
Require Etcd cluster pods to be scheduled on different nodes
2805e47
Reduce maximum size of Etcd cluster from 9 to 7
0c431df
Document how to delete Etcd entirely during uninstallation
3ad97fe
Document how to delete secrets
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,141 @@ | ||
include ../app.Makefile | ||
include ../crd.Makefile | ||
include ../gcloud.Makefile | ||
include ../var.Makefile | ||
|
||
NAME ?= trillian-1 | ||
TAG ?= 1.2.1 | ||
APP_DEPLOYER_IMAGE ?= $(REGISTRY)/trillian/deployer:$(TAG) | ||
# Default Busybox image used by etcd-operator: | ||
# https://github.com/coreos/etcd-operator/blob/16f0e1b3693483061f2a8252c0e361b06d216424/pkg/util/k8sutil/k8sutil.go#L64 | ||
BUSYBOX_IMAGE ?= busybox:1.28.0-glibc | ||
ETCD_OPERATOR_IMAGE ?= quay.io/coreos/etcd-operator:v0.9.1 | ||
ETCD_REPOSITORY ?= quay.io/coreos/etcd | ||
ETCD_VERSION ?= 3.2.13 | ||
|
||
ifdef IMAGE_TRILLIAN_LOGSERVER | ||
IMAGE_TRILLIAN_LOGSERVER_FIELD = , "IMAGE_TRILLIAN_LOGSERVER": "$(IMAGE_TRILLIAN_LOGSERVER)" | ||
endif | ||
|
||
ifdef IMAGE_TRILLIAN_LOGSIGNER | ||
IMAGE_TRILLIAN_LOGSIGNER_FIELD = , "IMAGE_TRILLIAN_LOGSIGNER": "$(IMAGE_TRILLIAN_LOGSIGNER)" | ||
endif | ||
|
||
ifdef IMAGE_MYSQL | ||
IMAGE_MYSQL_FIELD = , "IMAGE_MYSQL": "$(IMAGE_MYSQL)" | ||
endif | ||
|
||
ifdef MYSQL_ROOT_PASSWORD | ||
MYSQL_ROOT_PASSWORD_FIELD = , "MYSQL_ROOT_PASSWORD": "$(MYSQL_ROOT_PASSWORD)" | ||
endif | ||
|
||
ifdef MYSQL_TRILLIAN_PASSWORD | ||
MYSQL_TRILLIAN_PASSWORD_FIELD = , "MYSQL_TRILLIAN_PASSWORD": "$(MYSQL_TRILLIAN_PASSWORD)" | ||
endif | ||
|
||
ifdef ETCD_VERSION | ||
ETCD_VERSION_FIELD = , "ETCD_VERSION": "$(ETCD_VERSION)" | ||
endif | ||
|
||
APP_PARAMETERS ?= { \ | ||
"APP_INSTANCE_NAME": "$(NAME)", \ | ||
"NAMESPACE": "$(NAMESPACE)" \ | ||
$(IMAGE_TRILLIAN_LOGSERVER_FIELD) \ | ||
$(IMAGE_TRILLIAN_LOGSIGNER_FIELD) \ | ||
$(IMAGE_MYSQL_FIELD) \ | ||
$(MYSQL_ROOT_PASSWORD_FIELD) \ | ||
$(MYSQL_TRILLIAN_PASSWORD_FIELD) \ | ||
$(ETCD_VERSION_FIELD) \ | ||
} | ||
APP_TEST_PARAMETERS ?= {} | ||
|
||
|
||
app/build:: .build/trillian/busybox \ | ||
.build/trillian/db_server \ | ||
.build/trillian/deployer \ | ||
.build/trillian/etcd_operator \ | ||
.build/trillian/etcd \ | ||
.build/trillian/log_server \ | ||
.build/trillian/log_signer | ||
|
||
|
||
.build/trillian: | .build | ||
mkdir -p "$@" | ||
|
||
|
||
.build/trillian/busybox: .build/var/REGISTRY \ | ||
.build/var/TAG \ | ||
| .build/trillian | ||
docker pull "$(BUSYBOX_IMAGE)" | ||
docker tag "$(BUSYBOX_IMAGE)" \ | ||
"$(REGISTRY)/trillian/busybox:$(TAG)" | ||
docker push "$(REGISTRY)/trillian/busybox:$(TAG)" | ||
@touch "$@" | ||
|
||
|
||
.build/trillian/db_server: .build/var/REGISTRY \ | ||
.build/var/TAG \ | ||
| .build/trillian | ||
docker pull gcr.io/trillian-opensource-ci/db_server:$(TAG) | ||
docker tag gcr.io/trillian-opensource-ci/db_server:$(TAG) \ | ||
"$(REGISTRY)/trillian/db_server:$(TAG)" | ||
docker push "$(REGISTRY)/trillian/db_server:$(TAG)" | ||
@touch "$@" | ||
|
||
|
||
.build/trillian/deployer: deployer/* \ | ||
manifest/* \ | ||
schema.yaml \ | ||
.build/var/APP_DEPLOYER_IMAGE \ | ||
.build/var/REGISTRY \ | ||
.build/var/TAG \ | ||
| .build/trillian | ||
docker build \ | ||
--build-arg REGISTRY="$(REGISTRY)/trillian" \ | ||
--build-arg TAG="$(TAG)" \ | ||
--build-arg MARKETPLACE_TOOLS_TAG="$(MARKETPLACE_TOOLS_TAG)" \ | ||
--tag "$(APP_DEPLOYER_IMAGE)" \ | ||
-f deployer/Dockerfile \ | ||
. | ||
docker push "$(APP_DEPLOYER_IMAGE)" | ||
@touch "$@" | ||
|
||
|
||
.build/trillian/etcd_operator: .build/var/REGISTRY \ | ||
.build/var/TAG \ | ||
| .build/trillian | ||
docker pull "$(ETCD_OPERATOR_IMAGE)" | ||
docker tag "$(ETCD_OPERATOR_IMAGE)" \ | ||
"$(REGISTRY)/trillian/etcd_operator:$(TAG)" | ||
docker push "$(REGISTRY)/trillian/etcd_operator:$(TAG)" | ||
@touch "$@" | ||
|
||
|
||
.build/trillian/etcd: .build/var/REGISTRY \ | ||
.build/var/TAG \ | ||
| .build/trillian | ||
docker pull "$(ETCD_REPOSITORY):v$(ETCD_VERSION)" | ||
docker tag "$(ETCD_REPOSITORY):v$(ETCD_VERSION)" \ | ||
"$(REGISTRY)/trillian/etcd:v$(ETCD_VERSION)" | ||
docker push "$(REGISTRY)/trillian/etcd:v$(ETCD_VERSION)" | ||
@touch "$@" | ||
|
||
|
||
.build/trillian/log_server: .build/var/REGISTRY \ | ||
.build/var/TAG \ | ||
| .build/trillian | ||
docker pull gcr.io/trillian-opensource-ci/log_server:$(TAG) | ||
docker tag gcr.io/trillian-opensource-ci/log_server:$(TAG) \ | ||
"$(REGISTRY)/trillian/log_server:$(TAG)" | ||
docker push "$(REGISTRY)/trillian/log_server:$(TAG)" | ||
@touch "$@" | ||
|
||
|
||
.build/trillian/log_signer: .build/var/REGISTRY \ | ||
.build/var/TAG \ | ||
| .build/trillian | ||
docker pull gcr.io/trillian-opensource-ci/log_signer:$(TAG) | ||
docker tag gcr.io/trillian-opensource-ci/log_signer:$(TAG) \ | ||
"$(REGISTRY)/trillian/log_signer:$(TAG)" | ||
docker push "$(REGISTRY)/trillian/log_signer:$(TAG)" | ||
@touch "$@" |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you please take a look at the versioning of images at gcr.io/trillian-opensource-ci? It looks like we have there tags matching the commits, not semantic versions.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We have both - there's a tag for every commit to master, as well as a tag for every released version.