-
dotnet 5 console program 배포
dotnet 5 console program 배포 닷넷 으로 exe를 만들엇는데 배포를 해야하는데 어떻게 해야하는지 몰라서 찾아보았다. 기본 publish 기본적으로 다음 코드를 실행한다. dotnet publish -c Release 프레임워크 종속 배포 --self-contained 옵션을 사용하면된다. --self-contained false를 사용하면 dotnet runtime 을 설치한 후에 exe을 실행할수 있다. dotnet .dll 로 실행 프레임워크 종속 실행 파일 .NET 5(및 .NET Core 3.1) SDK CLI의 경우 FDE(프레임워크 종속 실행 파일)가 기본 dotnet publish 명령의 기본 모드입니다. 프레임워크별로 실행 호스트가 만들어진다. 윈도우의 경우 .exe...
-
minio
minio minio는 Object Storage입니다. 간단하게 말해서 파일을 업로드 다운로드할수 있게 만든 프로그램입니다. 같은 방식으로는 aws의 s3가 있습니다. minio는 s3의 api를 완벽하게 똑같이 구현하였기 때문에 minio를 쓰다가 s3로 이전시 코드에 수정이 거의 필요가 없습니다. S3같은 서비스를 해보고 싶으신분은 minio를 설치하여 사용해보시면 답이 나올거같습니다. install mkdir -p /data/minio # minio file 저장 위치 mkdir -p /data/minio-config # minio 설정 저장위치 cd wget https://dl.minio.io/server/minio/release/linux-amd64/minio chmod +x minio mv minio /usr/local/bin/minio minio server --address ":9001" --config-dir /data/minio-config /data/minio 설치는...
-
cloudflare api
CloudFlare api 사용하기 CloudFlare에서 Spectrum 서비스를 이용하기위해 port를 등록 해야하는데 200여개 포트를 하나씩 등록하면 너무 힘들어서 api를 사용하기로 했다. 로그인후 dashboard에서 api key를 발급 받는다. https://dash.cloudflare.com/profile/api-tokens api keys » global api key 발급 실제 api에 대한 자세한 설명은 다음 링클르 보면 된다. https://api.cloudflare.com/#getting-started-endpoints zone id 먼저 zone id를 알고 있어야한다. 확인하기 위해서 curl -X GET "https://api.cloudflare.com/client/v4/zones" \ -H "Content-Type:application/json" \ -H "X-Auth-Key:YOUR_API_KEY" \ -H "X-Auth-Email:YOUR_EMAIL" 결과는 다음과 같다. { "result":[ { "id":"xxxa0ad5ca54c0c2be85e6ff019132a1", "name":"aaa.com", "status":"active", "paused":false, "type":"full"...
-
dotnet core 5 signalr
SignalR web socket 소켓 프로그램처럼 한번 연결하고 서버와 연결된 커넥션으로 데이터를 주고 받을수 있음. 연결이 끊겻을때 다시 재접속 하게 하는 방법 var connection = new HubConnectionBuilder() .WithUrl("https://localhost:7001/chathub") .WithAutomaticReconnect() //이부분을 넣어주면 자동으로 재접속을 시도해서 연결한다. .Build(); 초기 연결 재시도 위처럼 하면 연결이 되있다가 끊기면 다시 연결을 해주지만 처음부터 연결이 안되는경우는 재시도를 하지 않는다. public async Task<bool> ConnectWithRetryAsync(HubConnection connection, CancellationToken token) { // Keep trying to until we can start or the token is canceled. while (true)...
-
macos 업데이트후 dotnet core ssl관련 에러날때
macos를 big sur로 업데이트후 dotnet core가 안됨. macos를 업데이트 한후 dotnet core 가 실행이 잘 안된다. 확인결과 ssl관련 이슈 같아보여서 다음처럼 했다. dotnet dev-certs https --clean dotnet dev-certs https sudo dotnet dev-certs https --trust https://localhost:5001/api/values 확인해보니 잘 된다.
-
ipmi
IPMI bmc나 idrac 또는 iLO가 있는장비들을 관리하는 명령어 컴퓨터에 설치하여 보드에 설치되잇는 아이들에게 명령어를 보낼수 있고 외부에서 ip를 통해서 명령어를 보낼수도 있다. (bios에서 설정을 해줘야한다.) 한마디로 꺼져잇는 컴퓨터를 켤수도 있고 끌수도 있다는것이다. 다만 서버에서 지원을 해줘야한다. 설치 sudo apt install ipmitool -y brew install ipmitool 사용법 자기 자신의 서버에게 명령어를 실행할수도 있고 리모트에 있는 서버에 명령어를 보낼수도 있다. local 장비에서 command sample # 유저 확인하기 sudo ipmitool user list 1 # 유저 삭제 sudo ipmitool...
-
cloud-init
cloud-init cloud-init은 다양한 리눅스를 vm에 설치시 vm이 처음 로딩된후 실행되는 것 같다. SSH 액세스 키, 유저 생성, 특별한 패키지 설치 등등 할수잇는일이 아주 많습니다. 왜 필요하냐면 기존에는 vm만들고 올라오면 console로 ip설정하고 ip로 접근해서 이런저런것을 해서 서버로 준비후 서비스에 넣게 되는데 auto provision을 사용하게 되면 vm이 생성과 동시에 ip받고 자체적으로 다 설정하고 재부팅하고 나면 서비스에 바로 적용됩니다. 결론은 vm초기 설치시부터 서비스 적용까지 사람의 손을 안타려고 만든거같습니다. 거의 모든 리눅스가 cloud init을 지원합니다. 아마존 / ms /...
-
Metal as a Service - tip
Metal as a Service (Maas) Tip maas를 사용하면서 알게된 팁을 공유한다. dhcp 서버 이것도 maas를 설치시 기본으로 설치가 되서 기존에 따로 관리하던 dhcp서버를 없앴수 있엇다. 설치만 되고 기본적으로 바로 실행되지 않기 때문에 dhcp설정을 해주면 자동으로 실행됨을 알수 있다. 여기서 설정해주면 된다. dns 서버 (bind) dns 서버도 설치시 기본으로 설치가 된다. 따로 관리하던 dns서버를 없앨수 있다. 여기에 설정된 내용을 확인할수가 있다. 다만 사용하는 subnet이외에서 이 dns를 사용하려면 다음처럼 세팅을 해야한다. setting » dns에서 위 그림처럼 세팅을 하면된다....
-
Metal as a Service - MaaS
Metal as a Service (Maas) Bare Metal Provisioning을 위한 도구 중 MAAS (Metal as a Service)라는 오픈소스가 있다. 쉽게 말하면 여러대의 컴퓨터를 클라우드처럼 쓸수 잇게 해준다. 해보자. https://www.maas.io install maas server os install ubuntu 20.04를 서버 한대에 설치한다. (각 버전에 맞는 maas버전이 있으므로 꼭 확인하자.) application install 이제 작업을 해보자. sudo apt update -y sudo snap install --channel=2.9/stable maas sudo apt install -y postgresql MAAS_DBUSER=my-user MAAS_DBPASS=my-password MAAS_DBNAME=maas sudo -u postgres psql -c "CREATE USER \"$MAAS_DBUSER\"...
-
Identity Server4 에서 access token에 Role 포함하기
Identity Server4 에서 access token에 Role 포함하기 id server에서 dotnet membership을 쓰는데 token에 role을 포함해야하는 경우가 생겼다. 진행해보자. config.cs public static IEnumerable<IdentityResource> GetIdentityResources() { return new IdentityResource[] { ... new IdentityResource // 추가 { Name = "roles", DisplayName = "Roles", UserClaims = { JwtClaimTypes.Role } } }; } public static IEnumerable<ApiResource> GetApis() { return new ApiResource[] { ... new ApiResource("api", "API", new List<string>() { JwtClaimTypes.Role }){ // 추가 Scopes = new []{ "api", } },...