-
Notifications
You must be signed in to change notification settings - Fork 19
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
Adjust all Implementation manifests to use latest workflow syntax and storage backends #666
Comments
Testing scenariosAWS:
GCP:
Bitnami:
Elastic:
Capact:
Applications:
Helm StorageFound Issues:
I installed the Helm storage via Dashboard and applied such Global Policy: cat > /tmp/helm-storage-policy.yaml << ENDOFFILE
interface:
default: # properties applied to all rules above
inject:
requiredTypeInstances:
- id: "3e4af86a-ab76-48c5-8799-1bcb0d994018"
description: "Helm template"
- id: "b852a7b9-36bc-48bc-b655-a657ec61bcd8"
description: "Helm release"
rules:
- interface:
path: cap.*
oneOf:
- implementationConstraints:
requires:
- path: cap.core.type.platform.kubernetes
- implementationConstraints: {}
ENDOFFILE
capact policy apply -f /tmp/helm-storage-policy.yaml ElasticsearchFound issues:
AWS
Test
DeleteTo delete resource on AWS side, run: curl -LO https://storage.googleapis.com/capactio-terraform-modules/terraform.aws.elasticsearch.provision/0.1.0/module.tgz
tar zxvf module.tgz
capact typeinstance get 0fbb0212-bc2e-47de-a971-dbcbf46b39af -ojson | jq -r '.[0].latestResourceVersion.spec.value.state' | base64 -d | sed -E 's/(.*"filename": ")(\/root)(.*)/\1~\3/g' > terraform.tfstate
capact typeinstance get 0fbb0212-bc2e-47de-a971-dbcbf46b39af -ojson | jq -r '.[0].latestResourceVersion.spec.value.variables' | base64 -d > terraform.tfvars
terraform init
terraform destroy # region eu-west-1 Helm chartInstall it via Dashboard. Test
DeleteIt's not needed. Resources will be removed on cluster deprovisioning. RedisFound issues:
AWS
Test
I tried to reach the Redis instance via DeleteTo delete resource on AWS side, run: git clone --depth 1 https://github.com/umotif-public/terraform-aws-elasticache-redis.git
cd terraform-aws-elasticache-redis
capact typeinstance get 9a1b2b10-539f-4abf-9e05-5cf3e41ac200 -ojson | jq -r '.[0].latestResourceVersion.spec.value.state' | base64 -d | sed -E 's/(.*"filename": ")(\/root)(.*)/\1~\3/g' > terraform.tfstate
capact typeinstance get 9a1b2b10-539f-4abf-9e05-5cf3e41ac200 -ojson | jq -r '.[0].latestResourceVersion.spec.value.variables' | base64 -d > terraform.tfvars
terraform init
terraform destroy # region eu-west-1 Next delete the EC2 https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#InstanceDetails:instanceId=i-0c21aa8a04b0f7bde and analysis https://eu-west-1.console.aws.amazon.com/vpc/home?region=eu-west-1#NetworkPath:pathId=nip-0e75c9c53af9c2a8f Helm chart
Test
Rocket.ChatHelm chart
Test
DeleteIt's not needed. Resources will be removed on cluster deprovisioning. MattermostPSQL Helm chart
Test
DeleteIt's not needed. Resources will be removed on cluster deprovisioning. RDSFound issues:
Follow Install Mattermost with an external AWS RDS database tutorial. In my case it was:
DeleteTo delete resource on AWS side, run: curl -LO https://storage.googleapis.com/capactio-terraform-modules/terraform.aws.rds.postgresql.provision/0.1.0/module.tgz
tar zxvf module.tgz
capact typeinstance get 681bd80b-1079-4c7d-b0ae-45fffb93c548 -ojson | jq -r '.[0].latestResourceVersion.spec.value.state' | base64 -d | sed -E 's/(.*"filename": ")(\/root)(.*)/\1~\3/g' > terraform.tfstate
capact typeinstance get 681bd80b-1079-4c7d-b0ae-45fffb93c548 -ojson | jq -r '.[0].latestResourceVersion.spec.value.variables' | base64 -d > terraform.tfvars
terraform init
terraform destroy # region eu-west-1 ConcourseFound issues:
nError: Attempted to load application default credentials since neither `credentials` nor `access_token` was set in the provider block. No credentials loaded. To use your gcloud credentials, run 'gcloud auth application-default login'. Original error: google: error getting credentials using GOOGLE_APPLICATION_CREDENTIALS environment variable: missing 'type' field in credentials
with provider[\"registry.terraform.io/hashicorp/google\"],
on main.tf line 46, in provider \"google\":
46: provider \"google\" {
"
}
Cloud SQL
Test
DeleteTo delete resource on GCP side:
MinIOIssues:
Helm chart
Test
AppendixForward GatewayCreate local tunel to Gateway.
Forward DashboardCreate local tunel to Dashboard.
Forward Neo4j browser
Forward Grafana
Force manifest repullingkc exec -it -n capact-system capact-hub-public-5c45558575-7vhlj -c hub-public-populator -- pkill sleep
kc logs -n capact-system capact-hub-public-5c45558575-7vhlj -c hub-public-populator -f Forward Argo
|
Description
Blocked by #634, #650, #665
capactio/hub-manifests
to use the latest workflow syntax (Argo workflows artifact content) - breaking change introduced in Handle multiple backends for the TypeInstance upload from workflow #634Additional scope:
output.useHelmReleaseStorage
fromhelm.install
and add env variable to Helm Runner container. We have now two Implementations (install
andinstall-static
, so we can distinguish them). However, all manifests that use Helm runner should be updated to always assume they use the newhelm.install
which outputs dynamic Helm Release TI. That means:Needs to be changed to:
output.useHelmReleaseStorage
fromhelm.upgrade
input Type - detect input TypeInstance in Helm Runner and output the same shapeti-value-fetcher
.Timebox for 3SP.
Related issues
See epic #604 for reason and use cases.
The text was updated successfully, but these errors were encountered: