https://github.com/kudobuilder/test-infra
https://github.com/kudobuilder/test-infra
Last synced: 6 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/kudobuilder/test-infra
- Owner: kudobuilder
- Created: 2019-07-26T19:29:09.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2019-09-12T22:32:17.000Z (almost 7 years ago)
- Last Synced: 2025-04-08T22:31:42.472Z (over 1 year ago)
- Language: HCL
- Size: 75.2 KB
- Stars: 2
- Watchers: 3
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Development
To run the tests, run:
```
go run github.com/kudobuilder/kudo/cmd/kubectl-kudo test
```
Tests are written using the [KUDO test harness](https://kudo.dev/docs/testing) and can be found in `test/integration/`.
# Configuration
All Kubernetes manifests live under `cluster/` and `prow-jobs/` and are deployed using [flux](https://github.com/fluxcd/flux) automatically on merge.
See `prow-jobs/prow.yaml` to configure your Prow job.
# Cluster management
The Prow cluster lives on a GKE cluster in the `maestro-229419` project.
## Setup the google cloud CLI
Install the [gcloud CLI](https://cloud.google.com/sdk/gcloud/):
```
gcloud auth login
gcloud auth application-default login
```
## Login
To login to the cluster, run:
```
gcloud container clusters get-credentials prow-prod --region us-east4
```
And then you can run the e2e tests:
```
go run github.com/kudobuilder/kudo/cmd/kubectl-kudo test --config kudo-test-e2e.yaml
```
To login to the `kudo-ci` account, TODO: add login to onelogin.
## Deployment
To deploy run:
```
cd tf/
terraform apply
```
## Secret management
To encrypt a new secret, run this command:
```
echo -n $SECRET |gcloud kms encrypt --project maestro-229419 --location us-central1 --keyring prow --key key --plaintext-file - --ciphertext-file - |base64 -w0 && echo
```
And then create a new `google_kms_secret` resource in Terraform:
```
data "google_kms_secret" "mysecret" {
crypto_key = "${module.kms.key}"
ciphertext = "ENCRYPTEDBLOB"
}
```
And then that can be referenced as `${data.google_kms_secret.mysecret.plaintext}`.