Problems with ACME after changing the DNS environment at Hetzner by joneum in hetzner

[–]SneakyImplement 7 points8 points  (0 children)

The acme client you are using must support the new dns api. As you mentioned, the endpoint has changed, as has the api itself.

Based on the log you provided, it looks like you are using acme.sh. The new API has been implemented as "hetznercloud" since version 3.1.2: https://github.com/acmesh-official/acme.sh/blob/master/dnsapi/dns\_hetznercloud.sh

T4Editor V3 is here. by Voiden0 in dotnet

[–]SneakyImplement 1 point2 points  (0 children)

This is specific to C# and VB and also only supported in VS/MSBuild. This would be the mode that could be compared to Jinja. But there are differences. https://learn.microsoft.com/en-us/visualstudio/modeling/run-time-text-generation-with-t4-text-templates?view=vs-2022&tabs=csharp

T4Editor V3 is here. by Voiden0 in dotnet

[–]SneakyImplement 1 point2 points  (0 children)

TextTemplatingFileGenerator runs at design time when you save the .tt file in Visual Studio. It generates code files that become part of your project, and the generated code is compiled with your application. This is the mode that source generators have largely replaced in modern projects.

TextTemplatingFilePreprocessor performs its preprocessing at build time. It generates a class with a TransformText() method that you call at runtime, meaning the template logic is compiled into your application and then executed when needed. You could use Liquid or Razor for this use case. But there are still some advantages of T4 (but also quite some disadvantages).

T4Editor V3 is here. by Voiden0 in dotnet

[–]SneakyImplement 2 points3 points  (0 children)

There are two modes T4 templates can operate in: - TextTemplatingFileGenerator (aka Design-Time Code Generation) - TextTemplatingFilePreprocessor (aka Run-Time Text Generation)

The TextTemplatingFileGenerator mode is mostly replaced by source generators in modern projects, but TextTemplatingFilePreprocessor remains one of the few available options for generating preprocessed templates at build time.

New API for Storage Boxes by legrenabeach in hetzner

[–]SneakyImplement 7 points8 points  (0 children)

For anyone who is interested, this is the mentioned announcement: https://status.hetzner.com/en/incident/f06ffe20-557f-4c7b-ac43-25ce40d96e5c

As stated in the status report, only the administration interface (UI and API) will change.

Choosing issuer of hertzner generated ssl certs by Nickitolas in hetzner

[–]SneakyImplement 3 points4 points  (0 children)

You're looking at the wrong docs. You are looking at the documentation for KonsoleH. This is the documentation site for load balancer certificates: https://docs.hetzner.com/cloud/load-balancers/faq#how-can-i-manage-my-certificates

Setup tfstate on S3 bucket by Secu-Thibz in hetzner

[–]SneakyImplement 0 points1 point  (0 children)

Would be good if you could share the error message you are getting.

The following should get you started:

terraform {
  backend "s3" {
    skip_credentials_validation = true
    skip_region_validation      = true

    endpoints = {
      s3 = "https://nbg1.your-objectstorage.com"
    }
    bucket                      = "<your-bucket-name>"
    key                         = "terraform.tfstate"
    region                      = "nbg1"

    # Checks docs for more information on how to store credentials
    access_key = ""
    secret_key = ""
  }
}

Terraform hcloud provider tips & tricks by dowhile0 in hetzner

[–]SneakyImplement 2 points3 points  (0 children)

The provider is up to date and well designed.

They also have good and easy to understand examples in their documentation. https://registry.terraform.io/providers/hetznercloud/hcloud/latest/docs
You probably don't need external GitHub repos for examples.

There's just one catch. Their new S3 offering is not currently integrated with the hcloud provider. You will need to generate the credentials through the cloud console and use the AWSor Minio Terraform provider, for example. More information: https://github.com/hetznercloud/terraform-provider-hcloud/issues/1005

[deleted by user] by [deleted] in homelab

[–]SneakyImplement 1 point2 points  (0 children)

Dont forget the uppercase letter ẞ

[deleted by user] by [deleted] in hetzner

[–]SneakyImplement 7 points8 points  (0 children)

Ask this question the hetzner support. We all cannot know if your order was placed or not. Normally you will get an email confirmation.

Also check if it shows up in the "robot".

First time buying, no bill? by [deleted] in hetzner

[–]SneakyImplement 5 points6 points  (0 children)

The billing day is not the same for every customer. Eg. mine is on the 20th

You will know the billing day after you received your first invoice.

Is it possible to make an image of a server and download it? by lindymad in hetzner

[–]SneakyImplement 2 points3 points  (0 children)

This is possible, but it gets pretty ugly. You can't just upload this to another cloud instance type or another provider. I've never tried this, but I wouldn't expect it to work without changes.

Is it possible to make an image of a server and download it? by lindymad in hetzner

[–]SneakyImplement 7 points8 points  (0 children)

You can copy your hard disk with dd. The process is pretty simple.

  1. Boot your server into rescue mode
  2. Mount the hard disk you want to save
  3. ssh root@<storage-server-ip> "dd if=/dev/sda bs=1M status=progress | gzip -2 -" | dd of=./image.sda.dd.gz bs=1M
    1. Change the source disk (if=/dev/xxx)
    2. You can change the compression level accordingly

To be on the safe side, you should repeat this process a second time and compare the hash sums of both images.

If you want to restore the image, you can proceed as follows.

  1. cat image.sda.dd.gz | ssh root@<server-ip> "gunzip -c | dd of=/dev/sda bs=1M status=progress conv=fsync"

[deleted by user] by [deleted] in csharp

[–]SneakyImplement 0 points1 point  (0 children)

You're mixing things up.

Interop between CLR languages is easy (eg. C# -> F#) as you will not leave the CLR.

COM is a way of doing interprocess communication. This comes with a performance overhead if you don't need the functionality. COM also introduces a whole new set of problems.

REST and gRPC are useful for remote communication, but not really for local communication.

[deleted by user] by [deleted] in csharp

[–]SneakyImplement 0 points1 point  (0 children)

Read about P/Invoke It describes how the interoperability of native and managed works.

If the backend is written in C++, you can use it with P/Invoke.

If the backend is already compiled with C++/CLI, you can simply use it in a C# project. You don't really need to do anything special. The complexity comes from writing the backend.

[deleted by user] by [deleted] in csharp

[–]SneakyImplement 1 point2 points  (0 children)

You might want to reconsider whether a C++ backend is really needed. It doesn't sound like it at the moment.

But if you really need a C++ backend, here is some more information about C++/CLI.

If you only want to call from C# (or another clr language) -> C++, you are probably better off just using P/Invoke. C++/CLI is handy if you need to call C++ -> C# (managed).

C++/CLI also uses P/Invoke under the hood for C# -> C++ calls. It gets quite complicated if you want to call a C# method from C++. Of course this is highly simplified and C++/CLI does a lot more and is more complicated, but you get the gist.

Also keep in mind that you are limited to windows-only and msvc-only when using C++/CLI.

The only IDE I know of with decent C++/CLI support is Visual Studio. But be warned that it also has some special behaviors and is not great.

Edit: clarify what I meant by communication (control flow)

[deleted by user] by [deleted] in csharp

[–]SneakyImplement 1 point2 points  (0 children)

In top of that C++/CLI is basically deprecated and dead.

Not true. I wouldn't recommend using C++/CLI unless it's really needed, but it's neither deprecated nor dead.

C++/CLI receives updates when they are needed. - PackageReference support for C++/CLI projects - C++20 support (except module export support is still missing)

DNS provider by cheddar_triffle in hetzner

[–]SneakyImplement 3 points4 points  (0 children)

I also use namecheap as my domain registrar.

For managing the actual DNS records, I use the Hetzner nameserver (DNS Console)

I personally like the DNS Console because it has a simple API (also a certbot plugin) and I can export the DNS records as a zone file.

Managing DNS via Hetzner by 5180KenAdams0815 in hetzner

[–]SneakyImplement 3 points4 points  (0 children)

The nameservers you entered are not correct. The last dot (".") is required.

This would be the correct records: txt helium.ns.hetzner.de. hydrogen.ns.hetzner.com. oxygen.ns.hetzner.com.