#geodesic - July 2018

Jonathan Olson
Jonathan Olsonover 8 years ago
@Jonathan Olson has joined the channel
Andriy Knysh (Cloud Posse)
Andriy Knysh (Cloud Posse)over 8 years ago
@Andriy Knysh (Cloud Posse) has joined the channel
Andriy Knysh (Cloud Posse)
Andriy Knysh (Cloud Posse)over 8 years ago
@Sebastian Nemeth @Yoann if you have questions about geodesic and https://docs.cloudposse.com/reference-architectures, please ask them in this channel
Andriy Knysh (Cloud Posse)
Andriy Knysh (Cloud Posse)over 8 years ago
btw, welcome
Sebastian Nemeth
Sebastian Nemethover 8 years ago
@Sebastian Nemeth has joined the channel
Yoann
Yoannover 8 years ago
@Yoann has joined the channel
tamsky
tamskyover 8 years ago
@tamsky has joined the channel
Sebastian Nemeth
Sebastian Nemethover 8 years ago
Thanks very much! My q was that each module sets up a hosted zone e.g. root.company.com and prod.company.com... how and where would we set up say, CNAME records that map company.com to prod.company.com?
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
I am afk so cannot really share any details easily, but you are correct. One geodesic module per AWS account. One delegated dns zone per account. The root account is responsible for delegating the zones, but first need to create the zones
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
If you look for account-dns that is where the sub account provisions a zone
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
If you look for root-dns that is where the delegation happens
Andriy Knysh (Cloud Posse)
Andriy Knysh (Cloud Posse)over 8 years ago
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
So for a cold start, there are a number steps that must be followed in order to get everything linked up.
Sebastian Nemeth
Sebastian Nemethover 8 years ago
Holy shit guys, it's Saturday!
Sebastian Nemeth
Sebastian Nemethover 8 years ago
V. much appreciate your response on the weekend. Was not expecting that!
Andriy Knysh (Cloud Posse)
Andriy Knysh (Cloud Posse)over 8 years ago
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
Haha! We’re mostly around in some capacity. :)
Andriy Knysh (Cloud Posse)
Andriy Knysh (Cloud Posse)over 8 years ago(edited)
2. Then we provision all other accounts (testing, staging, prod, etc)
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
@Andriy Knysh (Cloud Posse) has provisioned this stack dozens of times
Andriy Knysh (Cloud Posse)
Andriy Knysh (Cloud Posse)over 8 years ago(edited)
3. Then we come back to root and provision Zone delegation (Name servers)
Andriy Knysh (Cloud Posse)
Andriy Knysh (Cloud Posse)over 8 years ago
^ that’s a high level description to provision dns on all accounts
Andriy Knysh (Cloud Posse)
Andriy Knysh (Cloud Posse)over 8 years ago
Andriy Knysh (Cloud Posse)
Andriy Knysh (Cloud Posse)over 8 years ago
please ask more questions 🙂
Sebastian Nemeth
Sebastian Nemethover 8 years ago
Okay, so parent zone = company.com...? So then what's root hosted zone for?

I mean, I get that each module has its own zone and the parent delegates to the modules... but then why a separate root hosted zone?
Sebastian Nemeth
Sebastian Nemethover 8 years ago
what's diff between parent and root?
Andriy Knysh (Cloud Posse)
Andriy Knysh (Cloud Posse)over 8 years ago
good question @Sebastian Nemeth 🙂
Sebastian Nemeth
Sebastian Nemethover 8 years ago
I try 😛
Andriy Knysh (Cloud Posse)
Andriy Knysh (Cloud Posse)over 8 years ago
we use <http://xxxxx.cloudposse.co|xxxxx.cloudposse.co> on all accounts so it’s mostly for:
Andriy Knysh (Cloud Posse)
Andriy Knysh (Cloud Posse)over 8 years ago
1. To have consistent naming
Andriy Knysh (Cloud Posse)
Andriy Knysh (Cloud Posse)over 8 years ago
2. Parent zone <http://company.com|company.com> is just DNS name, but we name our AWS accounts root, prod, staging, etc.
Andriy Knysh (Cloud Posse)
Andriy Knysh (Cloud Posse)over 8 years ago
so mostly to have the same naming on all accounts, and also the same naming on all AWS resources (e.g. roles cp-root-admin, cp-testing-admin)
Andriy Knysh (Cloud Posse)
Andriy Knysh (Cloud Posse)over 8 years ago
and AWS profiles
Sebastian Nemeth
Sebastian Nemethover 8 years ago
okay makes sense... so the logical hierarchy is...

parent
- root
- audit
- prod
- staging
- testing
Sebastian Nemeth
Sebastian Nemethover 8 years ago
etc
Andriy Knysh (Cloud Posse)
Andriy Knysh (Cloud Posse)over 8 years ago
for DNS yes
Andriy Knysh (Cloud Posse)
Andriy Knysh (Cloud Posse)over 8 years ago
from the point of view of AWS organization:
Sebastian Nemeth
Sebastian Nemethover 8 years ago
so then, is there ever a use case for actually using root's dns records?
Andriy Knysh (Cloud Posse)
Andriy Knysh (Cloud Posse)over 8 years ago(edited)
root (Organization)
- audit
- prod
- staging
- testing
Sebastian Nemeth
Sebastian Nemethover 8 years ago
mmhmmm
Sebastian Nemeth
Sebastian Nemethover 8 years ago
okay, cool these structures would really help in the documentation
Andriy Knysh (Cloud Posse)
Andriy Knysh (Cloud Posse)over 8 years ago
thanks, we’ll add that, nice point
Sebastian Nemeth
Sebastian Nemethover 8 years ago
And maybe a line about the concept that each module has its own xxxx.cloudposse.co and parent delegates from the TLD
Andriy Knysh (Cloud Posse)
Andriy Knysh (Cloud Posse)over 8 years ago
yep
Andriy Knysh (Cloud Posse)
Andriy Knysh (Cloud Posse)over 8 years ago
we have something like that in the docs, but agree, it’s not easy to follow unless we make big notes about that
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
I am excited about concentrating these questions in channel. We have a lot of it in #announcements, but with so much chatter it’s lost in the noise. Having it in here will help in the feedback loop, so we can review discussions and update docs.
Andriy Knysh (Cloud Posse)
Andriy Knysh (Cloud Posse)over 8 years ago
also @Sebastian Nemeth if you have some input, you can create issues in any of the repos or in the docs
Sebastian Nemeth
Sebastian Nemethover 8 years ago
Gotcha
Andriy Knysh (Cloud Posse)
Andriy Knysh (Cloud Posse)over 8 years ago
not sure if you saw that in the other channel, so here it is again FIY 🙂
Andriy Knysh (Cloud Posse)
Andriy Knysh (Cloud Posse)over 8 years ago
We just released Cloud Posse reference architectures:

<https://github.com/cloudposse/terraform-root-modules> - Collection of Terraform root module invocations for provisioning reference architectures
<https://github.com/cloudposse/root.cloudposse.co> - Terraform Reference Architecture of a Geodesic Module for a Parent ("Root") Organization in AWS
<https://github.com/cloudposse/prod.cloudposse.co> - Terraform Reference Architecture of a Geodesic Module for a Production Organization in AWS
<https://github.com/cloudposse/staging.cloudposse.co> - Terraform Reference Architecture of a Geodesic Module for a Staging Organization in AWS
<https://github.com/cloudposse/dev.cloudposse.co> - Terraform Reference Architecture of a Geodesic Module for a Development Sandbox Organization in AWS
<https://github.com/cloudposse/audit.cloudposse.co> - Terraform Reference Architecture of a Geodesic Module for an Audit Logs Organization in AWS
<https://github.com/cloudposse/testing.cloudposse.co> - Terraform Reference Architecture that implements a Geodesic Module for an Automated Testing Organization in AWS

They show how we provision AWS accounts and what Terraform modules we use.
Complete description is here <https://docs.cloudposse.com/reference-architectures>

We will be improving the repos and the docs. Your input and PRs are very welcome.
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
@Andriy Knysh (Cloud Posse) sorry didn’t fill you in - @Sebastian Nemeth is with the startup in Helsinki. They found us by way of our reference architectures and modules.
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
Now they are rolling up their sleeves
Andriy Knysh (Cloud Posse)
Andriy Knysh (Cloud Posse)over 8 years ago
very nice
Sebastian Nemeth
Sebastian Nemethover 8 years ago
👷
Andriy Knysh (Cloud Posse)
Andriy Knysh (Cloud Posse)over 8 years ago
@Sebastian Nemeth we’ll be glad to help and answer any questions
Sebastian Nemeth
Sebastian Nemethover 8 years ago
I'm sure we'll have plenty - feel very lucky to have you guys on the other side of the line. This stuff is painful to get right.
Yoann
Yoannover 8 years ago
Can we automate geodesic terraform to build and destroy a cluster in a CI env ?
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
@Yoann We have this on our roadmap for this quarter, but do not have any reference architectures for how to do it.
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
if you want to get a headstart on it, i can walk you through how we would approach it
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
a geodesic module is just a container. so if you run that container in a context which provides either the AWS credentials as environment variables (AWS_ACCESS_KEY_ID, and AWS_SECRET_ACCESS_KEY) to the container or where there's an AWS instance profile with sufficient access credentials, then you can just run the commands you would normally run inside the container
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
something like:
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago(edited)

docker run --env-file /dev/shm/secrets.env --workdir /conf/myproject/ mycompany/staging.mycompany.com:1.2.3 chamber exec myproject -- terraform apply
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
that's saying start a docker container with environment variables from a file called secrets.env
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
change directory to /conf/myproject
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago(edited)
run chamber exec myproject to get SSM secrets from myproject
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
and then run terraform apply
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
so you see, deploying infrastructure with CI/CD is not really much different than any deployment process, since it's all bundled in a container.
Rohit Verma
Rohit Vermaover 8 years ago
hi, is anyone using build chart instructions from here https://docs.cloudposse.com/release-engineering/cicd-process/build-charts/
Rohit Verma
Rohit Vermaover 8 years ago
it seems the latest build-harness don’t have target make helm/chart/build-all
Rohit Verma
Rohit Vermaover 8 years ago(edited)
i tried with latest, 0.6.13, 0.6.12
Yoann
Yoannover 8 years ago
Thanks @Erik Osterman (Cloud Posse) that seems pretty straightforward I wilkl have a look at it when I achieve to deploy my kops cluster.
ATM I could not install the staging env due to VPC conflicts
Sebastian Nemeth
Sebastian Nemethover 8 years ago
Hey guys, is there any way to re-use an existing AWS linked account to initialize testing, audit, staging and prod geomodules?
Sebastian Nemeth
Sebastian Nemethover 8 years ago
I have a bunch of old accounts that would be cleaner to re-name and re-purpose.
Igor Rodionov
Igor Rodionovover 8 years ago
@Igor Rodionov has joined the channel
Evan Petrie
Evan Petrieover 8 years ago
@Evan Petrie has joined the channel
Mike Crowe
Mike Croweover 8 years ago
@Mike Crowe has joined the channel
sarkis
sarkisover 8 years ago
@sarkis has joined the channel
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
Yes you should be able to reuse them.
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
You can use ‘terraform import’ command with the resource name and account is to import state
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
@Sebastian Nemeth
Sebastian Nemeth
Sebastian Nemethover 8 years ago
Problems with cold_start doco:
Sebastian Nemeth
Sebastian Nemethover 8 years ago
@Sebastian Nemeth pinned a message to this channel.
Arkadiy
Arkadiyover 8 years ago
@Arkadiy has joined the channel
Rohit Verma
Rohit Vermaover 8 years ago
hi, i am looking for strategy to use conf with local dev environment, the way i did the workaround is to manuall add dockerargs in wrapper as --volume=$(pwd)/aws:/conf). So when i run it within the repo root, it mounts my conf to wrapper and i can do changes in my IDE and sync it directly from geodesic shell
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
hrm
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
so for local dev, i always cd /localhost
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
and work from there
Rohit Verma
Rohit Vermaover 8 years ago(edited)
the drawback is, I have to copy all standard modules to my repo, cause if I do COPY --from=terraform-root-modules /aws/tfstate-backend/ /conf/tfstate-backend/ the root modules were hidden
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago(edited)
/localhost = $HOME <-- host machine
Rohit Verma
Rohit Vermaover 8 years ago
yes that I am aware of
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
hrmm can you elaborate on what you want to achieve beyond IDE?
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
or why this is insufficieint with IDE.
Rohit Verma
Rohit Vermaover 8 years ago(edited)
actually you are right with this, it just being habitual I ended up using the default root
Rohit Verma
Rohit Vermaover 8 years ago
i just have too much nesting in my local so felt lazy about this
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago(edited)
yea, that is a challenge - also with a lot of docker inheritance it's not a universal solution for all kind of debugging.
Rohit Verma
Rohit Vermaover 8 years ago
/localhost/github/ops/new/dev.niki.ai
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
i find it works really well with terraform-root-modules
Rohit Verma
Rohit Vermaover 8 years ago
hmm
Rohit Verma
Rohit Vermaover 8 years ago
but this still lacks 1 thing, not a major glitch, to work with root modules I have to switch to ~ but then to work with my modules I have to switch back to localhost
Rohit Verma
Rohit Vermaover 8 years ago(edited)
can’t we force docker mount to show the content of container in the mount directory
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
oh
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
yea, that would be nice. something that automatically drops you in the context of your IDE path
Rohit Verma
Rohit Vermaover 8 years ago
if you open terminal within ide, it drops you there only
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
basically, just need it to pass the --workdir arg to docker
Rohit Verma
Rohit Vermaover 8 years ago
yes
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
or do a cd /.... upon entering the shell, perhaps with something in /etc/profile.d
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
i don't have a idea right now on what the convention would look like
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
open to suggestions
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
perhaps caller can set a GEODESIC_WORKDIR env?
Sebastian Nemeth
Sebastian Nemethover 8 years ago
Hey guys - the cold start docs describe setting up aws-vault on your local machine, but it's also available in the geodesic container. Does it have to be set up in both places, or does geodesic mount ~/.aws/config or something? Or is it best practice to only use aws-vault from geodesic?
sarkis
sarkisover 8 years ago(edited)
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
@Sebastian Nemeth it’s only needed for locally when doing native development
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
(e.g. docker compose)
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
e.g. chamber exec app -- docker-compose up
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
I agree though - the docs should be updated to make that clear.
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
you’re the second person in the last day to point that out. 😃
Sebastian Nemeth
Sebastian Nemethover 8 years ago
Glad I'm helping 😄
Sebastian Nemeth
Sebastian Nemethover 8 years ago
Hey guys, few issues posted under root.cloudposse.co
Sebastian Nemeth
Sebastian Nemethover 8 years ago
Blocker for me atm is geodesic doesn't seem to be mounting ~/.aws/config correctly
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
Checking
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
@Rohit Verma anyone on your team using Geodesic on WSL?
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
Rohit Verma
Rohit Vermaover 8 years ago
no, we have only linux and mac machines
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
Thanks! I think we are close to getting it working on windows
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
@Sebastian Nemeth how about this?
erik
erikover 8 years ago
Sebastian Nemeth
Sebastian Nemethover 8 years ago
@Erik Osterman (Cloud Posse) I actually followed this guide to set up docker on WSL and it's a good reference for you to include in your documentation. I have the path set up as per this guide, so that mounting from /c works fine, but our problem is with /home/username.
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
Ok, I was thinking maybe needed to use /c/Users/username instead of /home/username
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
Upvoted
Sebastian Nemeth
Sebastian Nemethover 8 years ago
hm
Sebastian Nemeth
Sebastian Nemethover 8 years ago
That's an interesting idea
Sebastian Nemeth
Sebastian Nemethover 8 years ago
That's v. interesting.
docker run -it --rm -v /C/Users/sebas_000/AppData/Local/lxss/home/martaver:/test alpine sh works
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
Ok, I think then that’s why I see suggestions to run something like this
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
mount --bind /mnt/c /c
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
To create a “proxy” path
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
You could do that to shorten the path above, albeit ugly
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
Off to bed! Lmk how it goes
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
@Sebastian Nemeth tracking this issue here: https://github.com/cloudposse/geodesic/issues/199
Rohit Verma
Rohit Vermaover 8 years ago
@Erik Osterman (Cloud Posse) I have replaced kube-lego with cert-manager, https://github.com/nikiai/dev.niki.ai/blob/ae192f5bc7a4b1287b2d611267d200f15be845e4/aws/kops/helmfile.yaml#L303. In case you want to include this in geodesic
Rohit Verma
Rohit Vermaover 8 years ago
Kube-lego is now depricated
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
Awesome! Thanks... we shall incorporate it
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
Same annotations?
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
@Rohit Verma @Max Moon what are your thoughts on moving helmfiles to a separate repo that can be rev’d separately?
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
Especially since they can now be decomposed to helmfile.d
Rohit Verma
Rohit Vermaover 8 years ago
most likely I would recommend to use it in root-modules
Rohit Verma
Rohit Vermaover 8 years ago
you can actually rename terraform-root-modules to root-modules
Rohit Verma
Rohit Vermaover 8 years ago
please see my repo, i am kindly doing the same
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
I’ve struggled with mixing the technologies
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
Charts are separate
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
Terraform is separate
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
Seems like helmfiles should be separate
Rohit Verma
Rohit Vermaover 8 years ago
I work on principal of environment, what are the things which aggregately define my environment will come in same repo in the end
Rohit Verma
Rohit Vermaover 8 years ago
doesn’t matter from where it came
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
Environments are to me the account repos
Rohit Verma
Rohit Vermaover 8 years ago
we can create a new repo and in docker file add the same syntax
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
Those tie everything together
Rohit Verma
Rohit Vermaover 8 years ago
yes, environmet = account repo
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
Packages come from packages
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
Terraform code from root modules
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
Charts from charts.
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
Seems like clean separations no?
Rohit Verma
Rohit Vermaover 8 years ago
I agree completely with you
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
Cool I’ll track this in a separate issue
Rohit Verma
Rohit Vermaover 8 years ago(edited)
what i meant is that in dockerfile
Assume we have

COPY --from=terraform-root-modules /aws/tfstate-backend/ /conf/tfstate-backend/
COPY --from=charts /aws/basic /conf/basic (includes, dashboard etc...)
COPY --from=charts /aws/monitor /conf/monitor (includes, kube-prometheus etc...)
COPY --from=services /aws/services /conf/services

But when we are overriding anything e.g monitor, we would be overriding in dev.niki.ai only
Rohit Verma
Rohit Vermaover 8 years ago
As I explained earlier, to view the root-modules charts in my ide, i end up copying all to my code only. On first setup I did copy from terraform root, but then I moved it to my repo
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
Ok, makes sense. I recommend your approach as well.
Rohit Verma
Rohit Vermaover 8 years ago
also one thing I wanted to ask since started using helmfile, how can we sync only updated services. Helmfile sync always update all the services
Rohit Verma
Rohit Vermaover 8 years ago
doesn’t it use any hashing technique for a release
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
We use selectors extensively
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
Doesn’t that mitigate it?
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
Basically, I never call sync without a selector
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
I treat helmfile like a package manager
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
There also helmfile diff
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
I know @Daren loves this
Rohit Verma
Rohit Vermaover 8 years ago
I saw you recommended upsert
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
Oh yea, on that discussion
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
No response yet though, right?
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
(For reference)
Rohit Verma
Rohit Vermaover 8 years ago
yes
Rohit Verma
Rohit Vermaover 8 years ago
I will start migrating things to helmfile.d, than will hash of individual file
Rohit Verma
Rohit Vermaover 8 years ago
will share once done
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
@alebabai is converting them
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
Pr is undergoing testing
Rohit Verma
Rohit Vermaover 8 years ago
i need to do for our micro-services 🙂
Rohit Verma
Rohit Vermaover 8 years ago
is there a utility (shell 1 liners for this)? or you are doing manually
Rohit Verma
Rohit Vermaover 8 years ago
i think yq on name array and echo in name files should do
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
Yea, it’s called vim ;)
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
No fun
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
Oh, you mean for the testing?
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
That could work, but lots of envs in chamber also need to be set
Rohit Verma
Rohit Vermaover 8 years ago
why we need to worry about chamber when migrating from helmfile to helmfile.d
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
Oh we just use that to store the envs used by the files
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
Migrating is actually risky
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
Let me explain
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
helm —set does automatic type casting
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
If it sees a string that looks like a number it makes it an int
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
If it sees a Boolean sting it makes it a Boolean
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
So when converting to inline values it’s critical to maintain cast
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
Errors won’t be obvious
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
Subtle feature of charts might get accidentally disable if true is a string
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
While certain annotations require values to numbers to be strings
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
So the helmfile ‘set’ declaration just called —set
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
That’s why we care
Rohit Verma
Rohit Vermaover 8 years ago
got it
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
@Sebastian Nemeth hows it going?
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
See these slides? Wonder if it’s related to the HOME debacle
erik
erikover 8 years ago
erik
erikover 8 years ago
i5okie
i5okieover 8 years ago
@i5okie has joined the channel
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
@Sebastian Nemeth this is the fix for the make install problem you reported:
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 8 years ago
You'll need to incorporate that into you account repo