#general (2021-09)

General conversations related to DevOps/Automation

General Discussions

2021-09-30

sheldonh avatar
sheldonh

A little help with a monorepo setup I’m working on at this moment for Go/Angular –> Trying to setup the last steps correctly and anyone familiar would you take a peek in thread to help me out?

sheldonh avatar
sheldonh

So I have been migrating all our Go code into a mono repo and organizing. The angular app though is something different.

• I have a centralized task runner and all the commands needed in root directory.

• For 1-2 of the team they will be focused purely on front end work and only consuming the other build actions. Here’s where I’m confused. For Go, a single module mono repo works perfectly fine. All the linting, formatting, tasks etc all work without changes.

For angular initializing the project directory nests it into it’s own project directory. I think this would mean they’d want to open up the subfolder directly to benefit from the IDE tooling as if it’s a “sub repo”, but I’m not certain.

Any tips on how you’ve laid out a similar back/front end monorepo?

Andriy Knysh (Cloud Posse) avatar
Andriy Knysh (Cloud Posse)

https://classic.yarnpkg.com/lang/en/docs/workspaces/ - to organize code into workspaces

Yarn attachment image

Fast, reliable, and secure dependency management.

Andriy Knysh (Cloud Posse) avatar
Andriy Knysh (Cloud Posse)

https://lerna.js.org/ - to manage yarn/npm packages for multiple workspaces

Andriy Knysh (Cloud Posse) avatar
Andriy Knysh (Cloud Posse)
Managing Monorepo using Lerna and Yarn workspaces - Kintone Engineering Blog attachment image

By Toru Kobayashi (@koba04) This article shows how to manage multiple packages in a single repository.

Andriy Knysh (Cloud Posse) avatar
Andriy Knysh (Cloud Posse)

and on top of that, https://code.visualstudio.com/docs/editor/workspaces (not related to Yarn workspaces)

Workspaces in Visual Studio Code attachment image

Learn about Visual Studio Code workspaces

sheldonh avatar
sheldonh

I think most are using vscode but can’t guarantee.

These are useful, but a bit much to start with. I have 1 UI project right now and want to figure out the right way to include that in this go monorepo.

Structure

internal
--------- app
--------- ---- app
--------- ---- ---- mypkg
pkg
--- mysharedpkg
cmd
cmd/mybinary1
cmd/mybinary2
build
docker
docs

➡  Now for the angular app, does it get 
angular-proj
--------------- all contents inside here, linter, settings etc?

Or do I put all the contents in root so I know have the angular app directories in root like src/node_modules and such?

sheldonh avatar
sheldonh

I was hoping for the easy first route and then if we start adding more lerna or other refactoring might be good. Just not sure if nesting as a “project” in a subdirectory is best or treat front and backend the same with package.json and such all in root directory of monorepo for now.

sheldonh avatar
sheldonh

I do mostly backend and no one has done mono-repos with front-end here I think, so double checking.

Andriy Knysh (Cloud Posse) avatar
Andriy Knysh (Cloud Posse)

all go to angular-proj

Andriy Knysh (Cloud Posse) avatar
Andriy Knysh (Cloud Posse)

except some top-level package.json deps

Andriy Knysh (Cloud Posse) avatar
Andriy Knysh (Cloud Posse)

that’s why/how lerna will help

sheldonh avatar
sheldonh

I appreciate your help! So basically right a front-end developer would probably open the subfolder and it would “appear” as if it’s own project. That means that they lose out on all the root tasks, editorconfig and other things that would probably load correctly in main directory, but have to be duplicated in a child directory if you were working in directly. I wanted to avoid having issues by pulling up repo vs having to pull up subfolder.

For me to include front-end properly to allow for a new project later, are you saying I should really just plug in Lerna? If so, can I assume I can plug in this angular scaffold easily without breaking stuff?

sheldonh avatar
sheldonh

I was asked by someone about just having a front-end and backend directory, but it felt like more complexity and kinda deviates from normal Go package structures and tooling. Wanted to keep this as flag as I could without causing problems.

sheldonh avatar
sheldonh

What’s the easiest for a team new to this to get used to

nx workspace or lerna ?

I will wrap up the initialization tasks and such, but let me know what you think

Andriy Knysh (Cloud Posse) avatar
Andriy Knysh (Cloud Posse)

lerna and yarn workspaces work together - it’s basically allows you to better manage all the dependencies (in package.json files) without duplication

sheldonh avatar
sheldonh

ok. I have it migrated from npm to yarn already. If I use workspaces, can I assume the dev will pull up the root directory of the repo and be able to work fine from there, no need to do more sub directories in new windows?

sheldonh avatar
sheldonh

And should I be looking at just yarn workspaces (not using those yet), or lerna, or both?

sheldonh avatar
sheldonh

I see lots of folks talking about nx being the better evolution of this, but I’m guessing it’s more complication than I need at this stage

Andriy Knysh (Cloud Posse) avatar
Andriy Knysh (Cloud Posse)

both lerna and yarn (with workspaces). Each dev could work in their own folder, but all the deps would be managed “centrally” fro all sub-projects by lerna+yarn

sheldonh avatar
sheldonh

thank you! I started that path and then found that nx had prebuilt walk throughs for micro-ui frontends with angular so figured I’d switch it up since it’s already documented fully. Appreciate you pointing me towards this!

Andriy Knysh (Cloud Posse) avatar
Andriy Knysh (Cloud Posse)

you welcome. There are many ways of doing it, especially in NodeJs ecosystem

sheldonh avatar
sheldonh

Follow-up. Have everything working except Ng lint. For some reason it doesn’t seem to honor the .eslintrc.json file either in the project level directory or root. Anyone have example of angular.json in root, project directories, and writing eslintrc.json specificied in project root?

sheldonh avatar
sheldonh

Any ideas for typescript pros here?

sheldonh avatar
sheldonh

Another follow-up on this topic…

Wow. Go was easy with a monorepo, but Angular was a major pain (still is). Such a complex beast to get setup right.

Right now we went with yarn workspaces as only 2 projects in the repo, but getting webpack, angular, and yarn workspaces to place nice is painful.

sheldonh avatar
sheldonh

I really like yarn 3 (berry), but I wish Angular played nicer with the PNP and other features, as it’s been a major time suck overall. Probably still worth it, but i’ve questioned my choice plenty of times due to Angular.

SweetOps avatar
SweetOps
07:00:03 PM

Hey everyone, give a warm welcome to our newest members!

  • @
  • @
  • @

Good to have you here =)

1
Taylor McClure avatar
Taylor McClure

yo

2021-09-29

SweetOps avatar
SweetOps
07:00:02 PM

Hey everyone, give a warm welcome to our newest members!

  • @
  • @
  • @
  • @
  • @

Good to have you here =)

1
3
Alex Dubovoy avatar
Alex Dubovoy

Thanks for the shout out & accepting me into the group!

2

2021-09-28

SweetOps avatar
SweetOps
07:00:09 PM

Hey everyone, give a warm welcome to our newest members!

  • @
  • @

Good to have you here =)

1
jglaspie avatar
jglaspie
07:02:24 PM

#caption “Good Bot” Thank you

1
Ben Kero avatar
Ben Kero

Hey, thanks for the introduction. I’ve used cloudposse Terraform modules for a few years now. I’m joining here to learn more and help with contributions.

1
1
loren avatar
loren

#pr-reviews sounds like its for you

Ben Kero avatar
Ben Kero

It does! I’m going to join there right away. Thank you.

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

glad you stopped by to say hi. definitely start to use #pr-reviews for PR submissions. We invite frequent contributors into our contributors group.

2021-09-27

SweetOps avatar
SweetOps
07:00:13 PM

Hey everyone, give a warm welcome to our newest members!

  • @
  • @
  • @
  • @
  • @
  • @

Good to have you here =)

2

2021-09-26

SweetOps avatar
SweetOps
07:00:07 PM

Hey everyone, give a warm welcome to our newest members!

  • @
  • @

Good to have you here =)

1

2021-09-25

SweetOps avatar
SweetOps
07:00:11 PM

Hey everyone, give a warm welcome to our newest members!

  • @

Good to have you here =)

2

2021-09-24

SweetOps avatar
SweetOps
07:00:18 PM

Hey everyone, give a warm welcome to our newest members!

  • @
  • @
  • @
  • @
  • @

Good to have you here =)

3

2021-09-23

SweetOps avatar
SweetOps
07:00:19 PM

Hey everyone, give a warm welcome to our newest members!

  • @

Good to have you here =)

2

2021-09-22

SweetOps avatar
SweetOps
07:00:21 PM

Hey everyone, give a warm welcome to our newest members!

  • @
  • @
  • @

Good to have you here =)

2

2021-09-21

SweetOps avatar
SweetOps
07:00:14 PM

Hey everyone, give a warm welcome to our newest members!

  • @
  • @
  • @

Good to have you here =)

2

2021-09-20

Andy avatar

Hi everyone, does anyone use https://crowdsec.net/ in production?

CrowdSec, the open-source massively multiplayer firewall attachment image

CrowdSec is a collaborative EDR leveraging the crowd power. Analyze behaviors, respond to attacks & share signals across the community. Security should be accessible to everyone. We make it happen. For free. Join our community and let’s make the Internet safer, together.

SweetOps avatar
SweetOps
07:00:19 PM

Hey everyone, give a warm welcome to our newest members!

  • @
  • @
  • @
  • @
  • @
  • @

Good to have you here =)

5

2021-09-19

SweetOps avatar
SweetOps
07:00:09 PM

Hey everyone, give a warm welcome to our newest members!

  • @

Good to have you here =)

2

2021-09-18

SweetOps avatar
SweetOps
07:00:07 PM

Hey everyone, give a warm welcome to our newest members!

  • @
  • @

Good to have you here =)

1
Ozzy Aluyi avatar
Ozzy Aluyi

Thanks guys

2021-09-17

SweetOps avatar
SweetOps
07:00:18 PM

Hey everyone, give a warm welcome to our newest members!

  • @
  • @
  • @
  • @

Good to have you here =)

3
1
Nate Faerber avatar
Nate Faerber

Hi. I just discovered https://github.com/cloudposse/build-harness. I’m wondering how to properly use the semver operation. Is it still maintained? I saw mention of it in a codefresh pipeline config at https://github.com/cloudposse/dev.cloudposse.co/blob/master/codefresh.yml but since that repo is deprecated, I wonder if the semver is used anymore.

GitHub - cloudposse/build-harness: :robot_face:Collection of Makefiles to facilitate building Golang projects, Dockerfiles, Helm charts, and more attachment image

Collection of Makefiles to facilitate building Golang projects, Dockerfiles, Helm charts, and more - GitHub - cloudposse/build-harness: Collection of Makefiles to facilitate building Golang proje…

dev.cloudposse.co/codefresh.yml at master · cloudposse/dev.cloudposse.co attachment image

Example Terraform Reference Architecture for Geodesic Module Development Sandbox Organization in AWS. - dev.cloudposse.co/codefresh.yml at master · cloudposse/dev.cloudposse.co

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

We still use it extensively, however, we use it mostly for the build tooling for our ~500+ repos. The codefresh references are out-of-date and not maintained.

GitHub - cloudposse/build-harness: :robot_face:Collection of Makefiles to facilitate building Golang projects, Dockerfiles, Helm charts, and more attachment image

Collection of Makefiles to facilitate building Golang projects, Dockerfiles, Helm charts, and more - GitHub - cloudposse/build-harness: Collection of Makefiles to facilitate building Golang proje…

dev.cloudposse.co/codefresh.yml at master · cloudposse/dev.cloudposse.co attachment image

Example Terraform Reference Architecture for Geodesic Module Development Sandbox Organization in AWS. - dev.cloudposse.co/codefresh.yml at master · cloudposse/dev.cloudposse.co

Nate Faerber avatar
Nate Faerber

Thanks. For some reason, I can’t figure out how to get that target to see the latest tag and increment appropriate. Everything starts with 0.0.0. I’m not sure if I’m misusing it or if there is a setup step I missed.

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

Can you share the command you are trying to run?

Nate Faerber avatar
Nate Faerber

Thanks for the help. I don’t know why I couldn’t figure this out. Here are some things I’ve run:

❯ git checkout 0.1.0
❯ DEBUG=1 make git/export
GIT_COMMIT=970aa6eee682db75508edbc58def6832f21f2ddd
GIT_COMMIT_SHORT=970aa6e
GIT_COMMIT_TIMESTAMP=1631154162
GIT_COMMIT_URL=<REDACTED>
GIT_COMMIT_MESSAGE=<REDACTED>
GIT_COMMIT_AUTHOR=<REDACTED>
GIT_BRANCH=HEAD
GIT_TAG=0.1.0
GIT_BRANCH_TAG=0.1.0
GIT_IS_BRANCH=1
GIT_IS_TAG=1
GIT_TIMESTAMP=1631154162
❯ DEBUG=1 make semver/export
SEMVERSION_COMMIT_SHORT=0.0.0-sha.970aa6e
SEMVERSION_COMMIT=0.0.0-sha.970aa6eee682db75508edbc58def6832f21f2ddd
SEMVERSION_BRANCH=0.0.0-HEAD
SEMVERSION_BRANCH_COMMIT_SHORT=0.0.0-HEAD.sha.970aa6e
SEMVERSION_BRANCH_COMMIT=0.0.0-HEAD.sha.970aa6eee682db75508edbc58def6832f21f2ddd
SEMVERSION_TAG=0.1.0

Maybe I’m not using it correctly. I was expecting to see 0.1.0 show up instead of 0.0.0.

Adam Blackwell avatar
Adam Blackwell

Anyone around these parts have experience with deploying Pulsar with Django services by chance?

2021-09-16

SweetOps avatar
SweetOps
07:00:20 PM

Hey everyone, give a warm welcome to our newest members!

  • @

Good to have you here =)

1
Deon Rodden avatar
Deon Rodden

Thank you

OliverS avatar
OliverS

has anyone tried devtron? https://github.com/devtron-labs/devtron

GitHub - devtron-labs/devtron: Software Delivery Workflow For Kubernetes attachment image

Software Delivery Workflow For Kubernetes. Contribute to devtron-labs/devtron development by creating an account on GitHub.

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

looks sweet

GitHub - devtron-labs/devtron: Software Delivery Workflow For Kubernetes attachment image

Software Delivery Workflow For Kubernetes. Contribute to devtron-labs/devtron development by creating an account on GitHub.

OliverS avatar
OliverS

Yeah I’m curious to know

  1. Whether it is very opinionated about how to do deployments, rollbacks etc, basically does it force you to use a specific process or is it more an integrated set of tools that can use in a umber of ways
  2. Whether the open source version will continue to evolve once the company creates their cloud-based subscription plan ;)
2

2021-09-15

walicolc avatar
walicolc

I’m currently testing out Nomad, And I’m trying to limit the number of services running to N per node. Can anyone assist with this?

walicolc avatar
walicolc

constraint{ disticnt_property = “${attr.unique.hostname}” value =“{{variable}}”}

Ross Rochford avatar
Ross Rochford

Hi Wali, Nomad user here. Hope you found the solution. I think you want to use “spread” instead of constraints?

For nomad queries you might want to try: https://gitter.im/hashicorp-nomad/Lobby https://signup.hangops.com/ (they have a Nomad channel)

SweetOps avatar
SweetOps
07:00:18 PM

Hey everyone, give a warm welcome to our newest members!

  • @

Good to have you here =)

1

2021-09-14

SweetOps avatar
SweetOps
07:00:19 PM

Hey everyone, give a warm welcome to our newest members!

  • @
  • @

Good to have you here =)

2

2021-09-13

SweetOps avatar
SweetOps
07:00:19 PM

Hey everyone, give a warm welcome to our newest members!

  • @
  • @

Good to have you here =)

1

2021-09-12

SweetOps avatar
SweetOps
07:00:05 PM

Hey everyone, give a warm welcome to our newest members!

  • @
  • @
  • @
  • @

Good to have you here =)

2
1

2021-09-11

SweetOps avatar
SweetOps
07:00:09 PM

Hey everyone, give a warm welcome to our newest members!

  • @

Good to have you here =)

2

2021-09-10

deepak kumar avatar
deepak kumar

Thank you @Bot / @

SweetOps avatar
SweetOps
07:00:12 PM

Hey everyone, give a warm welcome to our newest members!

  • @
  • @
  • @

Good to have you here =)

1

2021-09-09

james499 avatar
james499

I’m currently building out a programme for new people entering the tech industry, and I’m being asked what certifications people should be taking. I want to check my knowledge/opinion, so: Can anyone tell me of any certs they would want someone with 3-6 months of training to have achieved? And would having those certifications make you significantly more likely to call people to interview, or hire them?

james499 avatar
james499

(This can be any field, Dev/Sec/Net/Ops/etc)

james499 avatar
james499

Bonus question: if someone had e.g. a CompTIA Security+ certification, but no work experience, would you be sceptical of that? (Security+ is recommended for people with ~2 years of work experience in a related field, though of course you can just train towards the test).

roth.andy avatar
roth.andy

One of my colleagues has the EDT Green Belt. It’s the first one I’ve seen in a while that isn’t just “I know how to study and take a test”. There’s a Black Belt too. Definitely something I want to look into. It starts with a White Belt cert which is a course, and then Green Belt is a self-directed project to apply the principles of White Belt in your own org and present your results.

roth.andy avatar
roth.andy

Having a Green Belt would make me significantly more likely to call, since it shows application of those learned skills in the real world

roth.andy avatar
roth.andy

for someone with 3-6 months it would just be the white belt

james499 avatar
james499

Huh! I’ll go have a look, thank you. The White Belt is a certificate of completion, right?

roth.andy avatar
roth.andy

yeah, white is just a class with a cert at the end

james499 avatar
james499

Adding to the list

james499 avatar
james499

The only cert, at that level, I’ve ever sat up and taken notice of is the Red Hat Certified Systems Administrator - because it’s a lab-based exam. You’re locked in a room with a computer that has a bunch of problems - either you know how to fix them or you don’t.

roth.andy avatar
roth.andy

A few friends have taken the OpenShift one from Red Hat. They almost universally said the whole process was a garbage fire. Like, in part of it they expect you to know how to code and build a Ruby application… What??

james499 avatar
james499

Huh. I’ve done the RHCSA/RHCE and know others that have - they have a lot of respect for it. But that doesn’t necessarily transpose to their other exams

deepak kumar avatar
deepak kumar

Hey all. This is Deepak and I joined the channel today. My objective is to learn new things happening in DevOps / SRE space and goal is to find a remote job

5
SweetOps avatar
SweetOps
07:00:06 PM

Hey everyone, give a warm welcome to our newest members!

  • @
  • @
  • @
  • @

Good to have you here =)

Carlos Soriano avatar
Carlos Soriano

Hello everyone! Thank you @Bot for the warm welcome!

1

2021-09-08

valentin avatar
valentin

Hey guys, love your modules!

valentin avatar
valentin

But I need some help for gcp infrastructure too, and I think you guys specialize in consulting services for aws only - any tips for consultants like you, but focused on gcp?

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

yes, unfortunately we haven’t tackled GCP yet

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

mostly because I’m afraid for us to support 2-3x more modules

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

there are terraform-google-modules managed by google themselves (vs terraform-aws-modules which is community driven)

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)
Google Cloud and HashiCorp

Terraform modules for Google Cloud. Google Cloud and HashiCorp has 64 repositories available. Follow their code on GitHub.

valentin avatar
valentin

Thx,

valentin avatar
valentin

However, I’m actually looking for some folks to pay them to help me set more custom stuff up

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

aha, try #jobs

valentin avatar
valentin

okay

SweetOps avatar
SweetOps
07:00:08 PM

Hey everyone, give a warm welcome to our newest members!

  • @
  • @
  • @
  • @
  • @

Good to have you here =)

4
james499 avatar
james499

Thank you

1
caron.wills avatar
caron.wills

Does any know how I can extract the resource IDs from the cloudposse aws backup module ?

caron.wills avatar
caron.wills

Specifically the recovery point info

2021-09-07

SweetOps avatar
SweetOps
07:00:28 PM

Hey everyone, give a warm welcome to our newest members!

  • @
  • @
  • @
  • @
  • @
  • @

Good to have you here =)

Hany Elfouly avatar
Hany Elfouly

Thanks for the warm welcome. been following your work for years. great job you guys added alot of value to the whole TF community and were pioneers in the modules path.

Seun Bolanle avatar
Seun Bolanle
08:42:25 PM

I am new to Devops and your terraform modules are very helpful for me most of the time. Thanks for the help.

-SB

1

2021-09-06

SweetOps avatar
SweetOps
07:00:09 PM

Hey everyone, give a warm welcome to our newest members!

  • @
  • @
  • @
  • @

Good to have you here =)

2

2021-09-05

SweetOps avatar
SweetOps
07:00:10 PM

Hey everyone, give a warm welcome to our newest members!

  • @

Good to have you here =)

2021-09-04

SweetOps avatar
SweetOps
07:00:17 PM

Hey everyone, give a warm welcome to our newest members!

  • @

Good to have you here =)

2021-09-02

SweetOps avatar
SweetOps
07:00:17 PM

Hey everyone, give a warm welcome to our newest members!

  • @
  • @
  • @
  • @

Good to have you here =)

2021-09-01

Naren avatar
Naren

Hello Everyone, glad to be here

1
SweetOps avatar
SweetOps
07:00:05 PM

Hey everyone, give a warm welcome to our newest members!

  • @
  • @
  • @

Good to have you here =)

    keyboard_arrow_up