#codefresh (2019-08)

codefresh

Archive: https://archive.sweetops.com/codefresh/

2019-08-05

dustinvb avatar
dustinvb

@Erik Osterman (Cloud Posse) Do you have an example step where you utilize Helmfile in a Codefresh pipeline?

dustinvb avatar
dustinvb

Have someone who would like to see how this is used in a Codefresh pipelin

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

yes, but not maintained/current.

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)
cloudposse/testing.cloudposse.co

Example Terraform Reference Architecture that implements a Geodesic Module for an Automated Testing Organization in AWS - cloudposse/testing.cloudposse.co

dustinvb avatar
dustinvb

There is nothing your team uses currently as part of Codefresh deploy with a helmfile in a pipeline? I thought this was something you were doing regularly for a majority of your Helm deploys.

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

oh that

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)
cloudposse/example-app

Example application for CI/CD demonstrations of Codefresh - cloudposse/example-app

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)
cloudposse/example-app

Example application for CI/CD demonstrations of Codefresh - cloudposse/example-app

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

but the ctl command there is optional. we have an inline approach we use with our latest pipelines.

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

instead of that deploy_helmfile, we use a step more like

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)
deploy_helmfile:
    title: Deploy with helmfile
    stage: Deploy
    image: "${{TOOL_DOCKER_REPO_PREFIX}}/${{AWS_ENV_NAME}}:latest"
    working_directory: /conf/
    environment:
      - 'KUBECONFIG=${{CF_KUBECONFIG_PATH}}'
      - 'REPO_ROOT=${{CF_VOLUME_PATH}}/${{CF_REPO_NAME}}'
      - 'APP_HOST=${{APP_HOST_DOMAIN}}'
    shell: bash
    commands:
      # Announce the release version
      - echo "* Preparing to deploy ${RELEASE_NAME} with image ${IMAGE_NAME}:${IMAGE_TAG}"
      - echo "*     with flavor \"$FLAVOR\" into namespace ${RELEASE_NAMESPACE}"
      - kubectl config use-context "${KUBE_CONTEXT}"
      - cd $(conf-directory helmfiles) && echo Working directory is now $PWD
      - direnv exec . helmfile --namespace="${RELEASE_NAMESPACE}" --environment="${FLAVOR}"
        -f "${REPO_ROOT}/deploy/helmfile.yaml" sync
    when:
      steps:
      - name: ask_for_permission
        on:
        - approved

2019-08-12

Alex Siegman avatar
Alex Siegman

Seems that pending-approval steps don’t parse variables in the title field. I’d love to be able to customize that text for better UX on reused pipelines. Anyone done something similar? Trying to do this:

  ask_for_permission:
    type: pending-approval
    title: Deploy release of ${{APP_NAME}}:${{IMAGE_TAG}} to ${{FLAVOR}}?
    stage: Prepare

But I get the text seen in title with no substitution for the variables. Is this a feature request for the codefresh folks?

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

@Alex Siegman totally agree

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

We’ve submitted a similar feature request

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

I think the more that do it, the better

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

Go to support.codefresh.io to add your vote for this

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

I know @Jeremy G (Cloud Posse) requested it too

Jeremy G (Cloud Posse) avatar
Jeremy G (Cloud Posse)
06:43:15 PM

@Jeremy G (Cloud Posse) has joined the channel

Alex Siegman avatar
Alex Siegman

Feature request sent

btai avatar

for codefresh, sometimes my pipeline will pull a previously built image to use as the cache and other times it will say the following:

Previous built image: r.cfcr.io/org/repo_name@sha256:hash exists on the daemon and will be us
ed as cache for the build 
btai avatar

so im wondering if you have many devs working concurrently on the same repo (in different branches) then does that mean that it’s more likely your pipeline will need to pull the image (adds ~1.5-2min for a 2.5GB image) as opposed to already having the image existing on the daemon

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

yes, I think it depends on if the build hits a worker (and thus different daemon) with the image cached.

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

@Igor Rodionov spent a lot of time looking into this recently

btai avatar

when you say worker

btai avatar

you mean k8s worker i assume that codefresh is running on?

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

so behind the scenes they run Docker-in-Docker (for security reasons).

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

it spawns a dind on demand

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

i thin their SaaS product works slightly different than their enterprise product though

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

best thing is to go to [support.codefresh.io](http://support.codefresh.io) and open issue

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

they’ll explain better than me

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

@dustinvb is on vacay i think

btai avatar

is dustin the only cf guy on sweetops?

btai avatar

i was under the impression each pipeline had a persistent volume that would store many docker image layers

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

this is just an informal community driven channel. @Dan Garfield and @francisco are here too, but may not be SME.

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

And @oriel for enterprises sales questions

btai avatar

no worries, i wasnt planning on reaching out to anyone directly but if they read this channel and have comments, im not opposed

btai avatar

i guess im wondering how I can maximize the image existing on the daemon so the build doesnt spend an extra 1.5~2min pulling the image first

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

yea, we’ve been bit by this as well. for on prem, we reduced the number of build nodes and increased the size of the nodes.

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

not sure what to do for the hosted version though to improve cache hits (or if its even the problem we had)

btai avatar

that makes sense

btai avatar

for on prem

2019-08-21

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)
btai avatar

is it possible to have a pipeline that listens on a github org? allowing it to create new projects/pipelines based on new repo creation?

btai avatar

woops forgot @Erik Osterman (Cloud Posse) already asked this above ^^

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

haha

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

yea, not yet.

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

however, using repo templates might not be a bad start

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

also, in the repo template, include a pipeline-spec

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

and a makefile

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)
version: '1.0'
kind: pipeline
metadata:
  name: ourcompany/example-app/destroy-pull-request
  isPublic: false
  project: etan-tolling/example-app
  deprecate:
    repoPipeline: true
    implicitGitCloneService:
      context: github
      scm:
        provider: github
        owner:
          name: ourcompany
        name: example-app
spec:
  triggers:
    - name: ourcompany/destroy-pr
      type: git
      repo: ourcompany/example-app
      events:
        - pullrequest.closed
        - pullrequest.unlabeled
      pullRequestAllowForkEvents: false
      commentRegex: /.*/gi
      branchRegex: /.*/gi
      branchRegexInput: regex
      provider: github
      disabled: false
      options:
        noCache: false
        noCfCache: false
        resetVolume: false
      context: CF-default
      contexts: []
      variables: []
  steps: {}
  stages: []
  variables: []
  contexts:
    - Slack
    - GitHub
  specTemplate:
    location: git
    repo: ourcompany/example-app
    path: ./codefresh/destroy-pull-request.yml
    context: github
Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

that’s an example spec

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)
codefresh create pipeline -f destroy-pull-request.yml
Andriy Knysh (Cloud Posse) avatar
Andriy Knysh (Cloud Posse)

A Codefresh pipeline for creating pipelines

Andriy Knysh (Cloud Posse) avatar
Andriy Knysh (Cloud Posse)
Programmatic Creation of Codefresh Pipelines - Part 2 - Codefresh

At Codefresh, we know that any CI/CD solution must be attractive to both developers and operators (SREs). One of the major advantages of Codefresh is the graphical user interface that includes dashboards for Kubernetes and Helm deployments. These graphical dashboards are very useful to developers who are just getting started with deployments and pipelines. We … Continued

btai avatar

^ that requires a monorepo

2019-08-22

Codefresh Status - Incident History avatar
Codefresh Status - Incident History
10:29:38 AM

Github services are partially degraded Aug 22, 10:14 UTC Investigating - GitHub informs: Issues, PRs, Dashboard, Projects, Notifications are partially degraded

Github services are partially degraded

Codefresh’s Status Page - Github services are partially degraded.

Codefresh Status - Incident History avatar
Codefresh Status - Incident History
11:19:39 AM

Github services are partially degraded Aug 22, 11:11 UTC Update - GitHub reports a major outage on Issues, PRs, Dashboard, Projects, Notifications servicesAug 22, 10:14 UTC Investigating - GitHub informs: Issues, PRs, Dashboard, Projects, Notifications are partially degraded

Codefresh Status - Incident History avatar
Codefresh Status - Incident History
12:34:43 PM

Github services are partially degraded Aug 22, 12:23 UTC Resolved - This incident has been resolved.Aug 22, 11:11 UTC Update - GitHub reports a major outage on Issues, PRs, Dashboard, Projects, Notifications servicesAug 22, 10:14 UTC Investigating - GitHub informs: Issues, PRs, Dashboard, Projects, Notifications are partially degraded

Github services are partially degraded

Codefresh’s Status Page - Github services are partially degraded.

2019-08-27

Codefresh Status - Incident History avatar
Codefresh Status - Incident History
05:29:43 PM

Bitbucket has reported an incident on their service Aug 27, 17:23 UTC Investigating - Incident details: Bitbucket commits API high response time and timeouts This incident affects: API, SSH, Git via HTTPS, Mercurial via HTTPS, and Pipelines.

More info: https://bitbucket.status.atlassian.com/incidents/d1nyzp56331y

Bitbucket has reported an incident on their service

Codefresh’s Status Page - Bitbucket has reported an incident on their service.

Bitbucket commits API high response time and timeouts

Atlassian Bitbucket’s Status Page - Bitbucket commits API high response time and timeouts.

2019-08-28

Codefresh Status - Incident History avatar
Codefresh Status - Incident History
08:54:39 AM

Bitbucket has reported an incident on their service Aug 28, 08:47 UTC Resolved - The incident has been resolved and all systems are operational.Aug 27, 17:23 UTC Investigating - Incident details: Bitbucket commits API high response time and timeouts This incident affects: API, SSH, Git via HTTPS, Mercurial via HTTPS, and Pipelines.

More info: https://bitbucket.status.atlassian.com/incidents/d1nyzp56331y

Bitbucket has reported an incident on their service

Codefresh’s Status Page - Bitbucket has reported an incident on their service.

Bitbucket commits API high response time and timeouts

Atlassian Bitbucket’s Status Page - Bitbucket commits API high response time and timeouts.

2019-08-29

btai avatar

for those using direnv in codefresh, do you have a seperate file that you rename to .envrc when the pipeline runs? How do you handle committing that to the repo for the pipeline and having a local copy

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)
cloudposse/testing.cloudposse.co

Example Terraform Reference Architecture that implements a Geodesic Module for an Automated Testing Organization in AWS - cloudposse/testing.cloudposse.co

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

I don’t follow your question

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

But this is how we did it

2019-08-31

Codefresh Status - Incident History avatar
Codefresh Status - Incident History
02:49:51 PM

Codefresh build clusters networking issues Aug 31, 14:39 UTC Investigating - Amazon has reported connectivity issues affecting some instances. They are currently working on investigating the issues More information can be found on https://status.aws.amazon.com/

Codefresh build clusters networking issues

Codefresh’s Status Page - Codefresh build clusters networking issues.

Codefresh Status - Incident History avatar
Codefresh Status - Incident History
09:04:44 PM

Codefresh build clusters networking issues Aug 31, 20:47 UTC Resolved - AWS Incident is no longer affecting CF.Aug 31, 14:39 UTC Investigating - Amazon has reported connectivity issues affecting some instances. They are currently working on investigating the issues More information can be found on https://status.aws.amazon.com/

Codefresh build clusters networking issues

Codefresh’s Status Page - Codefresh build clusters networking issues.

    keyboard_arrow_up