Running the dev environment
openoms opened this issue · 11 comments
Running make deploy-services
these errors thew me off:
╷
│ Error: Post "http://localhost/api/v1/namespaces": dial tcp [::1]:80: connect: connection refused
│
│ with module.infra_services.kubernetes_namespace.ingress,
│ on .terraform/modules/infra_services/modules/services/ingress.tf line 1, in resource "kubernetes_namespace" "ingress":
│ 1: resource "kubernetes_namespace" "ingress" {
│
╵
╷
│ Error: Post "http://localhost/api/v1/namespaces": dial tcp [::1]:80: connect: connection refused
│
│ with module.infra_services.kubernetes_namespace.otel,
│ on .terraform/modules/infra_services/modules/services/opentelemetry.tf line 1, in resource "kubernetes_namespace" "otel":
│ 1: resource "kubernetes_namespace" "otel" {
│
╵
It was simply solved by using:
export KUBE_CONFIG_PATH=~/.kube/config
Should include in the readme to be the part of the dev environment.
Working on a little script to set up the dev environment on Debian / Ubuntu:
https://github.com/openoms/bitcoin-tutorials/blob/master/k8s/devenv.k3d.sh
Should I include it here or in some dedicated documentation repo?
Now debugging this issue close to the completion of k3d deployment when running
$ make deploy
(terraform apply
)
module.galoy.kubernetes_secret.bitcoinrpc_password: Creation complete after 0s [id=galoy-dev-galoy/bitcoind-rpcpassword]
module.galoy.kubernetes_secret.price_history_postgres_creds: Creation complete after 0s [id=galoy-dev-galoy/galoy-price-history-postgres-creds]
module.galoy.kubernetes_secret.mongodb_creds: Creation complete after 0s [id=galoy-dev-galoy/galoy-mongodb]
module.galoy.kubernetes_secret.lnd1_pubkey: Creation complete after 0s [id=galoy-dev-galoy/lnd1-pubkey]
module.galoy.kubernetes_secret.lnd2_credentials: Creation complete after 0s [id=galoy-dev-galoy/lnd2-credentials]
module.galoy.kubernetes_secret.lnd2_pubkey: Creation complete after 0s [id=galoy-dev-galoy/lnd2-pubkey]
module.galoy.helm_release.galoy: Creating...
module.galoy.helm_release.galoy: Still creating... [10s elapsed]
module.galoy.helm_release.galoy: Still creating... [20s elapsed]
╷
│ Error: unable to build kubernetes objects from release manifest: unable to recognize "": no matches for kind "Ingress" in version "networking.k8s.io/v1beta1"
│
│ with module.galoy.helm_release.galoy,
│ on galoy/main.tf line 188, in resource "helm_release" "galoy":
│ 188: resource "helm_release" "galoy" {
│
╵
make: *** [Makefile:17: deploy] Error 1
k3d@debian:~/charts/dev$
Likely comes down to the installed kubectl client being out of date):
k3d@debian:~/charts/dev$ k version
Client Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.9", GitCommit:"b631974d68ac5045e076c86a5c66fba6f128dc72", GitTreeState:"clean", BuildDate:"2022-01-19T17:51:12Z", GoVersion:"go1.16.12", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.23.6+k3s1", GitCommit:"418c3fa858b69b12b9cefbcff0526f666a6236b9", GitTreeState:"clean", BuildDate:"2022-04-28T22:16:18Z", GoVersion:"go1.17.5", Compiler:"gc", Platform:"linux/amd64"}
WARNING: version difference between client (1.21) and server (1.23) exceeds the supported minor version skew of +/-1
Downgrading the server side kubectl would need a manual installation of k3s as k3d is using the latest tagged in https://update.k3s.io/v1-release/channels/stable.
Installed kubectl_version="1.24.1"
and getting a different error:
module.bitcoin.helm_release.lnd: Still creating... [5m0s elapsed]
╷
│ Warning: Helm release "lnd1" was created but has a failed status. Use the `helm` command to investigate the error, correct it, then run Terraform again.
│
│ with module.bitcoin.helm_release.lnd,
│ on bitcoin/lnd1.tf line 1, in resource "helm_release" "lnd":
│ 1: resource "helm_release" "lnd" {
│
╵
╷
│ Error: timed out waiting for the condition
│
│ with module.bitcoin.helm_release.lnd,
│ on bitcoin/lnd1.tf line 1, in resource "helm_release" "lnd":
│ 1: resource "helm_release" "lnd" {
│
╵
make: *** [Makefile:17: deploy] Error 1
https://kubernetes.io/docs/reference/using-api/deprecation-guide/#customresourcedefinition-v122 suggest that all networking.k8s.io/v1beta1
entries should be changed to networking.k8s.io/v1
Staging is running:
kubernetes 1.21.12
openoms_galoy_io@galoy-staging-bastion:~$ k version
Client Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.9", GitCommit:"b631974d68ac5045e076c86a5c66fba6f128dc72", GitTreeState:"clean", BuildDate:"2022-01-19T17:51:12Z", GoVersion:"go1.16.12", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.12-gke.1700", GitCommit:"6c11aec6ce32cf0d66a2631eed2eb49dd65c89f8", GitTreeState:"clean", BuildDate:"2022-05-13T09:31:25Z", GoVersion:"go1.16.15b7", Compiler:"gc", Platform:"linux/amd64"}
Ingress
The extensions/v1beta1 and networking.k8s.io/v1beta1 API versions of Ingress is no longer served as of v1.22.
Migrate manifests and API clients to use the networking.k8s.io/v1 API version, available since v1.19.
All existing persisted objects are accessible via the new API
Notable changes:
spec.backend is renamed to spec.defaultBackend
The backend serviceName field is renamed to service.name
Numeric backend servicePort fields are renamed to service.port.number
String backend servicePort fields are renamed to service.port.name
pathType is now required for each specified path. Options are Prefix, Exact, and ImplementationSpecific. To match the undefined v1beta1 behavior, use ImplementationSpecific.
next stop:
module.addons.helm_release.dealer: Still creating... [5m0s elapsed]
╷
│ Warning: Helm release "dealer" was created but has a failed status. Use the `helm` command to investigate the error, correct it, then run Terraform again.
│
│ with module.addons.helm_release.dealer,
│ on addons/dealer.tf line 36, in resource "helm_release" "dealer":
│ 36: resource "helm_release" "dealer" {
│
╵
╷
│ Error: timed out waiting for the condition
│
│ with module.addons.helm_release.dealer,
│ on addons/dealer.tf line 36, in resource "helm_release" "dealer":
│ 36: resource "helm_release" "dealer" {
│
╵
╷
│ Error: ---> error converting YAML to JSON: yaml: line 2: mapping values are not allowed in this context mobileLayout
│ enabled: false
│
│
│ with module.addons.helm_release.web_wallet_mobile_layout,
│ on addons/web-wallet.tf line 24, in resource "helm_release" "web_wallet_mobile_layout":
│ 24: resource "helm_release" "web_wallet_mobile_layout" {
│
╵
next stop:
module.addons.helm_release.dealer: Still creating... [5m0s elapsed] ╷ │ Warning: Helm release "dealer" was created but has a failed status. Use the `helm` command to investigate the error, correct it, then run Terraform again. │ │ with module.addons.helm_release.dealer, │ on addons/dealer.tf line 36, in resource "helm_release" "dealer": │ 36: resource "helm_release" "dealer" { │ ╵ ╷ │ Error: timed out waiting for the condition │ │ with module.addons.helm_release.dealer, │ on addons/dealer.tf line 36, in resource "helm_release" "dealer": │ 36: resource "helm_release" "dealer" { │ ╵ ╷ │ Error: ---> error converting YAML to JSON: yaml: line 2: mapping values are not allowed in this context mobileLayout │ enabled: false │ │ │ with module.addons.helm_release.web_wallet_mobile_layout, │ on addons/web-wallet.tf line 24, in resource "helm_release" "web_wallet_mobile_layout": │ 24: resource "helm_release" "web_wallet_mobile_layout" { │ ╵
ea583a4 Should fix the last error
aa83331 fixes the error:
module.addons.helm_release.dealer: Creation complete after 1m11s [id=dealer]
╷
│ Warning: Helm release "web-wallet" was created but has a failed status. Use the `helm` command to investigate the error, correct it, then run Terraform again.
│
│ with module.addons.helm_release.web_wallet,
│ on addons/web-wallet.tf line 16, in resource "helm_release" "web_wallet":
│ 16: resource "helm_release" "web_wallet" {
│
╵
╷
│ Error: release: already exists
│
│ with module.addons.helm_release.web_wallet,
│ on addons/web-wallet.tf line 16, in resource "helm_release" "web_wallet":
│ 16: resource "helm_release" "web_wallet" {
│
All running now in the env setup with: https://github.com/openoms/bitcoin-tutorials/blob/master/k8s/devenv.k3d.sh
#1101 is ready to be reviewed.
Doubled the timeout of the lnd deployment as it was reaching it on my 6years old i7 laptop. Now make all
makes it through without any further issues.