Skip to content

Instantly share code, notes, and snippets.

@esgn
esgn / github-actions-push-gcr.md
Last active June 26, 2024 14:15
How to push a Docker image to Google Artifact Registry with a GitHub Action without using a Service Account

How to push a Docker image to Google Artifact Registry with a GitHub Action without using a Service Account

This how I managed to push a Docker image in a Google Cloud Artifact Registry using a GitHub Actions workflow without using a GCP Service Account.

Before using this tutorial make sure you have :

  • A GitHub repository containing a Dockerfile
  • A GCP project with sufficient permissions to make changes to it
  • The gcloud tool installed, authenticated and configured to use the GCP project. We will not use the --project flag in the following gcloud commands.

Create an Artifact Registry of Docker type

@esgn
esgn / main.tf
Created June 24, 2024 07:58
GCP Terraform : Cloud Scheduler + Batch Job
resource "google_storage_bucket" "osm_dl_planet" {
project = var.project-id
name = var.bucket-name
uniform_bucket_level_access = true
location = var.project-region
storage_class = "REGIONAL"
force_destroy = true
}
resource "google_service_account" "scheduler" {
#!/usr/bin/env bash
# Working area in EPSG:2154
xmin=892000
ymin=6249000
xmax=894000
ymax=6247000
rm -rf footprints
mkdir footprints
@esgn
esgn / merge_las_files.py
Last active February 6, 2023 15:02
Merge las files using laspy (basic example)
#!/usr/bin/env python3
import os
import laspy
import shutil
file_ext = ".las"
output_file = "output.las"
if os.path.exists(output_file):
@esgn
esgn / dl_from_wfs.py
Created December 29, 2022 13:20
Download GPKG from WFS example
import sys
try:
from osgeo import ogr, osr, gdal
except:
sys.exit('ERROR: cannot find GDAL/OGR modules')
# Set the driver (optional)
wfs_drv = ogr.GetDriverByName('WFS')
@esgn
esgn / poc-flux-lidar-copc.md
Last active December 20, 2023 13:59
Extraction depuis le S3 LIDAR HD

Extraction depuis le S3 LIDAR HD

Question pratique: Comment extraire un morceau de LIDAR HD depuis ces dalles COPC avec PDAL ?

Extraction sur une emprise incluse dans une seule dalle

On streame la donnée pour n'en récupérer qu'un morceau sur une emprise (bounds)

[
@esgn
esgn / psr-ransac-fix.cpp
Created November 29, 2022 15:25
psr-ransac-fix.cpp
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
#include <CGAL/IO/read_points.h>
#include <CGAL/property_map.h>
#include <CGAL/Surface_mesh.h>
#include <CGAL/Shape_detection/Efficient_RANSAC.h>
#include <CGAL/Polygonal_surface_reconstruction.h>
#include <CGAL/Polygon_mesh_processing/triangulate_faces.h>
#include <CGAL/Polygon_mesh_processing/orientation.h>
#include <CGAL/Polygon_mesh_processing/polygon_mesh_to_polygon_soup.h>
#include <CGAL/Polygon_mesh_processing/polygon_soup_to_polygon_mesh.h>
@esgn
esgn / psr-ransac-no-fix.cpp
Last active November 29, 2022 15:26
psr-ransac-no-fix.cpp
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
#include <CGAL/IO/read_points.h>
#include <CGAL/property_map.h>
#include <CGAL/Surface_mesh.h>
#include <CGAL/Shape_detection/Efficient_RANSAC.h>
#include <CGAL/Polygonal_surface_reconstruction.h>
#ifdef CGAL_USE_SCIP // defined (or not) by CMake scripts, do not define by hand
@esgn
esgn / gist.md
Created December 23, 2021 09:55
Handle multiple git identities using .gitconfig files

How to use .gitconfig files to handle multiple identities / git providers (github, gitlab, ...)

In the user home, define a parent .gitconfig file for your main account (eg: work account)

[user]
        name = John Doe
        email = john.doe@work.com
[credential]
        helper = store --file /home/johndoe/.git-credentials
from urllib.request import urlretrieve
import rasterio
import pyproj
from shapely.geometry import box
from shapely.ops import transform
from shapely.geometry import shape, GeometryCollection
import sys
import os
import json
import tarfile