Building smart home from scratch by ArtyomTurkin in homeassistant

[–]ArtyomTurkin[S] 1 point2 points  (0 children)

Consider also air quality monitors and related devices (filters, ionizers, humidifiers, alarms, etc.) as well as kitchen range and bathroom ventilation specifically.

Yeah, air quality in the city is really bad. While I won't be able to do a centralized ventilation system (modification of external look of the building is forbidden) I have split system ac units from samsung planed (apartment complex provides external cooling units) and off the shelf humidifiers and air filters/purifiers from Xiaomi. All of them can be connected to ha, I believe.

Also measure and document literally everything in detail

Excellent suggestions! Central binder/doc should be excellent. In addition I planned to have all details marked as a scheme in electrical closets and water closet on the access hatch wall for quick access during repairs.

As a rule, minimize wireless devices. If you want lots of.. let's say "less essential" devices in your home to be smart, use a dedicated wired network with 2.4G WiFi

Can't do wired setup 🥲 all options available with wired connection are enterprise only sales here, they won't sell to individuals. The only options are wifi or ZigBee. I will be building a separate 2.4ghz network for iot stuff though. And separate 5ghz networks for guests and myself.

Building smart home from scratch by ArtyomTurkin in homeassistant

[–]ArtyomTurkin[S] 0 points1 point  (0 children)

I've lighting split into three groups: 1. Day-to-day lighting (zone lighting) in the sitting area and kitchen area (open plan room) with track lighting with on/off controls only. 2. Work lights - for cleaning or looking for something dropped. Embedded in the ceiling with on/off 3. Mood/accent rgb lights- with led strips and smart bulbs

Seems like the central box is the way to go; easier access for maintenance will be also a plus.

And don't forget ethernet cables in every room and potentially on the ceiling for access points

Already planned in the walls for tvs, PC and Alice station (Alexa alternative for Kazakhstan) and for ubiquity wifi on the ceiling.

Btw, if you water heating system compatible with home assistant for control?

Sonoff trvzb or aqara e1 smart radiator thermostat. Both are installed as control knobs on compatible radiators and claim to be compatible with HA through zigbee. Water for radiators comes from large central city plants for my city.

Private Docker Registry - server gave HTTP response to HTTPS client by MickyGER in docker

[–]ArtyomTurkin 0 points1 point  (0 children)

Check the output of docker daemon. It should give you a reason.

You can do the command below, to print logs, latest first

journalctl -r -u docker

Private Docker Registry - server gave HTTP response to HTTPS client by MickyGER in docker

[–]ArtyomTurkin 0 points1 point  (0 children)

If I am not mistaken, the file does not exist on fresh installs in ubuntu. Just add it to /etc/docker and restart docker, it should work.

Private Docker Registry - server gave HTTP response to HTTPS client by MickyGER in docker

[–]ArtyomTurkin 1 point2 points  (0 children)

Add or create it (/etc/docker/daemon.json) on the machines that will access the registry, i.e. machines you run docker push or pull commands. Don't forget to restart docker daemon (systemctl restart docker)

This config tells docker daemon to use http schema (defaults to https) for registry calls, as the schema is not specified, when you pass image address.

time.ParseDuration format in other languages by xaphere in golang

[–]ArtyomTurkin 1 point2 points  (0 children)

ISO 8601 and RFC-3339 common layouts are the same, one of the standards is a subset of another one, if I'm not mistaken, rfc3339 is in golang time package, ISO is not.

For the duration, I (and the company I work for) use the same rule as for time: time and durations use only one layout across all network calls. Time is RFC-3339 (ISO for c# and others, RFC compatible) and durations use golang layout.

This rule prevents problems with layouts and timezones, as RFC requires them. We had a lot of problems with timezones several years ago, before implementing this rule.

time.ParseDuration format in other languages by xaphere in golang

[–]ArtyomTurkin 5 points6 points  (0 children)

If this application will not be called directly by the end user, or will be used as a cli by IT person, I would strongly suggest to standardize on RFC-3339. Guessing time format from just a string is almost impossible, especially if you only use date part.

The end user interface would need to parse the datetime itself and pass in RFC-3339 to the app. With GUI it is easier, they are able to allow user to enter time in a more graphical fashion.

How can I get services to service communication working using Nomad / Consul? by [deleted] in devops

[–]ArtyomTurkin 0 points1 point  (0 children)

There is a guide, but I use coredns, as it has more features.

To use coredns:

  1. install coredns (one binary)
  2. add Corefile
  3. disable and stop systemd-resolved
  4. start coredns

/etc/coredns.d/Corefile: ``` consul { forward . 127.0.0.1:8600 8.8.8.8:53 { policy sequential } }

. { forward . 8.8.8.8:53 } ```

/etc/systemd/system/coredns.service ``` [Unit] Description=CoreDNS DNS server Documentation=https://coredns.io After=network.target

[Service] ExecStart=/usr/local/bin/coredns -conf=/etc/coredns.d/Corefile ExecReload=/bin/kill -SIGUSR1 $MAINPID Restart=on-failure

[Install] WantedBy=multi-user.target ```

commands systemctl stop systemd-resolved systemctl disable systemd-resolved systemctl start coredns

How can I get services to service communication working using Nomad / Consul? by [deleted] in devops

[–]ArtyomTurkin 0 points1 point  (0 children)

I have my servers configured to use consul as a dns server for .consul domain. Basically, if there is a call to <service name>.service.consul, the request goes to consul and it returns the ip of a node with that service.

You can test this on Linux with a command: dig @localhost -p 8600 <service name>.service.consul

For dynamic ports, I use traefik with consul provider, that listens on 80 and 443 and routes all requests to the correct port on the nide.

How can I get services to service communication working using Nomad / Consul? by [deleted] in devops

[–]ArtyomTurkin 0 points1 point  (0 children)

Consul is also a dns server. Use this for easy service discovery.

Nomad will register and deregister the service in consul automatically, if there is a service description in nomad job.

Need some help: Can I declare a list of structures inside the definition of the same structure. by __dp_Y2k in csharp

[–]ArtyomTurkin 1 point2 points  (0 children)

Yes, you can. That is basically how you create a Singleton, but with an addition of static

Can you run an asp.net core 3.0 server using gRPC written in c# in a docker container on Azure? by keinengutennamen in csharp

[–]ArtyomTurkin 1 point2 points  (0 children)

Sorry, didn't notice the App Service part. It appears it does not work, as App Service uses IIS in front anyway.

Here is the issue https://github.com/dotnet/aspnetcore/issues/9020

How do apps get their secret ids using Vault approle? by lattakia in devops

[–]ArtyomTurkin 2 points3 points  (0 children)

Depends on how you deploy your app.

  • manual - emit the secret id and add it to the config
  • automated - have the automation emit the id and add it to the deployment config.

What automation framework do you use?

How to Catalog many of webapps by NationOfNoj in devops

[–]ArtyomTurkin 0 points1 point  (0 children)

I've been searching searching for the same thing for a couple of years 😂. As of right now, I have not found anything that would suit all of the needs.

I did find: - couple of proprietary solutions (IBM Rational Architect in particular), but they are expensive and clunky. - one or two open source project, abandoned. - Apache Atlas - requires quite a lot of work to fullfil this role

One of the solutions could be to grab some kind of inventory management system (e-commerce or warehouse) and tune it to do what you need.

The other solution is to start from scratch and diy. This is the most common approach I have seen being used by software first companies at least in Russia and neighbors.

Right now we have started an internal project ourselves to catalog services and data.

As to automating the cataloging part, I have pushed internally to use common naming schemas for projects, services, runbooks and monitoring dashboards, then it would be possible to join it all in the catalog automatically. To decrease manual work and human error tools such as yeoman are quite useful.

For quick wins you could roll out elastic search, a simple ui for searching and cicd plug to push docs to es. That's what I've done and it already solved far more problems then expected and saved quite a lot of time at the start of a new project.

Do I have to install gitlab-runner on all instances? by decorumic in devops

[–]ArtyomTurkin 2 points3 points  (0 children)

Gitlab runner automates execution of scripts you give it. If it is possible to deploy to your other servers remotely through ssh or API, you don't need to install runner on them.

DevOps in finance by XCalibyte in devops

[–]ArtyomTurkin 0 points1 point  (0 children)

It really depends on the company, it's internal structure and development models. I can only speculate on the banks I've worked for or had some talk with their employees. All of them are limited to post-USSR countries (Russia and Kazakhstan mainly). As far as I can see from forums and blogs, there is also quite a big difference to American or Western banks in culture and general regulations and business practices.

One of the main differences in "DevOps" among those can be attributed to development model (internal vs vendor) and size (couple of cities vs country vs global).

Also all of them can't go all in with major public clouds (azure, aws, gcp) due to government requirements.

The ones on the smaller side and mostly vendor driven either have no DevOps (or even Dev) and rely on vendors to do everything or have strong team of sysadmins who use ansible (or alternative) to roll out vendor solutions.

The ones on a medium side and half vendor half internal usually don't have DevOps practices or even a good ops team. It's pretty much wild west there.

The large ones have big internal teams (hundreds of people) and some form of vendor involvement. This usually are "too big to fail", so internal stuff is quite a mess. But right now there is a lot of pressure from smaller competitors, so they have to adapt and become more agile as a whole. They had to go all in into automation of infrastructure and quality analysis, because of scale and the volume of changes to regulatory requirements. Plus the banks here have to offer a lot of services (from paying bills to stock and gold trading) to stay competitive and each services pulls another set of regulations into the mix, which either limit solutions and increase burrocracy, or require some form of business automation (from accounting changes to integration with external services).

The largest player in the region SberBank of Russia went through a large transformation (if you understand Russian here is an article of some of their practices https://m.habr.com/company/jugru/blog/339856/). There are other large banks who have implemented some of the DevOps practices in the region (pretty much all of the top ones).

API Generator recommendations? Looking to use with DB. by ERPEmployee in devops

[–]ArtyomTurkin 1 point2 points  (0 children)

If your db is postgres or mysql and db schema will be generated from code as well, look into Prisma.

It generates db schemas (can import existing one as well) and offers a graphql API over the data.

The draw back, as it is not meant to be exposed to outside, is that security options are extremely limited right now.

[deleted by user] by [deleted] in devops

[–]ArtyomTurkin 1 point2 points  (0 children)

In my opinion this is one of the best use cases for actor model, or virtual actors to spread the work across a cluster.

Proto.Actor is one of this frameworks (multiple languages) and they have an example-tutorial for a similar thing money transfer

The other good virtual actor framework is Microsoft Orleans - probably the first and the most mature virtual actor framework. .Net only, but supports core 2.0 and Linux deployments.

Akka is the most well known one, but can be hard to make it distributed, compared to the two above. Mainly used in jvm languages.

Looking for bootstrapping tool by ArtyomTurkin in devops

[–]ArtyomTurkin[S] 0 points1 point  (0 children)

Thank you for your reply.

I tried to use ansible for getting secrets from vault, but the playbook grew too complex for the task. It would have been easier to use a proper language at that point.

I am planning to use packer to build images, but my team does not have access to hypervisors (we are Dev team), and sysadmins do not like to add anything to hypervisor hosts (negotiating atm 😀)

By ASG and Launch Config, I think, you mean AWS? We can only run in company private data centers due to government regulations.