#codefresh - January 2019

January 2019
dustinvb
dustinvbalmost 8 years ago
CLI can now use your local machine as the volume for more verbose debugging.


--local-volume	--lv		Use your file system as volume in local run
Michal Matyjek
Michal Matyjekalmost 8 years ago
Wondering if anyone solved/hit these:

1) discarding concurrent builds - imagine I want to have pipeline triggered on git commit, it takes 1 hour to run, but if any other build of the pipeline is triggered we only keep the currently building one and the most recent one, all others are discarded.

2) pausing pipeline - if we have pipeline triggered on commit or on cron - is there a way to manually pause the schedule? (other than deleting the trigger? since deleting/re-creating trigger is involved). Looking for something similar to Jenkins enable/disable pipeline button

3) what do people use for sequential/unique build numbering - if we wanted to generate semantic versions for our builds?
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
i've wanted to have "locks"
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
so we can have a pipeline block untili it obtains the lock.
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
i've seen semver services
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
e.g. you can curl an API for a given service and specify if you want a new path, minor or major release
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
e.g. curl <https://semver.host.io?service=foobar&patch+=1>
Michal Matyjek
Michal Matyjekalmost 8 years ago
interesting... not exactly what I wanted but makes sense
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
one of our problems is with helm versioning
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
basically different projects have pinned to different versions of our release harness
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
which mean different versions of helm
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
one option is to always check the server and then use that version locally
erik
erikalmost 8 years ago(edited)
on an totally unrelated note, I was surprised to see how many people we've found who like make 😃
joshmyers
joshmyersalmost 8 years ago
make is the new hotness, until you get too deep into it. Is it a really cool project these days if it isn’t go & make ?
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
haha
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
yea, stay on the surface
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
the deep waters of make are dangerous
joshmyers
joshmyersalmost 8 years ago
Likely not useful, but wrote https://github.com/joshmyers/dynolocker for a quick distributed lock before
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
oh that’s cool!
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
yea, that’s basically what I wanted
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
you sir got your first ⭐️
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
@dustinvb have you seen #kubecost? I think this could add some extra bling to your demos.
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
They have a dashboard that shows exactly how much a deployment costs plus makes it easy to “right size” pods.
dustinvb
dustinvbalmost 8 years ago
Bah that link requires login LOL.
dustinvb
dustinvbalmost 8 years ago
Have you seen the new metrics tab on the bottom of your builds we pushed yesterday?

The main one shows cumulative and you can also see each step there or click on the step and get more details.
dustinvb
dustinvbalmost 8 years ago
dustinvb
dustinvbalmost 8 years ago
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
That link is just medium being medium. There’s a X in the upper right corner that closes at dialog. Stupid medium.
dustinvb
dustinvbalmost 8 years ago
Also our first version of our behind the firewall agent has been released. https://github.com/codefresh-io/venona You can deploy to your Kubernetes cluster and use as a custom runtime.
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
Dustin how is that different from using the codefresh cli deploy the run time environment?
dustinvb
dustinvbalmost 8 years ago
That requires you allow ingress from Codefresh SaaS
dustinvb
dustinvbalmost 8 years ago
This would be where you don't want to expose your Kubernetes API to internet.
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
That’s badass
dustinvb
dustinvbalmost 8 years ago
Sorry API proxy is coming soon. This allows for the runtime to be behind the firewall in our Hybrid scenario.
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
--
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
we’ve released our helmfile to install the codefresh runtime environment using our monochart
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
mumoshu
mumoshualmost 8 years ago
@mumoshu has joined the channel
dustinvb
dustinvbalmost 8 years ago
We also have venona now which does behind the firewall runtimes with no ingress.

https://github.com/codefresh-io/venona
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
Cool, we will do the same for that
dustinvb
dustinvbalmost 8 years ago
The manual approval, step is due out next week. You'll already see in Slack there is an option to send notifications about approval builds and a new option on the build screen to the right of pending for builds waiting approval.
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
That will be awesome!!
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
So an engineer can kick off the deployment by cutting a release in github
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
that triggers a codefresh pipeline
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
which requests an approval via slack to the engineering manager
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago(edited)
if he approves it, then the deployment proceeds.
dustinvb
dustinvbalmost 8 years ago
Yes but permissions are not available yet around the process but the pipeline is stamped with the user who approved/denied.
dustinvb
dustinvbalmost 8 years ago
@Mark Grube Join us here.
dustinvb
dustinvbalmost 8 years ago
Ah I see you, didn't say you joined.
Mark Grube
Mark Grubealmost 8 years ago
Clearly, I am a ninja
dustinvb
dustinvbalmost 8 years ago
With that professional incognito profile pic I would say that is 100% the case.
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
This is awesome!
erik
erikalmost 8 years ago
erik
erikalmost 8 years ago
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
not sure if you guys have investigated how Travis does their remote exec
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
but it’s via tmate
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
I’ve reproduced the functionality with this code snippet
erik
erikalmost 8 years ago
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
this assumes tmate binary is in your path
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
if you run this snippet, you will get this output
dustinvb
dustinvbalmost 8 years ago
I haven't personally nor heard of anything about this.
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago

ssh <mailto:z0Kgk9o3hU8e6pRYE4fU008mc@sf2.tmate.io|z0Kgk9o3hU8e6pRYE4fU008mc@sf2.tmate.io>
ssh <mailto:ro-XGFBNsGrPrVg4vKdPS5xrjW4k@sf2.tmate.io|ro-XGFBNsGrPrVg4vKdPS5xrjW4k@sf2.tmate.io>
<https://tmate.io/t/z0Kgk9o3hU8e6pRYE4fU008mc>
<https://tmate.io/t/ro-XGFBNsGrPrVg4vKdPS5xrjW4k>

Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
then I can exec into the container
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
so how does this relate to codefresh?
dustinvb
dustinvbalmost 8 years ago
You should tell me.
dustinvb
dustinvbalmost 8 years ago
LOL
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
so if a container step you add sleep inf, that step won’t finish
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
if the step before that runs the script I shared, then it starts a reverse tunnel out to <http://tmate.io|tmate.io>
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
then I can effectively debug my codefresh container running on codefresh
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
ok, this is cool
dustinvb
dustinvbalmost 8 years ago
We need to think about this as another option and see about a new Fresh Step
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
that’s cool!
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
i didn’t know about the composition terminal
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
though that won’t apply to pipelines, right?
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
general pipelines
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
so travis has a button that basically says, on next run, start a tmate session
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
i think in the codefresh world, it would almost be like setting a break point
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
only that the container is left running
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
@Michal Matyjek @Daren what do you think about something like this?
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
HOLY MOLY! I have brilliant idea
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
I’m going to add tmate/session as a target in our build-harness
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
then just add make tmate/session in any pipeline step for debugging
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
and it will output a temporary session
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
in the build logs
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
it will block indefinitely until the tmate session exits or a preconfigurable timeout
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
@Dave Yu ☝️ 😃
dustinvb
dustinvbalmost 8 years ago
I've invited Francisco here from my team. I think this debugging utility talk will interest him.
dustinvb
dustinvbalmost 8 years ago
We just ran into something today this would have aided in. I'd like to get this integrated into the pipeline like we do with cf_export.
Dave Yu
Dave Yualmost 8 years ago
This kind of feature was really useful when I used CircleCi
erik
erikalmost 8 years ago
Igor Rodionov
Igor Rodionovalmost 8 years ago
Codefresh in on thoughtworks' tech radar
Igor Rodionov
Igor Rodionovalmost 8 years ago
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
nice!
Dave Yu
Dave Yualmost 8 years ago
I’m trying to deploy to a new k8s cluster, and thinking I missed a step somewhere when provisioning it. any clues here?
yaml:

title: Deploy with helmfile
stage: Deploy
image: 'cloudposse/build-harness:${{BUILD_HARNESS_VERSION}}'
working_directory: ./
environment:
  - 'IMAGE_TAG=${{SEMVERSION_COMMIT_SHORT}}'
  - 'RELEASE_NAME=${{NAMESPACE}}'
  - APP_API_ROOT=https://${{BACKEND_APP_HOST}}'
  - 'AWS_ACCESS_KEY_ID=${{CHAMBER_ACCESS_KEY_ID}}'
  - 'AWS_SECRET_ACCESS_KEY=${{CHAMBER_SECRET_ACCESS_KEY}}'
commands:
  - make helm/toolbox/upsert
  - chamber exec app -- helmfile sync

log output:
Pulling image cloudposse/build-harness:0.15.3                                                                  
Digest: sha256:48379abbffe7707ce8185839c24ad20830e45fec7092edbf4febf6b2e859df98                                
Status: Image is up to date for cloudposse/build-harness:0.15.3                                                
ERROR: kubectl not installed!                                                                                  
make: *** [//build-harness/modules/helm/Makefile:24: helm/toolbox/upsert] Error 1
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
that looksl ike a really old version of the build-harness
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
newer versions ship kubectl
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
oh snap
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
that's the latest
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
I can take a look in a few hours
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
about to give a demo of this https://github.com/cloudposse/example-app
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago(edited)
Blue/Green deployments with Codefresh and Istio and Helm
Dave Yu
Dave Yualmost 8 years ago
cool. i’ll poke around.
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago(edited)
it uses our "cartrige" style deployment methodology where everything is bundled in the deployment artifact (aka docker image)
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
to get unblocked, you should be able to do:
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
make packages/install/kubectl
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
as a build step
Andriy Knysh (Cloud Posse)
Andriy Knysh (Cloud Posse)almost 8 years ago
@Dave Yu i think it should be a geodesic image
image: cloudposse/geodesic:${{GEODESIC_VERSION}}
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
Though if he does that, then he needs to install the build-harness
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
so it's neither here nor there 😃
Andriy Knysh (Cloud Posse)
Andriy Knysh (Cloud Posse)almost 8 years ago
split into two steps
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
yea, could possibly do that
Andriy Knysh (Cloud Posse)
Andriy Knysh (Cloud Posse)almost 8 years ago(edited)
deploy_helmfile:
    title: Deploy with helmfile
    stage: "Deploy"
    image: cloudposse/geodesic:${{GEODESIC_VERSION}}
    environment:
    - AWS_REGION=us-west-2
    commands:
    # Install or upgrade tiller
    - "make init"
    - "make helm/toolbox/upsert"
    # Deploy chart to cluster using helmfile
    - "chamber exec kops -- helmfile --file config/helmfile.yaml --selector component=app sync --concurrency 1 --args '--wait --timeout=600 --force --reset-values'"
    # Add kiam annotation
    - kubectl annotate namespace ${NAMESPACE} "<http://iam.amazonaws.com/permitted=.*|iam.amazonaws.com/permitted=.*>" --overwrite
Dave Yu
Dave Yualmost 8 years ago
thanks! i’ll try those options
Dave Yu
Dave Yualmost 8 years ago(edited)
fyi this was the example i followed, and it did work before with the same build-harness version. https://github.com/cloudposse/statup/blob/add-helmfile/codefresh/pull-request.yml#L82
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
That's really odd. I can't explain it.
Mark Grube
Mark Grubealmost 8 years ago
I am trying to deploy an application, with the image being pulled from cfr. I added a Secret to the helm chart so that the chart would deploy everything needed for the application, but it doesn’t create the secret first. What is the best practice for uploading the secret?
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
good question.
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
so there are a few ways to handle this.
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
If you’re not going to be using a lot of namespaces, it would be most secure to deploy the pull secret manually as a “one off”
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
If you’re using kops, you can provision a cluster-wide pull secret
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
If you’re using helmfile, then you can deploy it by adding a release of this: https://github.com/cloudposse/charts/tree/master/incubator/dockercfg
dustinvb
dustinvbalmost 8 years ago
These work with any registries you have connected to Codefresh.
dustinvb
dustinvbalmost 8 years ago
Maybe too many options?
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
haha
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
@dustinvb would be nice if there was a build-step or something we could use to automatically provision the pull secret for a namespace
dustinvb
dustinvbalmost 8 years ago
You can use the CLI as a build step.
Mark Grube
Mark Grubealmost 8 years ago
lol, this is all good stuff. So if I am going to have a namespace per dev team or developer, would it be best to have a helm chart that configures the namespace with all secrets needed?
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
the downside with provisioning secrets with helm is that they are in clear text if you run helm get values
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
and are also surfaced in clear text in the helm UI in codefresh
Mark Grube
Mark Grubealmost 8 years ago
thats good to know
dustinvb
dustinvbalmost 8 years ago
Bah I am all off on my explanation... I mis read what you're trying to do.
dustinvb
dustinvbalmost 8 years ago
Use helm-secrets plugin
dustinvb
dustinvbalmost 8 years ago
That's what I used
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
the helm-secrets plugin doesn’t fix it
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
the values are still passed in clear-text to helm
dustinvb
dustinvbalmost 8 years ago
Yes they are indeed but on the Kubernetes side it will create the secret for you using the Helm Chart.
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
hrmm
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
or do you mean helm-secrets will create the Secrets resource out-of-band with helm, so that it won’t be visible by helm?
dustinvb
dustinvbalmost 8 years ago
If you don't want these secrets showing up in a pipeline it is best to circumvent the secret creation in CI/CD something else like https://github.com/Boostport/kubernetes-vault
dustinvb
dustinvbalmost 8 years ago
It is still visible by Helm Releases and the command in the pipeline.
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
@mumoshu wrote this! I can’t wait to use it. no need to deploy vault.
dustinvb
dustinvbalmost 8 years ago
Nice!
dustinvb
dustinvbalmost 8 years ago
Yeah for AWS this looks great. I don't have enough access in AWS to create an example of this. If you ever have a pipeline with a helm chart using this I'd like to check it out.
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
True… AWS solution.
dustinvb
dustinvbalmost 8 years ago
Mark, do any of these options look viable for your use case?
Mark Grube
Mark Grubealmost 8 years ago
I think for now just to get unblocked i might create manually. https://github.com/mumoshu/aws-secret-operator looks pretty cool in the long term though
Mark Grube
Mark Grubealmost 8 years ago
Thanks you guys!
Michal Matyjek
Michal Matyjekalmost 8 years ago
Anyone here used codefresh api to start pipelines? The swagger at codefresh.io/api is not very clear.... or FWIW - anyone integrated Spinnaker with Codefresh?
dustinvb
dustinvbalmost 8 years ago
Our CLI is built off of the API.
https://github.com/codefresh-io/cli/blob/master/lib/logic/api/pipeline.js#L116-L165

I'll get your feedback to the team about the API.
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
Could be useful if any codefresh customers are using terraform
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
@Dan Garfield ☝️
Dan Garfield
Dan Garfieldalmost 8 years ago
@Dan Garfield has joined the channel
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
that's some pretty sweeet feature velocity
Daren
Darenalmost 8 years ago
Is it possible to trigger a pipeline via a webhook, and have the pipeline product an artifact that the caller has access to, say a json file
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
ohhhh some artifact scoped to the CF_API_KEY?
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
I don't know the answer. If they did, it would probably related to this new feature: https://codefresh.io/docs/docs/testing/test-reports/
Daren
Darenalmost 8 years ago
@Francisco Cocozza said you can create a named context, then used a (currently) undocumented api call to obtain it. A cronjob pipeline can be used to clean them up
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago(edited)
is the API call related to the test reports?
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
ohhhh i think i understand now
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
you have a pipeline that writes an artifact to the shared volume
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
and you want to know if you could read that artifact from that volume using the codefresh cli?
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
(and apparently this is possible using that undocumented call)
dustinvb
dustinvbalmost 8 years ago
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
Oh this is cool
dustinvb
dustinvbalmost 8 years ago
Example API call to get this context from another system: https://github.com/codefresh-io/cli/blob/master/lib/logic/api/context.js#L50-L60
dustinvb
dustinvbalmost 8 years ago
Since you get the build id when you trigger a pipeline, I'd suggest setting that in the file name and then you'll be able to have a unique per build file.
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
It would be cool if there was a way to define like a step.yaml in a repo with sufficient annotations that codefresh could just populate this automatically.
Michal Matyjek
Michal Matyjekalmost 8 years ago
I second that ^^^
Mark Grube
Mark Grubealmost 8 years ago
Anyone know how to nest an array in cfstep-helm value override? For reference I am trying to set the extraHostPathMounts for the kiam helm chart https://github.com/helm/charts/blob/master/stable/kiam/values.yaml#L182
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
have you looked into helmfile?
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
We use this exclusively with helm
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
helmfile takes the pain out of dealing with values.yaml and helm releases.
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
plus makes it easier to make helm more 12-factor compliant
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago(edited)
@Igor Rodionov @Maxim Mironenko (Cloud Posse) https://github.com/codefresh-contrib/cfstep-pipeline-creator
Maxim Mironenko (Cloud Posse)
Maxim Mironenko (Cloud Posse)almost 8 years ago
@Maxim Mironenko (Cloud Posse) has joined the channel
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
We've updated our example-app with our pipelines for unlimited staging, automatic destroy, release promotion, and multiple cluster deploys using tags
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
This also has an example of blue/green deploy's using Istio
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
we use helmfile with helm
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
we use variant as a "deploy cli"
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
@Dave Yu ☝️
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
what's notable about these updated pipelines is we avoid the classic "main clone" in every pipeline other than build
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
this makes it faster
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
the build artifact always contains the helmfile to deploy. this is an evolution of our statup demo (which is now out of date)
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
@dustinvb I want to add now all the clair scanning and other kinds of tests
dustinvb
dustinvbalmost 8 years ago
👍️ https://steps.codefresh.io/ should have the most up-to-date documentation some testing steps requires the user to work with vendor to install server side.
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
Nice for office wallboards!
Oleg Sucharevich
Oleg Sucharevichalmost 8 years ago
Cool!
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
this is by @Michal Matyjek
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
thanks for the heads up
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
thankfully at this very moment, not building. 😃
dustinvb
dustinvbalmost 8 years ago
Wonder if we can just integrate the status page into the channel 😉
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
done
dustinvb
dustinvbalmost 8 years ago
Incident reported earlier has been resolved.
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
Wierd, we didn't get the all lear message from the atom feed?
rss
rssalmost 8 years ago
504s and Latency on Builds and Pipeline pages in UI
Jan 31, 20:14 UTC
Resolved - The issue has been identified and resolved.
It was due to a high load on the system.
We scaled it up and took the corresponding actions to prevent further issues.
Jan 31, 20:14 UTC
Monitoring - We've resolved the issue and are actively monitoring the system.
Jan 31, 19:02 UTC
Investigating - Our Team is investigating reports with 504 Gateway errors and latency in Codefresh pages.
dustinvb
dustinvbalmost 8 years ago
That took a bit...
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)almost 8 years ago
Yea, guess it doesn't poll too often
rss
rssalmost 8 years ago
GitHub Incident
Jan 31, 22:11 UTC
Resolved - GitHub has reported this incident as Resolved.
More information here: https://www.githubstatus.com/
Jan 31, 22:10 UTC
Update - We are continuing to work on a fix for this issue.
Jan 31, 22:01 UTC
Identified - GitHub has reported an ongoing incident.
This could affect your builds.
More information here: https://www.githubstatus.com/